From 33f468209a603b742c06291c031bea728ff519cb Mon Sep 17 00:00:00 2001 From: lai <371757574@qq.com> Date: Thu, 5 Sep 2024 16:38:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=91=8A=E8=AD=A6=E6=A0=B9=E6=8D=AE=E4=B8=AD?= =?UTF-8?q?=E8=8B=B1=E6=96=87=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/faultManage/eventAlarm.ts | 15 ----- src/views/faultManage/active-alarm/index.vue | 58 ++++++++++++++----- src/views/faultManage/event/index.vue | 48 +++++++++------ src/views/faultManage/history-alarm/index.vue | 40 +++++++++---- 4 files changed, 102 insertions(+), 59 deletions(-) diff --git a/src/api/faultManage/eventAlarm.ts b/src/api/faultManage/eventAlarm.ts index 20cf5cd0..e84dfca5 100644 --- a/src/api/faultManage/eventAlarm.ts +++ b/src/api/faultManage/eventAlarm.ts @@ -4,8 +4,6 @@ import { parseObjLineToHump } from '@/utils/parse-utils'; import { parseDateToStr } from '@/utils/date-utils'; import useUserStore from '@/store/modules/user'; - - /** * 查询列表 * @param query 查询参数 @@ -28,8 +26,6 @@ export async function listAct(query: Record) { querySQL += ` and pv_flag = '${query.pvFlag}' `; } - - if (query.neId) { querySQL += ` and ne_id like '%${query.neId}%' `; } @@ -69,7 +65,6 @@ export async function listAct(query: Record) { msg: result.msg, }; result.data.data.forEach((item: any) => { - console.log(item) const itemData = item['alarm_event']; if (Array.isArray(itemData)) { if (itemData.length === 1 && itemData[0]['total'] >= 0) { @@ -84,12 +79,6 @@ export async function listAct(query: Record) { return result; } - - - - - - /** * 事件告警导出 * @param query 查询参数 @@ -133,7 +122,3 @@ export async function exportAll(query: Record) { } return result; } - - - - diff --git a/src/views/faultManage/active-alarm/index.vue b/src/views/faultManage/active-alarm/index.vue index 1ffdb68b..910713d4 100644 --- a/src/views/faultManage/active-alarm/index.vue +++ b/src/views/faultManage/active-alarm/index.vue @@ -611,6 +611,17 @@ function fnShowSet() { }); } +// key替换中文title +function mapKeysWithReduce(data: any, titleMapping: any) { + return data.map((item:any) => { + return Object.keys(item).reduce((newItem:any, key:any) => { + const title = titleMapping[key] || key; + newItem[title] = item[key]; + return newItem; + }); + }); +} + /** * 导出全部 */ @@ -622,39 +633,56 @@ function fnExportAll() { const key = 'exportAlarm'; message.loading({ content: t('common.loading'), key }); let sortArr: any = []; + let writeSheetOpt: any = []; + let mappArr: any = {}; tableColumnsDnd.value.forEach((item: any) => { - if (item.dataIndex) sortArr.push(item.dataIndex); + if (item.dataIndex) { + sortArr.push(item.dataIndex); + writeSheetOpt.push(item.title); + mappArr[item.dataIndex] = item.title; + } }); - - // 排序字段 + //提供给writeSheet排序参数 const sortData = { - header: sortArr, + header: writeSheetOpt, }; exportAll(queryParams).then(res => { if (res.code === RESULT_CODE_SUCCESS) { res.data = res.data.map((objA: any) => { let filteredObj: any = {}; + //sort Data sortArr.forEach((key: any) => { if (objA.hasOwnProperty(key)) { filteredObj[key] = objA[key]; } }); - dict.activeAckState.map((item: any) => { - if (item.value === `${filteredObj.ackState}`) - filteredObj.ackState = item.label; - }); + const mapProps = (dict: any, key: string) => { + const item = dict.find( + (item: any) => item.value === `${filteredObj[key]}` + ); + if (item) { + filteredObj[key] = item.label; + } + }; + + mapProps(dict.activeAckState, 'ackState'); + mapProps(dict.activeClearType, 'clearType'); + mapProps(dict.activeAlarmSeverity, 'origSeverity'); + mapProps(dict.activeAlarmType, 'alarmType'); return filteredObj; }); - message.success({ - content: t('common.msgSuccess', { msg: t('common.export') }), - key, - duration: 3, + + res.data = mapKeysWithReduce(res.data, mappArr); + writeSheet(res.data, 'alarm', sortData).then(fileBlob => { + saveAs(fileBlob, `alarm_${Date.now()}.xlsx`); + message.success({ + content: t('common.msgSuccess', { msg: t('common.export') }), + key, + duration: 3, + }); }); - writeSheet(res.data, 'alarm', sortData).then(fileBlob => - saveAs(fileBlob, `alarm_${Date.now()}.xlsx`) - ); } else { message.error({ content: `${res.msg}`, diff --git a/src/views/faultManage/event/index.vue b/src/views/faultManage/event/index.vue index 06390c5b..ccc01b89 100644 --- a/src/views/faultManage/event/index.vue +++ b/src/views/faultManage/event/index.vue @@ -308,6 +308,17 @@ const onSelectChange = ( state.selectedRow = record; }; +// key替换中文title +function mapKeysWithReduce(data: any, titleMapping: any) { + return data.map((item:any) => { + return Object.keys(item).reduce((newItem:any, key:any) => { + const title = titleMapping[key] || key; + newItem[title] = item[key]; + return newItem; + }); + }); +} + /** * 导出全部 */ @@ -319,13 +330,18 @@ function fnExportAll() { const key = 'exportAlarm'; message.loading({ content: t('common.loading'), key }); let sortArr: any = []; + let writeSheetOpt: any = []; + let mappArr: any = {}; tableColumnsDnd.value.forEach((item: any) => { - if (item.dataIndex) sortArr.push(item.dataIndex); + if (item.dataIndex) { + sortArr.push(item.dataIndex); + writeSheetOpt.push(item.title); + mappArr[item.dataIndex] = item.title; + } }); - // 排序字段 const sortData = { - header: sortArr, + header: writeSheetOpt, }; exportAll(queryParams).then(res => { @@ -337,21 +353,20 @@ function fnExportAll() { filteredObj[key] = objA[key]; } }); - dict.activeAckState.map((item: any) => { - if (item.value === `${filteredObj.ackState}`) - filteredObj.ackState = item.label; - }); return filteredObj; }); - message.success({ - content: t('common.msgSuccess', { msg: t('common.export') }), - key, - duration: 3, + res.data = mapKeysWithReduce(res.data, mappArr); + + writeSheet(res.data, 'alarm', sortData).then(fileBlob => { + saveAs(fileBlob, `evnet_${Date.now()}.xlsx`); + + message.success({ + content: t('common.msgSuccess', { msg: t('common.export') }), + key, + duration: 3, + }); }); - writeSheet(res.data, 'alarm', sortData).then(fileBlob => - saveAs(fileBlob, `evnet_${Date.now()}.xlsx`) - ); } else { message.error({ content: `${res.msg}`, @@ -625,11 +640,6 @@ onMounted(() => { :loading="tableState.loading" :data-source="tableState.data" :size="tableState.size" - :row-selection="{ - columnWidth: 2, - selectedRowKeys: state.selectedRowKeys, - onChange: onSelectChange, - }" :pagination="tablePagination" :scroll="{ x: 2500, y: 400 }" > diff --git a/src/views/faultManage/history-alarm/index.vue b/src/views/faultManage/history-alarm/index.vue index 575784d4..d4c58eec 100644 --- a/src/views/faultManage/history-alarm/index.vue +++ b/src/views/faultManage/history-alarm/index.vue @@ -426,6 +426,17 @@ function fnCancelConfirm() { }); } +// key替换中文title +function mapKeysWithReduce(data: any, titleMapping: any) { + return data.map((item:any) => { + return Object.keys(item).reduce((newItem:any, key:any) => { + const title = titleMapping[key] || key; + newItem[title] = item[key]; + return newItem; + }); + }); +} + /** * 导出全部 */ @@ -437,12 +448,18 @@ function fnExportAll() { const key = 'exportAlarmHis'; message.loading({ content: t('common.loading'), key }); let sortArr: any = []; + let writeSheetOpt: any = []; + let mappArr: any = {}; tableColumnsDnd.value.forEach((item: any) => { - if (item.dataIndex) sortArr.push(item.dataIndex); + if (item.dataIndex) { + sortArr.push(item.dataIndex); + writeSheetOpt.push(item.title); + mappArr[item.dataIndex] = item.title; + } }); - // 排序字段 + //提供给writeSheet排序参数 const sortData = { - header: sortArr, + header: writeSheetOpt, }; exportAll(queryParams).then(res => { if (res.code === RESULT_CODE_SUCCESS) { @@ -470,14 +487,17 @@ function fnExportAll() { return filteredObj; }); - message.success({ - content: t('common.msgSuccess', { msg: t('common.export') }), - key, - duration: 3, + + res.data = mapKeysWithReduce(res.data, mappArr); + + writeSheet(res.data, 'alarm', sortData).then(fileBlob => { + saveAs(fileBlob, `history-alarm_${Date.now()}.xlsx`); + message.success({ + content: t('common.msgSuccess', { msg: t('common.export') }), + key, + duration: 3, + }); }); - writeSheet(res.data, 'alarm', sortData).then(fileBlob => - saveAs(fileBlob, `history-alarm_${Date.now()}.xlsx`) - ); } else { message.error({ content: `${res.msg}`,