[tech-debt] 前端硬编码旧组名 → 组改名后标签全部退化 #95
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
[tech-debt] 前端硬编码旧组名 → 组改名后标签全部退化
现象
web/src/views/dashboards/RefundRecovery.vue:394:但 2026-09-14 组织调整已把组改名(生产实测
persons.group_name现值):映射表里
朱海洋组/董梦玲组/吴晓龙组/叶珍凤组4 个 key 全部失效→ 所有分组标签退化为灰色
info,颜色区分功能完全丧失(静默,无报错)。根因
颜色映射硬编码了组名。组名是可变的业务数据(用户会改名,
且本仓已有改名先例),把它当代码常量使用 → 数据一变即失效。
同类风险点(需一并排查):
web/src/views/dashboards/Today.vue值班条DUTY_POSITIONS/DUTY_ROLE_METAweb/src/views/dashboards/OperationDashboard.vue岗位徽标s.position(动态),是正确做法 → 可作为改造范式修复
不再按名字映射颜色,改为按稳定标识:
color或sort_order字段(或前端按group_id取色),前端只消费不推断;
GRP_COLOR_PALETTE[i % len]),组名变化不影响配色稳定性;
验收标准
grep -rn "叶珍凤组\|董梦玲组\|吴晓龙组\|朱海洋组" web/src/→ 0 命中关闭凭证核验 (2026-09-15)
实现:commit
eb37d72(#89-#96 一并提交)生产版本:
git-20260914150934→git-20260915090956(git 模式升级,健康检查通过)测试:后端
ruff全绿 +pytest全量通过;前端eslint0 error、vitest71 passed、build通过修复前后对比(生产实测数据)
修复前:组名已改(
persons.group_name现值为接待1/2/3组、专项1组、投诉专项组),而映射表 key 是旧名(
朱海洋组/董梦玲组/吴晓龙组/叶珍凤组/投诉专项组)→ 4/5 key 失效→ 所有标签静默退化灰色,颜色区分功能完全丧失且无报错。
修复:按稳定标识(组 id)取色
过程中实测排除了两个「看起来可以」的方案:
新增
loadGroups()建立「组名 → 组 id」映射;接口失败时退化为统一info(清晰的"未着色"),不猜颜色。
grep -rn "叶珍凤组|董梦玲组|吴晓龙组|朱海洋组" web/src/→ 0 命中position(正确范式,无需改)