From c55c548308e6a1adef6670f8acf1ee5f57e77da6 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期六, 28 六月 2025 15:46:25 +0800
Subject: [PATCH] feat: v2.2

---
 src/views/Home/Home.vue |   87 ++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 81 insertions(+), 6 deletions(-)

diff --git a/src/views/Home/Home.vue b/src/views/Home/Home.vue
index 58aa3cf..81a68ce 100644
--- a/src/views/Home/Home.vue
+++ b/src/views/Home/Home.vue
@@ -88,14 +88,15 @@
             effect="dark"
             :content="row.auditRemark"
             placement="top-start"
-            v-if="row.auditStatus === InsurancePolicyAuditStatusEnum.Reject"
+            v-if="row.auditStatus === InsurancePolicyAuditStatusEnum.Reject && row.auditRemark"
+            popper-class="max-width-popper"
           >
-            <div style="display: inline-flex; align-items: center">
+            <div style="display: inline-flex; align-items: center; color: inherit">
               {{ InsurancePolicyAuditStatusEnumText[row.auditStatus] }}
               <el-icon size="16" color="#3a71ff"><QuestionFilled /></el-icon>
             </div>
           </el-tooltip>
-          <el-text v-else>
+          <el-text v-else style="color: inherit">
             {{ InsurancePolicyAuditStatusEnumText[row.auditStatus] }}
           </el-text>
         </template>
@@ -137,6 +138,9 @@
   AppType,
   InsurancePolicyAuditStatusEnumText,
   InsurancePolicyAuditStatusEnum,
+  InsurancePolicyProductIdNumberEnum,
+  InsurancePolicyListPayStatusEnum,
+  InsurancePolicyListPayStatusEnumText,
 } from '@/constants';
 import dayjs from 'dayjs';
 import _ from 'lodash';
@@ -164,7 +168,8 @@
       onClick: (role) => handleBatch(role),
     },
     extraProps: {
-      hide: (row: API.GetInsurancePageOutput) => row.status !== InsurancePolicyStatusEnum.Effecting,
+      hide: (row: API.GetInsurancePageOutput) =>
+        row.productOnline || row.status !== InsurancePolicyStatusEnum.Effecting,
     },
   },
   {
@@ -177,6 +182,7 @@
     },
     extraProps: {
       hide: (row: API.GetInsurancePageOutput) =>
+        row.auditStatus !== InsurancePolicyAuditStatusEnum.Pass ||
         row.status !== InsurancePolicyStatusEnum.WaitEffect,
     },
   },
@@ -189,10 +195,47 @@
       onClick: (role) => handleDownloadInsureFile(role),
     },
     extraProps: {
-      hide: (row: API.GetInsurancePageOutput) =>
-        row.status === InsurancePolicyStatusEnum.WaitEffect,
+      hide: (row: API.GetInsurancePageOutput) => row.productOnline || !row.insureBillUrl,
     },
   },
+  {
+    data: {
+      enCode: 'payBtn',
+      name: '鏀粯',
+    },
+    emits: {
+      onClick: (role) => handlePay(role),
+    },
+    extraProps: {
+      hide: (row: API.GetInsurancePageOutput) =>
+        row.payStatus != InsurancePolicyListPayStatusEnum.WaitPay,
+    },
+  },
+  {
+    data: {
+      enCode: 'stampFilesBtn',
+      name: '淇濆崟涓嬭浇',
+    },
+    emits: {
+      onClick: (role) => handleGoStampFiles(role),
+    },
+    extraProps: {
+      hide: (row: API.GetInsurancePageOutput) => !(row.productOnline && row.anyPayComplete),
+    },
+  },
+  {
+    data: {
+      enCode: 'downloadInvoiceBtn',
+      name: '鍙戠エ涓嬭浇',
+    },
+    emits: {
+      onClick: (role) => handleGoDownloadInvoice(role),
+    },
+    extraProps: {
+      hide: (row: API.GetInsurancePageOutput) => !(row.productOnline && row.anyPayComplete),
+    },
+  },
+
   // {
   //   data: {
   //     enCode: 'standarEndoBtn',
@@ -256,6 +299,7 @@
         formatter: (row: API.GetInsurancePageOutput) =>
           row.amount == null ? '' : toThousand(row.amount),
       },
+      payStatus: { type: 'enum', valueEnum: InsurancePolicyListPayStatusEnumText },
     },
   }
 );
@@ -283,6 +327,7 @@
     serialNum: '',
     url: [] as UploadUserFile[],
     productIdNumber: '',
+    productSchemeIdNumber: '',
   },
   closeAfterConfirm: false,
 });
@@ -313,6 +358,7 @@
       serialNum: editForm.serialNum,
       url: editForm.url?.[0]?.path,
       productIdNumber: editForm.productIdNumber,
+      productSchemeIdNumber: editForm.productSchemeIdNumber,
     };
     let res = await insuranceOrderServices.importInsStaffToList(params);
     if (res.length > 0) {
@@ -483,4 +529,33 @@
     // }
   } catch (error) {}
 }
+
+async function handleGoStampFiles(row: API.GetInsurancePageOutput) {
+  try {
+    router.push({
+      name: 'InsurancePolicyStampFiles',
+      params: {
+        id: row.id,
+      },
+    });
+  } catch (error) {}
+}
+
+function handlePay(row: API.GetInsurancePageOutput) {
+  router.push({
+    name: 'InsurePayDetail',
+    params: {
+      id: row.id,
+    },
+  });
+}
+
+function handleGoDownloadInvoice(row: API.GetInsurancePageOutput) {
+  router.push({
+    name: 'InsureDownloadInvoice',
+    params: {
+      id: row.id,
+    },
+  });
+}
 </script>

--
Gitblit v1.9.1