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 | 50 +++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 47 insertions(+), 3 deletions(-)
diff --git a/src/views/Home/components/UploadInsurePersonDialog.vue b/src/views/Home/components/UploadInsurePersonDialog.vue
index 168ac0b..9640f65 100644
--- a/src/views/Home/components/UploadInsurePersonDialog.vue
+++ b/src/views/Home/components/UploadInsurePersonDialog.vue
@@ -25,6 +25,7 @@
enum-label-key="productName"
enum-value-key="productIdNumber"
@change="handleProductChange"
+ :disabled="isSupply"
></ProFormSelect>
</ProFormItemV2>
<ProFormItemV2
@@ -40,6 +41,7 @@
v-model="form.productSchemeIdNumber"
enum-label-key="name"
enum-value-key="idNumber"
+ :disabled="isSupply"
></ProFormSelect>
</ProFormItemV2>
<ProFormItemV2 label="鎵规鍙凤細" prop="serialNum" :check-rules="[{ message: '璇疯緭鍏ユ壒娆″彿' }]">
@@ -47,6 +49,7 @@
placeholder="璇疯緭鍏ユ壒娆″彿"
v-model.trim="innerForm.serialNum"
:maxlength="30"
+ :disabled="isSupply"
></ProFormText>
</ProFormItemV2>
<ProFormItemV2
@@ -60,6 +63,23 @@
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>
<ProFormItemV2
@@ -104,6 +124,7 @@
import dayjs from 'dayjs';
import { FormInstance } from 'element-plus';
import _ from 'lodash';
+import { InsurancePeriodEnum } from '@/constants';
defineOptions({
name: 'UploadInsurePersonDialog',
@@ -117,11 +138,15 @@
productIdNumber: string;
productSchemeIdNumber: string;
effectStartTime: string;
+ effectEndTime: string;
};
+ //鏄惁鏄ˉ鎻�
+ isSupply?: boolean;
};
const props = withDefaults(defineProps<Props>(), {
modelValue: false,
+ isSupply: false,
});
const emit = defineEmits<{
@@ -133,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 = '';
@@ -145,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