From 08646c547f02267ac8bca27a243fdb5a5bb03944 Mon Sep 17 00:00:00 2001 From: oneao Date: Sun, 30 Aug 2026 20:23:04 +0800 Subject: [PATCH] =?UTF-8?q?revert(module-management):=20=E6=92=A4=E5=9B=9E?= =?UTF-8?q?=E8=A1=A8=E5=8D=95=E8=AE=BE=E8=AE=A1=E3=80=8C=E7=BC=BA=20N?= =?UTF-8?q?=E3=80=8D=E5=BE=BD=E6=A0=87=EF=BC=88=E9=98=B6=E6=AE=B5=E4=BA=8C?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 并非所有启用字段都应出现在表单里(审计字段等常有意不布局), 「缺 N」口径对表单设计是假警报。revert 6bfa0d81,计划文档记录决策。 阶段一(tab 脏点)保留;查询配置的「缺 N」为使用者既有实现,不动。 --- .../docs/module-management-tab-status-plan.md | 6 ++- .../composables/useModuleConfig.js | 4 -- .../views/system/module-management/index.vue | 9 +---- .../tests/unit/module-dirty-sections.spec.js | 37 ------------------- 4 files changed, 6 insertions(+), 50 deletions(-) diff --git a/code/fms/fms-vue/docs/module-management-tab-status-plan.md b/code/fms/fms-vue/docs/module-management-tab-status-plan.md index b6b3d045..528f8bc5 100644 --- a/code/fms/fms-vue/docs/module-management-tab-status-plan.md +++ b/code/fms/fms-vue/docs/module-management-tab-status-plan.md @@ -38,7 +38,11 @@ const SECTION_KEYS = ['module', 'fields', 'groups', 'listConfig', 'editConfig', 验收:任一 tab 内容修改 → 对应 tab 出现圆点;保存成功或放弃修改 → 全部消失;切换未保存保护、重载确认行为与改造前一致。 -### 阶段二:表单设计「缺 N」徽标 +### 阶段二:表单设计「缺 N」徽标(已实现后撤回) + +> 实现于 commit 6bfa0d81,使用者试用后撤回:并非所有启用字段都应出现在表单里 +> (审计字段等常有意不布局),「缺 N」是假警报。查询配置的「缺 N」徽标 +> 为使用者自己的既有实现,保留。以下原始设计保留作记录,勿再实现。 数据模块下统计「启用字段中未被 `editConfig` 任何行的 `b_field_id` 引用的数量」,作为表单设计 tab 的徽标,样式与语义沿用查询配置的「缺 N」。 diff --git a/code/fms/fms-vue/src/views/system/module-management/composables/useModuleConfig.js b/code/fms/fms-vue/src/views/system/module-management/composables/useModuleConfig.js index bb2980cd..93fa956a 100644 --- a/code/fms/fms-vue/src/views/system/module-management/composables/useModuleConfig.js +++ b/code/fms/fms-vue/src/views/system/module-management/composables/useModuleConfig.js @@ -387,9 +387,6 @@ export function useModuleConfig(deps) { const missingListCount = missingConfigCount('listConfig') const missingQueryCount = missingConfigCount('queryConfig') - // 表单设计缺配:启用字段未被 editConfig 任何行引用(b_field_id 口径, - // 不涉及布局细节)。editConfig 同时承载主表表单/子表表格两种编辑方式,口径通用 - const missingEditCount = missingConfigCount('editConfig') return { hasModuleChanges, @@ -401,7 +398,6 @@ export function useModuleConfig(deps) { syncFields, missingListCount, missingQueryCount, - missingEditCount, fillMissingConfigs, } } \ No newline at end of file diff --git a/code/fms/fms-vue/src/views/system/module-management/index.vue b/code/fms/fms-vue/src/views/system/module-management/index.vue index c8fa8bed..ef071f2f 100644 --- a/code/fms/fms-vue/src/views/system/module-management/index.vue +++ b/code/fms/fms-vue/src/views/system/module-management/index.vue @@ -143,13 +143,7 @@ const configGroups = computed(() => { // 界面配置:表单设计(数据模块,含主表表单/子表表格两种编辑方式)→ 列表配置 → 查询配置 const uiItems = [] if (isDataModule.value) { - // 表单设计缺配徽标:启用字段未布局的数量(口径与查询「缺 N」一致) - uiItems.push({ - key: 'edit', - label: '表单设计', - icon: Pencil, - badge: missingEditCount.value ? `缺 ${missingEditCount.value}` : '', - }) + uiItems.push({ key: 'edit', label: '表单设计', icon: Pencil }) } // 列表配置行在加载时自动补全全部启用字段,无「缺失」概念,不带徽标 uiItems.push({ key: 'list', label: '列表配置', icon: List }) @@ -324,7 +318,6 @@ const { syncFields, dirtySections, missingQueryCount, - missingEditCount, fillMissingConfigs, } = useModuleConfig({ moduleSelectedId, diff --git a/code/fms/fms-vue/tests/unit/module-dirty-sections.spec.js b/code/fms/fms-vue/tests/unit/module-dirty-sections.spec.js index dfec5e8b..49d38287 100644 --- a/code/fms/fms-vue/tests/unit/module-dirty-sections.spec.js +++ b/code/fms/fms-vue/tests/unit/module-dirty-sections.spec.js @@ -136,40 +136,3 @@ describe('useModuleConfig 脏检查', () => { expect(api.hasModuleChanges.value).toBe(false) }) }) - -describe('useModuleConfig 缺配统计(表单设计徽标)', () => { - function configWith(fields, editConfig) { - return { module: { b_id: '1', b_module_type: 'data' }, fields, groups: [], listConfig: [], editConfig, queryConfig: [], autoCode: [], powers: [] } - } - - it('启用字段未被 editConfig 引用即计入缺配', () => { - const fields = [ - { b_id: '10', b_field: 'a', b_canuse: 1 }, - { b_id: '11', b_field: 'b', b_canuse: 1 }, - ] - const editConfig = [{ b_id: 'e1', b_field_id: '10' }] - const { missingEditCount } = setup({ drafts: configWith(fields, editConfig), originals: configWith(fields, editConfig) }) - expect(missingEditCount.value).toBe(1) - }) - - it('停用字段不计入缺配', () => { - const fields = [ - { b_id: '10', b_field: 'a', b_canuse: 1 }, - { b_id: '11', b_field: 'b', b_canuse: 0 }, - ] - const { missingEditCount } = setup({ drafts: configWith(fields, []), originals: configWith(fields, []) }) - expect(missingEditCount.value).toBe(1) - }) - - it('b_field_id 与 b_id 类型不一致(数字/字符串)仍按字符串比较', () => { - const fields = [{ b_id: 10, b_field: 'a', b_canuse: 1 }] - const editConfig = [{ b_id: 'e1', b_field_id: '10' }] - const { missingEditCount } = setup({ drafts: configWith(fields, editConfig), originals: configWith(fields, editConfig) }) - expect(missingEditCount.value).toBe(0) - }) - - it('无字段时缺配为 0(新建模块空态不显示徽标)', () => { - const { missingEditCount } = setup({ drafts: configWith([], []), originals: configWith([], []) }) - expect(missingEditCount.value).toBe(0) - }) -})