diff --git a/src/resource-scheduler/components/schedule-table/schedule-table-type.ts b/src/resource-scheduler/components/schedule-table/schedule-table-type.ts index 6f0cc377a1b67edcc956fed6fab3d6d98effd3d0..151f900e7c8664889ef19c616acc4da19e464a7f 100644 --- a/src/resource-scheduler/components/schedule-table/schedule-table-type.ts +++ b/src/resource-scheduler/components/schedule-table/schedule-table-type.ts @@ -4,7 +4,7 @@ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ /* eslint-disable @typescript-eslint/explicit-function-return-type */ import { PropType } from 'vue'; -import { IGlobalConfig } from '../../interface'; +import { IGlobalConfig, IScheduleResource } from '../../interface'; import Variables from '../../constant/vars'; // 调度表格属性 @@ -235,6 +235,36 @@ export const ScheduleTableProps = { default: () => true, }, + /** + * 拖拽资源前处理函数属性 + * @description 在任务元素开始拖拽时执行,用于处理拖拽前的逻辑 + * @type {Function} 处理函数 + * @default () => true 默认返回true,表示允许拖拽操作 + */ + beforeResourceDrop: { + type: Function as PropType< + (dragData: Record) => Promise + >, + default: () => true, + }, + + /** + * 拖拽任务前处理函数属性 + * @description 在任务元素开始拖拽时执行,用于处理拖拽前的逻辑 + * @type {Function} 处理函数 + * @default () => true 默认返回true,表示允许拖拽操作 + */ + beforeTaskDrop: { + type: Function as PropType< + ( + dragData: Record, + resource: IScheduleResource, + timeRange: { startTime: Date; endTime: Date }, + ) => Promise + >, + default: () => true, + }, + /** * 拖拽完成处理函数属性 * @description 在任务元素完成拖拽时执行,用于处理拖拽完成后的逻辑 diff --git a/src/resource-scheduler/components/schedule-table/schedule-table.scss b/src/resource-scheduler/components/schedule-table/schedule-table.scss index 5a90feccf3a489189154281b65928ec2bfcaeb94..eaa22aa6da2018c5f4b68603c5fc5743f000b47d 100644 --- a/src/resource-scheduler/components/schedule-table/schedule-table.scss +++ b/src/resource-scheduler/components/schedule-table/schedule-table.scss @@ -7,7 +7,7 @@ position: relative; padding: 0; margin: 0; - overflow-y: auto; + overflow: hidden scroll; border: none; .absolute-item { diff --git a/src/resource-scheduler/controller/render-layer.controller.ts b/src/resource-scheduler/controller/render-layer.controller.ts index 35fbe9ac134c70a7f93847ced6527bccbace8882..1f772603b08aa6a20a6bd1d95e5e89225a83de99 100644 --- a/src/resource-scheduler/controller/render-layer.controller.ts +++ b/src/resource-scheduler/controller/render-layer.controller.ts @@ -160,7 +160,7 @@ export class RenderLayerController { const startDate = new Date(config.startTime); startDate.setHours(0, 0, 0, 0); const endDate = new Date(config.endTime); - endDate.setHours(23, 59, 59, 59); + endDate.setHours(0, 0, 0, 0); // 检查任务的开始时间和结束时间是否有效 if (task.start >= task.end) return false; // 如果任务的结束时间小于全局开始时间,则任务无效