feat: UDM用户数据导入输出失败记录,UDM2.2502.58
This commit is contained in:
@@ -737,6 +737,7 @@ export default {
|
|||||||
checkExport : 'Check Export',
|
checkExport : 'Check Export',
|
||||||
checkExportConfirm: 'Confirm exporting the checked authenticated user data?',
|
checkExportConfirm: 'Confirm exporting the checked authenticated user data?',
|
||||||
import: 'Import',
|
import: 'Import',
|
||||||
|
importFail: 'Failure Record',
|
||||||
loadDataConfirm: 'Are you sure you want to reload the data?',
|
loadDataConfirm: 'Are you sure you want to reload the data?',
|
||||||
loadData: 'Load Data',
|
loadData: 'Load Data',
|
||||||
loadDataTip: 'Successfully fetched loaded data: {num} items, the system is internally updating the data, it will take about {timer} seconds, please wait!!!!!.',
|
loadDataTip: 'Successfully fetched loaded data: {num} items, the system is internally updating the data, it will take about {timer} seconds, please wait!!!!!.',
|
||||||
@@ -765,6 +766,7 @@ export default {
|
|||||||
checkExport : 'Check Export',
|
checkExport : 'Check Export',
|
||||||
checkExportConfirm: 'Are you sure to export the data of the checked subscribers?',
|
checkExportConfirm: 'Are you sure to export the data of the checked subscribers?',
|
||||||
import: 'Import',
|
import: 'Import',
|
||||||
|
importFail: 'Failure Record',
|
||||||
loadDataConfirm: 'Are you sure you want to reload the data?',
|
loadDataConfirm: 'Are you sure you want to reload the data?',
|
||||||
loadData: 'Load Data',
|
loadData: 'Load Data',
|
||||||
loadDataTip: 'Successfully fetched loaded data: {num} items, the system is internally updating the data, it will take about {timer} seconds, please wait!!!!!.',
|
loadDataTip: 'Successfully fetched loaded data: {num} items, the system is internally updating the data, it will take about {timer} seconds, please wait!!!!!.',
|
||||||
|
|||||||
@@ -737,6 +737,7 @@ export default {
|
|||||||
checkExport : '勾选导出',
|
checkExport : '勾选导出',
|
||||||
checkExportConfirm: '确认导出已勾选的鉴权用户数据吗?',
|
checkExportConfirm: '确认导出已勾选的鉴权用户数据吗?',
|
||||||
import: '导入',
|
import: '导入',
|
||||||
|
importFail: '失败记录',
|
||||||
loadDataConfirm: '确认要重新加载数据吗?',
|
loadDataConfirm: '确认要重新加载数据吗?',
|
||||||
loadData: '加载数据',
|
loadData: '加载数据',
|
||||||
loadDataTip: '成功获取加载数据:{num}条,系统内部正在进行数据更新,大约需要{timer}秒,请稍候!!!',
|
loadDataTip: '成功获取加载数据:{num}条,系统内部正在进行数据更新,大约需要{timer}秒,请稍候!!!',
|
||||||
@@ -765,6 +766,7 @@ export default {
|
|||||||
checkExport : '勾选导出',
|
checkExport : '勾选导出',
|
||||||
checkExportConfirm: '确认导出已勾选的签约用户数据吗?',
|
checkExportConfirm: '确认导出已勾选的签约用户数据吗?',
|
||||||
import: '导入',
|
import: '导入',
|
||||||
|
importFail: '失败记录',
|
||||||
loadDataConfirm: '确认要重新加载数据吗?',
|
loadDataConfirm: '确认要重新加载数据吗?',
|
||||||
loadData: '加载数据',
|
loadData: '加载数据',
|
||||||
loadDataTip: '成功获取加载数据:{num}条,系统内部正在进行数据更新,大约需要{timer}秒,请稍候!!!',
|
loadDataTip: '成功获取加载数据:{num}条,系统内部正在进行数据更新,大约需要{timer}秒,请稍候!!!',
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ import {
|
|||||||
listUDMAuth,
|
listUDMAuth,
|
||||||
} from '@/api/neData/udm_auth';
|
} from '@/api/neData/udm_auth';
|
||||||
import { uploadFile } from '@/api/tool/file';
|
import { uploadFile } from '@/api/tool/file';
|
||||||
|
import { getNeViewFile } from '@/api/tool/neFile';
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
|
|
||||||
/**网元参数 */
|
/**网元参数 */
|
||||||
@@ -98,12 +99,6 @@ let tableColumns = ref<ColumnsType>([
|
|||||||
align: 'center',
|
align: 'center',
|
||||||
width: 80,
|
width: 80,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
title: 'Status',
|
|
||||||
dataIndex: 'status',
|
|
||||||
align: 'center',
|
|
||||||
width: 80,
|
|
||||||
},
|
|
||||||
// {
|
// {
|
||||||
// title: 'KI',
|
// title: 'KI',
|
||||||
// dataIndex: 'ki',
|
// dataIndex: 'ki',
|
||||||
@@ -598,6 +593,8 @@ type ModalUploadImportStateType = {
|
|||||||
loading: boolean;
|
loading: boolean;
|
||||||
/**上传结果信息 */
|
/**上传结果信息 */
|
||||||
msg: string;
|
msg: string;
|
||||||
|
/**含失败信息 */
|
||||||
|
hasFail: boolean;
|
||||||
/**导入类型 */
|
/**导入类型 */
|
||||||
typeOptions: { label: string; value: string }[];
|
typeOptions: { label: string; value: string }[];
|
||||||
/**表单 */
|
/**表单 */
|
||||||
@@ -610,6 +607,7 @@ let uploadImportState: ModalUploadImportStateType = reactive({
|
|||||||
title: t('components.UploadModal.uploadTitle'),
|
title: t('components.UploadModal.uploadTitle'),
|
||||||
loading: false,
|
loading: false,
|
||||||
msg: '',
|
msg: '',
|
||||||
|
hasFail: false,
|
||||||
typeOptions: [
|
typeOptions: [
|
||||||
{ label: 'Default', value: 'default' },
|
{ label: 'Default', value: 'default' },
|
||||||
{ label: 'K4', value: 'k4' },
|
{ label: 'K4', value: 'k4' },
|
||||||
@@ -626,9 +624,37 @@ function fnModalUploadImportTypeChange() {
|
|||||||
uploadImportState.msg = '';
|
uploadImportState.msg = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**对话框表格信息导入失败原因 */
|
||||||
|
function fnModalUploadImportFailReason() {
|
||||||
|
const neId = queryParams.neId;
|
||||||
|
if (!neId) return;
|
||||||
|
const hide = message.loading(t('common.loading'), 0);
|
||||||
|
getNeViewFile({
|
||||||
|
neType: 'UDM',
|
||||||
|
neId: neId,
|
||||||
|
path: '/tmp',
|
||||||
|
fileName: 'import_authdata_err_records.txt',
|
||||||
|
})
|
||||||
|
.then(res => {
|
||||||
|
if (res.code === RESULT_CODE_SUCCESS) {
|
||||||
|
message.success(t('common.operateOk'), 3);
|
||||||
|
const blob = new Blob([res.data], {
|
||||||
|
type: 'text/plain',
|
||||||
|
});
|
||||||
|
saveAs(blob, `import_authdata_err_records_${Date.now()}.txt`);
|
||||||
|
} else {
|
||||||
|
message.error(`${res.msg}`, 3);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
hide();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**对话框表格信息导入弹出窗口 */
|
/**对话框表格信息导入弹出窗口 */
|
||||||
function fnModalUploadImportOpen() {
|
function fnModalUploadImportOpen() {
|
||||||
uploadImportState.msg = '';
|
uploadImportState.msg = '';
|
||||||
|
uploadImportState.hasFail = false;
|
||||||
uploadImportState.from.typeVal = 'default';
|
uploadImportState.from.typeVal = 'default';
|
||||||
uploadImportState.from.typeData = undefined;
|
uploadImportState.from.typeData = undefined;
|
||||||
uploadImportState.loading = false;
|
uploadImportState.loading = false;
|
||||||
@@ -675,6 +701,14 @@ function fnModalUploadImportUpload(file: File) {
|
|||||||
.then(res => {
|
.then(res => {
|
||||||
if (!res) return;
|
if (!res) return;
|
||||||
uploadImportState.msg = res.msg;
|
uploadImportState.msg = res.msg;
|
||||||
|
const regex = /fail num: (\d+)/;
|
||||||
|
const match = res.msg.match(regex);
|
||||||
|
if (match) {
|
||||||
|
const failNum = Number(match[1]);
|
||||||
|
uploadImportState.hasFail = failNum > 0;
|
||||||
|
} else {
|
||||||
|
uploadImportState.hasFail = false;
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.finally(() => {
|
.finally(() => {
|
||||||
hide();
|
hide();
|
||||||
@@ -1018,14 +1052,6 @@ onMounted(() => {
|
|||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :lg="12" :md="12" :xs="24">
|
|
||||||
<a-form-item label="Status" name="status">
|
|
||||||
<a-select value="1">
|
|
||||||
<a-select-option value="1">Active</a-select-option>
|
|
||||||
<a-select-option value="0">Inactive</a-select-option>
|
|
||||||
</a-select>
|
|
||||||
</a-form-item>
|
|
||||||
</a-col>
|
|
||||||
</a-row>
|
</a-row>
|
||||||
|
|
||||||
<a-row>
|
<a-row>
|
||||||
@@ -1210,13 +1236,23 @@ onMounted(() => {
|
|||||||
v-model:value="uploadImportState.from.typeData"
|
v-model:value="uploadImportState.from.typeData"
|
||||||
:placeholder="t('common.inputPlease')"
|
:placeholder="t('common.inputPlease')"
|
||||||
/>
|
/>
|
||||||
<a-textarea
|
<a-alert
|
||||||
:disabled="true"
|
:message="uploadImportState.msg"
|
||||||
:hidden="!uploadImportState.msg"
|
:type="uploadImportState.hasFail ? 'warning' : 'info'"
|
||||||
:value="uploadImportState.msg"
|
v-show="uploadImportState.msg.length > 0"
|
||||||
:auto-size="{ minRows: 2, maxRows: 8 }"
|
>
|
||||||
style="background-color: transparent; color: rgba(0, 0, 0, 0.85)"
|
<template #action>
|
||||||
/>
|
<a-button
|
||||||
|
size="small"
|
||||||
|
type="link"
|
||||||
|
danger
|
||||||
|
@click="fnModalUploadImportFailReason"
|
||||||
|
v-if="uploadImportState.hasFail"
|
||||||
|
>
|
||||||
|
{{ t('views.neUser.auth.importFail') }}
|
||||||
|
</a-button>
|
||||||
|
</template>
|
||||||
|
</a-alert>
|
||||||
</template>
|
</template>
|
||||||
</UploadModal>
|
</UploadModal>
|
||||||
</PageContainer>
|
</PageContainer>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user