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/components/UploadInsurePersonDialog.vue |   37 +++++++++++++++++++++++++++++++------
 1 files changed, 31 insertions(+), 6 deletions(-)

diff --git a/src/views/Home/components/UploadInsurePersonDialog.vue b/src/views/Home/components/UploadInsurePersonDialog.vue
index 5b421ed..2222d09 100644
--- a/src/views/Home/components/UploadInsurePersonDialog.vue
+++ b/src/views/Home/components/UploadInsurePersonDialog.vue
@@ -10,19 +10,36 @@
     @close="onDialogClose"
     width="600px"
   >
-    <ProForm :model="innerForm" ref="dialogForm" label-width="100px">
+    <ProForm :model="innerForm" ref="dialogForm" label-width="120px">
       <ProFormItemV2
         label="鎶曚繚浜у搧锛�"
         prop="productIdNumber"
         :check-rules="[{ message: '璇烽�夋嫨鎶曚繚浜у搧' }]"
+        v-if="allUserInsureProductSettingList.length > 0"
       >
         <ProFormSelect
           placeholder="璇烽�夋嫨鎶曚繚浜у搧"
-          :value-enum="allInsureProductSettingList"
+          :value-enum="allUserInsureProductSettingList"
           clearable
           v-model="form.productIdNumber"
-          enum-label-key="insuranceScheme"
+          enum-label-key="productName"
           enum-value-key="productIdNumber"
+          @change="handleProductChange"
+        ></ProFormSelect>
+      </ProFormItemV2>
+      <ProFormItemV2
+        label="鎶曚繚浜у搧鏂规锛�"
+        prop="productSchemeIdNumber"
+        :check-rules="[{ message: '璇烽�夋嫨鎶曚繚浜у搧鏂规' }]"
+        v-if="allUserInsureProductSettingList.length > 0"
+      >
+        <ProFormSelect
+          placeholder="璇烽�夋嫨鎶曚繚浜у搧鏂规"
+          :value-enum="allInsureProductSchemeList"
+          clearable
+          v-model="form.productSchemeIdNumber"
+          enum-label-key="name"
+          enum-value-key="idNumber"
         ></ProFormSelect>
       </ProFormItemV2>
       <ProFormItemV2 label="鎵规鍙凤細" prop="serialNum" :check-rules="[{ message: '璇疯緭鍏ユ壒娆″彿' }]">
@@ -60,7 +77,7 @@
 </template>
 
 <script setup lang="ts">
-import { useInsureProductSettingAllList } from '@/hooks';
+import { useUserInsureProductSetting, useInsureProductSchemeAllList } from '@/hooks';
 import {
   ProDialog,
   UploadUserFile,
@@ -83,6 +100,7 @@
     serialNum: string;
     url: UploadUserFile[];
     productIdNumber: string;
+    productSchemeIdNumber: string;
   };
 };
 
@@ -97,8 +115,15 @@
   (e: 'onCancel'): void;
 }>();
 
-// TODO 淇濋櫓浜у搧瑕佽窡褰撳墠鐢ㄦ埛鍏宠仈 杩欎釜鑾峰彇鏂瑰紡鍚庣画瑕佷慨鏀�
-const { allInsureProductSettingList } = useInsureProductSettingAllList();
+const { allUserInsureProductSettingList, getInsureProductIdByIdNumber } =
+  useUserInsureProductSetting();
+const { allInsureProductSchemeList } = useInsureProductSchemeAllList({
+  insureProductId: computed(() => getInsureProductIdByIdNumber(props.form.productIdNumber)),
+});
+
+function handleProductChange() {
+  innerForm.value.productSchemeIdNumber = '';
+}
 
 const innerVisible = computed({
   get() {

--
Gitblit v1.9.1