This commit is contained in:
2025-07-02 09:13:31 +08:00
parent 32483701fb
commit 3b5cf00ebe
2 changed files with 38 additions and 6 deletions

View File

@@ -42,11 +42,24 @@ function range(start, end) {
return result; return result;
} }
let selectDateTime = null;
const getDisabledTime = (date, type) => { const getDisabledTime = (date, type) => {
if (dayjs(selectDateTime).date() === dayjs(form.start_time).date()) {
return { return {
disabledHours: () => type === 'start' ? range(0, dayjs(form.start_time).hour()) : range(0, 0), disabledHours: () => type === 'start' ? range(0, dayjs(form.start_time).hour()) : range(0, 0),
disabledMinutes: () => type === 'start' ? range(0, dayjs(form.start_time).add(1, 'minute').minute()) : range(0, 0), disabledMinutes: () => type === 'start' ? range(0, dayjs(form.start_time).add(1, 'minute').minute()) : range(0, 0),
} }
} else {
return {
disabledHours: () => range(0, 0),
disabledMinutes: () => range(0, 0),
}
}
}
const selectPicker = (value) => {
selectDateTime = value[0];
} }
const validate = async () => { const validate = async () => {
@@ -72,6 +85,7 @@ defineExpose({
:auto-label-width="true"> :auto-label-width="true">
<a-form-item label="回填时间" field="end_time"> <a-form-item label="回填时间" field="end_time">
<x-time-picker <x-time-picker
@select="selectPicker"
:disabledDate="(current) => dayjs(current).add(1, 'day').isBefore(dayjs(form.start_time))" :disabledDate="(current) => dayjs(current).add(1, 'day').isBefore(dayjs(form.start_time))"
:disabledTime="getDisabledTime" :disabledTime="getDisabledTime"
v-model:start="po.start_time" v-model:start="po.start_time"

View File

@@ -70,11 +70,25 @@ function range(start, end) {
return result; return result;
} }
let selectDateTime = null;
const getDisabledTime = (date, type) => { const getDisabledTime = (date, type) => {
if (dayjs(selectDateTime).date() === dayjs(taskDetail.start_time).date()) {
return { return {
disabledHours: () => type === 'start' ? range(0, dayjs(taskDetail.start_time).hour()) : range(0, 0), disabledHours: () => type === 'start' ? range(0, dayjs(taskDetail.start_time).hour()) : range(0, 0),
disabledMinutes: () => type === 'start' ? range(0, dayjs(taskDetail.start_time).add(1, 'minute').minute()) : range(0, 0), disabledMinutes: () => type === 'start' ? range(0, dayjs(taskDetail.start_time).add(1, 'minute').minute()) : range(0, 0),
} }
} else {
return {
disabledHours: () => range(0, 0),
disabledMinutes: () => range(0, 0),
}
}
}
const selectPicker = (value) => {
selectDateTime = value[0];
} }
defineExpose({ defineExpose({
@@ -137,6 +151,7 @@ defineExpose({
<a-radio :value="1"> <a-radio :value="1">
&nbsp;&nbsp;&nbsp;请最晚于 &nbsp;&nbsp;&nbsp;请最晚于
<a-date-picker <a-date-picker
@select="selectPicker"
:disabledDate="(current) => dayjs(current).isBefore(dayjs(taskDetail.start_time))" :disabledDate="(current) => dayjs(current).isBefore(dayjs(taskDetail.start_time))"
:disabledTime="getDisabledTime" :disabledTime="getDisabledTime"
v-if="form.is_backfill===1" v-if="form.is_backfill===1"
@@ -156,6 +171,9 @@ defineExpose({
<div class="flex whitespace-nowrap items-center gap-[4px]"> <div class="flex whitespace-nowrap items-center gap-[4px]">
&nbsp;&nbsp;&nbsp;请最晚于 &nbsp;&nbsp;&nbsp;请最晚于
<a-date-picker <a-date-picker
@select="selectPicker"
:disabledDate="(current) => dayjs(current).isBefore(dayjs(taskDetail.start_time))"
:disabledTime="getDisabledTime"
v-if="form.is_backfill===0" v-if="form.is_backfill===0"
v-model="form.back_time" v-model="form.back_time"
format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss"