@agile-team/wl-skills-kit 2.3.3 → 2.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/CHANGELOG.md +24 -23
  2. package/README.md +15 -146
  3. package/files/.cursor/mcp.json +8 -0
  4. package/files/.github/guides/README.md +13 -13
  5. package/files/.github/guides/architecture.md +555 -555
  6. package/files/.github/guides/mcp-setup.md +109 -0
  7. package/files/.github/guides/usage.md +184 -176
  8. package/files/.github/reports/README.md +65 -65
  9. package/files/.github/reports/SYS_DICT_INFO.md +50 -50
  10. package/files/.github/reports/SYS_MENU_INFO.md +247 -247
  11. package/files/.github/reports/SYS_PERMISSION_INFO.md +20 -20
  12. package/files/.github/reports//347/273/204/344/273/266/346/217/220/345/217/226/345/273/272/350/256/256.md +33 -33
  13. package/files/.github/reports//350/247/204/350/214/203/345/256/241/346/237/245/346/212/245/345/221/212.md +44 -44
  14. package/files/.github/skills/_compat/README.md +108 -108
  15. package/files/.github/skills/_compat/editors.json +7 -0
  16. package/files/.github/skills/_compat/headers/agents.txt +8 -8
  17. package/files/.github/skills/_compat/headers/claude-code.txt +7 -7
  18. package/files/.github/skills/_compat/headers/cline.txt +7 -7
  19. package/files/.github/skills/_compat/headers/cursor-mdc.txt +16 -16
  20. package/files/.github/skills/_compat/headers/cursor-rules.txt +7 -7
  21. package/files/.github/skills/_compat/headers/github-copilot.txt +1 -1
  22. package/files/.github/skills/_compat/headers/kiro.txt +10 -10
  23. package/files/.github/skills/_compat/headers/qoder.txt +8 -0
  24. package/files/.github/skills/_compat/headers/trae.txt +11 -11
  25. package/files/.github/skills/_compat/headers/windsurf.txt +7 -7
  26. package/files/.github/skills/_registry.md +81 -81
  27. package/files/.github/skills/core/api-contract/SKILL.md +344 -344
  28. package/files/.github/skills/core/api-contract/USAGE.md +110 -110
  29. package/files/.github/skills/core/convention-audit/SKILL.md +189 -189
  30. package/files/.github/skills/core/convention-audit/USAGE.md +99 -99
  31. package/files/.github/skills/core/page-codegen/SKILL.md +973 -973
  32. package/files/.github/skills/core/page-codegen/USAGE.md +102 -102
  33. package/files/.github/skills/core/page-codegen/templates/_index.md +46 -46
  34. package/files/.github/skills/core/page-codegen/templates/domains/_CONTRIBUTING.md +107 -107
  35. package/files/.github/skills/core/page-codegen/templates/domains/produce/TPL-OPERATION-STATION.md +442 -442
  36. package/files/.github/skills/core/page-codegen/templates/domains/sale/README.md +26 -26
  37. package/files/.github/skills/core/page-codegen/templates/universal/TPL-CHANGE-HISTORY.md +276 -276
  38. package/files/.github/skills/core/page-codegen/templates/universal/TPL-DETAIL-TABS.md +1145 -1145
  39. package/files/.github/skills/core/page-codegen/templates/universal/TPL-DRIVEN.md +309 -309
  40. package/files/.github/skills/core/page-codegen/templates/universal/TPL-FORM-ROUTE.md +436 -436
  41. package/files/.github/skills/core/page-codegen/templates/universal/TPL-LIST.md +191 -191
  42. package/files/.github/skills/core/page-codegen/templates/universal/TPL-MASTER-DETAIL.md +148 -148
  43. package/files/.github/skills/core/page-codegen/templates/universal/TPL-RECORD-FORM.md +376 -376
  44. package/files/.github/skills/core/page-codegen/templates/universal/TPL-TREE-LIST.md +186 -186
  45. package/files/.github/skills/core/prototype-scan/SKILL.md +498 -498
  46. package/files/.github/skills/core/prototype-scan/USAGE.md +95 -95
  47. package/files/.github/skills/core/template-extract/SKILL.md +139 -139
  48. package/files/.github/skills/core/template-extract/USAGE.md +93 -93
  49. package/files/.github/skills/domain/README.md +51 -51
  50. package/files/.github/skills/sync/menu-sync/SKILL.md +263 -263
  51. package/files/.github/skills/sync/menu-sync/USAGE.md +104 -104
  52. package/files/.github/skills/sync/menu-sync/env/env.local.json +7 -7
  53. package/files/.github/skills/sync/menu-sync/env/guide.md +99 -99
  54. package/files/.github/skills/sync/permission-sync/SKILL.draft.md +91 -91
  55. package/files/.github/standards/01-toolchain.md +57 -57
  56. package/files/.github/standards/02-code-structure.md +111 -111
  57. package/files/.github/standards/03-comments.md +53 -53
  58. package/files/.github/standards/04-coding-basics.md +33 -33
  59. package/files/.github/standards/05-logging.md +38 -38
  60. package/files/.github/standards/06-security.md +44 -44
  61. package/files/.github/standards/07-config.md +52 -52
  62. package/files/.github/standards/08-git.md +60 -60
  63. package/files/.github/standards/09-typescript.md +71 -71
  64. package/files/.github/standards/10-pinia.md +57 -57
  65. package/files/.github/standards/11-form-validation.md +81 -81
  66. package/files/.github/standards/12-base-table.md +153 -153
  67. package/files/.github/standards/13-platform-components.md +123 -123
  68. package/files/.github/standards/index.md +89 -89
  69. package/files/.kiro/settings/mcp.json +8 -0
  70. package/files/.mcp.json +8 -0
  71. package/files/.vscode/mcp.json +9 -0
  72. package/files/demo/produce/aiflow/mmwr-customer-apply-change-history/data.ts +196 -196
  73. package/files/demo/produce/aiflow/mmwr-customer-apply-change-history/index.scss +150 -150
  74. package/files/demo/produce/aiflow/mmwr-customer-apply-change-history/index.vue +79 -79
  75. package/files/docs/jh-date-range.md +257 -257
  76. package/files/docs/jh-date.md +222 -222
  77. package/files/docs/jh-dept-picker.md +190 -190
  78. package/files/docs/jh-drag-row.md +590 -590
  79. package/files/docs/jh-file-upload.md +216 -216
  80. package/files/docs/jh-picker.md +218 -218
  81. package/files/docs/jh-select.md +148 -148
  82. package/files/docs/jh-text.md +248 -248
  83. package/files/docs/jh-user-picker.md +197 -197
  84. package/files/src/components/global/C_RightToolbar/data.ts +228 -228
  85. package/files/src/components/global/C_RightToolbar/index.scss +44 -44
  86. package/files/src/components/global/C_Splitter/index.scss +61 -61
  87. package/files/src/components/global/C_SvgIcon/index.scss +15 -15
  88. package/files/src/components/global/C_TagStatus/index.scss +20 -20
  89. package/files/src/components/global/C_Tree/data.ts +61 -61
  90. package/files/src/components/local/c_listModal/index.scss +4 -4
  91. package/package.json +1 -1
