oneao 158eb3c029 refactor(module-management): 阶段一——抽取分组树推导 composable useGroupTree
- 新建 composables/useGroupTree.js:buildGroupTree/sortGroupNodesByXh/groupIdOfRow
  纯函数导出 + useGroupTree(groupsRef, rowsRef) 返回 groupTree/groupNodeMap/
  groupColumnsMap/bandMeta(统一含 maxLevel)/isDescendantGroup/groupIdOfRow
- ModuleTableEditPanel.vue:删除本地 7 份同体实现,改用 composable;
  isDescendantOf 重命名为 isDescendantGroup(两处函数体逐字相同)
- structure-tree/ModuleStructureTree.vue:同样替换;删除「与面板 bandMeta 同源」注释
  (复制关系已不成立);bandMeta 多出的 maxLevel 字段对其消费处无害
- ModuleTableEditPanel 中 watch(props.editConfig, …, { immediate: true }) 注册位置
  保持不变,仍位于 bandMeta 等 computed 之后(避免 immediate 回调 TDZ)

行为不变;测试结果与基线一致(184 通过,2 个既有失败与本重构无关)
2026-08-28 14:20:58 +08:00
2026-07-19 21:57:40 +08:00
2026-06-08 17:31:29 +08:00
u
2026-01-23 17:26:10 +08:00
u
2026-03-18 17:12:57 +08:00
2026-07-16 21:55:51 +08:00
2026-05-07 21:34:09 +08:00
2026-05-08 22:22:04 +08:00
S
Description
No description provided
223 MiB
0 Stars 1 Watchers 0 Forks
Languages
JavaScript 31.9%
Vue 31.8%
TypeScript 11.2%
Java 11%
CSS 7.1%
Other 7%