From b7d0f181a047a0a744d7a845e906b1f856e424b2 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期二, 01 七月 2025 16:02:53 +0800
Subject: [PATCH] release: v2.2.0

---
 src/views/Home/components/InsureOrderInfoView.vue |  109 +++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 86 insertions(+), 23 deletions(-)

diff --git a/src/views/Home/components/InsureOrderInfoView.vue b/src/views/Home/components/InsureOrderInfoView.vue
index 0d80311..4aef872 100644
--- a/src/views/Home/components/InsureOrderInfoView.vue
+++ b/src/views/Home/components/InsureOrderInfoView.vue
@@ -1,12 +1,21 @@
 <template>
   <LoadingLayout :loading="state.loading">
-    <AppScrollContainer>
+    <AppContainer>
       <ChunkCell title="">
         <ProForm :model="detail" ref="formRef" label-width="120px" :is-read="true">
           <ProFormCol>
             <ProFormColItem :span="8">
               <ProFormItemV2 label="淇濆崟鍙�:" prop="insureBillNo">
-                <ProFormText v-model.trim="detail.insureBillNo" />
+                <div class="pro-from-item-read-content-wrapper" v-if="!!detail.insureBillNo">
+                  {{ detail.insureBillNo }}
+                  <el-button
+                    type="primary"
+                    link
+                    @click="handleGoStampFiles"
+                    v-if="detail.productOnline && detail.anyPayComplete"
+                    >璇︽儏</el-button
+                  >
+                </div>
               </ProFormItemV2>
             </ProFormColItem>
             <ProFormColItem :span="8">
@@ -65,7 +74,7 @@
           </ProFormCol>
         </ProForm>
       </ChunkCell>
-      <ChunkCell title="浜哄憳淇℃伅">
+      <ChunkCell title="浜哄憳淇℃伅" class="full-table-chunk">
         <template #titleRight v-if="detail.status !== InsurancePolicyStatusEnum.WaitEffect">
           <el-button type="primary" @click="handleBatchChange">鎵规敼鐢宠</el-button>
         </template>
@@ -85,6 +94,7 @@
             <template v-if="detail.status === InsurancePolicyStatusEnum.WaitEffect">
               <el-button @click="handleTemplateDownload()" link type="primary">妯℃澘涓嬭浇</el-button>
               <BlFileUpload
+                v-if="detail.auditStatus !== InsurancePolicyAuditStatusEnum.Pass"
                 :limitFileSize="10"
                 accept="xls,xlsx"
                 :showTip="false"
@@ -100,25 +110,28 @@
             </template>
             <template v-else>
               <el-button @click="handleDownloadPerson()" type="primary">涓嬭浇浜哄憳娓呭崟</el-button>
-              <el-button @click="handleDownloadOrder()" type="primary">涓嬭浇淇濆崟</el-button>
+              <template v-if="detail.productOnline">
+                <el-button v-if="detail.anyPayComplete" @click="handleGoStampFiles()" type="primary"
+                  >涓嬭浇淇濆崟</el-button
+                >
+              </template>
+              <el-button v-else @click="handleDownloadOrder()" type="primary">涓嬭浇淇濆崟</el-button>
             </template>
           </template>
         </ProTableQueryFilterBar>
-        <ProTableV2
-          v-bind="proTableProps"
-          :columns="column"
-          :operationBtns="operationBtns"
-          :auto-height="false"
-          ref="proTable"
-          :tableProps="{
-            maxHeight: '400px',
-          }"
-        >
-        </ProTableV2>
+        <div class="full-table-chunk-table">
+          <ProTableV2
+            v-bind="proTableProps"
+            :columns="column"
+            :operationBtns="operationBtns"
+            ref="proTable"
+          >
+          </ProTableV2>
+        </div>
       </ChunkCell>
       <ChangePersonInfoDialog v-bind="dialogProps"></ChangePersonInfoDialog>
       <InsureClaimDetailDialog v-bind="dialogInsureClaimProps"></InsureClaimDetailDialog>
-    </AppScrollContainer>
+    </AppContainer>
   </LoadingLayout>
 </template>
 
@@ -151,6 +164,7 @@
   insuranceTypeText,
   InsurancePolicyStatusEnum,
   InsurancePolicyStatusEnumText,
+  InsurancePolicyAuditStatusEnum,
 } from '@/constants';
 import ChangePersonInfoDialog from './ChangePersonInfoDialog.vue';
 import InsureClaimDetailDialog from './InsureClaimDetailDialog.vue';
@@ -159,6 +173,7 @@
 import { useQuery, useQueryClient } from '@tanstack/vue-query';
 import { downloadFile, downloadFileByUrl, Message, OrderInputType } from '@bole-core/core';
 import { setOSSLink } from '@/utils';
+import dayjs from 'dayjs';
 
 defineOptions({
   name: 'InsureOrderInfoView',
@@ -192,6 +207,16 @@
     id: '5',
     enCode: 'jobName',
     name: '闆囧憳宸ョ',
+  },
+  {
+    id: '51',
+    enCode: 'occupationType',
+    name: '鑱屼笟绫诲瀷',
+  },
+  {
+    id: '52',
+    enCode: 'occupationCode',
+    name: '鑱屼笟鐮佸��',
   },
   {
     id: '6',
@@ -240,7 +265,8 @@
     },
     extraProps: {
       hide: (row: API.GetInsuranceStaffPageTemplate) =>
-        detail.value?.status !== InsurancePolicyStatusEnum.WaitEffect,
+        detail.value?.status !== InsurancePolicyStatusEnum.WaitEffect ||
+        detail.value?.auditStatus === InsurancePolicyAuditStatusEnum.Pass,
     },
   },
   {
@@ -365,13 +391,11 @@
           note: '澶囨敞',
         },
       });
-    } else {
-      await Message.tipMessage('鏄惁瑕嗙洊褰撳墠浜哄憳娓呭崟淇℃伅?');
-      queryClient.invalidateQueries({
-        queryKey: ['insuranceOrderServices/getInsuranceStaffList'],
-      });
-      getInsuranceStaffList();
     }
+    queryClient.invalidateQueries({
+      queryKey: ['insuranceOrderServices/getInsuranceStaffList'],
+    });
+    getInsuranceStaffList();
   } catch (error) {}
 }
 
@@ -397,7 +421,23 @@
   downloadFileByUrl(setOSSLink(detail.value?.insureBillUrl));
 }
 
+function handleGoStampFiles() {
+  router.push({
+    name: 'InsurancePolicyStampFiles',
+    params: {
+      id: id,
+    },
+  });
+}
+
 function handleBatchChange() {
+  if (
+    dayjs(detail.value?.effectEndTime).isBefore(dayjs()) ||
+    dayjs(detail.value?.effectEndTime).isSame(dayjs(), 'day')
+  ) {
+    Message.errorMessage('淇濋櫓浠婂ぉ鍒版湡锛屾棤娉曟壒鏀�');
+    return;
+  }
   router.push({
     name: 'BatchChange',
     params: {
@@ -477,4 +517,27 @@
 
 <style lang="scss" scoped>
 @use '@/style/common.scss' as *;
+
+.full-table-chunk {
+  display: flex;
+  min-height: 0;
+  flex: 1;
+  flex-direction: column;
+
+  :deep() {
+    .chunk-cell-content {
+      display: flex;
+      flex-direction: column;
+      flex: 1;
+      min-height: 0;
+    }
+  }
+
+  .full-table-chunk-table {
+    display: flex;
+    flex-direction: column;
+    flex: 1;
+    min-height: 0;
+  }
+}
 </style>

--
Gitblit v1.9.1