diff --git a/track-uniapp/src/pages/scan/components/TreeCanvas.vue b/track-uniapp/src/pages/scan/components/TreeCanvas.vue index 0f7b844..222ccde 100644 --- a/track-uniapp/src/pages/scan/components/TreeCanvas.vue +++ b/track-uniapp/src/pages/scan/components/TreeCanvas.vue @@ -108,19 +108,19 @@ export default { }, branchLabelMap() { const map = {}; + if (!this.product || !this.product.task_tree) return map; const traverse = (tasks, prefix) => { if (!tasks) return; tasks.forEach((t, i) => { - map[t.id] = prefix ? `分支 ${prefix}${i + 1}` : '分支 1'; - traverse(t.child_tasks, prefix ? `${prefix}${i + 1}.` : `${i + 1}.`); + const num = prefix ? `${prefix}.${i + 1}` : `${i + 1}`; + map[t.id] = `分支 ${num}`; + traverse(t.child_tasks, num); }); }; - if (this.product && this.product.task_tree) { - this.product.task_tree.forEach((t, i) => { - map[t.id] = '主分支'; - traverse(t.child_tasks, `${i + 1}.`); - }); - } + this.product.task_tree.forEach((t, i) => { + map[t.id] = '主分支'; + traverse(t.child_tasks, ''); + }); return map; }, canvasWidth() { if (!this.treeNodes.length) return 400; return Math.max(800, Math.max(...this.treeNodes.map(n => n.x)) + 300); }, diff --git a/track-uniapp/src/pages/scan/components/WorkspaceArea.vue b/track-uniapp/src/pages/scan/components/WorkspaceArea.vue index 53fabc4..8814978 100644 --- a/track-uniapp/src/pages/scan/components/WorkspaceArea.vue +++ b/track-uniapp/src/pages/scan/components/WorkspaceArea.vue @@ -143,16 +143,15 @@ export default { const traverse = (tasks, prefix) => { if (!tasks) return; tasks.forEach((t, 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); + const num = prefix ? `${prefix}.${i + 1}` : `${i + 1}`; + map[t.id] = `分支 ${num}`; + traverse(t.child_tasks, num); }); }; - traverse(this.product.task_tree, ''); + this.product.task_tree.forEach((t, i) => { + map[t.id] = '主分支'; + traverse(t.child_tasks, ''); + }); return map; }, },