diff --git a/src/resource-scheduler/components/schedule-table/schedule-table.scss b/src/resource-scheduler/components/schedule-table/schedule-table.scss index 25bc3331039bdf15fff47134dcf7de969dce3012..5a90feccf3a489189154281b65928ec2bfcaeb94 100644 --- a/src/resource-scheduler/components/schedule-table/schedule-table.scss +++ b/src/resource-scheduler/components/schedule-table/schedule-table.scss @@ -43,4 +43,8 @@ width: 100%; min-height: 100%; } + + .schedule-toolbar-extra{ + height: 40px; + } } \ No newline at end of file diff --git a/src/resource-scheduler/components/schedule-table/schedule-table.tsx b/src/resource-scheduler/components/schedule-table/schedule-table.tsx index 240c9bc788d0763929c0a4e9342dba4141421562..336ff4d8615188a93d6fa9f675c39f0b884ef639 100644 --- a/src/resource-scheduler/components/schedule-table/schedule-table.tsx +++ b/src/resource-scheduler/components/schedule-table/schedule-table.tsx @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable no-unused-vars */ /* eslint-disable @typescript-eslint/no-unused-vars */ -import { computed, defineComponent, ref } from "vue"; +import { computed, defineComponent, ref, useSlots} from "vue"; import { IResourceViewModel, ITaskViewModel } from "../../interface"; import { initStore } from "../../store"; import { @@ -13,6 +13,7 @@ import { } from "../../hooks"; import { ScheduleTableEvent, ScheduleTableProps } from "./schedule-table-type"; import "./schedule-table.scss"; +import { useScheduleToolbarEvent } from "../../hooks/use-schedule-table"; export const ScheduleTable = defineComponent({ name: "ScheduleTable", @@ -38,8 +39,18 @@ export const ScheduleTable = defineComponent({ coordinateElement ); + // 处理工具栏事件 + const { onRefresh, onSave, onSaveAs, onConfigRefresh } = + useScheduleToolbarEvent(coordinateElement); + + // 插槽 + const slots = useSlots(); + // 计算表格样式 - const { headerStyle, bodyStyle } = useScheduleTableStyle(props); + const { headerStyle, bodyStyle } = useScheduleTableStyle( + props, + slots && !!slots.extraToolbar, + ); // 监听视图大小变化 useScheduleTableReSize(props, headerCanvas, bodyCanvas, coordinateElement); @@ -88,11 +99,28 @@ export const ScheduleTable = defineComponent({ handleDragOver, handleDragStart, handleDragLeave, + onRefresh, + onSave, + onSaveAs, + onConfigRefresh, }; }, render() { return (