From cb17e94ad8c0756803888014852b3a126aa8210a Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期二, 01 七月 2025 17:31:02 +0800
Subject: [PATCH] fix: 江佑保系统健壮性修复

---
 src/views/Home/components/UploadInsurePersonDialog.vue |   20 ++++++++++
 src/views/Home/components/UploadStampFileDialog.vue    |    6 +-
 src/views/Home/components/InsureOrderInfoView.vue      |   19 +++++++++
 src/views/Home/Home.vue                                |   19 +++++++--
 4 files changed, 56 insertions(+), 8 deletions(-)

diff --git a/src/views/Home/Home.vue b/src/views/Home/Home.vue
index 3bc4ade..031a9e2 100644
--- a/src/views/Home/Home.vue
+++ b/src/views/Home/Home.vue
@@ -63,7 +63,7 @@
           <el-button @click="handleDownload()" type="primary" style="margin-right: 10px" link
             >妯℃澘涓嬭浇</el-button
           >
-          <el-button @click="handleUpload()" type="primary" style="margin-right: 10px"
+          <el-button @click="handleOpenInstructions()" type="primary" style="margin-right: 10px"
             >瀵煎叆鎶曚繚浜哄憳</el-button
           >
           <!-- <el-button
@@ -111,7 +111,7 @@
     </AppContainer>
     <UploadInsurePersonDialog v-bind="dialogProps" />
     <UploadStampFileDialog v-bind="dialogStampFileProps" />
-    <InsureInstructionsDialog v-bind="dialogInstructionsProps" />
+    <InsureInstructionsDialog v-bind="dialogInstructionsProps" @onConfirm="handleUpload" />
   </LoadingLayout>
 </template>
 
@@ -137,7 +137,14 @@
 import { columns } from './constants';
 import UploadInsurePersonDialog from './components/UploadInsurePersonDialog.vue';
 import UploadStampFileDialog from './components/UploadStampFileDialog.vue';
-import { format, downloadFile, setOSSLink, toThousand, convertApi2FormUrl } from '@/utils';
+import {
+  format,
+  downloadFile,
+  setOSSLink,
+  toThousand,
+  convertApi2FormUrl,
+  convertFormUrl2Api,
+} from '@/utils';
 import { ModelValueType } from 'element-plus';
 import {
   InsuranceOrderTempPath,
@@ -268,7 +275,7 @@
 onMounted(async () => {
   await getList();
   state.loading = false;
-  handleOpenInstructions();
+  // handleOpenInstructions();
 
   // setTimeout(() => {
   //   // recorder.value.init();
@@ -350,6 +357,7 @@
     url: [] as UploadUserFile[],
     productIdNumber: '',
     productSchemeIdNumber: '',
+    effectStartTime: dayjs().add(1, 'day').format('YYYY-MM-DD'),
   },
   closeAfterConfirm: false,
 });
@@ -381,6 +389,7 @@
       url: editForm.url?.[0]?.path,
       productIdNumber: editForm.productIdNumber,
       productSchemeIdNumber: editForm.productSchemeIdNumber,
