diff --git a/track-uniapp/src/pages/scan/components/TreeCanvas.vue b/track-uniapp/src/pages/scan/components/TreeCanvas.vue index c48dd3c..bd0df8e 100644 --- a/track-uniapp/src/pages/scan/components/TreeCanvas.vue +++ b/track-uniapp/src/pages/scan/components/TreeCanvas.vue @@ -17,9 +17,6 @@ :style="{ width: canvasWidth + 'px', height: canvasHeight + 'px' }" > - - - n.id === t.parent_task_id); - if (parent) { - nodes._lines.push({ - key: parent.id + '-' + t.id, - x1: parent.x + CARD_W / 2, y1: parent.y + CARD_H, - x2: node.x + CARD_W / 2, y2: node.y, - }); - } - } }); // 递归子任务 @@ -122,7 +106,6 @@ export default { if (this.product) walk(this.product.task_tree); return map; }, - treeLines() { return this.treeNodes._lines || []; }, canvasWidth() { if (!this.treeNodes.length) return 400; return Math.max(800, Math.max(...this.treeNodes.map(n => n.x)) + 300); }, canvasHeight() { if (!this.treeNodes.length) return 400; return Math.max(800, Math.max(...this.treeNodes.map(n => n.y)) + 300); } }, diff --git a/track-uniapp/src/pages/scan/components/WorkspaceArea.vue b/track-uniapp/src/pages/scan/components/WorkspaceArea.vue index 57c7c28..0da5ce1 100644 --- a/track-uniapp/src/pages/scan/components/WorkspaceArea.vue +++ b/track-uniapp/src/pages/scan/components/WorkspaceArea.vue @@ -130,17 +130,20 @@ export default { lockedTask() { return this.focusTasks.find(t => t.id === this.lockedTaskId) || null; }, branchLabelsMap() { const map = {}; - const walk = (tasks, prefix, idx) => { + if (!this.product || !this.product.task_tree) return map; + const traverse = (tasks, prefix) => { if (!tasks) return; tasks.forEach((t, i) => { - const label = prefix === '' ? '主分支' : `${prefix}${i + 1}`; - map[t.id] = label; - if (t.child_tasks && t.child_tasks.length) { - walk(t.child_tasks, prefix === '' ? '' : `${label}.`, i); + if (prefix === '') { + map[t.id] = '主分支'; + } else { + map[t.id] = `分支 ${prefix}${i + 1}`; } + const nextPrefix = prefix === '' ? `${i + 1}.` : `${prefix}${i + 1}.`; + traverse(t.child_tasks, nextPrefix); }); }; - if (this.product) walk(this.product.task_tree, '', 0); + traverse(this.product.task_tree, ''); return map; }, },