diff --git a/src/views/bg/xispeak/BgXiSpeak.api.ts b/src/views/bg/xispeak/BgXiSpeak.api.ts
index c8e34c1..6fba2be 100644
--- a/src/views/bg/xispeak/BgXiSpeak.api.ts
+++ b/src/views/bg/xispeak/BgXiSpeak.api.ts
@@ -12,6 +12,7 @@ enum Api {
exportXls = '/bg/xispeak/bgXiSpeak/exportXls',
exportXlsHeaders = '/bg/xispeak/bgXiSpeak/exportXlsHeaders',
importExcelByEasyExcel = '/bg/xispeak/bgXiSpeak/importExcelByEasyExcel',
+ checkExcelByEasyExcel = '/bg/xispeak/bgXiSpeak/checkExcelByEasyExcel',
loadTreeData = '/bg/xispeak/bgXiSpeak/loadTreeRoot',
getChildList = '/bg/xispeak/bgXiSpeak/childList',
getChildListBatch = '/bg/xispeak/bgXiSpeak/getChildListBatch',
@@ -28,6 +29,8 @@ export const getExportXlsHeadersUrl = Api.exportXlsHeaders;
export const getImportExcelByEasyExcelUrl = Api.importExcelByEasyExcel;
+export const getCheckExcelByEasyExcelUrl = Api.checkExcelByEasyExcel;
+
/**
* 导入api
* @param params
diff --git a/src/views/bg/xispeak/BgXiSpeakList.vue b/src/views/bg/xispeak/BgXiSpeakList.vue
index b089d96..a96e2da 100644
--- a/src/views/bg/xispeak/BgXiSpeakList.vue
+++ b/src/views/bg/xispeak/BgXiSpeakList.vue
@@ -46,6 +46,9 @@
下载模板
+ 模板校验
模板导入
@@ -123,6 +126,7 @@ import { defHttp } from '/@/utils/http/axios';
getImportUrl,
getExportXlsHeadersUrl,
getImportExcelByEasyExcelUrl,
+ getCheckExcelByEasyExcelUrl,
getChildList,
getChildListBatch,
updateLaunchType,
@@ -802,6 +806,25 @@ import { defHttp } from '/@/utils/http/axios';
await defHttp.uploadFile({ url: getImportExcelByEasyExcelUrl }, { file: data.file }, { success: isReturn });
}
+ async function handleCheckExcel(data) {
+ const isReturn = (fileInfo) => {
+ try {
+ if (fileInfo.code === 500 || fileInfo.code === 510) {
+ if (fileInfo.result && Array.isArray(fileInfo.result) && fileInfo.result.length > 0) {
+ showImportValidationErrors(fileInfo.message || `${data.file.name} 校验失败`, fileInfo.result);
+ } else {
+ createMessage.error(fileInfo.message || `${data.file.name} 校验失败`);
+ }
+ } else {
+ createMessage.success(fileInfo.message || `${data.file.name} 校验通过`);
+ }
+ } catch {
+ // ignore
+ }
+ };
+ await defHttp.uploadFile({ url: getCheckExcelByEasyExcelUrl }, { file: data.file }, { success: isReturn });
+ }
+
function clearQueryParams() {
Object.keys(queryParam.value).forEach((key) => {
delete queryParam.value[key];
diff --git a/src/views/dq/inspectTask/DqInspectTask.api.ts b/src/views/dq/inspectTask/DqInspectTask.api.ts
index 4271d8d..f6e5b6c 100644
--- a/src/views/dq/inspectTask/DqInspectTask.api.ts
+++ b/src/views/dq/inspectTask/DqInspectTask.api.ts
@@ -11,10 +11,14 @@ enum Api {
deleteOne = '/dqinspecttask/dqInspectTask/delete',
deleteBatch = '/dqinspecttask/dqInspectTask/deleteBatch',
importExcel = '/dqinspecttask/dqInspectTask/importExcel',
+ importExcelByEasyExcel = '/dqinspecttask/dqInspectTask/importExcelByEasyExcel',
+ checkExcelByEasyExcel = '/dqinspecttask/dqInspectTask/checkExcelByEasyExcel',
exportXls = '/dqinspecttask/dqInspectTask/exportXls',
+ exportXlsHeaders = '/dqinspecttask/dqInspectTask/exportXlsHeaders',
queryDataById = '/dqinspecttask/dqInspectTask/queryById',
dqInspectProgressList = '/dqinspecttask/dqInspectTask/queryDqInspectProgressByMainId',
specificProblemOptions = '/dqinspectproblem/dqInspectProblem/specificOptions',
+
}
/**
* 导出api
@@ -27,6 +31,12 @@ export const getExportUrl = Api.exportXls;
*/
export const getImportUrl = Api.importExcel;
+export const getImportExcelByEasyExcelUrl = Api.importExcelByEasyExcel;
+
+export const getCheckExcelByEasyExcelUrl = Api.checkExcelByEasyExcel;
+
+export const getExportXlsHeadersUrl = Api.exportXlsHeaders;
+
/**
* 查询子表数据
* @param params
diff --git a/src/views/dq/inspectTask/DqInspectTaskList.vue b/src/views/dq/inspectTask/DqInspectTaskList.vue
index 647ba17..e2281ff 100644
--- a/src/views/dq/inspectTask/DqInspectTaskList.vue
+++ b/src/views/dq/inspectTask/DqInspectTaskList.vue
@@ -58,9 +58,35 @@
导出
- 导入
+ 下载模板
+ 模板校验
+ 模板导入
+
@@ -109,7 +135,19 @@
import DqInspectTaskModal from './components/DqInspectTaskModal.vue';
import DqInspectProgressFeedbackViewModal from '../inspectProgress/components/DqInspectProgressFeedbackViewModal.vue';
import { ledgerColumns, superQuerySchema } from './DqInspectTask.data';
- import { ledgerList, deleteOne, batchDelete, getImportUrl, getExportUrl, saveOrUpdate } from './DqInspectTask.api';
+ import {
+ ledgerList,
+ deleteOne,
+ batchDelete,
+ getImportUrl,
+ getExportUrl,
+ getImportExcelByEasyExcelUrl,
+ getCheckExcelByEasyExcelUrl,
+ getExportXlsHeadersUrl,
+ saveOrUpdate,
+ } from './DqInspectTask.api';
+ import { defHttp } from '/@/utils/http/axios';
+ import { showImportValidationErrors } from '/@/utils/helper/importError';
import { downloadFile } from '/@/utils/common/renderUtils';
import { useMessage } from '/@/hooks/web/useMessage';
import Icon from '/@/components/Icon/index';
@@ -230,6 +268,61 @@
function handleSuccess() {
(selectedRowKeys.value = []) && reload();
}
+
+ async function handleDownloadTemplate() {
+ const data = await defHttp.get({ url: getExportXlsHeadersUrl, params: {}, responseType: 'blob', timeout: 60000 }, { isTransformResponse: false });
+ if (!data) {
+ createMessage.warning('文件下载失败');
+ return;
+ }
+ const blob = new Blob([data]);
+ const link = document.createElement('a');
+ link.href = URL.createObjectURL(blob);
+ link.download = '整改任务-导入模板.xls';
+ link.click();
+ URL.revokeObjectURL(link.href);
+ }
+
+ async function handleCheckExcel(data) {
+ const isReturn = (fileInfo) => {
+ try {
+ if (fileInfo.code === 500 || fileInfo.code === 510) {
+ if (fileInfo.result && Array.isArray(fileInfo.result) && fileInfo.result.length > 0) {
+ showImportValidationErrors(fileInfo.message || `${data.file.name} 校验失败`, fileInfo.result);
+ } else {
+ createMessage.error(fileInfo.message || `${data.file.name} 校验失败`);
+ }
+ } else {
+ createMessage.success(fileInfo.message || `${data.file.name} 校验通过`);
+ }
+ } catch {
+ // ignore
+ }
+ };
+ await defHttp.uploadFile({ url: getCheckExcelByEasyExcelUrl }, { file: data.file }, { success: isReturn });
+ }
+
+ async function handleImportByTemplate(data) {
+ const isReturn = (fileInfo) => {
+ try {
+ if (fileInfo.code === 500 || fileInfo.code === 510) {
+ if (fileInfo.result && Array.isArray(fileInfo.result) && fileInfo.result.length > 0) {
+ showImportValidationErrors(fileInfo.message || `${data.file.name} 导入失败`, fileInfo.result);
+ } else {
+ createMessage.error(fileInfo.message || `${data.file.name} 导入失败`);
+ }
+ } else {
+ createMessage.success(fileInfo.message || `${data.file.name} 导入成功`);
+ }
+ } catch {
+ // ignore
+ } finally {
+ reload();
+ }
+ };
+ await defHttp.uploadFile({ url: getImportExcelByEasyExcelUrl }, { file: data.file }, { success: isReturn });
+ }
+
/**
* 只在当前页内计算台账合并行,避免跨页合并导致表格分页行为不可控。
*/