From babd7a49ba48c83334bbe9a4c992d784e062f6e3 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期五, 04 七月 2025 14:33:47 +0800
Subject: [PATCH] fix: 江佑保系统健壮性修复

---
 src/views/Home/components/InsureOrderInfoView.vue |   74 +++++++++++++++++++++++++++++-------
 1 files changed, 59 insertions(+), 15 deletions(-)

diff --git a/src/views/Home/components/InsureOrderInfoView.vue b/src/views/Home/components/InsureOrderInfoView.vue
index 8772799..4c31188 100644
--- a/src/views/Home/components/InsureOrderInfoView.vue
+++ b/src/views/Home/components/InsureOrderInfoView.vue
@@ -94,8 +94,26 @@
             </QueryFilterItem>
           </template>
           <template #btn>
-            <template v-if="detail.status === InsurancePolicyStatusEnum.WaitEffect">
-              <template v-if="!detail.productOnline">
+            <template v-if="detail.productOnline">
+              <el-button
+                v-if="detail.auditStatus === InsurancePolicyAuditStatusEnum.Pass"
+                @click="handleSupplySubmit()"
+                type="primary"
+                >琛ユ彁</el-button
+              >
+              <template v-if="detail.status !== InsurancePolicyStatusEnum.WaitEffect">
+                <el-button @click="handleExport(InsuranceDetailStatusEnum.Effecting)" type="primary"
+                  >瀵煎嚭鍦ㄤ繚浜哄憳</el-button
+                >
+                <el-button @click="handleExport(InsuranceDetailStatusEnum.Fail)" type="primary"
+                  >瀵煎嚭閿欒浜哄憳</el-button
+                >
+                <el-button @click="handleGoStampFiles(id)" type="primary">涓嬭浇淇濆崟</el-button>
+                <el-button @click="handleGoDownloadInvoice(id)" type="primary">涓嬭浇鍙戠エ</el-button>
+              </template>
+            </template>
+            <template v-else>
+              <template v-if="detail.status === InsurancePolicyStatusEnum.WaitEffect">
                 <el-button @click="handleTemplateDownload()" link type="primary"
                   >妯℃澘涓嬭浇</el-button
                 >
@@ -113,18 +131,6 @@
                   </template>
                 </BlFileUpload>
                 <el-button @click="handleClear()" type="primary">娓呯┖鏁版嵁</el-button>
-              </template>
-            </template>
-            <template v-else>
-              <template v-if="detail.productOnline">
-                <el-button @click="handleExport(InsuranceDetailStatusEnum.Effecting)" type="primary"
-                  >瀵煎嚭鍦ㄤ繚浜哄憳</el-button
-                >
-                <el-button @click="handleExport(InsuranceDetailStatusEnum.Fail)" type="primary"
-                  >瀵煎嚭閿欒浜哄憳</el-button
-                >
-                <el-button @click="handleGoStampFiles(id)" type="primary">涓嬭浇淇濆崟</el-button>
-                <el-button @click="handleGoDownloadInvoice(id)" type="primary">涓嬭浇鍙戠エ</el-button>
               </template>
               <template v-else>
                 <el-button @click="handleExport(null)" type="primary">涓嬭浇浜哄憳娓呭崟</el-button>
@@ -145,6 +151,7 @@
       </ChunkCell>
       <ChangePersonInfoDialog v-bind="dialogProps"></ChangePersonInfoDialog>
       <InsureClaimDetailDialog v-bind="dialogInsureClaimProps"></InsureClaimDetailDialog>
+      <UploadInsurePersonDialog v-bind="dialogSupplyProps" isSupply />
     </AppContainer>
   </LoadingLayout>
 </template>
@@ -190,7 +197,12 @@
 import { downloadFile, downloadFileByUrl, Message, OrderInputType } from '@bole-core/core';
 import { setOSSLink } from '@/utils';
 import dayjs from 'dayjs';
-import { useInsureActions } from '@/hooks';
+import {
+  useInsureActions,
+  useInsureProductSchemeAllList,
+  useUserInsureProductSetting,
+} from '@/hooks';
+import UploadInsurePersonDialog from './UploadInsurePersonDialog.vue';
 
 defineOptions({
   name: 'InsureOrderInfoView',
@@ -548,6 +560,38 @@
     }
   } catch (error) {}
 }
+
+const { getInsureProductIdByIdNumber } = useUserInsureProductSetting();
+const { getInsureProductSchemeByCode } = useInsureProductSchemeAllList({
+  insureProductId: computed(() => getInsureProductIdByIdNumber(detail.value.productIdNumber)),
+});
+
+function handleSupplySubmit() {
+  handleSupplyAdd({
+    serialNum: detail.value.serialNum,
+    productIdNumber: detail.value.productIdNumber,
+    productSchemeIdNumber: getInsureProductSchemeByCode(detail.value.productSchemeCode)?.idNumber,
+    effectStartTime: dayjs().add(1, 'day').format('YYYY-MM-DD'),
+  });
+}
+
+const {
+  dialogProps: dialogSupplyProps,
+  handleAdd: handleSupplyAdd,
+  editForm: supplyForm,
+} = useFormDialog({
+  onConfirm: supplySubmit,
+  defaultFormParams: {
+    serialNum: '',
+    url: [] as UploadUserFile[],
+    productIdNumber: '',
+    productSchemeIdNumber: '',
+    effectStartTime: dayjs().add(1, 'day').format('YYYY-MM-DD'),
+  },
+});
+
+// TODO 琛ユ彁
+async function supplySubmit() {}
 </script>
 
 <style lang="scss" scoped>

--
Gitblit v1.9.1