要求选择日月年时左边开始结束时间的格式分别为 :YYYY-MM-DD, YYYY-MM,YYYY
然后设置时间禁用范围。

element plus中el-date-picker的禁用属性改了。

<el-form
class="search-form"
:model="queryParams"
ref="queryRef"
:inline="true"
label-width="0"
>
<el-form-item label="" prop="startTime">
<el-date-picker
size="small"
v-model="queryParams.startTime"
:type="dataPickerType"
:format="dataPickerFormat"
:value-format="dataPickerFormat"
placeholder="开始"
style="width: 100px"
:disabled-date="disabledStartDate"
@change="handlePicker"
/>
</el-form-item>
<el-form-item label="" prop="endTime">
<el-date-picker
size="small"
v-model="queryParams.endTime"
:type="dataPickerType"
:format="dataPickerFormat"
:value-format="dataPickerFormat"
placeholder="结束"
style="width: 100px"
:disabled-date="disabledEndDate"
@change="handlePicker"
/>
</el-form-item>
<el-form-item label="" prop="dateType">
<el-radio-group
v-model="queryParams.dateType"
size="small"
@change="handleRadio"
>
<el-radio-button :value="0">日</el-radio-button>
<el-radio-button :value="1">月</el-radio-button>
<el-radio-button :value="2">年</el-radio-button>
</el-radio-group>
</el-form-item>
</el-form>
const dataPickerType = computed(() => {
const typeMap = {
1: "month",
2: "year",
};
return typeMap[queryParams.value.dateType] || "date";
});
const dataPickerFormat = computed(() => {
const typeMap = {
1: "YYYY-MM",
2: "YYYY",
};
return typeMap[queryParams.value.dateType] || "YYYY-MM-DD";
});
const disabledStartDate = (date) => {
if (queryParams.value.endTime) {
return date.getTime() > new Date(queryParams.value.endTime).getTime();
}
return false;
};
const disabledEndDate = (date) => {
if (queryParams.value.startTime) {
return date.getTime() < new Date(queryParams.value.startTime).getTime();
}
return false;
};
3846

被折叠的 条评论
为什么被折叠?



