feat: 全览节点无记录时Toast友好提示替代静默短路

This commit is contained in:
2026-08-10 14:40:18 +08:00
parent 5f12adfe2f
commit 3ec244bf2d

View File

@ -42,7 +42,7 @@
<view v-for="node in treeNodes" :key="node.id"
class="canvas-node" :class="[statusColor(node.status), node._isMain ? 'node-main' : 'node-sub']"
:style="{ left: node.x + 'px', top: node.y + 'px' }"
@tap="node.records && node.records.length && $emit('viewRecords', node)">
@tap="handleNodeTap(node)">
<view class="cn-header">
<text :class="node._isMain ? 'badge-main' : 'badge-sub'">{{ node._isMain ? '主分支' : node._blabel }}</text>
<text :class="['cn-badge-mini', statusColor(node.status)]">{{ statusLabel(node.status) }}</text>
@ -196,6 +196,13 @@ export default {
methods: {
onScale(e) { if (e?.detail?.scale) this.mvScale = e.detail.scale; },
zoomIn() { this.mvScale = Math.min(5, +(this.mvScale + 0.2).toFixed(1)); },
handleNodeTap(node) {
if (node.records && node.records.length > 0) {
this.$emit('viewRecords', node);
} else {
uni.showToast({ title: '当前节点暂无流转记录', icon: 'none' });
}
},
zoomOut() { this.mvScale = Math.max(0.1, +(this.mvScale - 0.2).toFixed(1)); },
fitAll() { this.mvScale = this.fitScale; this.mvX = 0; this.mvY = 0; },
fmtDate(d) { if (!d) return ""; const dt = new Date(d); return (dt.getMonth() + 1) + '/' + dt.getDate(); },