From ecc4f5ea682bff1fe5fe9f2fdd325b2bc55a2109 Mon Sep 17 00:00:00 2001 From: UniDesk Codex Date: Fri, 3 Jul 2026 20:06:36 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20MDTODO=20=E5=89=8D=E7=AB=AF=E5=B8=83?= =?UTF-8?q?=E5=B1=80=20=E2=80=94=2010=20=E9=A1=B9=E5=B8=83=E5=B1=80?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=88#2369=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 左侧任务树占满 aside 高度 2. 右侧报告面板占满 aside 高度 3. Workbench 启动按钮在新标签页打开 4. 侧边栏收起后彻底隐藏,展开按钮显示在内容区 5. 详情工具栏移到标题下方一行 6. 正文为空时显示标题代替留空 7. 任务编号宽度根据内容自适应 8. 折叠/展开按钮居右 9. 任务状态改用标签颜色展示(///) 10. Reindex 提示信息添加关闭按钮 --- .../layout/SplitWorkspaceLayout.vue | 26 ++++++++++++++----- .../src/components/mdtodo/MdtodoPageShell.vue | 13 +++++++++- .../components/mdtodo/MdtodoReportPanel.vue | 4 +-- .../src/components/mdtodo/MdtodoTaskPanel.vue | 7 ++--- .../src/components/mdtodo/MdtodoTaskTree.vue | 20 +++++++------- .../mdtodo/useMdtodoWorkbenchLaunch.ts | 2 +- 6 files changed, 50 insertions(+), 22 deletions(-) diff --git a/web/hwlab-cloud-web/src/components/layout/SplitWorkspaceLayout.vue b/web/hwlab-cloud-web/src/components/layout/SplitWorkspaceLayout.vue index f35e5a3f..bfdcf9f9 100644 --- a/web/hwlab-cloud-web/src/components/layout/SplitWorkspaceLayout.vue +++ b/web/hwlab-cloud-web/src/components/layout/SplitWorkspaceLayout.vue @@ -38,6 +38,8 @@ const props = withDefaults(defineProps<{ const emit = defineEmits<{ "update:leftWidth": [value: number]; "update:rightWidth": [value: number]; + "update:leftCollapsed": [value: boolean]; + "update:rightCollapsed": [value: boolean]; }>(); const layoutRef = ref(null); @@ -51,11 +53,13 @@ const layoutStyle = computed(() => { ? `${props.leftCollapsedWidth}px` : `minmax(${props.leftCollapsedWidth}px, ${clampedLeftWidth.value}%)`; if (!props.rightOpen) { - return { gridTemplateColumns: `${leftColumn} 6px minmax(0, 1fr)` }; + const leftCol = props.leftCollapsed ? '0px' : leftColumn; + const resizerCol = props.leftCollapsed ? '0px' : '6px'; + return { gridTemplateColumns: `${leftCol} ${resizerCol} minmax(0, 1fr)` }; } const mainShare = props.rightCollapsed ? "minmax(0, 1fr)" : `minmax(0, ${100 - clampedRightWidth.value}fr)`; const rightResizeColumn = props.rightCollapsed ? "0" : "6px"; - const rightColumn = props.rightCollapsed ? `${props.rightCollapsedWidth}px` : `minmax(280px, ${clampedRightWidth.value}fr)`; + const rightColumn = props.rightCollapsed ? "0px" : `minmax(280px, ${clampedRightWidth.value}fr)`; return { gridTemplateColumns: `${leftColumn} 6px ${mainShare} ${rightResizeColumn} ${rightColumn}` }; }); @@ -105,9 +109,12 @@ function clamp(value: number, min: number, max: number): number { :data-right-collapsed="rightCollapsed" :data-resizing="resizing || undefined" > -