feat: UDM voup/ims导入失败文件下载
This commit is contained in:
@@ -26,7 +26,8 @@ import useNeListStore from '@/store/modules/ne_list';
|
|||||||
import useI18n from '@/hooks/useI18n';
|
import useI18n from '@/hooks/useI18n';
|
||||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||||
import { saveAs } from 'file-saver';
|
import { saveAs } from 'file-saver';
|
||||||
import { uploadFileToNE } from '@/api/tool/file';
|
import { uploadFile } from '@/api/tool/file';
|
||||||
|
import { getNeViewFile } from '@/api/tool/neFile';
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const neListStore = useNeListStore();
|
const neListStore = useNeListStore();
|
||||||
/**网元参数 */
|
/**网元参数 */
|
||||||
@@ -489,15 +490,27 @@ function fnModalUploadImportUpload(file: File) {
|
|||||||
}
|
}
|
||||||
const hide = message.loading(t('common.loading'), 0);
|
const hide = message.loading(t('common.loading'), 0);
|
||||||
uploadImportState.loading = true;
|
uploadImportState.loading = true;
|
||||||
uploadFileToNE('UDM', neID, file, 5)
|
// 上传文件
|
||||||
|
let formData = new FormData();
|
||||||
|
formData.append('file', file);
|
||||||
|
formData.append('subPath', 'import');
|
||||||
|
uploadFile(formData)
|
||||||
.then(res => {
|
.then(res => {
|
||||||
if (res.code === RESULT_CODE_SUCCESS) {
|
if (res.code === RESULT_CODE_SUCCESS) {
|
||||||
|
return res.data.filePath;
|
||||||
|
} else {
|
||||||
|
uploadImportState.msg = res.msg;
|
||||||
|
uploadImportState.loading = false;
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.then((filePath: string) => {
|
||||||
|
if (!filePath) return;
|
||||||
|
// 文件导入
|
||||||
return importUDMVOIP({
|
return importUDMVOIP({
|
||||||
neId: neID,
|
neId: neID,
|
||||||
uploadPath: res.data,
|
uploadPath: filePath,
|
||||||
});
|
});
|
||||||
}
|
|
||||||
return res;
|
|
||||||
})
|
})
|
||||||
.then(res => {
|
.then(res => {
|
||||||
if (!res) return;
|
if (!res) return;
|
||||||
@@ -517,6 +530,33 @@ function fnModalUploadImportUpload(file: File) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**对话框表格信息导入失败原因 */
|
||||||
|
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_imsuser_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_udmvoip_err_records_${Date.now()}.txt`);
|
||||||
|
} else {
|
||||||
|
message.error(`${res.msg}`, 3);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
hide();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**对话框表格信息导入模板 */
|
/**对话框表格信息导入模板 */
|
||||||
function fnModalDownloadImportTemplate() {
|
function fnModalDownloadImportTemplate() {
|
||||||
const hide = message.loading(t('common.loading'), 0);
|
const hide = message.loading(t('common.loading'), 0);
|
||||||
@@ -868,14 +908,13 @@ onMounted(() => {
|
|||||||
name="username"
|
name="username"
|
||||||
v-bind="modalStateFrom.validateInfos.username"
|
v-bind="modalStateFrom.validateInfos.username"
|
||||||
>
|
>
|
||||||
<a-input-number
|
<a-input
|
||||||
v-model:value="modalState.from.username"
|
v-model:value="modalState.from.username"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
:min="4"
|
|
||||||
:maxlength="16"
|
:maxlength="16"
|
||||||
:placeholder="t('views.neData.udmVOIP.username')"
|
:placeholder="t('views.neData.udmVOIP.username')"
|
||||||
>
|
>
|
||||||
</a-input-number>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item
|
<a-form-item
|
||||||
:label="t('views.neData.udmVOIP.password')"
|
:label="t('views.neData.udmVOIP.password')"
|
||||||
@@ -917,13 +956,23 @@ onMounted(() => {
|
|||||||
</a-button>
|
</a-button>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<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>
|
||||||
|
|||||||
@@ -16,7 +16,8 @@ import useNeListStore from '@/store/modules/ne_list';
|
|||||||
import useI18n from '@/hooks/useI18n';
|
import useI18n from '@/hooks/useI18n';
|
||||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||||
import { saveAs } from 'file-saver';
|
import { saveAs } from 'file-saver';
|
||||||
import { uploadFileToNE } from '@/api/tool/file';
|
import { uploadFile } from '@/api/tool/file';
|
||||||
|
import { getNeViewFile } from '@/api/tool/neFile';
|
||||||
import {
|
import {
|
||||||
addUDMVolteIMS,
|
addUDMVolteIMS,
|
||||||
batchAddUDMVolteIMS,
|
batchAddUDMVolteIMS,
|
||||||
@@ -541,15 +542,27 @@ function fnModalUploadImportUpload(file: File) {
|
|||||||
}
|
}
|
||||||
const hide = message.loading(t('common.loading'), 0);
|
const hide = message.loading(t('common.loading'), 0);
|
||||||
uploadImportState.loading = true;
|
uploadImportState.loading = true;
|
||||||
uploadFileToNE('UDM', neID, file, 5)
|
// 上传文件
|
||||||
|
let formData = new FormData();
|
||||||
|
formData.append('file', file);
|
||||||
|
formData.append('subPath', 'import');
|
||||||
|
uploadFile(formData)
|
||||||
.then(res => {
|
.then(res => {
|
||||||
if (res.code === RESULT_CODE_SUCCESS) {
|
if (res.code === RESULT_CODE_SUCCESS) {
|
||||||
|
return res.data.filePath;
|
||||||
|
} else {
|
||||||
|
uploadImportState.msg = res.msg;
|
||||||
|
uploadImportState.loading = false;
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.then((filePath: string) => {
|
||||||
|
if (!filePath) return;
|
||||||
|
// 文件导入
|
||||||
return importUDMVolteIMS({
|
return importUDMVolteIMS({
|
||||||
neId: neID,
|
neId: neID,
|
||||||
uploadPath: res.data,
|
uploadPath: filePath,
|
||||||
});
|
});
|
||||||
}
|
|
||||||
return res;
|
|
||||||
})
|
})
|
||||||
.then(res => {
|
.then(res => {
|
||||||
if (!res) return;
|
if (!res) return;
|
||||||
@@ -569,6 +582,33 @@ function fnModalUploadImportUpload(file: File) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**对话框表格信息导入失败原因 */
|
||||||
|
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_imsuser_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_udmvolte_err_records_${Date.now()}.txt`);
|
||||||
|
} else {
|
||||||
|
message.error(`${res.msg}`, 3);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
hide();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**对话框表格信息导入模板 */
|
/**对话框表格信息导入模板 */
|
||||||
function fnModalDownloadImportTemplate() {
|
function fnModalDownloadImportTemplate() {
|
||||||
const hide = message.loading(t('common.loading'), 0);
|
const hide = message.loading(t('common.loading'), 0);
|
||||||
@@ -1089,13 +1129,23 @@ onMounted(() => {
|
|||||||
</a-button>
|
</a-button>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<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>
|
||||||
|
|||||||
Reference in New Issue
Block a user