Files
workspace/code/fms/fms-vue
oneao 27752351b9 refactor(module-management): 阶段二——抽取字段查询与共享纯函数
- 新建 composables/useFieldLookup.js:FIELD_TYPE_LABELS 常量 +
  useFieldLookup(fieldsRef) 返回 fieldNameMap/fieldMap/fieldOf/fieldName/controlTypeLabel
- 新建 editPanelShared.js(纯函数,无 Vue 依赖):renumberRows/buildVisibilityMap/
  buildClipboardProps/applyClipboardProps/toggleFlag/filterLibraryFields/createEditRowFactory
- ModuleTableEditPanel/ModuleFormEditPanel/ModuleStructureTree 三处同体字段查询
  统一改用 useFieldLookup,删除各自 FIELD_TYPE_LABELS/fieldNameMap/fieldMap/fieldOf/
  fieldName/controlTypeLabel 复制体
- 两面板 syncToList/syncToQuery 共享 buildVisibilityMap(emit 与提示文案留在各自面板)
- 两面板 copyRowProps/pastePropsToSelected 共享 buildClipboardProps/applyClipboardProps:
  键集合 diff 后参数化(子表 b_width / 主表 b_colspan+spanOf 归一),行为不变
- createEditRow 语义相同、细节不同(子表写 b_width、主表写 b_colspan)→
  抽参数化工厂 createEditRowFactory({ moduleId, getExtra }),两面板各自传参
- 主表 groupIdOf 与 useGroupTree.groupIdOfRow 函数体逐字相同 → 改导入(别名保持调用点不变)
- 字段库 libraryFields 的过滤排序逻辑抽为 filterLibraryFields(.sort→.toSorted,
  消除 oxlint 变异告警);toggleInspector/toggleRowFlag 核心抽为 toggleFlag

行为不变;测试 184 通过(2 个既有失败与本重构无关);lint 告警 60→59(净减 1)
2026-08-28 15:22:04 +08:00
..
2026-08-13 22:26:56 +08:00
2026-08-23 21:02:41 +08:00
2026-08-26 22:44:45 +08:00
2026-08-13 22:26:56 +08:00
2026-08-13 22:26:56 +08:00
2026-08-21 23:06:56 +08:00
2026-08-25 17:30:28 +08:00
2026-08-14 17:31:26 +08:00
2026-08-24 17:27:24 +08:00
2026-08-24 17:27:24 +08:00
2026-08-19 21:39:33 +08:00
2026-08-25 22:44:36 +08:00
2026-08-19 17:32:25 +08:00