From fc78e30665636cdf945da9bdc3139388d8bb4980 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期二, 29 七月 2025 17:41:36 +0800 Subject: [PATCH] fix: 新增生煎保(短期方案) --- src/views/Home/components/UploadInsurePersonDialog.vue | 43 ++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 40 insertions(+), 3 deletions(-) diff --git a/src/views/Home/components/UploadInsurePersonDialog.vue b/src/views/Home/components/UploadInsurePersonDialog.vue index 0bc713f..9640f65 100644 --- a/src/views/Home/components/UploadInsurePersonDialog.vue +++ b/src/views/Home/components/UploadInsurePersonDialog.vue @@ -64,6 +64,22 @@ 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> <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,6 +138,7 @@ productIdNumber: string; productSchemeIdNumber: string; effectStartTime: string; + effectEndTime: string; }; //鏄惁鏄ˉ鎻� isSupply?: boolean; @@ -140,9 +158,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 = ''; @@ -152,6 +175,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