From f6c4c5ed4bcbc7817a4468fa7472265ea7a9cc04 Mon Sep 17 00:00:00 2001 From: lai <371757574@qq.com> Date: Wed, 18 Oct 2023 10:23:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BB=BB=E5=8A=A1=E7=AE=A1?= =?UTF-8?q?=E7=90=86(=E5=B0=9A=E6=9C=AA=E5=AE=8C=E6=88=90)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/perfManage/taskManage.ts | 140 ++++ src/i18n/locales/en-US.ts | 15 + src/i18n/locales/zh-CN.ts | 15 + src/views/perfManage/taskManage/index.vue | 958 ++++++++++++++++------ 4 files changed, 872 insertions(+), 256 deletions(-) create mode 100644 src/api/perfManage/taskManage.ts diff --git a/src/api/perfManage/taskManage.ts b/src/api/perfManage/taskManage.ts new file mode 100644 index 00000000..6b2820ed --- /dev/null +++ b/src/api/perfManage/taskManage.ts @@ -0,0 +1,140 @@ +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 listPerfTask(query: Record) { + let totalSQL = 'select count(*) as total from measure_task where 1=1 '; + let rowsSQL = 'select * from measure_task where 1=1 '; + + // 查询 + let querySQL = ''; + if (query.neType) { + querySQL += ` and ne_type like '%${query.neType}%' `; + } + + // 分页 + const pageNum = (query.pageNum - 1) * query.pageSize; + const limtSql = ` limit ${pageNum},${query.pageSize} `; + + // 发起请求 + const result = await request({ + url: `/databaseManagement/v1/select/omc_db/measure_task`, + 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['measure_task']; + if (Array.isArray(itemData)) { + if (itemData.length === 1 && itemData[0]['total'] >= 0) { + data.total = itemData[0]['total']; + } else { + data.rows = itemData.map(v => parseObjLineToHump(v)); + } + } + }); + return data; + } + return result; +} + +/** + * 查询任务详细 + * @param id 网元ID + * @returns object + */ +export async function getTraceTask(id: string | number) { + // 发起请求 + const result = await request({ + url: `/databaseManagement/v1/select/omc_db/trace_task`, + method: 'get', + params: { + SQL: `select * from trace_task where id = ${id}`, + }, + }); + // 解析数据 + if (result.code === RESULT_CODE_SUCCESS && Array.isArray(result.data.data)) { + let data = result.data.data[0]; + return Object.assign(result, { + data: parseObjLineToHump(data['trace_task'][0]), + }); + } + return result; +} + +/** + * 新增任务 + * @param data 网元对象 + * @returns object + */ +export function addTraceTask(data: Record) { + return request({ + url: `/traceManagement/v1/subscriptions`, + method: 'post', + data: data, + }); +} + +/** + * 修改任务 + * @param data 网元对象 + * @returns object + */ +export function updateTraceTask(data: Record) { + return request({ + url: `/traceManagement/v1/subscriptions`, + method: 'put', + data: data, + }); +} + +/** + * 删除任务 + * @param noticeId 网元ID + * @returns object + */ +export async function delTraceTask(id: string) { + return request({ + url: `/traceManagement/v1/subscriptions?id=${id}`, + method: 'delete', + }); +} + +/** + * 获取网元跟踪接口列表 + * @returns object + */ +export async function getNePerformanceList() { + // 发起请求 + const result = await request({ + url: `/databaseManagement/v1/elementType/omc_db/objectType/measure_title`, + method: 'get', + params: { + SQL: `SELECT * FROM measure_title`, + }, + }); + // 解析数据 + if (result.code === RESULT_CODE_SUCCESS && Array.isArray(result.data.data)) { + let data = result.data.data[0]; + return Object.assign(result, { + data: parseObjLineToHump(data['measure_title']), + }); + } + return result; +} diff --git a/src/i18n/locales/en-US.ts b/src/i18n/locales/en-US.ts index 86f7c4cd..61a182d9 100644 --- a/src/i18n/locales/en-US.ts +++ b/src/i18n/locales/en-US.ts @@ -109,6 +109,10 @@ export default { start: 'Start', export: 'Export', import: 'Import', + selectPlease:'Please select the source of the import file', + server:'Server File', + local:'Local File', + fileSelect:'Please select the current import file', }, backupManage: { setBackupTask: 'Set automatic backup time', @@ -200,6 +204,17 @@ export default { neType: 'IMS Type', }, }, + perfManage: { + taskManage:{ + taskId: 'Task ID', + neType: 'Type', + size: 'Measurement Dimensionality', + taskStatus: 'Task Status', + addUser: 'Creator', + addTime: 'Creation time', + granulOption:'Particle', + }, + }, traceManage: { analysis: { imsi: 'IMSI', diff --git a/src/i18n/locales/zh-CN.ts b/src/i18n/locales/zh-CN.ts index 86711ff1..ec0c5847 100644 --- a/src/i18n/locales/zh-CN.ts +++ b/src/i18n/locales/zh-CN.ts @@ -109,6 +109,10 @@ export default { start: '启动', export: '导出', import: '导入', + selectPlease:'请选择导入文件来源', + server:'服务器文件', + local:'本地文件', + fileSelect:'请选择当前导入文件', }, backupManage: { setBackupTask: '设置自动备份时间', @@ -200,6 +204,17 @@ export default { neType: 'IMS网元类型', }, }, + perfManage: { + taskManage:{ + taskId: '任务ID', + neType: '网元类型', + size: '测量粒度', + taskStatus: '任务状态', + addUser: '创建人', + addTime: '创建时间', + granulOption:'测量粒度', + }, + }, traceManage: { analysis: { imsi: 'IMSI', diff --git a/src/views/perfManage/taskManage/index.vue b/src/views/perfManage/taskManage/index.vue index d62c2c8f..2624935b 100644 --- a/src/views/perfManage/taskManage/index.vue +++ b/src/views/perfManage/taskManage/index.vue @@ -1,28 +1,55 @@ @@ -352,26 +608,15 @@ onMounted(() => { - - - - - - + @@ -394,12 +639,17 @@ onMounted(() => { - + @@ -511,26 +979,4 @@ onMounted(() => { .table :deep(.ant-pagination) { padding: 0 24px; } - -.raw { - &-title { - color: #000000d9; - font-size: 24px; - line-height: 1.8; - } - .num { - background-color: #e5e5e5; - } - .code { - background-color: #e7e6ff; - } - .txt { - background-color: #ffe3e5; - } - - &-html { - max-height: 300px; - overflow-y: scroll; - } -}