From f6748abe2ad85f0600f905f22f92f53e603b885d Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期一, 07 七月 2025 14:45:26 +0800 Subject: [PATCH] fix: 江佑保系统健壮性修复 --- src/views/Home/Home.vue | 92 +++++++++++++++++++++++++++++++-------------- 1 files changed, 63 insertions(+), 29 deletions(-) diff --git a/src/views/Home/Home.vue b/src/views/Home/Home.vue index 031a9e2..eb93ebe 100644 --- a/src/views/Home/Home.vue +++ b/src/views/Home/Home.vue @@ -27,7 +27,7 @@ <QueryFilterItem> <FieldRadio v-model="extraParamState.auditStatus" - :value-enum="InsurancePolicyAuditStatusEnumText" + :value-enum="InsurancePolicyAuditStatusEnumTextForFilter" buttonStyle showAllBtn @change="getList()" @@ -58,6 +58,7 @@ type="primary" style="margin-right: 10px" link + v-if="isSjbAccount" >鑱屼笟绫诲瀷瀵圭収琛�</el-button > <el-button @click="handleDownload()" type="primary" style="margin-right: 10px" link @@ -111,7 +112,7 @@ </AppContainer> <UploadInsurePersonDialog v-bind="dialogProps" /> <UploadStampFileDialog v-bind="dialogStampFileProps" /> - <InsureInstructionsDialog v-bind="dialogInstructionsProps" @onConfirm="handleUpload" /> + <InsureInstructionsDialog v-bind="dialogInstructionsProps" /> </LoadingLayout> </template> @@ -153,6 +154,7 @@ InsurancePolicyStatusEnum, AppType, InsurancePolicyAuditStatusEnumText, + InsurancePolicyAuditStatusEnumTextForFilter, InsurancePolicyAuditStatusEnum, InsurancePolicyProductIdNumberEnum, InsurancePolicyListPayStatusEnum, @@ -162,6 +164,7 @@ import dayjs from 'dayjs'; import _ from 'lodash'; import InsureInstructionsDialog from './components/InsureInstructionsDialog.vue'; +import { useUserInsureProductSetting } from '@/hooks'; // import { Recorder } from '@/utils/record'; defineOptions({ @@ -364,9 +367,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) { @@ -374,8 +377,12 @@ } else if (res === InsurancePolicyStatusEnum.OutTimeEffect) { await Message.tipMessage('璇ユ壒娆′繚鍗曞凡澶辨晥锛岃淇敼鎵规鍙峰悗閲嶆柊瀵煎叆'); } else if (res === InsurancePolicyStatusEnum.WaitEffect) { - await Message.tipMessage('瀛樺湪鐩稿悓鐨勬壒娆″彿锛屾槸鍚﹁鐩栵紵'); - importInsStaffToList(); + if (isSjbAccount.value) { + await Message.tipMessage('瀛樺湪鐩稿悓鐨勬壒娆″彿锛岃淇敼鎵规鍙峰悗閲嶆柊瀵煎叆'); + } else { + await Message.tipMessage('瀛樺湪鐩稿悓鐨勬壒娆″彿锛屾槸鍚﹁鐩栵紵'); + importInsStaffToList(); + } } else { importInsStaffToList(); } @@ -384,43 +391,70 @@ 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) { + // await Message.tipMessage('瀛樺湪閿欒鏁版嵁锛屾槸鍚﹀鍑猴紵'); + try { + 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, + } + ); + } + } catch (error) {} + dialogState.dialogVisible = false; + getList(paginationState.pageIndex); } - dialogState.dialogVisible = false; - getList(paginationState.pageIndex); } catch (error) {} } -const { dialogProps: dialogInstructionsProps, dialogState: dialogInstructionsState } = useDialog(); +const { dialogProps: dialogInstructionsProps, dialogState: dialogInstructionsState } = useDialog({ + onConfirm: handleUpload, +}); + +const { isSjbAccount } = useUserInsureProductSetting(); function handleOpenInstructions() { - dialogInstructionsState.dialogVisible = true; + if (isSjbAccount.value) { + dialogInstructionsState.dialogVisible = true; + } else { + handleUpload(); + } } -function handleUpload() { +async function handleUpload() { handleAdd({ serialNum: `${dayjs().format('YYYYMMDD')}${_.random(0, 9999).toString().padStart(4, '0')}`, url: [] as UploadUserFile[], -- Gitblit v1.9.1