From 98b88860d68494a81007a2a1737dfd37a4b70c99 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期三, 02 七月 2025 16:59:46 +0800 Subject: [PATCH] fix: 江佑保系统健壮性修复 --- src/views/Home/Home.vue | 69 ++++++++++++++++++++++------------ 1 files changed, 44 insertions(+), 25 deletions(-) diff --git a/src/views/Home/Home.vue b/src/views/Home/Home.vue index 031a9e2..ddd83ce 100644 --- a/src/views/Home/Home.vue +++ b/src/views/Home/Home.vue @@ -111,7 +111,7 @@ </AppContainer> <UploadInsurePersonDialog v-bind="dialogProps" /> <UploadStampFileDialog v-bind="dialogStampFileProps" /> - <InsureInstructionsDialog v-bind="dialogInstructionsProps" @onConfirm="handleUpload" /> + <InsureInstructionsDialog v-bind="dialogInstructionsProps" /> </LoadingLayout> </template> @@ -364,9 +364,9 @@ async function checkInrancesSerialNumStatus() { try { - let params: API.APIimportInsStaffToListParams = { + let params: API.APIcheckInrancesSerialNumStatusParams = { serialNum: editForm.serialNum, - url: editForm.url?.[0]?.path, + // url: editForm.url?.[0]?.path, }; let res = await insuranceOrderServices.checkInrancesSerialNumStatus(params); if (res === InsurancePolicyStatusEnum.Effecting) { @@ -384,43 +384,62 @@ async function importInsStaffToList() { try { - let params: API.APIimportInsStaffToListParams = { + let params: API.ImportInsStaffToListFrontInput = { serialNum: editForm.serialNum, url: editForm.url?.[0]?.path, productIdNumber: editForm.productIdNumber, productSchemeIdNumber: editForm.productSchemeIdNumber, effectStartTime: editForm.effectStartTime, }; - let res = await insuranceOrderServices.importInsStaffToList(params); - if (res.length > 0) { - await Message.tipMessage('瀛樺湪閿欒鏁版嵁锛屾槸鍚﹀鍑猴紵'); - XLSXUtils.exportToXLSX({ - workbookDataList: res, - fileName: '閿欒浜哄憳鍚嶅崟', - workbookHeaderMap: { - name: '闆囧憳濮撳悕', - sex: '鎬у埆', - certType: '璇佷欢绫诲瀷', - certNo: '璇佷欢鍙风爜', - jobName: '闆囧憳宸ョ', - useEmploer: '鐢ㄥ伐鍗曚綅', - address: '鐢ㄥ伐鍦扮偣', - note: '澶囨敞', - }, - }); + let res = await insuranceOrderServices.importInsStaffToList(params, { + timeout: 60 * 1000 * 10, + }); + if (res) { + dialogState.dialogVisible = false; + getList(paginationState.pageIndex); + // await Message.tipMessage('瀛樺湪閿欒鏁版嵁锛屾槸鍚﹀鍑猴紵'); + if (res.errorList.length > 0) { + await Message.tipMessage( + `鎬绘姇淇濅汉鏁�${res.importAllCount}浜猴紝鎶曚繚鎴愬姛${res.successCount}浜猴紝鎶曚繚澶辫触${res.errorList.length}浜烘槸鍚﹀鍑烘姇淇濆け璐ヤ汉鍛樻竻鍗曪紵`, + { + confirmButtonText: '瀵煎嚭', + } + ); + XLSXUtils.exportToXLSX({ + workbookDataList: res.errorList, + fileName: '閿欒浜哄憳鍚嶅崟', + workbookHeaderMap: { + name: '闆囧憳濮撳悕', + sex: '鎬у埆', + certType: '璇佷欢绫诲瀷', + certNo: '璇佷欢鍙风爜', + jobName: '闆囧憳宸ョ', + useEmploer: '鐢ㄥ伐鍗曚綅', + address: '鐢ㄥ伐鍦扮偣', + note: '澶囨敞', + }, + }); + } else { + await Message.tipMessage( + `鎬绘姇淇濅汉鏁�${res.importAllCount}浜猴紝鎶曚繚鎴愬姛${res.successCount}浜篳, + { + showCancelButton: false, + } + ); + } } - dialogState.dialogVisible = false; - getList(paginationState.pageIndex); } catch (error) {} } -const { dialogProps: dialogInstructionsProps, dialogState: dialogInstructionsState } = useDialog(); +const { dialogProps: dialogInstructionsProps, dialogState: dialogInstructionsState } = useDialog({ + onConfirm: handleUpload, +}); function handleOpenInstructions() { dialogInstructionsState.dialogVisible = true; } -function handleUpload() { +async function handleUpload() { handleAdd({ serialNum: `${dayjs().format('YYYYMMDD')}${_.random(0, 9999).toString().padStart(4, '0')}`, url: [] as UploadUserFile[], -- Gitblit v1.9.1