diff --git a/src/api/configManage/softwareManage.ts b/src/api/configManage/softwareManage.ts new file mode 100644 index 00000000..7efd2efe --- /dev/null +++ b/src/api/configManage/softwareManage.ts @@ -0,0 +1,154 @@ +import { RESULT_CODE_SUCCESS } from '@/constants/result-constants'; +import { request } from '@/plugins/http-fetch'; +import { parseObjLineToHump } from '@/utils/parse-utils'; + +/** + * 查询软件列表 + * @param query 查询参数 + * @returns object + */ +export async function listNeSoftware(query: Record) { + let totalSQL = 'select count(id) as total from ne_software '; + let rowsSQL = ' select * from ne_software '; + + // 查询 + let querySQL = 'where 1=1'; + if (query.neType) { + querySQL += ` and ne_type like '%${query.neType}%' `; + } + + // 分页 + const pageNum = query.pageNum - 1; + const limtSql = ` order by update_time desc limit ${pageNum},${query.pageSize} `; + + // 发起请求 + const result = await request({ + url: `/databaseManagement/v1/select/omc_db/ne_software`, + method: 'get', + params: { + totalSQL: totalSQL + querySQL, + rowsSQL: rowsSQL + querySQL + limtSql, + }, + }); + + // 解析数据 + if (result.code === RESULT_CODE_SUCCESS) { + const data: DataList = { + total: 0, + rows: [], + code: result.code, + msg: result.msg, + }; + result.data.data.forEach((item: any) => { + const itemData = item['ne_software']; + if (Array.isArray(itemData)) { + if (itemData.length === 1 && itemData[0]['total']) { + data.total = itemData[0]['total']; + } else { + data.rows = itemData.map(v => parseObjLineToHump(v)); + } + } + }); + return data; + } + return result; +} + +/** + * 删除软件信息 + * @param noticeId 网元ID + * @returns object + */ +export async function delNeSoftware(data: Record) { + return request({ + url: `/systemManagement/v1/${data.neType}/software/${data.version}`, + method: 'delete', + }); +} + +/** + * 获取软件信息文件 + * @param menuId 网元ID + * @returns object + */ +export async function downloadNeSoftware(data: Record) { + return await request({ + url: `/systemManagement/v1/${data.neType}/software/${data.version}`, + method: 'get', + responseType: 'blob', + }); +} + +/** + * 上传文件 + * @param data 表单数据对象 + * @returns object + */ +export function uploadNeSoftware(data: FormData) { + return request({ + url: `/systemManagement/v1/${data.get('nf')}/software/${data.get( + 'version' + )}`, + method: 'post', + data, + dataType: 'form-data', + }); +} + +/** + * 查询版本列表 + * @param query 查询参数 + * @returns object + */ +export async function listNeVersion(query: Record) { + let totalSQL = 'select count(id) as total from ne_version '; + let rowsSQL = ' select * from ne_version '; + + // 查询 + let querySQL = 'where 1=1'; + if (query.neType) { + querySQL += ` and ne_type like '%${query.neType}%' `; + } + if (query.status) { + querySQL += ` and status = '${query.status}' `; + } + if (query.beginTime && query.endTime) { + querySQL += ` and update_time BETWEEN '${query.beginTime}' AND '${query.endTime}' `; + } + + // 分页 + const pageNum = query.pageNum - 1; + const limtSql = ` order by update_time desc limit ${pageNum},${query.pageSize} `; + + // 发起请求 + const result = await request({ + url: `/databaseManagement/v1/select/omc_db/ne_version`, + method: 'get', + params: { + totalSQL: totalSQL + querySQL, + rowsSQL: rowsSQL + querySQL + limtSql, + }, + }); + + // 解析数据 + if (result.code === RESULT_CODE_SUCCESS) { + const data: DataList = { + total: 0, + rows: [], + code: result.code, + msg: result.msg, + }; + result.data.data.forEach((item: any) => { + const itemData = item['ne_version']; + if (Array.isArray(itemData)) { + if (itemData.length === 1 && itemData[0]['total']) { + data.total = itemData[0]['total']; + } else { + data.rows = itemData.map(v => parseObjLineToHump(v)); + } + } + }); + return data; + } + return result; +} diff --git a/src/i18n/locales/en-US.ts b/src/i18n/locales/en-US.ts index d4f2e17f..3332acce 100644 --- a/src/i18n/locales/en-US.ts +++ b/src/i18n/locales/en-US.ts @@ -100,13 +100,25 @@ export default { }, configManage: { backupManage: { - SetBackupTask: 'Set automatic backup time', + setBackupTask: 'Set automatic backup time', neTypePlease: 'Query network element type', neType: 'Type', neID: 'Identifying', fileName: 'FileName', createAt: 'CreateAt', }, + softwareManage: { + uploadBtn: '上传', + downBtn: '下发', + actBtn: '激活', + historyBtn: '网元版本历史', + neTypePlease: '查询网元类型', + neType: 'Type', + fileName: 'FileName', + version: 'Version', + softwareLoadTime: '软件加载时间', + description: '功能描述', + }, }, }, }; diff --git a/src/i18n/locales/zh-CN.ts b/src/i18n/locales/zh-CN.ts index 202612c0..690aa774 100644 --- a/src/i18n/locales/zh-CN.ts +++ b/src/i18n/locales/zh-CN.ts @@ -100,13 +100,25 @@ export default { }, configManage: { backupManage: { - SetBackupTask: '设置自动备份时间', + setBackupTask: '设置自动备份时间', neTypePlease: '查询网元类型', neType: '网元类型', neID: '网元内部标识', fileName: '文件名', createAt: '创建时间', }, + softwareManage: { + uploadBtn: '上传', + downBtn: '下发', + actBtn: '激活', + historyBtn: '网元版本历史', + neTypePlease: '查询网元类型', + neType: '网元类型', + fileName: '文件名', + version: '版本', + softwareLoadTime: '软件加载时间', + description: '功能描述', + }, }, }, }; diff --git a/src/views/configManage/softwareManage/components/software-history.vue b/src/views/configManage/softwareManage/components/software-history.vue new file mode 100644 index 00000000..c1ca15e0 --- /dev/null +++ b/src/views/configManage/softwareManage/components/software-history.vue @@ -0,0 +1,312 @@ + + + + + diff --git a/src/views/configManage/softwareManage/index.vue b/src/views/configManage/softwareManage/index.vue new file mode 100644 index 00000000..5d922285 --- /dev/null +++ b/src/views/configManage/softwareManage/index.vue @@ -0,0 +1,662 @@ + + + + +