From 54578da89554bf33a249df062b03eba4420c8dc7 Mon Sep 17 00:00:00 2001 From: lai <371757574@qq.com> Date: Wed, 18 Oct 2023 10:22:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=80=A7=E8=83=BD=E6=B5=8B?= =?UTF-8?q?=E9=87=8F=E6=95=B0=E6=8D=AE=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/perfManage/perfData.ts | 69 ++++ src/views/perfManage/perfData/index.vue | 410 +++++++----------------- 2 files changed, 177 insertions(+), 302 deletions(-) create mode 100644 src/api/perfManage/perfData.ts diff --git a/src/api/perfManage/perfData.ts b/src/api/perfManage/perfData.ts new file mode 100644 index 00000000..8c87f618 --- /dev/null +++ b/src/api/perfManage/perfData.ts @@ -0,0 +1,69 @@ +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 listperfData(query: Record) { + let totalSQL = 'select count(*) as total from measure_data where 1=1 '; + let rowsSQL = 'select * from measure_data where 1=1 '; + + // 查询 + let querySQL = ''; + if (query.neType) { + querySQL += ` and ne_type like '%${query.neType}%' `; + } + if (query.beginTime) { + querySQL += ` and start_time >= '${query.beginTime}' `; + } + if (query.endTime) { + querySQL += ` and start_time <= '${query.endTime}' `; + } + + // 排序 + let sortSql = ' order by start_time '; + if (query.sortOrder === 'asc') { + sortSql += ' asc '; + } else { + sortSql += ' desc '; + } + + // 分页 + const pageNum = (query.pageNum - 1) * query.pageSize; + const limtSql = ` limit ${pageNum},${query.pageSize} `; + + // 发起请求 + const result = await request({ + url: `/databaseManagement/v1/select/omc_db/measure_data`, + method: 'get', + params: { + totalSQL: totalSQL + querySQL, + rowsSQL: rowsSQL + querySQL + sortSql + 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_data']; + 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; +} diff --git a/src/views/perfManage/perfData/index.vue b/src/views/perfManage/perfData/index.vue index d62c2c8f..c27b62f6 100644 --- a/src/views/perfManage/perfData/index.vue +++ b/src/views/perfManage/perfData/index.vue @@ -1,28 +1,41 @@