🐛 修复打卡时间轴异常标签随记录重排错位

时间轴 key 与异常索引共用 `${nodeCode}-${index}`,带上了序号。时间轴按打卡时间
排序,序号随顺序变化,异常标签就会挂到别的节点上或整个消失——编辑打卡时间或把
未打卡改成已打卡都会触发,实测改完「卸货」后它的「已处理异常/详情」直接不见了。

key 改为只认节点标识(nodeCode → id → 兜底序号),异常索引与 v-for 同源,
顺序怎么变都对得上。顺带修好原本就错位的「到场」「装货」:它们的异常标签此前
一直没显示出来。
This commit is contained in:
2026-10-06 04:41:13 +08:00
parent d62d3da60e
commit 462f9bbea2
@@ -5562,10 +5562,10 @@ export default {
const fallback = new Date(text.replace(/-/g, '/')).getTime();
return Number.isNaN(fallback) ? null : fallback;
},
// 时间轴 key:与模板 v-for 的 :key 保持同一算法,异常索引也用它做键,
// 两边各写一份迟早会错位。
// 时间轴 key:只认节点标识,不带序号。异常索引与模板 v-for 共用它,
// 带上序号的话,编辑打卡时间会重排时间轴,序号一变异常标签就挂错节点或整个消失。
waybillPunchRecordKey(record, index) {
return `${record?.nodeCode || record?.id || 'punch'}-${index}`;
return String(record?.nodeCode || record?.id || `punch-${index}`);
},
// 未处理完 → 跟进;全处理完 → 只读详情(与异常处置列表的操作口径一致)
openWaybillPunchRecordException(exception) {