+      effectStartTime: editForm.effectStartTime,
     };
     let res = await insuranceOrderServices.importInsStaffToList(params);
     if (res.length > 0) {
@@ -499,7 +508,7 @@
   try {
     let params: API.UploadInsuranceStampFilesInput = {
       insurancePolicyId: stampFileForm.id,
-      listFiles: stampFileForm.url?.map((x) => x.path) ?? [],
+      listFiles: convertFormUrl2Api(stampFileForm.url),
     };
     let res = await insuranceOrderServices.uploadInsuranceStampFiles(params);
     if (res) {
diff --git a/src/views/Home/components/InsureOrderInfoView.vue b/src/views/Home/components/InsureOrderInfoView.vue
index 4aef872..f95d235 100644
--- a/src/views/Home/components/InsureOrderInfoView.vue
+++ b/src/views/Home/components/InsureOrderInfoView.vue
@@ -106,6 +106,7 @@
                   <el-button icon="Plus" type="primary">瀵煎叆</el-button>
                 </template>
               </BlFileUpload>
+              <el-button @click="handleClear()" type="primary">瀵煎嚭鎶曚繚閿欒浜哄憳娓呭崟</el-button>
               <el-button @click="handleClear()" type="primary">娓呯┖鏁版嵁</el-button>
             </template>
             <template v-else>
@@ -247,6 +248,24 @@
     width: 140,
   },
   {
+    id: '101',
+    enCode: 'serialNum',
+    name: '鎵规鍙�',
+    width: 140,
+  },
+  {
+    id: '102',
+    enCode: 'status',
+    name: '鎶曚繚鐘舵��',
+    width: 140,
+  },
+  {
+    id: '103',
+    enCode: 'remark',
+    name: '澶囨敞',
+    width: 140,
+  },
+  {
     id: '11',
     enCode: 'claimCount',
     name: '鐞嗚禂',
diff --git a/src/views/Home/components/UploadInsurePersonDialog.vue b/src/views/Home/components/UploadInsurePersonDialog.vue
index 2222d09..168ac0b 100644
--- a/src/views/Home/components/UploadInsurePersonDialog.vue
+++ b/src/views/Home/components/UploadInsurePersonDialog.vue
@@ -50,6 +50,19 @@
         ></ProFormText>
       </ProFormItemV2>
       <ProFormItemV2
+        label="璧蜂繚鏃ユ湡:"
+        prop="effectStartTime"
+        :check-rules="[{ message: '璇烽�夋嫨璧蜂繚鏃ユ湡' }]"
+      >
+        <ProFormDatePicker
+          v-model="form.effectStartTime"
+          type="date"
+          value-format="YYYY-MM-DD"
+          placeholder="璇烽�夋嫨璧蜂繚鏃ユ湡"
+          :disabled-date="disabledStartDate"
+        ></ProFormDatePicker>
+      </ProFormItemV2>
+      <ProFormItemV2
         label="涓婁紶鏂囦欢锛�"
         prop="url"
         :check-rules="[{ message: '璇蜂笂浼犳枃浠�', type: 'upload' }]"
@@ -86,7 +99,9 @@
   ProFormText,
   ProFormUpload,
   ProFormSelect,
+  ProFormDatePicker,
 } from '@bole-core/components';
+import dayjs from 'dayjs';
 import { FormInstance } from 'element-plus';
 import _ from 'lodash';
 
@@ -101,6 +116,7 @@
     url: UploadUserFile[];
     productIdNumber: string;
     productSchemeIdNumber: string;
+    effectStartTime: string;
   };
 };
 
@@ -125,6 +141,10 @@
   innerForm.value.productSchemeIdNumber = '';
 }
 
+const disabledStartDate = (time: Date) => {
+  return dayjs(time).isBefore(dayjs()) || dayjs(time).isAfter(dayjs().add(60, 'day'));
+};
+
 const innerVisible = computed({
   get() {
     return props.modelValue;
diff --git a/src/views/Home/components/UploadStampFileDialog.vue b/src/views/Home/components/UploadStampFileDialog.vue
index 2ce37f7..8ab4048 100644
--- a/src/views/Home/components/UploadStampFileDialog.vue
+++ b/src/views/Home/components/UploadStampFileDialog.vue
@@ -14,12 +14,12 @@
         prop="url"
         :check-rules="[{ message: '璇蜂笂浼犳枃浠�', type: 'upload' }]"
       >
-        <ProFormUpload v-model:file-url="innerForm.url" accept="pdf,jpg/jpeg,png">
-          <template #tip>
+        <ProFormUpload v-model:file-url="innerForm.url" multiple>
+          <!-- <template #tip>
             <div>
               <el-text type="danger">鏀寔pdf銆乯pg銆乯epg銆乸ng鍥剧墖</el-text>
             </div>
-          </template>
+          </template> -->
         </ProFormUpload>
       </ProFormItemV2>
     </ProForm>

--
Gitblit v1.9.1