From cdbe9a1e42e4d54e94ae395d3ce96595a7cfa8d9 Mon Sep 17 00:00:00 2001 From: zhongzm Date: Wed, 10 Sep 2025 16:27:34 +0800 Subject: [PATCH 01/17] =?UTF-8?q?feat:=E7=BD=91=E5=85=83=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=BF=AB=E9=80=9FOAM=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/i18n/locales/en-US.ts | 11 + src/i18n/locales/zh-CN.ts | 11 + .../ne/neInfo/components/QuickOAMModal.vue | 408 ++++++++++++++++++ src/views/ne/neInfo/index.vue | 25 ++ 4 files changed, 455 insertions(+) create mode 100644 src/views/ne/neInfo/components/QuickOAMModal.vue diff --git a/src/i18n/locales/en-US.ts b/src/i18n/locales/en-US.ts index 2bfc7aaa..6256ead5 100644 --- a/src/i18n/locales/en-US.ts +++ b/src/i18n/locales/en-US.ts @@ -590,6 +590,17 @@ export default { kpiTimerPlease: 'Please enter the reporting period (in seconds)', omcIP: 'OMC IP', }, + quickOam: { + title: 'Quick OAM Configuration', + selectNe: 'Select NE', + omcIP: 'OMC IP', + oamPort: 'OAM Port', + progress:'Progress', + processing:'Progressing', + result:'Result', + success:'Success', + default:'Default', + }, backConf: { export: 'Config Export', import: 'Config Import', diff --git a/src/i18n/locales/zh-CN.ts b/src/i18n/locales/zh-CN.ts index 1b30d7a0..c723fecd 100644 --- a/src/i18n/locales/zh-CN.ts +++ b/src/i18n/locales/zh-CN.ts @@ -590,6 +590,17 @@ export default { kpiTimerPlease: '请输入上报周期(单位秒)', omcIP: 'OMC IP', }, + quickOam: { + title: '快速OAM配置', + selectNe: '选择网元', + omcIP: 'OMC IP地址', + oamPort: 'OAM端口', + progress:'配置进度', + processing:'正在处理', + result:'操作结果', + success:'成功', + default:'失败', + }, backConf: { export: '配置导出', import: '配置导入', diff --git a/src/views/ne/neInfo/components/QuickOAMModal.vue b/src/views/ne/neInfo/components/QuickOAMModal.vue new file mode 100644 index 00000000..6cef4731 --- /dev/null +++ b/src/views/ne/neInfo/components/QuickOAMModal.vue @@ -0,0 +1,408 @@ + + + + + diff --git a/src/views/ne/neInfo/index.vue b/src/views/ne/neInfo/index.vue index 82461775..6ff6000f 100644 --- a/src/views/ne/neInfo/index.vue +++ b/src/views/ne/neInfo/index.vue @@ -33,6 +33,10 @@ const OAMModal = defineAsyncComponent( const BackConfModal = defineAsyncComponent( () => import('./components/BackConfModal.vue') ); +// 快速OAM配置 +const QuickOAMModal = defineAsyncComponent( + () => import('./components/QuickOAMModal.vue') +); const backConf = ref(); // 引用句柄,取导出函数 /**字典数据 */ @@ -186,6 +190,8 @@ type ModalStateType = { openByBackConf: boolean; /**OAM文件配置框是否显示 */ openByOAM: boolean; + /**快速OAM配置框是否显示 */ + openByQuickOAM: boolean; /**新增框或修改框是否显示 */ openByEdit: boolean; /**新增框或修改框ID */ @@ -201,6 +207,7 @@ type ModalStateType = { let modalState: ModalStateType = reactive({ openByBackConf: false, openByOAM: false, + openByQuickOAM: false, openByEdit: false, editId: 0, neId: '', @@ -275,6 +282,7 @@ function fnModalEditCancel() { modalState.openByEdit = false; modalState.openByOAM = false; modalState.openByBackConf = false; + modalState.openByQuickOAM = false; } /** @@ -360,6 +368,9 @@ function fnRecordMore(type: string | number, row: Record) { modalState.neType = row.neType; modalState.openByBackConf = !modalState.openByBackConf; break; + case 'quickOAM': + modalState.openByQuickOAM = !modalState.openByQuickOAM; + break; default: console.warn(type); break; @@ -467,6 +478,14 @@ onMounted(() => { {{ t('common.addText') }} + + + {{ t('views.ne.neInfo.quickOam.title') }} + { :ne-type="modalState.neType" @cancel="fnModalEditCancel" > + + + From 5932662e7cf7227ecfd8d5d87d0d3f5fc03ecfae Mon Sep 17 00:00:00 2001 From: zhongzm Date: Wed, 10 Sep 2025 18:08:53 +0800 Subject: [PATCH 02/17] =?UTF-8?q?feat:=E7=BD=91=E5=85=83=E8=AE=B8=E5=8F=AF?= =?UTF-8?q?=E5=BF=AB=E9=80=9F=E4=B8=8A=E4=BC=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/i18n/locales/en-US.ts | 4 + src/i18n/locales/zh-CN.ts | 8 + .../components/QuickLicenseModal.vue | 431 ++++++++++++++++++ src/views/ne/neLicense/index.vue | 25 +- 4 files changed, 467 insertions(+), 1 deletion(-) create mode 100644 src/views/ne/neLicense/components/QuickLicenseModal.vue diff --git a/src/i18n/locales/en-US.ts b/src/i18n/locales/en-US.ts index 6256ead5..d35ff36e 100644 --- a/src/i18n/locales/en-US.ts +++ b/src/i18n/locales/en-US.ts @@ -712,6 +712,10 @@ export default { uploadFile: "Upload License", uploadChangeOk: 'Network Element renewed license successfully and is being calibrated in the background!', uploadChangeFail: "Some network elements failed to update the license, please check whether the service terminal environment is available!", + quickUpload: { + title: 'Quick License Upload', + selectNe: 'Select NE', + }, }, neConfig: { treeTitle: "Navigation Configuration", diff --git a/src/i18n/locales/zh-CN.ts b/src/i18n/locales/zh-CN.ts index c723fecd..bf3a1567 100644 --- a/src/i18n/locales/zh-CN.ts +++ b/src/i18n/locales/zh-CN.ts @@ -601,6 +601,10 @@ export default { success:'成功', default:'失败', }, + quickUpload: { + title: '快速许可证上传', + selectNe: '选择网元', + }, backConf: { export: '配置导出', import: '配置导入', @@ -712,6 +716,10 @@ export default { uploadFile: "上传许可证", uploadChangeOk: '网元更新许可证成功,正在后台校验!', uploadChangeFail: "部分网元更新许可证失败,请检查服务终端环境是否可用!", + quickUpload: { + title: '快速许可证上传', + selectNe: '选择网元', + }, }, neConfig: { treeTitle: "配置导航", diff --git a/src/views/ne/neLicense/components/QuickLicenseModal.vue b/src/views/ne/neLicense/components/QuickLicenseModal.vue new file mode 100644 index 00000000..b61c0079 --- /dev/null +++ b/src/views/ne/neLicense/components/QuickLicenseModal.vue @@ -0,0 +1,431 @@ + + + + + diff --git a/src/views/ne/neLicense/index.vue b/src/views/ne/neLicense/index.vue index ce210815..5553c3c1 100644 --- a/src/views/ne/neLicense/index.vue +++ b/src/views/ne/neLicense/index.vue @@ -16,6 +16,10 @@ const neListStore = useNeListStore(); const EditModal = defineAsyncComponent( () => import('./components/EditModal.vue') ); +// 快速许可证上传 +const QuickLicenseModal = defineAsyncComponent( + () => import('./components/QuickLicenseModal.vue') +); /**字典数据-状态 */ let dictStatus = ref([]); @@ -210,7 +214,7 @@ function fnGetList(pageNum?: number) { tablePagination.total = totalV; if ( tablePagination.total <= - (queryParams.pageNum - 1) * tablePagination.pageSize && + (queryParams.pageNum - 1) * tablePagination.pageSize && queryParams.pageNum !== 1 ) { tableState.loading = false; @@ -228,6 +232,8 @@ function fnGetList(pageNum?: number) { type ModalStateType = { /**新增框或修改框是否显示 */ openByEdit: boolean; + /**快速许可证上传框是否显示 */ + openByQuickUpload: boolean; /**授权记录ID */ licenseId: number; /**确定按钮 loading */ @@ -237,6 +243,7 @@ type ModalStateType = { /**对话框对象信息状态 */ let modalState: ModalStateType = reactive({ openByEdit: false, + openByQuickUpload: false, licenseId: 0, confirmLoading: false, }); @@ -270,6 +277,7 @@ function fnModalOk(e: any) { */ function fnModalCancel() { modalState.openByEdit = false; + modalState.openByQuickUpload = false; modalState.licenseId = 0; } @@ -410,6 +418,14 @@ onMounted(() => { From 6f9639d3d4d1a9841fbfea837c6b3aa5d5d4f463 Mon Sep 17 00:00:00 2001 From: zhongzm Date: Thu, 11 Sep 2025 10:38:13 +0800 Subject: [PATCH 03/17] =?UTF-8?q?feat:=E6=8E=A7=E5=88=B6=E5=8F=B0=E8=AD=A6?= =?UTF-8?q?=E5=91=8A=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/ne/neInfo/components/QuickOAMModal.vue | 11 ++++++++--- .../ne/neLicense/components/QuickLicenseModal.vue | 11 ++++++++--- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/views/ne/neInfo/components/QuickOAMModal.vue b/src/views/ne/neInfo/components/QuickOAMModal.vue index 6cef4731..03eb6e9b 100644 --- a/src/views/ne/neInfo/components/QuickOAMModal.vue +++ b/src/views/ne/neInfo/components/QuickOAMModal.vue @@ -2,6 +2,7 @@ import { reactive, toRaw, watch, ref } from 'vue'; import { ProModal } from 'antdv-pro-modal'; import { message, Form, Progress } from 'ant-design-vue/es'; +import { CheckCircleOutlined, CloseCircleOutlined } from '@ant-design/icons-vue'; import useI18n from '@/hooks/useI18n'; import { RESULT_CODE_SUCCESS } from '@/constants/result-constants'; import { getOAMFile, saveOAMFile, serviceNeAction } from '@/api/ne/neInfo'; @@ -385,9 +386,13 @@ watch( >
- + {{ result.neType }}-{{ result.neId }} ({{ result.neName }}) diff --git a/src/views/ne/neLicense/components/QuickLicenseModal.vue b/src/views/ne/neLicense/components/QuickLicenseModal.vue index b61c0079..6e09054e 100644 --- a/src/views/ne/neLicense/components/QuickLicenseModal.vue +++ b/src/views/ne/neLicense/components/QuickLicenseModal.vue @@ -4,6 +4,7 @@ import { ProModal } from 'antdv-pro-modal'; import { message, Form, Progress, Upload } from 'ant-design-vue/es'; import { UploadRequestOption } from 'ant-design-vue/es/vc-upload/interface'; import { FileType } from 'ant-design-vue/es/upload/interface'; +import { UploadOutlined, CheckCircleOutlined, CloseCircleOutlined } from '@ant-design/icons-vue'; import useI18n from '@/hooks/useI18n'; import { RESULT_CODE_SUCCESS } from '@/constants/result-constants'; import { changeNeLicense, getNeLicenseByTypeAndID } from '@/api/ne/neLicense'; @@ -408,9 +409,13 @@ watch( >
- + {{ result.neType }}-{{ result.neId }} ({{ result.neName }}) From c22d7604cfdbcbf04f142ff283516dbb045df48a Mon Sep 17 00:00:00 2001 From: zhongzm Date: Thu, 11 Sep 2025 11:04:05 +0800 Subject: [PATCH 04/17] =?UTF-8?q?feat:fnModalOk=E5=8F=82=E6=95=B0=E4=BC=A0?= =?UTF-8?q?=E9=80=92=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ne/neLicense/components/QuickLicenseModal.vue | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/views/ne/neLicense/components/QuickLicenseModal.vue b/src/views/ne/neLicense/components/QuickLicenseModal.vue index 6e09054e..2095772e 100644 --- a/src/views/ne/neLicense/components/QuickLicenseModal.vue +++ b/src/views/ne/neLicense/components/QuickLicenseModal.vue @@ -213,7 +213,16 @@ async function fnModalOk() { message.warning(`${t('views.ne.neInfo.quickOam.success')} ${successCount} ,${t('views.ne.neInfo.quickOam.default')} ${failCount} `, 5); } - emit('ok'); + const firstSuccessNe = modalState.results.find(r => r.success); + const paramForMain = firstSuccessNe ? { + neType: firstSuccessNe.neType, + neId: firstSuccessNe.neId + } : { + neType: 'BATCH', // 批量操作 + neId: 'OPERATION' + }; + + emit('ok', paramForMain); fnModalCancel(); } catch (error: any) { message.error(t('common.errorFields', { num: error.errorFields?.length || 0 }), 3); From 05d59ec526fab4d3fa0d28e76b073d9fb34e1a27 Mon Sep 17 00:00:00 2001 From: zhongzm Date: Thu, 11 Sep 2025 11:42:29 +0800 Subject: [PATCH 05/17] =?UTF-8?q?feat:=E8=BF=9B=E5=BA=A6=E6=9D=A1=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ne/neInfo/components/QuickOAMModal.vue | 20 ++++++++++++++----- .../components/QuickLicenseModal.vue | 14 ++++++++----- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/src/views/ne/neInfo/components/QuickOAMModal.vue b/src/views/ne/neInfo/components/QuickOAMModal.vue index 03eb6e9b..0b7da036 100644 --- a/src/views/ne/neInfo/components/QuickOAMModal.vue +++ b/src/views/ne/neInfo/components/QuickOAMModal.vue @@ -357,7 +357,7 @@ watch( -
+
{{ t('views.ne.neInfo.quickOam.progress') }}
{{ t('views.ne.neInfo.quickOam.processing') }}: {{ modalState.progress.currentNe }} @@ -365,10 +365,20 @@ watch( {{ modalState.progress.current }} / {{ modalState.progress.total }}
- + + + + + + +
+ +
diff --git a/src/views/ne/neLicense/components/QuickLicenseModal.vue b/src/views/ne/neLicense/components/QuickLicenseModal.vue index 2095772e..1086b957 100644 --- a/src/views/ne/neLicense/components/QuickLicenseModal.vue +++ b/src/views/ne/neLicense/components/QuickLicenseModal.vue @@ -389,7 +389,7 @@ watch( -
+
{{ t('views.ne.neInfo.quickOam.progress') }}
{{ t('views.ne.neInfo.quickOam.processing') }}: {{ modalState.progress.currentNe }} @@ -397,10 +397,14 @@ watch( {{ modalState.progress.current }} / {{ modalState.progress.total }}
- +
+ +
From 83a289492d045beb875af833619f413f3bb6b8be Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Fri, 12 Sep 2025 17:08:07 +0800 Subject: [PATCH 06/17] =?UTF-8?q?fix:=20UDM=E6=95=B0=E6=8D=AE=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E6=8F=90=E7=A4=BA=E4=BF=A1=E6=81=AF=EF=BC=8C=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E6=80=BB=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/i18n/locales/en-US.ts | 8 ++++---- src/i18n/locales/zh-CN.ts | 8 ++++---- src/views/neData/udm-auth/index.vue | 2 ++ src/views/neData/udm-sub/index.vue | 2 ++ src/views/neData/udm-voip/index.vue | 2 ++ src/views/neData/udm-volte/index.vue | 4 +++- 6 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/i18n/locales/en-US.ts b/src/i18n/locales/en-US.ts index d35ff36e..2e209775 100644 --- a/src/i18n/locales/en-US.ts +++ b/src/i18n/locales/en-US.ts @@ -841,7 +841,7 @@ export default { passwordPlease: "Please enter your password correctly", addTitle: 'Add VOIP subscriber', delTip: 'Confirm that you want to delete the information of VOIP user as [{num}]?', - exportTip: "Confirm exporting xlsx table files based on search criteria?", + exportTip: "Confirm exporting all VOIP user data based on the current search criteria?", }, udmVolteIMS: { startMSISDN: 'Starting MSISDN', @@ -850,7 +850,7 @@ export default { vniTip: 'Example: ims.mnc000.mcc000.3gppnetwork.org', vniPlease: 'Please enter VNI correctly', delTip: 'Are you sure you want to delete the information of IMS signing as [{num}]?', - exportTip: "Confirm exporting xlsx table files based on search criteria?", + exportTip: "Confirm exporting all VoLTE user data based on the current search criteria?", }, pcfSub: { exportTip: 'Confirm exporting all user policy control information data?', @@ -901,7 +901,7 @@ export default { neTypePlease: 'Query network element Object', neType: 'UDM Object', export: 'Export', - exportConfirm: 'Are you sure to export all authentication user data?', + exportConfirm: 'Confirm exporting all Authentication user data based on the current search criteria?', checkExport : 'Check Export', checkExportConfirm: 'Confirm exporting the checked authenticated user data?', import: 'Import', @@ -930,7 +930,7 @@ export default { subInfo:' Subscription Info', neType: 'UDM Object', export: 'Export', - exportConfirm: 'Are you sure to export all signed user data?', + exportConfirm: 'Confirm exporting all Subscribers user data based on the current search criteria?', checkExport : 'Check Export', checkExportConfirm: 'Are you sure to export the data of the checked subscribers?', import: 'Import', diff --git a/src/i18n/locales/zh-CN.ts b/src/i18n/locales/zh-CN.ts index bf3a1567..42bd011b 100644 --- a/src/i18n/locales/zh-CN.ts +++ b/src/i18n/locales/zh-CN.ts @@ -845,7 +845,7 @@ export default { passwordPlease: "请正确输入密码", addTitle: '新增VOIP用户', delTip: '确认要删除VOIP用户为【{num}】的信息吗?', - exportTip: "确认根据搜索条件导出xlsx表格文件吗?", + exportTip: "确认根据当前搜索条件导出全部VoIP用户数据吗?", }, udmVolteIMS: { startMSISDN: '起始MSISDN', @@ -854,7 +854,7 @@ export default { vniTip: '示例:ims.mnc000.mcc000.3gppnetwork.org', vniPlease: '请正确输入VNI', delTip: '确认要删除IMS签约为【{num}】的信息吗?', - exportTip: "确认根据搜索条件导出xlsx表格文件吗?", + exportTip: "确认根据当前搜索条件导出全部VoLTE用户数据吗?", }, pcfSub: { exportTip: '确认导出全部用户策略控制信息数据吗?', @@ -905,7 +905,7 @@ export default { neTypePlease: '查询网元类型', neType: 'UDM网元对象', export: '导出', - exportConfirm: '确认导出全部鉴权用户数据吗?', + exportConfirm: '确认根据当前搜索条件导出全部鉴权用户数据吗?', checkExport : '勾选导出', checkExportConfirm: '确认导出已勾选的鉴权用户数据吗?', import: '导入', @@ -936,7 +936,7 @@ export default { export: '导出', exportConfirm: '确认导出全部签约用户数据吗?', checkExport : '勾选导出', - checkExportConfirm: '确认导出已勾选的签约用户数据吗?', + checkExportConfirm: '确认根据当前搜索条件导出全部签约用户数据吗?', import: '导入', importFail: '失败记录', loadDataConfirm: '确认要重新加载数据吗?', diff --git a/src/views/neData/udm-auth/index.vue b/src/views/neData/udm-auth/index.vue index 86c457ea..60403c29 100644 --- a/src/views/neData/udm-auth/index.vue +++ b/src/views/neData/udm-auth/index.vue @@ -505,6 +505,8 @@ function fnExportList(type: string) { const neId = queryParams.neId; if (!neId) return; const hide = message.loading(t('common.loading'), 0); + queryParams.pageNum = 1; + queryParams.pageSize = tablePagination.total; exportUDMAuth(Object.assign({ type: type }, queryParams)) .then(res => { if (res.code === RESULT_CODE_SUCCESS) { diff --git a/src/views/neData/udm-sub/index.vue b/src/views/neData/udm-sub/index.vue index 232c5142..8ba9955b 100644 --- a/src/views/neData/udm-sub/index.vue +++ b/src/views/neData/udm-sub/index.vue @@ -875,6 +875,8 @@ function fnExportList(type: string) { const neId = queryParams.neId; if (!neId) return; const hide = message.loading(t('common.loading'), 0); + queryParams.pageNum = 1; + queryParams.pageSize = tablePagination.total; exportUDMSub(Object.assign({ type: type }, queryParams)) .then(res => { if (res.code === RESULT_CODE_SUCCESS) { diff --git a/src/views/neData/udm-voip/index.vue b/src/views/neData/udm-voip/index.vue index 98ddb348..f9e081ab 100644 --- a/src/views/neData/udm-voip/index.vue +++ b/src/views/neData/udm-voip/index.vue @@ -363,6 +363,8 @@ function fnExportList(type: string) { const neId = queryParams.neId; if (!neId) return; const hide = message.loading(t('common.loading'), 0); + queryParams.pageNum = 1; + queryParams.pageSize = tablePagination.total; exportUDMVOIP(Object.assign({ type: type }, queryParams)) .then(res => { if (res.code === RESULT_CODE_SUCCESS) { diff --git a/src/views/neData/udm-volte/index.vue b/src/views/neData/udm-volte/index.vue index 0c96e32e..fa26b9cb 100644 --- a/src/views/neData/udm-volte/index.vue +++ b/src/views/neData/udm-volte/index.vue @@ -442,6 +442,8 @@ function fnExportList(type: string) { const neId = queryParams.neId; if (!neId) return; const hide = message.loading(t('common.loading'), 0); + queryParams.pageNum = 1; + queryParams.pageSize = tablePagination.total; exportUDMVolteIMS(Object.assign({ type: type }, queryParams)) .then(res => { if (res.code === RESULT_CODE_SUCCESS) { @@ -449,7 +451,7 @@ function fnExportList(type: string) { content: t('common.operateOk'), duration: 2, }); - saveAs(res.data, `UDM_VOLTE_${neId}_${Date.now()}.${type}`); + saveAs(res.data, `UDM_VoLTE_${neId}_${Date.now()}.${type}`); } else { message.error({ content: `${res.msg}`, From 5839aa3cb1acb09121591979a7f299df8fb2fa35 Mon Sep 17 00:00:00 2001 From: zhongzm Date: Fri, 12 Sep 2025 17:09:17 +0800 Subject: [PATCH 07/17] =?UTF-8?q?feat:=E7=9B=91=E6=8E=A7=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/faultManage/active-alarm/index.vue | 5 +++-- src/views/faultManage/history-alarm/index.vue | 2 +- src/views/traceManage/pcap/index.vue | 8 ++++++-- src/views/traceManage/task/index.vue | 7 ++++++- src/views/traceManage/tshark/index.vue | 4 ++-- src/views/traceManage/wireshark/index.vue | 4 +++- 6 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/views/faultManage/active-alarm/index.vue b/src/views/faultManage/active-alarm/index.vue index 7d9efbd9..eecc281b 100644 --- a/src/views/faultManage/active-alarm/index.vue +++ b/src/views/faultManage/active-alarm/index.vue @@ -957,7 +957,7 @@ onMounted(() => { {{ t('views.faultManage.activeAlarm.updateConfirm') }} - + @@ -974,6 +974,7 @@ onMounted(() => { danger @click.prevent="fnClear()" :disabled="state.selectedRowKeys.length <= 0" + v-perms:has="['faultManage:active-alarm:delete']" >