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 @@ + + + + + + + + + + + + {{ t('views.ne.neLicense.upload') }} + + + + + + + + + + + + + + + + {{ t('views.ne.neInfo.quickOam.progress') }} + + {{ t('views.ne.neInfo.quickOam.processing') }}: {{ modalState.progress.currentNe }} + + {{ modalState.progress.current }} / {{ modalState.progress.total }} + + + + + + + + {{ t('views.ne.neInfo.quickOam.result') }} + + + + + + {{ result.neType }}-{{ result.neId }} ({{ result.neName }}) + + + {{ result.message }} + + + + + + + + + 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(() => { + + + {{ t('views.ne.neLicense.quickUpload.title') }} + { @ok="fnModalOk" @cancel="fnModalCancel" > + + +