diff --git a/src/components/UploadModal/index.vue b/src/components/UploadModal/index.vue index 67fb814c..f8ad80f9 100644 --- a/src/components/UploadModal/index.vue +++ b/src/components/UploadModal/index.vue @@ -2,6 +2,8 @@ import { message } from 'ant-design-vue/lib'; import { FileType } from 'ant-design-vue/lib/upload/interface'; import { UploadRequestOption } from 'ant-design-vue/lib/vc-upload/interface'; +import useI18n from '@/hooks/useI18n'; +const { t } = useI18n(); const emit = defineEmits(['upload', 'close', 'update:visible']); const props = defineProps({ /**窗口标题 */ @@ -45,7 +47,7 @@ function fnBeforeUpload(file: FileType) { const fileSize = file.size; const isLtM = fileSize / 1024 / 1024 < props.size; if (!isLtM) { - message.error(`上传文件大小必须小于 ${props.size}MB`, 3); + message.error(`${t('components.UploadModal.allowFilter')} ${props.size}MB`, 3); return false; } } @@ -54,7 +56,7 @@ function fnBeforeUpload(file: FileType) { const fileName = file.name; const isAllowType = props.ext.some(v => fileName.endsWith(v)); if (!isAllowType) { - message.error(`只支持上传文件格式 ${props.ext.join('、')}`, 3); + message.error(`${t('components.UploadModal.onlyAllow')} ${props.ext.join('、')}`, 3); return false; } } @@ -91,15 +93,14 @@ function fnUpload(up: UploadRequestOption) {

-

点击选择或将文件拖入边框区域进行上传

+

{{t('components.UploadModal.uploadTip')}}

- 允许上传文件大小 {{ props.size }} MB + {{t('components.UploadModal.allowSize')}} {{ props.size }} MB
- 允许导入 - {{ props.ext.join('、') }} - 格式文件 + {{t('components.UploadModal.allowFormat')}} {{ props.ext.join('、') }} +

diff --git a/src/i18n/locales/en-US.ts b/src/i18n/locales/en-US.ts index 32ab66da..2d5f10e1 100644 --- a/src/i18n/locales/en-US.ts +++ b/src/i18n/locales/en-US.ts @@ -18,11 +18,13 @@ export default { search: 'Search', reset: 'Reset', viewText: 'View', + getInfoFail:'Failed to obtain information', view: 'View', addText: 'Add', editText: 'Edit', deleteText: 'Delete', downloadText: 'Download', + export:'Export', uploadText: 'Upload', unableNull:' Cannot be empty', moreText: 'More', @@ -56,11 +58,16 @@ export default { } }, - // 全局页脚 - globalFooter: { - help: 'Help', - privacy: 'Privacy', - term: 'Term', + // 导入 + components: { + UploadModal:{ + uploadTitle:'Data Import', + uploadTip:'Click to select or drag the file into the border area to upload', + allowSize:'Allowed upload file size', + allowFormat:'The formats allowed to be imported are ', + allowFilter:'Upload file size must be less than ', + onlyAllow:'Only supports upload file formats', + } }, // 校验 @@ -208,7 +215,7 @@ export default { }, neUser: { auth: { - authInfo:'Authentication Info', + authInfo:' Authentication Info', neTypePlease: 'Query network element type', neType: 'UDM Type', export: 'Export', @@ -217,9 +224,13 @@ export default { loadDataConfirm: 'Are you sure you want to reload the data?', loadData: 'LoadData', loadDataTip: 'Successfully obtained updated data: {num} items. The system is updating the data internally. Please do not click repeatedly to obtain updates!!!', - num: 'Number allocation', - batchAddText: 'Batch Add', - batchDelText: 'Batch Del', + num: 'Number allocation ', + batchAddText: 'Batch Add ', + batchDelText: 'Batch Del ', + delNum:'Number of deletions ', + imsiTip:'SUPI=MCC+MNC+MSIN MCC=mobile country code, consisting of three digits MNC=Mobile Network Number, consisting of two digits MSIN=Mobile Customer Identification Number, composed of 10 digits of equal length', + delSure:'Are you sure to delete the user with IMSI number: {imsi}?', + noListData:'No network element list data yet', }, sub: { neTypePlease: 'Query network element type', @@ -231,7 +242,7 @@ export default { loadData: 'LoadData', loadDataTip: 'Successfully obtained updated data: {num} items. The system is updating the data internally. Please do not click repeatedly to obtain updates!!!', num: 'Number of deletions', - startIMSI: 'start IMSI', + startIMSI: 'Start IMSI', }, base5G: { neTypePlease: 'Query network element type', diff --git a/src/i18n/locales/zh-CN.ts b/src/i18n/locales/zh-CN.ts index 610bc342..ca7313f6 100644 --- a/src/i18n/locales/zh-CN.ts +++ b/src/i18n/locales/zh-CN.ts @@ -18,11 +18,13 @@ export default { search: '搜索', reset: '重置', viewText: '查看详情', + getInfoFail:'获取信息失败', view: '查看', addText: '新增', editText: '编辑', deleteText: '删除', downloadText: '下载', + export:'导出', uploadText: '上传', unableNull:'不能为空', moreText: '更多', @@ -56,11 +58,16 @@ export default { } }, - // 全局页脚 - globalFooter: { - help: '', - privacy: '', - term: '', + // 导入 + components: { + UploadModal:{ + uploadTitle:'数据导入', + uploadTip:'点击选择或将文件拖入边框区域进行上传', + allowSize:'允许上传文件大小', + allowFormat:'允许导入的格式为', + allowFilter:'上传文件大小必须小于', + onlyAllow:'只支持上传文件格式', + } }, // 校验 @@ -220,6 +227,10 @@ export default { num: '放号数', batchAddText: '批量新增', batchDelText: '批量删除', + delNum:'删除个数', + imsiTip:' SUPI=MCC+MNC+MSIN MCC=移动国家号码, 由三位数字组成 MNC=移动网络号,由两位数字组成 MSIN=移动客户识别码,采用等长10位数字构成', + delSure:'确认删除IMSI编号为: {imsi} 的用户嘛?', + noListData:'暂无网元列表数据', }, sub: { neTypePlease: '查询网元类型', diff --git a/src/views/neUser/auth/index.vue b/src/views/neUser/auth/index.vue index 523d1984..5f28aec1 100644 --- a/src/views/neUser/auth/index.vue +++ b/src/views/neUser/auth/index.vue @@ -230,10 +230,10 @@ let modalState: ModalStateType = reactive({ const modalStateFrom = Form.useForm( modalState.from, reactive({ - imsi: [{ required: true, message: 'IMSI不能为空' }], - amf: [{ required: true, message: 'AMF不能为空' }], - ki: [{ required: true, message: 'KI不能为空' }], - algo: [{ required: true, message: 'algoIndex不能为空' }], + imsi: [{ required: true, message: 'IMSI'+t('common.unableNull') }], + amf: [{ required: true, message: 'AMF'+t('common.unableNull') }], + ki: [{ required: true, message: 'KI'+t('common.unableNull') }], + algoIndex: [{ required: true, message: 'algoIndex'+t('common.unableNull') }], }) ); @@ -241,11 +241,11 @@ const modalStateFrom = Form.useForm( const modalStateBatchFrom = Form.useForm( modalState.BatchForm, reactive({ - num: [{ required: true, message: '放号数不能为空' }], - imsi: [{ required: true, message: 'IMSI不能为空' }], - amf: [{ required: true, message: 'AMF不能为空' }], - ki: [{ required: true, message: 'KI不能为空' }], - algo: [{ required: true, message: 'algoIndex不能为空' }], + num: [{ required: true, message: t('views.neUser.auth.num')+t('common.unableNull') }], + imsi: [{ required: true, message: 'IMSI'+t('common.unableNull') }], + amf: [{ required: true, message: 'AMF'+t('common.unableNull') }], + ki: [{ required: true, message: 'KI'+t('common.unableNull') }], + algoIndex: [{ required: true, message: 'algoIndex'+t('common.unableNull') }], }) ); @@ -253,8 +253,8 @@ const modalStateBatchFrom = Form.useForm( const modalStateBatchDelFrom = Form.useForm( modalState.BatchDelForm, reactive({ - num: [{ required: true, message: '删除个数不能为空' }], - imsi: [{ required: true, message: '起始IMSI不能为空' }], + num: [{ required: true, message: t('views.neUser.auth.delNum')+t('common.unableNull') }], + imsi: [{ required: true, message: 'IMSI'+t('common.unableNull') }], }) ); @@ -267,17 +267,20 @@ function fnModalVisibleByVive(imsi: string) { const hide = message.loading('Waiting...', 0); modalState.confirmLoading = true; const neID = queryParams.neId || '-'; - getAuth(neID, imsi).then(res => { - modalState.confirmLoading = false; - hide(); - if (res.code === RESULT_CODE_SUCCESS) { - modalState.from = Object.assign(modalState.from, res.data); - modalState.title = t("common.view")+t("views.neUser.authInfo"); - modalState.visibleByView = true; - } else { - message.error(`获取鉴权信息失败`, 2); - } - }); + getAuth(neID, imsi) + .then(res => { + if (res.code === RESULT_CODE_SUCCESS) { + modalState.from = Object.assign(modalState.from, res.data); + modalState.title = t('common.viewText') + t('views.neUser.auth.authInfo'); + modalState.visibleByView = true; + } else { + message.error(`获取鉴权信息失败`, 2); + } + }) + .finally(() => { + hide(); + modalState.confirmLoading = false; + }); } /** @@ -287,24 +290,27 @@ function fnModalVisibleByVive(imsi: string) { function fnModalVisibleByEdit(row?: Record) { if (!row) { modalStateFrom.resetFields(); //重置表单 - modalState.title = '添加鉴权信息'; + modalState.title = t('common.addText')+t('views.neUser.auth.authInfo'); modalState.visibleByEdit = true; } else { if (modalState.confirmLoading) return; const hide = message.loading(t('common.loading'), 0); modalState.confirmLoading = true; const neID = queryParams.neId || '-'; - getAuth(neID, row?.imsi).then(res => { - modalState.confirmLoading = false; - hide(); - if (res.code === RESULT_CODE_SUCCESS) { - modalState.from = Object.assign(modalState.from, res.data); - modalState.title = '修改鉴权信息'; - modalState.visibleByEdit = true; - } else { - message.error(`获取鉴权信息失败`, 2); - } - }); + getAuth(neID, row?.imsi) + .then(res => { + if (res.code === RESULT_CODE_SUCCESS) { + modalState.from = Object.assign(modalState.from, res.data); + modalState.title = t('common.editText')+t('views.neUser.auth.authInfo'); + modalState.visibleByEdit = true; + } else { + message.error(`获取鉴权信息失败`, 2); + } + }) + .finally(() => { + hide(); + modalState.confirmLoading = false; + }); } } @@ -315,11 +321,11 @@ function fnModalVisibleByEdit(row?: Record) { function fnModalVisibleByBatch(batchFlag?: number) { if (batchFlag) { modalStateBatchFrom.resetFields(); //重置表单 - modalState.title = '批量添加鉴权信息'; + modalState.title = t('views.neUser.auth.batchAddText')+t('views.neUser.auth.authInfo'); modalState.visibleByBatch = true; } else { modalStateBatchFrom.resetFields(); //重置表单 - modalState.title = '批量删除鉴权信息'; + modalState.title = t('views.neUser.auth.batchDelText')+t('views.neUser.auth.authInfo'); modalState.visibleByBatchDel = true; } } @@ -488,7 +494,7 @@ function fnModalCancel() { function fnRecordDelete(row: Record) { Modal.confirm({ title: t('common.tipTitle'), - content: `确认删除IMSI编号为: ${row.imsi} 的用户嘛?`, + content: t('views.neUser.auth.delSure',{imsi:row.imsi}), onOk() { const key = 'delNotice'; message.loading({ content: t('common.loading'), key }); @@ -496,7 +502,7 @@ function fnRecordDelete(row: Record) { delAuth(neID, row).then(res => { if (res.code === RESULT_CODE_SUCCESS) { message.success({ - content: `删除成功`, + content: t('common.msgSuccess', { msg: t('common.deleteText') }), key, duration: 2, }); @@ -525,7 +531,7 @@ function fnExportList(type: string) { }).then(res => { if (res.code === RESULT_CODE_SUCCESS) { message.success({ - content: `已完成导出`, + content: t('common.msgSuccess', { msg: t('common.export') }), key, duration: 2, }); @@ -563,7 +569,7 @@ function fnLoadData() { }, 3000); } else { message.error({ - content: `获取数据失败`, + content: t('common.getInfoFail'), duration: 3, }); } @@ -601,7 +607,7 @@ type ModalUploadImportStateType = { /**对话框表格信息导入对象信息状态 */ let uploadImportState: ModalUploadImportStateType = reactive({ visible: false, - title: '数据导入', + title: t('components.UploadModal.uploadTitle'), loading: false, msg: '', }); @@ -625,16 +631,16 @@ function fnModalUploadImportUpload(file: File) { formData.append('file', file); const neID = queryParams.neId; if (!neID) { - return Promise.reject('未知网元'); + return Promise.reject('Unknown network element'); } - const hide = message.loading('正在上传...', 0); + const hide = message.loading(t('common.loading'), 0); uploadImportState.loading = true; importAuthData(neID, formData) .then(res => { uploadImportState.msg = res.msg; }) .catch((err: { code: number; msg: string }) => { - message.error(`上传失败 ${err.msg}`); + message.error(` ${err.msg}`); }) .finally(() => { hide(); @@ -662,7 +668,7 @@ onMounted(() => { } } else { message.warning({ - content: `暂无网元列表数据`, + content:t('views.neUser.auth.noListData'), duration: 2, }); } @@ -690,7 +696,6 @@ onMounted(() => { v-model:value="queryParams.neId" :options="neOtions" allow-clear - :placeholder="t('views.neUser.auth.neTypePlease')" /> @@ -699,7 +704,6 @@ onMounted(() => { @@ -991,7 +995,7 @@ onMounted(() => { { @@ -1101,7 +1104,7 @@ onMounted(() => { {