From 97e453d880a28c86ae45d0837c0cd6a01f6a86f8 Mon Sep 17 00:00:00 2001 From: lai <371757574@qq.com> Date: Tue, 5 Dec 2023 19:54:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=BB=84=E9=87=91=E6=8C=87?= =?UTF-8?q?=E6=A0=87=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/perfManage/goldTarget.ts | 54 ++++------------------- src/views/perfManage/goldTarget/index.vue | 50 +++++++++++---------- 2 files changed, 36 insertions(+), 68 deletions(-) diff --git a/src/api/perfManage/goldTarget.ts b/src/api/perfManage/goldTarget.ts index b07cf806..fd5b1352 100644 --- a/src/api/perfManage/goldTarget.ts +++ b/src/api/perfManage/goldTarget.ts @@ -81,57 +81,29 @@ export async function listgoldData(query: Record) { + /** * 查询黄金指标数据 * @param query 查询参数 * @returns object */ export async function goldData(query: Record) { - // 发起请求 - let insertKpiId: string[]=[]; - let insertWhere: string[]=[]; - query.goldArr.forEach((item: any)=> { - insertKpiId.push(`SUM(CASE WHEN kpi_id = '${item}' THEN value ELSE 0 END) AS \`${item}\``); - insertWhere.push(`'${item}'`); - }) const result = await request({ - url: `/api/rest/databaseManagement/v1/select/omc_db/gold_kpi`, + url: `/ne/kpi/data`, method: 'get', params: { - rowsSQL:`SELECT CONCAT(DATE_FORMAT(start_time, '%Y-%m-%d %H:'), LPAD(FLOOR(MINUTE(start_time) / ${query.particle}) * ${query.particle}, 2, '0'), ':00') AS time_interval,`+ - insertKpiId.join(",")+ - " FROM gold_kpi"+ - ` WHERE ne_type='${query.neType[0]}' and kpi_id in (${insertWhere.join(",")}) and start_time BETWEEN '${query.beginTime}' AND '${query.endTime}'`+ - ` GROUP BY DATE_FORMAT(start_time, '%Y-%m-%d %H:'), FLOOR(MINUTE(start_time) / ${query.particle})`+ - " ORDER BY start_time", + neType:query.neType[0], + neId:query.neType[1], + startTime:query.beginTime, + endTime:query.endTime, + interval:query.particle }, timeout: 60_000, }); - // 解析数据 - 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['gold_kpi']; - 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 neType 网元类型 @@ -140,19 +112,11 @@ export async function goldData(query: Record) { export async function getGoldTitleByNE(neType: string) { // 发起请求 const result = await request({ - url: `/api/rest/databaseManagement/v1/elementType/omc_db/objectType/kpi_title`, + url: `/ne/kpi/title`, method: 'get', - params: { - SQL: `select * from kpi_title where ne_type = '${neType}' `, - }, + params:{neType} }); // 解析数据 - if (result.code === RESULT_CODE_SUCCESS && Array.isArray(result.data.data)) { - let data = result.data.data[0]; - return Object.assign(result, { - data: parseObjLineToHump(data['kpi_title']), - }); - } return result; } diff --git a/src/views/perfManage/goldTarget/index.vue b/src/views/perfManage/goldTarget/index.vue index 4a54b594..c05c9d55 100644 --- a/src/views/perfManage/goldTarget/index.vue +++ b/src/views/perfManage/goldTarget/index.vue @@ -116,6 +116,7 @@ function findTitleByKey(key: string): string | undefined { const item = state.designTreeData.find(item => item.key === key); return item ? item.title : undefined; } + /**筛选条件进行制图 */ function fnDesign() { if (!queryRangePicker.value) { @@ -128,10 +129,11 @@ function fnDesign() { let goldYData: any = []; let hideAllArr: any = []; goldData(queryParams).then(res => { - if (res.code === RESULT_CODE_SUCCESS && Array.isArray(res.rows)) { - if (res.rows.length > 0) { - goldXDate = res.rows.map(item => item.timeInterval); - goldYData = Object.keys(res.rows[0]) + console.log(res.data) + if (res.code === RESULT_CODE_SUCCESS) { + if (res.data.length > 0) { + goldXDate = res.data.map((item:any) => item.timeInterval); + goldYData = Object.keys(res.data[0]) .filter(key => key !== 'timeInterval') .map(key => { if (!queryParams.goldArr.includes(key)) hideAllArr[key] = false; @@ -139,15 +141,17 @@ function fnDesign() { if (queryParams.goldArr.includes(key)) return { name: title, - data: res.rows.map((item: any) => parseInt(item[key])), + data: res.data.map((item: any) => parseInt(item[key])), }; }); } else { + state.designTreeData.forEach((item: any) => { + goldYData.push({name:item.title,data:[]}); + }); message.warning({ content: t('views.perfManage.goldTarget.nullTip'), duration: 2, }); - return false; } // 图标参数 @@ -255,23 +259,20 @@ onMounted(() => { - + - - - + + + { - + +