From 0e17f64206e28be39b0ee9db9ec659d7fe00fdbb Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期四, 03 七月 2025 18:21:36 +0800
Subject: [PATCH] fix: 江佑保系统健壮性修复

---
 src/views/Home/Home.vue |   71 +++++++++++++++++++++++------------
 1 files changed, 46 insertions(+), 25 deletions(-)

diff --git a/src/views/Home/Home.vue b/src/views/Home/Home.vue
index 031a9e2..f6c7188 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,64 @@
 
 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,
+});
 
 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