feat(xispeak): 新增Excel校验按钮,调整按钮布局将下载模板/模板导入移出下拉菜单
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -12,6 +12,7 @@ enum Api {
|
|||||||
exportXls = '/bg/xispeak/bgXiSpeak/exportXls',
|
exportXls = '/bg/xispeak/bgXiSpeak/exportXls',
|
||||||
exportXlsHeaders = '/bg/xispeak/bgXiSpeak/exportXlsHeaders',
|
exportXlsHeaders = '/bg/xispeak/bgXiSpeak/exportXlsHeaders',
|
||||||
importExcelByEasyExcel = '/bg/xispeak/bgXiSpeak/importExcelByEasyExcel',
|
importExcelByEasyExcel = '/bg/xispeak/bgXiSpeak/importExcelByEasyExcel',
|
||||||
|
checkExcelByEasyExcel = '/bg/xispeak/bgXiSpeak/checkExcelByEasyExcel',
|
||||||
loadTreeData = '/bg/xispeak/bgXiSpeak/loadTreeRoot',
|
loadTreeData = '/bg/xispeak/bgXiSpeak/loadTreeRoot',
|
||||||
getChildList = '/bg/xispeak/bgXiSpeak/childList',
|
getChildList = '/bg/xispeak/bgXiSpeak/childList',
|
||||||
getChildListBatch = '/bg/xispeak/bgXiSpeak/getChildListBatch',
|
getChildListBatch = '/bg/xispeak/bgXiSpeak/getChildListBatch',
|
||||||
@@ -28,6 +29,8 @@ export const getExportXlsHeadersUrl = Api.exportXlsHeaders;
|
|||||||
|
|
||||||
export const getImportExcelByEasyExcelUrl = Api.importExcelByEasyExcel;
|
export const getImportExcelByEasyExcelUrl = Api.importExcelByEasyExcel;
|
||||||
|
|
||||||
|
export const getCheckExcelByEasyExcelUrl = Api.checkExcelByEasyExcel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 导入api
|
* 导入api
|
||||||
* @param params
|
* @param params
|
||||||
|
|||||||
@@ -46,6 +46,9 @@
|
|||||||
<a-button type="primary" v-auth="'bg.xispeak:bg_xi_speak:exportXls'" preIcon="ant-design:download-outlined" @click="handleDownloadTemplate"
|
<a-button type="primary" v-auth="'bg.xispeak:bg_xi_speak:exportXls'" preIcon="ant-design:download-outlined" @click="handleDownloadTemplate"
|
||||||
>下载模板</a-button
|
>下载模板</a-button
|
||||||
>
|
>
|
||||||
|
<j-upload-button type="primary" v-auth="'bg.xispeak:bg_xi_speak:importExcel'" preIcon="ant-design:check-outlined" @click="handleCheckExcel"
|
||||||
|
>模板校验</j-upload-button
|
||||||
|
>
|
||||||
<j-upload-button type="primary" v-auth="'bg.xispeak:bg_xi_speak:importExcel'" preIcon="ant-design:import-outlined" @click="handleImportByTemplate"
|
<j-upload-button type="primary" v-auth="'bg.xispeak:bg_xi_speak:importExcel'" preIcon="ant-design:import-outlined" @click="handleImportByTemplate"
|
||||||
>模板导入</j-upload-button
|
>模板导入</j-upload-button
|
||||||
>
|
>
|
||||||
@@ -123,6 +126,7 @@ import { defHttp } from '/@/utils/http/axios';
|
|||||||
getImportUrl,
|
getImportUrl,
|
||||||
getExportXlsHeadersUrl,
|
getExportXlsHeadersUrl,
|
||||||
getImportExcelByEasyExcelUrl,
|
getImportExcelByEasyExcelUrl,
|
||||||
|
getCheckExcelByEasyExcelUrl,
|
||||||
getChildList,
|
getChildList,
|
||||||
getChildListBatch,
|
getChildListBatch,
|
||||||
updateLaunchType,
|
updateLaunchType,
|
||||||
@@ -802,6 +806,25 @@ import { defHttp } from '/@/utils/http/axios';
|
|||||||
await defHttp.uploadFile({ url: getImportExcelByEasyExcelUrl }, { file: data.file }, { success: isReturn });
|
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() {
|
function clearQueryParams() {
|
||||||
Object.keys(queryParam.value).forEach((key) => {
|
Object.keys(queryParam.value).forEach((key) => {
|
||||||
delete queryParam.value[key];
|
delete queryParam.value[key];
|
||||||
|
|||||||
Reference in New Issue
Block a user