From 92034e64c9bb28c262b0fcb90660b58328aa2f5e Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期四, 23 十月 2025 14:35:05 +0800
Subject: [PATCH] fix: bug
---
src/views/Home/components/UploadInsurePersonDialog.vue | 50 +++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 45 insertions(+), 5 deletions(-)
diff --git a/src/views/Home/components/UploadInsurePersonDialog.vue b/src/views/Home/components/UploadInsurePersonDialog.vue
index 6be682b..502a410 100644
--- a/src/views/Home/components/UploadInsurePersonDialog.vue
+++ b/src/views/Home/components/UploadInsurePersonDialog.vue
@@ -15,7 +15,7 @@
label="鎶曚繚浜у搧锛�"
prop="productIdNumber"
:check-rules="[{ message: '璇烽�夋嫨鎶曚繚浜у搧' }]"
- v-if="allUserInsureProductSettingList.length > 0"
+ v-if="form.isOnLineInsurance && allUserInsureProductSettingList.length > 0"
>
<ProFormSelect
placeholder="璇烽�夋嫨鎶曚繚浜у搧"
@@ -32,7 +32,7 @@
label="鎶曚繚浜у搧鏂规锛�"
prop="productSchemeIdNumber"
:check-rules="[{ message: '璇烽�夋嫨鎶曚繚浜у搧鏂规' }]"
- v-if="allUserInsureProductSettingList.length > 0"
+ v-if="form.isOnLineInsurance && allUserInsureProductSettingList.length > 0"
>
<ProFormSelect
placeholder="璇烽�夋嫨鎶曚繚浜у搧鏂规"
@@ -63,6 +63,22 @@
value-format="YYYY-MM-DD"
placeholder="璇烽�夋嫨璧蜂繚鏃ユ湡"
:disabled-date="disabledStartDate"
+ :disabled="isSupply"
+ @change="handleStartDateChange"
+ ></ProFormDatePicker>
+ </ProFormItemV2>
+ <ProFormItemV2
+ label="鎴鏃ユ湡:"
+ prop="effectEndTime"
+ :check-rules="[{ message: '璇烽�夋嫨鎴鏃ユ湡' }]"
+ v-if="currentInsureProductScheme?.period === InsurancePeriodEnum['1-29D']"
+ >
+ <ProFormDatePicker
+ v-model="form.effectEndTime"
+ type="date"
+ value-format="YYYY-MM-DD"
+ placeholder="璇烽�夋嫨鎴鏃ユ湡"
+ :disabled-date="disabledEndDate"
:disabled="isSupply"
></ProFormDatePicker>
</ProFormItemV2>
@@ -108,6 +124,7 @@
import dayjs from 'dayjs';
import { FormInstance } from 'element-plus';
import _ from 'lodash';
+import { InsurancePeriodEnum } from '@/constants';
defineOptions({
name: 'UploadInsurePersonDialog',
@@ -121,7 +138,11 @@
productIdNumber: string;
productSchemeIdNumber: string;
effectStartTime: string;
+ effectEndTime: string;
+ //鏄惁鏄嚎涓婃姇淇�
+ isOnLineInsurance: boolean;
};
+ //鏄惁鏄ˉ鎻�
isSupply?: boolean;
};
@@ -139,9 +160,14 @@
const { allUserInsureProductSettingList, getInsureProductIdByIdNumber } =
useUserInsureProductSetting();
-const { allInsureProductSchemeList } = useInsureProductSchemeAllList({
- insureProductId: computed(() => getInsureProductIdByIdNumber(props.form.productIdNumber)),
-});
+const { allInsureProductSchemeList, getInsureProductSchemeByIdNumber } =
+ useInsureProductSchemeAllList({
+ insureProductId: computed(() => getInsureProductIdByIdNumber(props.form.productIdNumber)),
+ });
+
+const currentInsureProductScheme = computed(() =>
+ getInsureProductSchemeByIdNumber(props.form.productSchemeIdNumber)
+);
function handleProductChange() {
innerForm.value.productSchemeIdNumber = '';
@@ -151,6 +177,20 @@
return dayjs(time).isBefore(dayjs()) || dayjs(time).isAfter(dayjs().add(60, 'day'));
};
+const disabledEndDate = (time: Date) => {
+ const startDate = dayjs(props.form.effectStartTime);
+ return (
+ dayjs(time).isBefore(startDate) ||
+ dayjs(time).isAfter(dayjs(props.form.effectStartTime).add(28, 'day'))
+ );
+};
+
+function handleStartDateChange() {
+ if (disabledEndDate(props.form.effectEndTime as any)) {
+ innerForm.value.effectEndTime = '';
+ }
+}
+
const innerVisible = computed({
get() {
return props.modelValue;
--
Gitblit v1.9.1