From 3f0d72ae15ef65c95aab98b27e0b39206c4a519c Mon Sep 17 00:00:00 2001 From: lijisanxiong <1518062161@qq.com> Date: Tue, 7 May 2024 11:19:20 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E6=96=B0=E5=A2=9E=E7=94=98?= =?UTF-8?q?=E7=89=B9=E5=9B=BE=E6=94=AF=E6=8C=81=E5=88=B7=E6=96=B0=E5=90=8E?= =?UTF-8?q?=E5=B1=95=E5=BC=80=E5=B7=B2=E5=B1=95=E5=BC=80=E8=8A=82=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/control/gantt/gantt.tsx | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/control/gantt/gantt.tsx b/src/control/gantt/gantt.tsx index 1ce8a4a06..5c3616e08 100644 --- a/src/control/gantt/gantt.tsx +++ b/src/control/gantt/gantt.tsx @@ -32,6 +32,7 @@ import { } from '@ibiz-template/runtime'; import { MenuItem } from '@imengyu/vue3-context-menu'; import dayjs from 'dayjs'; +import { createUUID } from 'qx-util'; import './gantt.scss'; export const GanttControl = defineComponent({ @@ -51,6 +52,7 @@ export const GanttControl = defineComponent({ ); const ganttRef: Ref = ref(); + const ganttRefreshKey = ref(''); // 是否初始化 const isInited: Ref = ref(false); @@ -228,12 +230,27 @@ export const GanttControl = defineComponent({ * * @param {IGanttNodeData} nodeData */ - const onNodeExpand = (nodeData: IGanttNodeData) => { + const onNodeExpand = async (nodeData: IGanttNodeData) => { + c.onExpandChange(nodeData, true); if (nodeData && !nodeData._children) { - c.refreshNodeChildren(nodeData); + await c.refreshNodeChildren(nodeData, false, false); } }; + /** + * 处理节点折叠 + * + * @param {IGanttNodeData} nodeData + */ + const onNodeCollapse = (nodeData: IGanttNodeData) => { + c.onExpandChange(nodeData, false); + }; + // 更新子节点 + c.evt.on('onAfterRefreshParent', event => { + // 变更节点的时候强刷 + ganttRefreshKey.value = createUUID(); + }); + c.evt.on('onNewRow', event => { if (ganttRef.value) { const nodeData = event.row.data; @@ -574,9 +591,11 @@ export const GanttControl = defineComponent({ onCheck, loading, ganttStyle, + ganttRefreshKey, onNodeClick, onNodeDbClick, onNodeExpand, + onNodeCollapse, renderContent, onSliderMove, renderNoData, @@ -595,6 +614,7 @@ export const GanttControl = defineComponent({