@@ -1,50 +1,50 @@
1
- # SYS_DICT_INFO — 字典数据基线
2
-
3
- > **写入方**:`dict-sync pull` 模式从线上拉取后覆盖;`dict-sync push` 完成后追加新增字典
4
- > **读取方**:`dict-sync push / audit` 模式对比本地 vs 线上差异
5
- > **格式约定**:每个字典码一个二级标题块,字典项以表格形式列出
6
-
7
- ---
8
-
9
- ## 字典码命名规范
10
-
11
- ```
12
- 全大写 + 下划线分隔,例如:ORDER_STATUS / SALES_COMPANY / PRODUCT_NAME
13
- ```
14
-
15
- data.ts 中引用方式:
16
- ```typescript
17
- { logicType: BusLogicDataType.dict, logicValue: "ORDER_STATUS" }
18
- ```
19
-
20
- ---
21
-
22
- ## 字典数据
23
-
24
- > ⚠️ 基线为空。请执行以下任一方式初始化:
25
- >
26
- > 1. **从线上拉取**:对 AI 说「刷新字典基线」→ dict-sync pull 模式自动填充此文件
27
- > 2. **手动维护**:按以下格式手动添加,后续 push 模式以此为数据源
28
-
29
- ---
30
-
31
- <!-- 以下为示例格式,执行 pull 后将被真实数据替换 -->
32
-
33
- <!--
34
- ## ORDER_STATUS(订单状态)
35
-
36
- | 值(value) | 显示名称(label) | 排序 | 备注 |
37
- | ---------- | ---------------- | ---- | ---- |
38
- | 0 | 草稿 | 1 | |
39
- | 1 | 待审核 | 2 | |
40
- | 2 | 审核通过 | 3 | |
41
- | 3 | 已驳回 | 4 | |
42
-
43
- ## SALES_COMPANY(销售公司)
44
-
45
- | 值(value) | 显示名称(label) | 排序 | 备注 |
46
- | ---------- | ---------------- | ---- | ---- |
47
- | 01 | 华北公司 | 1 | |
48
- | 02 | 华南公司 | 2 | |
49
- -->
50
-
1
+ # SYS_DICT_INFO — 字典数据基线
2
+
3
+ > **写入方**:`dict-sync pull` 模式从线上拉取后覆盖;`dict-sync push` 完成后追加新增字典
4
+ > **读取方**:`dict-sync push / audit` 模式对比本地 vs 线上差异
5
+ > **格式约定**:每个字典码一个二级标题块,字典项以表格形式列出
6
+
7
+ ---
8
+
9
+ ## 字典码命名规范
10
+
11
+ ```
12
+ 全大写 + 下划线分隔,例如:ORDER_STATUS / SALES_COMPANY / PRODUCT_NAME
13
+ ```
14
+
15
+ data.ts 中引用方式:
16
+ ```typescript
17
+ { logicType: BusLogicDataType.dict, logicValue: "ORDER_STATUS" }
18
+ ```
19
+
20
+ ---
21
+
22
+ ## 字典数据
23
+
24
+ > ⚠️ 基线为空。请执行以下任一方式初始化:
25
+ >
26
+ > 1. **从线上拉取**:对 AI 说「刷新字典基线」→ dict-sync pull 模式自动填充此文件
27
+ > 2. **手动维护**:按以下格式手动添加,后续 push 模式以此为数据源
28
+
29
+ ---
30
+
31
+ <!-- 以下为示例格式,执行 pull 后将被真实数据替换 -->
32
+
33
+ <!--
34
+ ## ORDER_STATUS(订单状态)
35
+
36
+ | 值(value) | 显示名称(label) | 排序 | 备注 |
37
+ | ---------- | ---------------- | ---- | ---- |
38
+ | 0 | 草稿 | 1 | |
39
+ | 1 | 待审核 | 2 | |
40
+ | 2 | 审核通过 | 3 | |
41
+ | 3 | 已驳回 | 4 | |
42
+
43
+ ## SALES_COMPANY(销售公司)
44
+
45
+ | 值(value) | 显示名称(label) | 排序 | 备注 |
46
+ | ---------- | ---------------- | ---- | ---- |
47
+ | 01 | 华北公司 | 1 | |
48
+ | 02 | 华南公司 | 2 | |
49
+ -->
50
+
@@ -1,247 +1,247 @@
1
- # 系统菜单配置 — 客户档案模块(produce / production-mmwr / aiflow)
2
-
3
- > 对应系统管理 → 菜单管理 → 新增菜单,每栏直接复制粘贴。
4
- > **操作顺序:先建目录(第 0 步),再逐个添加菜单(第 1-5 步)。**
5
- >
6
- > **pages.ts 注册位置**:`vite/plugins/shared/pages.ts` → `steelPerformanceSubModule` → `aiflow`
7
- >
8
- > **命名规范**:
9
- >
10
- > | 字段 | 规则 | 示例 |
11
- > | -------- | ----------------------------------------------------------- | ---------------------------------------------------------------- |
12
- > | 菜单路径 | 页面 kebab-name 转 camelCase | `mmwr-customer-archive` → `mmwrCustomerArchive` |
13
- > | 组件路径 | `produce/production-mmwr/aiflow/{页面kebab-name}/index.vue` | `produce/production-mmwr/aiflow/mmwr-customer-archive/index.vue` |
14
- > | 权限标识 | 与菜单路径一致(camelCase) | `mmwrCustomerArchive` |
15
- > | 应用选择 | 生产 | |
16
-
17
- ---
18
-
19
- ## 第 0 步:新建目录
20
-
21
- > Tab 选 **目录**
22
-
23
- | 字段 | 值 |
24
- | -------- | ---------------------------------- |
25
- | 上级目录 | `生产棒线材`(按实际上级目录选择) |
26
- | 菜单名称 | `客户档案管理` |
27
- | 显示排序 | `6` |
28
-
29
- ---
30
-
31
- ## 第 1 步:客户档案
32
-
33
- > Tab 选 **菜单**
34
-
35
- | 字段 | 值 |
36
- | ------------ | ---------------------------------------------------------------- |
37
- | 上级目录 | `客户档案管理` |
38
- | 应用选择 | `生产` |
39
- | 使用缓存 | ◉ 使用 |
40
- | 显示排序 | `1` |
41
- | 菜单路径 | `mmwrCustomerArchive` |
42
- | 菜单名称 | `客户档案` |
43
- | 名称编码后缀 | `kehudangan` |
44
- | 组件路径 | `produce/production-mmwr/aiflow/mmwr-customer-archive/index.vue` |
45
- | 权限标识 | `mmwrCustomerArchive` |
46
- | 是否隐藏 | 否 |
47
-
48
- > pages.ts 对应:`["mmwr-customer-archive", "客户档案"]`
49
-
50
- ---
51
-
52
- ## 第 2 步:临时客户档案
53
-
54
- > Tab 选 **菜单**
55
-
56
- | 字段 | 值 |
57
- | ------------ | --------------------------------------------------------------------- |
58
- | 上级目录 | `客户档案管理` |
59
- | 应用选择 | `生产` |
60
- | 使用缓存 | ◉ 使用 |
61
- | 显示排序 | `2` |
62
- | 菜单路径 | `mmwrTempCustomerArchive` |
63
- | 菜单名称 | `临时客户档案` |
64
- | 名称编码后缀 | `linshikehudangan` |
65
- | 组件路径 | `produce/production-mmwr/aiflow/mmwr-temp-customer-archive/index.vue` |
66
- | 权限标识 | `mmwrTempCustomerArchive` |
67
- | 是否隐藏 | 否 |
68
-
69
- > pages.ts 对应:`["mmwr-temp-customer-archive", "临时客户档案"]`
70
-
71
- ---
72
-
73
- ## 第 3 步:客户申请新增
74
-
75
- > Tab 选 **菜单**
76
-
77
- | 字段 | 值 |
78
- | ------------ | ------------------------------------------------------------------ |
79
- | 上级目录 | `客户档案管理` |
80
- | 应用选择 | `生产` |
81
- | 使用缓存 | ◉ 使用 |
82
- | 显示排序 | `3` |
83
- | 菜单路径 | `mmwrCustomerApplyAdd` |
84
- | 菜单名称 | `客户申请新增` |
85
- | 名称编码后缀 | `kehushenqingxinzeng` |
86
- | 组件路径 | `produce/production-mmwr/aiflow/mmwr-customer-apply-add/index.vue` |
87
- | 权限标识 | `mmwrCustomerApplyAdd` |
88
- | 是否隐藏 | 否 |
89
-
90
- > pages.ts 对应:`["mmwr-customer-apply-add", "客户申请新增"]`
91
-
92
- ---
93
-
94
- ## 第 4 步:客户申请变更
95
-
96
- > Tab 选 **菜单**
97
-
98
- | 字段 | 值 |
99
- | ------------ | --------------------------------------------------------------------- |
100
- | 上级目录 | `客户档案管理` |
101
- | 应用选择 | `生产` |
102
- | 使用缓存 | ◉ 使用 |
103
- | 显示排序 | `4` |
104
- | 菜单路径 | `mmwrCustomerApplyChange` |
105
- | 菜单名称 | `客户申请变更` |
106
- | 名称编码后缀 | `kehushenqingbiangeng` |
107
- | 组件路径 | `produce/production-mmwr/aiflow/mmwr-customer-apply-change/index.vue` |
108
- | 权限标识 | `mmwrCustomerApplyChange` |
109
- | 是否隐藏 | 否 |
110
-
111
- > pages.ts 对应:`["mmwr-customer-apply-change", "客户申请变更"]`
112
-
113
- ---
114
-
115
- ## 第 5 步:客户详情(隐藏菜单)
116
-
117
- > Tab 选 **菜单**
118
-
119
- | 字段 | 值 |
120
- | ------------ | --------------------------------------------------------------- |
121
- | 上级目录 | `客户档案管理` |
122
- | 应用选择 | `生产` |
123
- | 使用缓存 | ◉ 使用 |
124
- | 显示排序 | `5` |
125
- | 菜单路径 | `mmwrCustomerDetail` |
126
- | 菜单名称 | `客户详情` |
127
- | 名称编码后缀 | `kehuxiangqing` |
128
- | 组件路径 | `produce/production-mmwr/aiflow/mmwr-customer-detail/index.vue` |
129
- | 权限标识 | `mmwrCustomerDetail` |
130
- | 是否隐藏 | **是** |
131
-
132
- > pages.ts 对应:`["mmwr-customer-detail", "客户详情"]`
133
-
134
- ---
135
-
136
- ## 第 6 步:客户申请新增表单(隐藏菜单)
137
-
138
- > Tab 选 **菜单**
139
-
140
- | 字段 | 值 |
141
- | ------------ | ----------------------------------------------------------------------- |
142
- | 上级目录 | `客户档案管理` |
143
- | 应用选择 | `生产` |
144
- | 使用缓存 | ◉ 使用 |
145
- | 显示排序 | `6` |
146
- | 菜单路径 | `mmwrCustomerApplyAddForm` |
147
- | 菜单名称 | `客户申请新增表单` |
148
- | 名称编码后缀 | `kehushenqingxinzengbiaodan` |
149
- | 组件路径 | `produce/production-mmwr/aiflow/mmwr-customer-apply-add-form/index.vue` |
150
- | 权限标识 | `mmwrCustomerApplyAddForm` |
151
- | 是否隐藏 | **是** |
152
-
153
- > pages.ts 对应:`["mmwr-customer-apply-add-form", "客户申请新增表单"]`
154
-
155
- ---
156
-
157
- ## 第 7 步:客户申请变更表单(隐藏菜单)
158
-
159
- > Tab 选 **菜单**
160
-
161
- | 字段 | 值 |
162
- | ------------ | -------------------------------------------------------------------------- |
163
- | 上级目录 | `客户档案管理` |
164
- | 应用选择 | `生产` |
165
- | 使用缓存 | ◉ 使用 |
166
- | 显示排序 | `7` |
167
- | 菜单路径 | `mmwrCustomerApplyChangeForm` |
168
- | 菜单名称 | `客户申请变更表单` |
169
- | 名称编码后缀 | `kehushenqingbiangengbiaodan` |
170
- | 组件路径 | `produce/production-mmwr/aiflow/mmwr-customer-apply-change-form/index.vue` |
171
- | 权限标识 | `mmwrCustomerApplyChangeForm` |
172
- | 是否隐藏 | **是** |
173
-
174
- > pages.ts 对应:`["mmwr-customer-apply-change-form", "客户申请变更表单"]`
175
-
176
- ---
177
-
178
- ## 第 8 步:变更历史查询(隐藏菜单)
179
-
180
- > Tab 选 **菜单**
181
-
182
- | 字段 | 值 |
183
- | ------------ | --------------------------------------------------------------------------------------- |
184
- | 上级目录 | `客户档案管理` |
185
- | 应用选择 | `生产` |
186
- | 使用缓存 | ◉ 使用 |
187
- | 显示排序 | `8` |
188
- | 菜单路径 | `mmwrCustomerApplyChangeHistory` |
189
- | 菜单名称 | `变更历史查询` |
190
- | 名称编码后缀 | `biangenglishipinshi` |
191
- | 组件路径 | `produce/production-mmwr/aiflow/mmwr-customer-apply-change-history/index.vue` |
192
- | 权限标识 | `mmwrCustomerApplyChangeHistory` |
193
- | 是否隐藏 | **是** |
194
-
195
- > pages.ts 对应:`["mmwr-customer-apply-change-history", "变更历史查询"]`
196
- > 入口:客户申请新增表单 / 客户申请变更表单 顶部工具栏「变更历史查询」按钮,传入 `query.id = 当前申请ID`
197
-
198
- ---
199
-
200
- ## 汇总对照表
201
-
202
- | # | 菜单名称 | 菜单路径 | 组件路径(views/下) | pages.ts 注册名 | 隐藏 |
203
- | --- | ---------------- | ----------------------------- | -------------------------------------------------------------------------- | --------------------------------- | ------ |
204
- | 1 | 客户档案 | `mmwrCustomerArchive` | `produce/production-mmwr/aiflow/mmwr-customer-archive/index.vue` | `mmwr-customer-archive` | 否 |
205
- | 2 | 临时客户档案 | `mmwrTempCustomerArchive` | `produce/production-mmwr/aiflow/mmwr-temp-customer-archive/index.vue` | `mmwr-temp-customer-archive` | 否 |
206
- | 3 | 客户申请新增 | `mmwrCustomerApplyAdd` | `produce/production-mmwr/aiflow/mmwr-customer-apply-add/index.vue` | `mmwr-customer-apply-add` | 否 |
207
- | 4 | 客户申请变更 | `mmwrCustomerApplyChange` | `produce/production-mmwr/aiflow/mmwr-customer-apply-change/index.vue` | `mmwr-customer-apply-change` | 否 |
208
- | 5 | 客户详情 | `mmwrCustomerDetail` | `produce/production-mmwr/aiflow/mmwr-customer-detail/index.vue` | `mmwr-customer-detail` | **是** |
209
- | 6 | 客户申请新增表单 | `mmwrCustomerApplyAddForm` | `produce/production-mmwr/aiflow/mmwr-customer-apply-add-form/index.vue` | `mmwr-customer-apply-add-form` | **是** |
210
- | 7 | 客户申请变更表单 | `mmwrCustomerApplyChangeForm` | `produce/production-mmwr/aiflow/mmwr-customer-apply-change-form/index.vue` | `mmwr-customer-apply-change-form` | **是** |
211
- | 8 | 变更历史查询 | `mmwrCustomerApplyChangeHistory` | `produce/production-mmwr/aiflow/mmwr-customer-apply-change-history/index.vue` | `mmwr-customer-apply-change-history` | **是** |
212
-
213
- ---
214
-
215
- ## pages.ts 对应关系
216
-
217
- ```typescript
218
- // 生产棒线材 → 客户档案子模块
219
- aiflow: [
220
- ["mmwr-customer-archive", "客户档案"],
221
- ["mmwr-temp-customer-archive", "临时客户档案"],
222
- ["mmwr-customer-apply-add", "客户申请新增"],
223
- ["mmwr-customer-apply-change", "客户申请变更"],
224
- ["mmwr-customer-apply-add-form", "客户申请新增表单"],
225
- ["mmwr-customer-apply-change-form", "客户申请变更表单"],
226
- ["mmwr-customer-detail", "客户详情"],
227
- ["mmwr-customer-apply-change-history", "变更历史查询"]
228
- ];
229
- ```
230
-
231
- ## 详情交互说明
232
-
233
- | 列表页 | 详情入口 | 实现方式 |
234
- | ------------ | ------------------ | ------------------------------------------------------------------------------------- |
235
- | 客户档案 | 操作列「详情」按钮 | 页内 detailDialog 弹窗(8 个 Tab:基本/资质/联系人/地址/银行/发票/适用范围/跟进记录) |
236
- | 临时客户档案 | 客户编号可点击列 | 路由跳转 → `mmwrCustomerDetail`(平铺详情页:基本/联系/送货/银行/发票/跟进记录) |
237
- | 客户申请新增 | 操作列「详情」按钮 | 共享组件 `c_applyDetailDialog`(7 个 Tab) |
238
- | 客户申请变更 | 操作列「详情」按钮 | 共享组件 `c_applyDetailDialog`(7 个 Tab) |
239
-
240
- ## 备注
241
-
242
- - 客户档案详情通过页内 `c_formModal` 弹窗查看;临时客户详情通过路由跳转 `mmwrCustomerDetail` 查看
243
- - 新增/编辑弹窗复用平台 `c_formModal` 组件
244
- - 客户申请新增与客户申请变更共享 `src/components/local/c_applyDetailDialog/index.vue` 详情弹窗
245
- - 变更历史查询通过路由跳转 `mmwrCustomerApplyChangeHistory` 查看,入口在申请表单页工具栏
246
- - **显示排序**:目录排 `6`(接在实绩统计查询后面),菜单从 `1` 开始
247
- - **mmwr- 前缀**:生产棒线材模块下所有页面统一使用 `mmwr-` 前缀(kebab)/ `mmwr` 前缀(camelCase)
1
+ # 系统菜单配置 — 客户档案模块(produce / production-mmwr / aiflow)
2
+
3
+ > 对应系统管理 → 菜单管理 → 新增菜单,每栏直接复制粘贴。
4
+ > **操作顺序:先建目录(第 0 步),再逐个添加菜单(第 1-5 步)。**
5
+ >
6
+ > **pages.ts 注册位置**:`vite/plugins/shared/pages.ts` → `steelPerformanceSubModule` → `aiflow`
7
+ >
8
+ > **命名规范**:
9
+ >
10
+ > | 字段 | 规则 | 示例 |
11
+ > | -------- | ----------------------------------------------------------- | ---------------------------------------------------------------- |
12
+ > | 菜单路径 | 页面 kebab-name 转 camelCase | `mmwr-customer-archive` → `mmwrCustomerArchive` |
13
+ > | 组件路径 | `produce/production-mmwr/aiflow/{页面kebab-name}/index.vue` | `produce/production-mmwr/aiflow/mmwr-customer-archive/index.vue` |
14
+ > | 权限标识 | 与菜单路径一致(camelCase) | `mmwrCustomerArchive` |
15
+ > | 应用选择 | 生产 | |
16
+
17
+ ---
18
+
19
+ ## 第 0 步:新建目录
20
+
21
+ > Tab 选 **目录**
22
+
23
+ | 字段 | 值 |
24
+ | -------- | ---------------------------------- |
25
+ | 上级目录 | `生产棒线材`(按实际上级目录选择) |
26
+ | 菜单名称 | `客户档案管理` |
27
+ | 显示排序 | `6` |
28
+
29
+ ---
30
+
31
+ ## 第 1 步:客户档案
32
+
33
+ > Tab 选 **菜单**
34
+
35
+ | 字段 | 值 |
36
+ | ------------ | ---------------------------------------------------------------- |
37
+ | 上级目录 | `客户档案管理` |
38
+ | 应用选择 | `生产` |
39
+ | 使用缓存 | ◉ 使用 |
40
+ | 显示排序 | `1` |
41
+ | 菜单路径 | `mmwrCustomerArchive` |
42
+ | 菜单名称 | `客户档案` |
43
+ | 名称编码后缀 | `kehudangan` |
44
+ | 组件路径 | `produce/production-mmwr/aiflow/mmwr-customer-archive/index.vue` |
45
+ | 权限标识 | `mmwrCustomerArchive` |
46
+ | 是否隐藏 | 否 |
47
+
48
+ > pages.ts 对应:`["mmwr-customer-archive", "客户档案"]`
49
+
50
+ ---
51
+
52
+ ## 第 2 步:临时客户档案
53
+
54
+ > Tab 选 **菜单**
55
+
56
+ | 字段 | 值 |
57
+ | ------------ | --------------------------------------------------------------------- |
58
+ | 上级目录 | `客户档案管理` |
59
+ | 应用选择 | `生产` |
60
+ | 使用缓存 | ◉ 使用 |
61
+ | 显示排序 | `2` |
62
+ | 菜单路径 | `mmwrTempCustomerArchive` |
63
+ | 菜单名称 | `临时客户档案` |
64
+ | 名称编码后缀 | `linshikehudangan` |
65
+ | 组件路径 | `produce/production-mmwr/aiflow/mmwr-temp-customer-archive/index.vue` |
66
+ | 权限标识 | `mmwrTempCustomerArchive` |
67
+ | 是否隐藏 | 否 |
68
+
69
+ > pages.ts 对应:`["mmwr-temp-customer-archive", "临时客户档案"]`
70
+
71
+ ---
72
+
73
+ ## 第 3 步:客户申请新增
74
+
75
+ > Tab 选 **菜单**
76
+
77
+ | 字段 | 值 |
78
+ | ------------ | ------------------------------------------------------------------ |
79
+ | 上级目录 | `客户档案管理` |
80
+ | 应用选择 | `生产` |
81
+ | 使用缓存 | ◉ 使用 |
82
+ | 显示排序 | `3` |
83
+ | 菜单路径 | `mmwrCustomerApplyAdd` |
84
+ | 菜单名称 | `客户申请新增` |
85
+ | 名称编码后缀 | `kehushenqingxinzeng` |
86
+ | 组件路径 | `produce/production-mmwr/aiflow/mmwr-customer-apply-add/index.vue` |
87
+ | 权限标识 | `mmwrCustomerApplyAdd` |
88
+ | 是否隐藏 | 否 |
89
+
90
+ > pages.ts 对应:`["mmwr-customer-apply-add", "客户申请新增"]`
91
+
92
+ ---
93
+
94
+ ## 第 4 步:客户申请变更
95
+
96
+ > Tab 选 **菜单**
97
+
98
+ | 字段 | 值 |
99
+ | ------------ | --------------------------------------------------------------------- |
100
+ | 上级目录 | `客户档案管理` |
101
+ | 应用选择 | `生产` |
102
+ | 使用缓存 | ◉ 使用 |
103
+ | 显示排序 | `4` |
104
+ | 菜单路径 | `mmwrCustomerApplyChange` |
105
+ | 菜单名称 | `客户申请变更` |
106
+ | 名称编码后缀 | `kehushenqingbiangeng` |
107
+ | 组件路径 | `produce/production-mmwr/aiflow/mmwr-customer-apply-change/index.vue` |
108
+ | 权限标识 | `mmwrCustomerApplyChange` |
109
+ | 是否隐藏 | 否 |
110
+
111
+ > pages.ts 对应:`["mmwr-customer-apply-change", "客户申请变更"]`
112
+
113
+ ---
114
+
115
+ ## 第 5 步:客户详情(隐藏菜单)
116
+
117
+ > Tab 选 **菜单**
118
+
119
+ | 字段 | 值 |
120
+ | ------------ | --------------------------------------------------------------- |
121
+ | 上级目录 | `客户档案管理` |
122
+ | 应用选择 | `生产` |
123
+ | 使用缓存 | ◉ 使用 |
124
+ | 显示排序 | `5` |
125
+ | 菜单路径 | `mmwrCustomerDetail` |
126
+ | 菜单名称 | `客户详情` |
127
+ | 名称编码后缀 | `kehuxiangqing` |
128
+ | 组件路径 | `produce/production-mmwr/aiflow/mmwr-customer-detail/index.vue` |
129
+ | 权限标识 | `mmwrCustomerDetail` |
130
+ | 是否隐藏 | **是** |
131
+
132
+ > pages.ts 对应:`["mmwr-customer-detail", "客户详情"]`
133
+
134
+ ---
135
+
136
+ ## 第 6 步:客户申请新增表单(隐藏菜单)
137
+
138
+ > Tab 选 **菜单**
139
+
140
+ | 字段 | 值 |
141
+ | ------------ | ----------------------------------------------------------------------- |
142
+ | 上级目录 | `客户档案管理` |
143
+ | 应用选择 | `生产` |
144
+ | 使用缓存 | ◉ 使用 |
145
+ | 显示排序 | `6` |
146
+ | 菜单路径 | `mmwrCustomerApplyAddForm` |
147
+ | 菜单名称 | `客户申请新增表单` |
148
+ | 名称编码后缀 | `kehushenqingxinzengbiaodan` |
149
+ | 组件路径 | `produce/production-mmwr/aiflow/mmwr-customer-apply-add-form/index.vue` |
150
+ | 权限标识 | `mmwrCustomerApplyAddForm` |
151
+ | 是否隐藏 | **是** |
152
+
153
+ > pages.ts 对应:`["mmwr-customer-apply-add-form", "客户申请新增表单"]`
154
+
155
+ ---
156
+
157
+ ## 第 7 步:客户申请变更表单(隐藏菜单)
158
+
159
+ > Tab 选 **菜单**
160
+
161
+ | 字段 | 值 |
162
+ | ------------ | -------------------------------------------------------------------------- |
163
+ | 上级目录 | `客户档案管理` |
164
+ | 应用选择 | `生产` |
165
+ | 使用缓存 | ◉ 使用 |
166
+ | 显示排序 | `7` |
167
+ | 菜单路径 | `mmwrCustomerApplyChangeForm` |
168
+ | 菜单名称 | `客户申请变更表单` |
169
+ | 名称编码后缀 | `kehushenqingbiangengbiaodan` |
170
+ | 组件路径 | `produce/production-mmwr/aiflow/mmwr-customer-apply-change-form/index.vue` |
171
+ | 权限标识 | `mmwrCustomerApplyChangeForm` |
172
+ | 是否隐藏 | **是** |
173
+
174
+ > pages.ts 对应:`["mmwr-customer-apply-change-form", "客户申请变更表单"]`
175
+
176
+ ---
177
+
178
+ ## 第 8 步:变更历史查询(隐藏菜单)
179
+
180
+ > Tab 选 **菜单**
181
+
182
+ | 字段 | 值 |
183
+ | ------------ | --------------------------------------------------------------------------------------- |
184
+ | 上级目录 | `客户档案管理` |
185
+ | 应用选择 | `生产` |
186
+ | 使用缓存 | ◉ 使用 |
187
+ | 显示排序 | `8` |
188
+ | 菜单路径 | `mmwrCustomerApplyChangeHistory` |
189
+ | 菜单名称 | `变更历史查询` |
190
+ | 名称编码后缀 | `biangenglishipinshi` |
191
+ | 组件路径 | `produce/production-mmwr/aiflow/mmwr-customer-apply-change-history/index.vue` |
192
+ | 权限标识 | `mmwrCustomerApplyChangeHistory` |
193
+ | 是否隐藏 | **是** |
194
+
195
+ > pages.ts 对应:`["mmwr-customer-apply-change-history", "变更历史查询"]`
196
+ > 入口:客户申请新增表单 / 客户申请变更表单 顶部工具栏「变更历史查询」按钮,传入 `query.id = 当前申请ID`
197
+
198
+ ---
199
+
200
+ ## 汇总对照表
201
+
202
+ | # | 菜单名称 | 菜单路径 | 组件路径(views/下) | pages.ts 注册名 | 隐藏 |
203
+ | --- | ---------------- | ----------------------------- | -------------------------------------------------------------------------- | --------------------------------- | ------ |
204
+ | 1 | 客户档案 | `mmwrCustomerArchive` | `produce/production-mmwr/aiflow/mmwr-customer-archive/index.vue` | `mmwr-customer-archive` | 否 |
205
+ | 2 | 临时客户档案 | `mmwrTempCustomerArchive` | `produce/production-mmwr/aiflow/mmwr-temp-customer-archive/index.vue` | `mmwr-temp-customer-archive` | 否 |
206
+ | 3 | 客户申请新增 | `mmwrCustomerApplyAdd` | `produce/production-mmwr/aiflow/mmwr-customer-apply-add/index.vue` | `mmwr-customer-apply-add` | 否 |
207
+ | 4 | 客户申请变更 | `mmwrCustomerApplyChange` | `produce/production-mmwr/aiflow/mmwr-customer-apply-change/index.vue` | `mmwr-customer-apply-change` | 否 |
208
+ | 5 | 客户详情 | `mmwrCustomerDetail` | `produce/production-mmwr/aiflow/mmwr-customer-detail/index.vue` | `mmwr-customer-detail` | **是** |
209
+ | 6 | 客户申请新增表单 | `mmwrCustomerApplyAddForm` | `produce/production-mmwr/aiflow/mmwr-customer-apply-add-form/index.vue` | `mmwr-customer-apply-add-form` | **是** |
210
+ | 7 | 客户申请变更表单 | `mmwrCustomerApplyChangeForm` | `produce/production-mmwr/aiflow/mmwr-customer-apply-change-form/index.vue` | `mmwr-customer-apply-change-form` | **是** |
211
+ | 8 | 变更历史查询 | `mmwrCustomerApplyChangeHistory` | `produce/production-mmwr/aiflow/mmwr-customer-apply-change-history/index.vue` | `mmwr-customer-apply-change-history` | **是** |
212
+
213
+ ---
214
+
215
+ ## pages.ts 对应关系
216
+
217
+ ```typescript
218
+ // 生产棒线材 → 客户档案子模块
219
+ aiflow: [
220
+ ["mmwr-customer-archive", "客户档案"],
221
+ ["mmwr-temp-customer-archive", "临时客户档案"],
222
+ ["mmwr-customer-apply-add", "客户申请新增"],
223
+ ["mmwr-customer-apply-change", "客户申请变更"],
224
+ ["mmwr-customer-apply-add-form", "客户申请新增表单"],
225
+ ["mmwr-customer-apply-change-form", "客户申请变更表单"],
226
+ ["mmwr-customer-detail", "客户详情"],
227
+ ["mmwr-customer-apply-change-history", "变更历史查询"]
228
+ ];
229
+ ```
230
+
231
+ ## 详情交互说明
232
+
233
+ | 列表页 | 详情入口 | 实现方式 |
234
+ | ------------ | ------------------ | ------------------------------------------------------------------------------------- |
235
+ | 客户档案 | 操作列「详情」按钮 | 页内 detailDialog 弹窗(8 个 Tab:基本/资质/联系人/地址/银行/发票/适用范围/跟进记录) |
236
+ | 临时客户档案 | 客户编号可点击列 | 路由跳转 → `mmwrCustomerDetail`(平铺详情页:基本/联系/送货/银行/发票/跟进记录) |
237
+ | 客户申请新增 | 操作列「详情」按钮 | 共享组件 `c_applyDetailDialog`(7 个 Tab) |
238
+ | 客户申请变更 | 操作列「详情」按钮 | 共享组件 `c_applyDetailDialog`(7 个 Tab) |
239
+
240
+ ## 备注
241
+
242
+ - 客户档案详情通过页内 `c_formModal` 弹窗查看;临时客户详情通过路由跳转 `mmwrCustomerDetail` 查看
243
+ - 新增/编辑弹窗复用平台 `c_formModal` 组件
244
+ - 客户申请新增与客户申请变更共享 `src/components/local/c_applyDetailDialog/index.vue` 详情弹窗
245
+ - 变更历史查询通过路由跳转 `mmwrCustomerApplyChangeHistory` 查看,入口在申请表单页工具栏
246
+ - **显示排序**:目录排 `6`(接在实绩统计查询后面),菜单从 `1` 开始
247
+ - **mmwr- 前缀**:生产棒线材模块下所有页面统一使用 `mmwr-` 前缀(kebab)/ `mmwr` 前缀(camelCase)