From efb39fe52a9829815bb0b82fb5b920cd3b552c2f Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期二, 14 十月 2025 15:12:34 +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