From 72313018cb1836e74ad83c829f57e5de2d268596 Mon Sep 17 00:00:00 2001 From: lai <371757574@qq.com> Date: Wed, 27 Sep 2023 20:48:38 +0800 Subject: [PATCH] =?UTF-8?q?---=E5=AE=8C=E5=96=84=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E5=91=8A=E8=AD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/alarmHelp/all.xlsx | Bin 0 -> 13962 bytes src/api/faultManage/actAlarm.ts | 64 +- src/i18n/locales/en-US.ts | 17 +- src/i18n/locales/zh-CN.ts | 17 +- src/utils/execl-utils.ts | 6 +- src/views/faultManage/active-alarm/index.vue | 706 +++++++++++++++++-- 6 files changed, 737 insertions(+), 73 deletions(-) create mode 100644 public/alarmHelp/all.xlsx diff --git a/public/alarmHelp/all.xlsx b/public/alarmHelp/all.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..7c653f30c6e7ea18085bbac988b7ab1a56f4acf1 GIT binary patch literal 13962 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ε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 { } return result; } + +/** + * 确认告警信息 + * @param data 鉴权对象 + * @returns object + */ +export function updateConfirm(data: Record) { + var time = new Date(); + const userName = useUserStore().userName; + let finalData = { + alarm: { + ack_time: parseDateToStr(time), + ack_user: userName, + ack_state: '1', + }, + }; + + return request({ + url: `/databaseManagement/v1/update/omc_db/alarm?WHERE=id='${data.id}'`, + method: 'put', + data: finalData, + }); +} + +/** + * 取消确认告警 + * @param data 鉴权对象 + * @returns object + */ +export function cancelConfirm(data: (string | number)[]) { + var time = new Date(); + const userName = useUserStore().userName; + let finalData = { + alarm: { + ack_time: parseDateToStr(time), + ack_user: '', + ack_state: '0', + }, + }; + + return request({ + url: `/databaseManagement/v1/update/omc_db/alarm?WHERE=id in(${data.join( + ',' + )})`, + method: 'put', + data: finalData, + }); +} + +/** + * 手工同步 + * @param data 鉴权对象 + * @returns object + */ +export function listSync() { + return request({ + url: `/faultManagement/v1/elementType/all/objectType/alarms)`, + method: 'get', + }); +} diff --git a/src/i18n/locales/en-US.ts b/src/i18n/locales/en-US.ts index bf1bc735..0b36934e 100644 --- a/src/i18n/locales/en-US.ts +++ b/src/i18n/locales/en-US.ts @@ -258,6 +258,7 @@ export default { pvFlag: 'Virtualization Identity', alarmType: 'Alarm Type', confirm: 'Confirm', + updateConfirm: 'Cancel Confirmation', handSync: 'Manual synchronization', clear: 'Clear', mySelf: 'Personalization', @@ -279,7 +280,21 @@ export default { clearUser:'clear User', clearType:'clear Type', ackState:'Alarm confirmation status', - ackUser:'Alarm confirmation user' + ackUser:'Alarm confirmation user', + alarmSeq:'Alarm sequence number', + objectName:'Location object', + locationInfo:'Alarm positioning information', + province:'Network Element Service Province', + addInfo:'Alarm auxiliary information', + specificProblemId:'Alarm issue reason ID', + specificProblem:'Reason for alarm problem', + clearTime:'Alarm clearing time', + alarmStatus:'Alarm status', + ackTime:'Alarm confirmation time', + ackError:'Please do not confirm again', + syncMyself:'Manual synchronization', + realTitle:'Alarm Title', + objectNf:'Applicable network elements', }, }, monitor: { diff --git a/src/i18n/locales/zh-CN.ts b/src/i18n/locales/zh-CN.ts index b6f4c5da..056abc7e 100644 --- a/src/i18n/locales/zh-CN.ts +++ b/src/i18n/locales/zh-CN.ts @@ -258,6 +258,7 @@ export default { pvFlag: '铏氭嫙鍖栨爣璇', alarmType: '鍛婅绫诲瀷', confirm: '纭', + updateConfirm: '鍙栨秷纭', handSync: '鎵嬪姩鍚屾', clear: '娓呴櫎', mySelf: '涓у寲璁剧疆', @@ -279,7 +280,21 @@ export default { clearUser:'鍛婅娓呴櫎鐢ㄦ埛', clearType:'鍛婅娓呴櫎绫诲瀷', ackState:'鍛婅纭鐘舵', - ackUser:'鍛婅纭鐢ㄦ埛' + ackUser:'鍛婅纭鐢ㄦ埛', + alarmSeq:'鍛婅娴佹按缂栧彿', + objectName:'瀹氫綅瀵硅薄', + locationInfo:'鍛婅瀹氫綅淇℃伅', + province:'缃戝厓鏈嶅姟鐪佷唤', + addInfo:'鍛婅杈呭姪淇℃伅', + specificProblemId:'鍛婅闂鍘熷洜ID', + specificProblem:'鍛婅闂鍘熷洜', + clearTime:'鍛婅娓呴櫎鏃堕棿', + alarmStatus:'鍛婅鐘舵', + ackTime:'鍛婅纭鏃堕棿', + ackError:'璇峰嬁閲嶅纭', + syncMyself:'鎵嬪伐鍚屾', + realTitle:'鍛婅鏍囬', + objectNf:'閫傜敤缃戝厓', }, }, monitor: { diff --git a/src/utils/execl-utils.ts b/src/utils/execl-utils.ts index 2358e4b1..009f02b3 100644 --- a/src/utils/execl-utils.ts +++ b/src/utils/execl-utils.ts @@ -20,7 +20,11 @@ export const xlsxUrl = `${ * }); */ export async function readLoalXlsx(id: string): Promise[]> { - const fileBolb = await (await fetch(`${xlsxUrl}/${id}.xlsx`)).arrayBuffer(); + let fileBolb = await (await fetch(`${xlsxUrl}/${id}.xlsx`)).arrayBuffer(); + console.log(fileBolb.byteLength) + if(!fileBolb.byteLength){ + fileBolb = await (await fetch(`${xlsxUrl}/all.xlsx`)).arrayBuffer(); + } return readSheet(fileBolb, 0); } diff --git a/src/views/faultManage/active-alarm/index.vue b/src/views/faultManage/active-alarm/index.vue index d3f3151c..99a98e74 100644 --- a/src/views/faultManage/active-alarm/index.vue +++ b/src/views/faultManage/active-alarm/index.vue @@ -3,25 +3,27 @@ import { useRoute } from 'vue-router'; import dayjs, { Dayjs } from 'dayjs'; import { reactive, ref, onMounted, toRaw } from 'vue'; import { PageContainer } from '@ant-design-vue/pro-layout'; -import { message } from 'ant-design-vue/lib'; +import { message, Modal } from 'ant-design-vue/lib'; import { SizeType } from 'ant-design-vue/lib/config-provider'; import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface'; import { ColumnsType } from 'ant-design-vue/lib/table'; import useUserStore from '@/store/modules/user'; -import { listAct } from '@/api/faultManage/actAlarm'; +import { + listAct, + updateConfirm, + cancelConfirm, + listSync, +} from '@/api/faultManage/actAlarm'; import useNeInfoStore from '@/store/modules/neinfo'; import useI18n from '@/hooks/useI18n'; import { RESULT_CODE_SUCCESS } from '@/constants/result-constants'; -import { parseStrToDate } from '@/utils/execl-utils'; +import { readLoalXlsx } from '@/utils/execl-utils'; const { t } = useI18n(); const route = useRoute(); /**璺敱鏍囬 */ let title = ref((route.meta.title as string) ?? '鏍囬'); -/**缃戝厓鍙傛暟 */ -let neOtions = ref[]>([]); - /**鏌ヨ鍙傛暟 */ let queryParams = reactive({ /**鍛婅璁惧绫诲瀷 */ @@ -82,6 +84,15 @@ let tableState: TabeStateType = reactive({ selectedRowKeys: [], }); +/**甯姪鏂囨。琛ㄦ牸鐘舵 */ +let alarmTableState: TabeStateType = reactive({ + loading: false, + size: 'middle', + seached: true, + data: [], + selectedRowKeys: [], +}); + /**琛ㄦ牸瀛楁鍒 */ let tableColumns: ColumnsType = [ { @@ -157,7 +168,7 @@ let tableColumns: ColumnsType = [ }, { title: t('views.faultManage.activeAlarm.pvFlag'), - dataIndex: 'alarm_id', + dataIndex: 'pvFlag', align: 'center', }, { @@ -187,6 +198,76 @@ let tableColumns: ColumnsType = [ }, ]; +/**甯姪鏂囨。琛ㄦ牸瀛楁鍒 */ +let alarmTableColumns: ColumnsType = [ + { + title: t('views.faultManage.activeAlarm.alarmTitle'), + dataIndex: '鍛婅鍚嶇О', + align: 'center', + }, + { + title: t('views.faultManage.activeAlarm.locationInfo'), + dataIndex: '鍛婅瀹氫綅淇℃伅', + align: 'center', + }, + { + title: t('views.faultManage.activeAlarm.addInfo'), + dataIndex: '鍛婅甯姪淇℃伅', + align: 'center', + + }, + { + title: t('views.faultManage.activeAlarm.alarmType'), + dataIndex: '鍛婅绫诲瀷', + align: 'center', + }, + { + title: t('views.faultManage.activeAlarm.origLevel'), + dataIndex: '鍛婅绾у埆', + align: 'center', + }, + { + title: t('views.faultManage.activeAlarm.alarmCode'), + dataIndex: '鍛婅缂栧彿', + align: 'center', + }, + { + title: t('views.faultManage.activeAlarm.specificProblem'), + dataIndex: '鍛婅闂鍘熷洜', + align: 'center', + }, + { + title: t('views.faultManage.activeAlarm.clearType'), + dataIndex: '娓呴櫎绫诲瀷', + align: 'center', + }, + { + title: t('views.faultManage.activeAlarm.realTitle'), + dataIndex: '鑻辨枃鏍囬', + align: 'center', + }, + + { + title: t('views.faultManage.activeAlarm.objectNf'), + dataIndex: '閫傜敤缃戝厓', + align: 'center', + }, +]; + +/**鍛婅甯姪鏂囨。 */ +let pronInfo: any = reactive({ + 鍛婅鍚嶇О: '', + 鍛婅瀹氫綅淇℃伅: '', + 鍛婅甯姪淇℃伅: '', + 鍛婅绫诲瀷: '', + 鍛婅绾у埆: '', + 鍛婅缂栧彿: '', + 鍛婅闂鍘熷洜: '', + 娓呴櫎绫诲瀷: '', + 鑻辨枃鏍囬: '', + 閫傜敤缃戝厓: '', +}); + /**琛ㄦ牸鍒嗛〉鍣ㄥ弬鏁 */ let tablePagination = reactive({ /**褰撳墠椤垫暟 */ @@ -283,7 +364,7 @@ let modalState: ModalStateType = reactive({ from: { alarmId: '', alarmSeq: '', - neId:'', + neId: '', neName: '', neType: '', alarmCode: '', @@ -313,26 +394,144 @@ let modalState: ModalStateType = reactive({ * @param row 鍗曡璁板綍淇℃伅 */ function fnModalVisibleByVive(row: Record) { - - console.log(toRaw(row)) - return false; - const imsiIdx = row.imsi.lastIndexOf('-'); - if (imsiIdx != -1) { - row.imsi = row.imsi.substring(imsiIdx + 1); - } - const msisdnIdx = row.msisdn.lastIndexOf('-'); - if (msisdnIdx != -1) { - row.msisdn = row.msisdn.substring(msisdnIdx + 1); - } modalState.from = Object.assign(modalState.from, row); - modalState.title = `${row.imsi} 璁板綍淇℃伅`; + modalState.title = `鏌ョ湅${row.alarmId} 璁板綍淇℃伅`; modalState.visibleByView = true; } -function fnModalVisibleBy() { - parseStrToDate(); +/**鎶藉眽 缃戝厓璇︾粏淇℃伅 */ +const visible = ref(false); +const closeDrawer = () => { + visible.value = false; +}; +/**鎶藉眽 鍛婅甯姪鏂囨。璇︾粏淇℃伅 */ +function fnModalVisibleBy(code: string) { + const result = readLoalXlsx(code); + + result + .then(res => { + console.log(res); + if (!res.length) { + visible.value = false; + } + alarmTableState.data = res; + visible.value = true; + + tableState.loading = false; + }) + .catch(error => console.log(error)); } +/** + * 瀵硅瘽妗嗗脊鍑虹‘璁ゆ墽琛 纭鏌ラ槄鍑芥暟 + */ +function fnModalOk() { + modalState.confirmLoading = true; + const from = toRaw(modalState.from); + if (from.ackState) { + message.error({ + content: t('views.faultManage.activeAlarm.ackError'), + duration: 3, + }); + modalState.visibleByView = false; + return false; + } + const result = updateConfirm(from); + const hide = message.loading({ content: t('common.loading') }); + result + .then(res => { + if (res.code === RESULT_CODE_SUCCESS) { + message.success({ + content: t('common.msgSuccess', { msg: modalState.title }), + duration: 3, + }); + modalState.visibleByView = false; + fnGetList(); + } else { + message.error({ + content: `${res.msg}`, + duration: 3, + }); + } + }) + .finally(() => { + hide(); + modalState.confirmLoading = false; + }); +} + +/**琛ㄦ牸鐘舵 */ +const state = reactive<{ + selectedRowKeys: (string | number)[]; + selectedRow: Record; + loading: boolean; +}>({ + selectedRowKeys: [], // Check here to configure the default column + selectedRow: {}, + loading: false, +}); + +/**鐩戝惉澶氶 */ +const onSelectChange = ( + keys: (string | number)[], + record: Record +) => { + state.selectedRowKeys = keys; + state.selectedRow = record; +}; + +/** + * 閫変腑琛屽悗鐨勫彇娑堢‘璁 + */ +function fnCancelConfirm() { + Modal.confirm({ + title: 'Tip', + content: `纭鏄惁鍙栨秷纭鍛婅?`, + onOk() { + const hide = message.loading('璇风◢绛...', 0); + cancelConfirm(state.selectedRowKeys).then(res => { + hide(); + if (res.code === RESULT_CODE_SUCCESS) { + message.success({ + content: `鍙栨秷纭鍛婅鎴愬姛`, + duration: 2, + }); + fnGetList(); + } else { + message.error({ + content: `${res.msg}`, + duration: 2, + }); + } + }); + }, + }); +} + +/** + * 鎵嬪伐鍚屾 + */ +function fnSync() { + const hide = message.loading('璇风◢绛...', 0); + listSync().then(res => { + hide(); + if (res.code === RESULT_CODE_SUCCESS) { + message.success({ + content: `鎵嬪伐鍚屾鎴愬姛`, + duration: 2, + }); + console.log(toRaw(res)); + return false; + tablePagination.total = res.total; + tableState.data = res.rows; + } else { + message.error({ + content: `${res.msg}`, + duration: 2, + }); + } + }); +} /** * 瀵硅瘽妗嗗脊鍑哄叧闂墽琛屽嚱鏁 @@ -350,8 +549,8 @@ function fnGetList() { listAct(toRaw(queryParams)).then(res => { if (res.code === RESULT_CODE_SUCCESS && Array.isArray(res.rows)) { // 鍙栨秷鍕鹃 - if (tableState.selectedRowKeys.length > 0) { - tableState.selectedRowKeys = []; + if (state.selectedRowKeys.length > 0) { + state.selectedRowKeys = []; } tablePagination.total = res.total; tableState.data = res.rows; @@ -510,7 +709,27 @@ onMounted(() => { - + +
+ + + + + +
+ { :loading="tableState.loading" :data-source="tableState.data" :size="tableState.size" + :row-selection="{ + selectedRowKeys: state.selectedRowKeys, + onChange: onSelectChange, + }" :pagination="tablePagination" :scroll="{ x: true }" > @@ -584,9 +864,11 @@ onMounted(() => { - + @@ -598,62 +880,348 @@ onMounted(() => { - + - - - {{ modalState.from.imsi }} + + + + - - - {{ modalState.from.msisdn }} - - - - - {{ modalState.from.ratType }} + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - {{ v.ipv4 }} - {{ v.ipv6 }} - {{ v.tai }} - - {{ v.sstSD }} + + + + + + + + + + + + + + + + + + + + + - - {{ v.upfN3IP }} - - - {{ v.ranN3IP }} - - - {{ v.activeTime }} - - - {{ v.pduSessionID }} - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -