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 | 63 ++++++++++++++++++++++++++++--- 1 files changed, 57 insertions(+), 6 deletions(-) diff --git a/src/views/Home/components/UploadInsurePersonDialog.vue b/src/views/Home/components/UploadInsurePersonDialog.vue index ffba7d8..2222d09 100644 --- a/src/views/Home/components/UploadInsurePersonDialog.vue +++ b/src/views/Home/components/UploadInsurePersonDialog.vue @@ -3,19 +3,49 @@ title="涓婁紶鎶曚繚浜哄憳娓呭崟" v-model="innerVisible" destroy-on-close + :close-on-click-modal="false" + :close-on-press-escape="false" draggable bodyNoPaddingBottom @close="onDialogClose" + width="600px" > <ProForm :model="innerForm" ref="dialogForm" label-width="120px"> <ProFormItemV2 - label="鎵规鍙凤細" - prop="materialName" - :check-rules="[{ message: '璇疯緭鍏ユ壒娆″彿' }]" + label="鎶曚繚浜у搧锛�" + prop="productIdNumber" + :check-rules="[{ message: '璇烽�夋嫨鎶曚繚浜у搧' }]" + v-if="allUserInsureProductSettingList.length > 0" > + <ProFormSelect + placeholder="璇烽�夋嫨鎶曚繚浜у搧" + :value-enum="allUserInsureProductSettingList" + clearable + v-model="form.productIdNumber" + 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: '璇疯緭鍏ユ壒娆″彿' }]"> <ProFormText placeholder="璇疯緭鍏ユ壒娆″彿" - v-model.trim="innerForm.orderNo" + v-model.trim="innerForm.serialNum" :maxlength="30" ></ProFormText> </ProFormItemV2> @@ -29,7 +59,13 @@ :limit="1" :limitFileSize="10" accept="xlsx,xls" - ></ProFormUpload> + > + <template #tip> + <div> + <el-text type="danger">鏀寔excel鏂囦欢锛岃涓婁紶鍚屾壒娆$殑鎶曚繚浜哄憳娓呭崟</el-text> + </div> + </template> + </ProFormUpload> </ProFormItemV2> </ProForm> <template #footer> @@ -41,6 +77,7 @@ </template> <script setup lang="ts"> +import { useUserInsureProductSetting, useInsureProductSchemeAllList } from '@/hooks'; import { ProDialog, UploadUserFile, @@ -48,8 +85,10 @@ ProFormItemV2, ProFormText, ProFormUpload, + ProFormSelect, } from '@bole-core/components'; import { FormInstance } from 'element-plus'; +import _ from 'lodash'; defineOptions({ name: 'UploadInsurePersonDialog', @@ -58,8 +97,10 @@ type Props = { modelValue: boolean; form?: { - orderNo: string; + serialNum: string; url: UploadUserFile[]; + productIdNumber: string; + productSchemeIdNumber: string; }; }; @@ -74,6 +115,16 @@ (e: 'onCancel'): void; }>(); +const { allUserInsureProductSettingList, getInsureProductIdByIdNumber } = + useUserInsureProductSetting(); +const { allInsureProductSchemeList } = useInsureProductSchemeAllList({ + insureProductId: computed(() => getInsureProductIdByIdNumber(props.form.productIdNumber)), +}); + +function handleProductChange() { + innerForm.value.productSchemeIdNumber = ''; +} + const innerVisible = computed({ get() { return props.modelValue; -- Gitblit v1.9.1