@agile-team/wl-skills-kit 2.11.0 → 2.11.2

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 (95) hide show
  1. package/CHANGELOG.md +47 -9
  2. package/README.md +41 -23
  3. package/bin/wl-skills.js +133 -39
  4. package/docs/agent-pipeline-runbook.md +3 -3
  5. package/docs//345/205/250/347/233/230/345/210/206/346/236/220/344/270/216/346/231/272/350/203/275/344/275/223/346/220/255/345/273/272/346/214/207/345/215/227.md +4 -4
  6. package/files/.wl-skills/copilot-instructions-full.md +233 -233
  7. package/files/.wl-skills/docs/jh-pagination.md +505 -505
  8. package/files/.wl-skills/docs/page-spec-schema.md +109 -0
  9. package/files/.wl-skills/docs/request.md +940 -940
  10. package/files/.wl-skills/guides/architecture.md +1 -1
  11. package/files/.wl-skills/skills/core/convention-audit/SKILL.md +3 -3
  12. package/files/.wl-skills/skills/core/page-codegen/SKILL.md +10 -4
  13. package/files/.wl-skills/skills/core/spec-doc-parse/SKILL.md +332 -332
  14. package/files/.wl-skills/skills/core/spec-doc-parse/USAGE.md +97 -97
  15. package/files/.wl-skills/skills/sync/permission-sync/USAGE.md +107 -107
  16. package/files/.wl-skills/src/components/global/C_ParentView/index.vue +3 -3
  17. package/files/.wl-skills/src/components/global/C_RightToolbar/index.vue +157 -157
  18. package/files/.wl-skills/src/components/global/C_SvgIcon/index.vue +31 -31
  19. package/files/.wl-skills/src/components/global/C_SvgIcon/svgicon.js +10 -10
  20. package/files/.wl-skills/src/components/global/C_TagStatus/README.md +264 -264
  21. package/files/.wl-skills/src/components/global/C_TagStatus/config.ts +192 -192
  22. package/files/.wl-skills/src/components/global/C_TagStatus/index.vue +106 -106
  23. package/files/.wl-skills/src/components/global/C_TagStatus/types.ts +64 -64
  24. package/files/.wl-skills/src/components/global/C_Tree/README.md +153 -153
  25. package/files/.wl-skills/src/components/global/C_Tree/index.scss +42 -42
  26. package/files/.wl-skills/src/components/global/C_Tree/index.vue +78 -78
  27. package/files/.wl-skills/src/components/global/C_Tree/types.ts +59 -59
  28. package/files/.wl-skills/src/components/local/c_formModal/README.md +235 -235
  29. package/files/.wl-skills/src/components/local/c_formModal/data.ts +95 -95
  30. package/files/.wl-skills/src/components/local/c_formModal/index.scss +8 -8
  31. package/files/.wl-skills/src/components/local/c_formModal/index.vue +107 -107
  32. package/files/.wl-skills/src/components/local/c_formSections/data.ts +175 -175
  33. package/files/.wl-skills/src/components/local/c_formSections/index.scss +280 -280
  34. package/files/.wl-skills/src/components/local/c_formSections/index.vue +429 -429
  35. package/files/.wl-skills/src/components/local/c_listModal/data.ts +41 -41
  36. package/files/.wl-skills/src/components/local/c_listModal/index.vue +136 -136
  37. package/files/.wl-skills/src/components/local/c_spliterTitle/index.scss +25 -25
  38. package/files/.wl-skills/src/components/local/c_spliterTitle/index.vue +21 -21
  39. package/files/.wl-skills/src/components/remote/AGGrid/README.md +530 -530
  40. package/files/.wl-skills/src/components/remote/BaseForm/README.md +508 -508
  41. package/files/.wl-skills/src/components/remote/BaseQuery/README.md +865 -865
  42. package/files/.wl-skills/src/components/remote/BaseTable/README.md +941 -941
  43. package/files/.wl-skills/src/components/remote/BaseToolbar/README.md +496 -496
  44. package/files/.wl-skills/src/types/page.ts +24 -24
  45. package/files/.wl-skills/standards/04-coding-basics.md +39 -1
  46. package/files/.wl-skills/standards/09-typescript.md +26 -3
  47. package/files/.wl-skills/standards/14-layout-containers.md +6 -6
  48. package/files/.wl-skills/standards/index.md +2 -2
  49. package/files/.wl-skills/templates/README.md +44 -44
  50. package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-apply-add/api.md +54 -54
  51. package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-apply-add/data.ts +346 -346
  52. package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-apply-add/index.scss +1 -1
  53. package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-apply-add/index.vue +28 -28
  54. package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-apply-add-form/data.ts +115 -115
  55. package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-apply-add-form/index.scss +44 -44
  56. package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-apply-add-form/index.vue +43 -43
  57. package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-apply-change/data.ts +338 -338
  58. package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-apply-change/index.scss +1 -1
  59. package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-apply-change/index.vue +28 -28
  60. package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-apply-change-form/data.ts +115 -115
  61. package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-apply-change-form/index.scss +44 -44
  62. package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-apply-change-form/index.vue +43 -43
  63. package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-archive/api.md +88 -88
  64. package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-archive/data.ts +601 -601
  65. package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-archive/index.scss +1 -1
  66. package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-archive/index.vue +64 -64
  67. package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-detail/api.md +67 -67
  68. package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-detail/data.ts +286 -286
  69. package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-detail/index.scss +139 -139
  70. package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-detail/index.vue +318 -318
  71. package/files/.wl-skills/templates/produce/aiflow/mmwr-temp-customer-archive/api.md +98 -98
  72. package/files/.wl-skills/templates/produce/aiflow/mmwr-temp-customer-archive/data.ts +543 -543
  73. package/files/.wl-skills/templates/produce/aiflow/mmwr-temp-customer-archive/index.scss +1 -1
  74. package/files/.wl-skills/templates/produce/aiflow/mmwr-temp-customer-archive/index.vue +52 -52
  75. package/files/.wl-skills/templates/sale/demo/add-demo/data.ts +518 -518
  76. package/files/.wl-skills/templates/sale/demo/billet-flame-cut-plan/data.ts +524 -524
  77. package/files/.wl-skills/templates/sale/demo/billet-flame-cut-plan/index.scss +154 -154
  78. package/files/.wl-skills/templates/sale/demo/billet-flame-cut-plan/index.vue +117 -117
  79. package/files/.wl-skills/templates/sale/demo/domestic-trade-order/data.ts +308 -308
  80. package/files/.wl-skills/templates/sale/demo/domestic-trade-order/index.scss +99 -99
  81. package/files/.wl-skills/templates/sale/demo/domestic-trade-order/index.vue +77 -77
  82. package/files/.wl-skills/templates/sale/demo/heat-batch-return/data.ts +367 -367
  83. package/files/.wl-skills/templates/sale/demo/heat-batch-return/index.scss +100 -100
  84. package/files/.wl-skills/templates/sale/demo/heat-batch-return/index.vue +170 -170
  85. package/files/.wl-skills/templates/sale/demo/heat-batch-return/meltDialog.vue +320 -320
  86. package/files/.wl-skills/templates/sale/demo/metallurgical-spec/data.ts +824 -824
  87. package/lib/ast-rules.js +304 -9
  88. package/lib/page-spec.js +588 -0
  89. package/lib/safe-fix.js +115 -0
  90. package/mcp/config.js +47 -47
  91. package/mcp/registry.js +6 -1
  92. package/mcp/tools/projectTools.js +19 -1
  93. package/package.json +16 -11
  94. package/files/.wl-skills/src/components/global/C_Splitter/index.scss +0 -61
  95. package/files/.wl-skills/src/components/global/C_Splitter/index.vue +0 -149
@@ -1 +1 @@
1
- // 客户档案 - 页面样式
1
+ // 客户档案 - 页面样式
@@ -1,64 +1,64 @@
1
- <template>
2
- <div class="app-container app-page-container">
3
- <BaseQuery
4
- :form="queryParam"
5
- :items="queryItems"
6
- @select="select"
7
- @reset="select"
8
- />
9
- <BaseToolbar :items="toolbars" />
10
- <el-tabs v-model="activeView">
11
- <el-tab-pane label="管理视角" name="management">
12
- <BaseTable
13
- v-if="activeView === 'management'"
14
- ref="tableRef"
15
- :data="list"
16
- :columns="mgmtCols"
17
- showToolbar
18
- />
19
- </el-tab-pane>
20
- <el-tab-pane label="使用视角" name="usage">
21
- <BaseTable
22
- v-if="activeView === 'usage'"
23
- ref="tableRef"
24
- :data="list"
25
- :columns="useCols"
26
- showToolbar
27
- />
28
- </el-tab-pane>
29
- </el-tabs>
30
- <jh-pagination
31
- v-show="page.total && page.total > 0"
32
- :total="page.total || 0"
33
- v-model:currentPage="page.current"
34
- v-model:pageSize="page.size"
35
- @current-change="select"
36
- @size-change="select"
37
- />
38
- <c_formModal ref="editModalRef" v-bind="modalConfig" @ok="select" />
39
- </div>
40
- </template>
41
-
42
- <script setup lang="ts">
43
- import {
44
- createPage,
45
- modalConfig,
46
- managementColumns,
47
- usageColumns
48
- } from "./data";
49
- import c_formModal from "@/components/local/c_formModal/index.vue";
50
-
51
- const editModalRef = ref();
52
- const Page = createPage(editModalRef);
53
- const { tableRef, page, queryParam, list, queryItems, toolbars, select } = Page;
54
-
55
- const activeView = ref("management");
56
- const mgmtCols = managementColumns();
57
- const useCols = usageColumns();
58
-
59
- onMounted(() => select());
60
- </script>
61
-
62
- <style scoped lang="scss">
63
- @import "./index.scss";
64
- </style>
1
+ <template>
2
+ <div class="app-container app-page-container">
3
+ <BaseQuery
4
+ :form="queryParam"
5
+ :items="queryItems"
6
+ @select="select"
7
+ @reset="select"
8
+ />
9
+ <BaseToolbar :items="toolbars" />
10
+ <el-tabs v-model="activeView">
11
+ <el-tab-pane label="管理视角" name="management">
12
+ <BaseTable
13
+ v-if="activeView === 'management'"
14
+ ref="tableRef"
15
+ :data="list"
16
+ :columns="mgmtCols"
17
+ showToolbar
18
+ />
19
+ </el-tab-pane>
20
+ <el-tab-pane label="使用视角" name="usage">
21
+ <BaseTable
22
+ v-if="activeView === 'usage'"
23
+ ref="tableRef"
24
+ :data="list"
25
+ :columns="useCols"
26
+ showToolbar
27
+ />
28
+ </el-tab-pane>
29
+ </el-tabs>
30
+ <jh-pagination
31
+ v-show="page.total && page.total > 0"
32
+ :total="page.total || 0"
33
+ v-model:currentPage="page.current"
34
+ v-model:pageSize="page.size"
35
+ @current-change="select"
36
+ @size-change="select"
37
+ />
38
+ <c_formModal ref="editModalRef" v-bind="modalConfig" @ok="select" />
39
+ </div>
40
+ </template>
41
+
42
+ <script setup lang="ts">
43
+ import {
44
+ createPage,
45
+ modalConfig,
46
+ managementColumns,
47
+ usageColumns
48
+ } from "./data";
49
+ import c_formModal from "@/components/local/c_formModal/index.vue";
50
+
51
+ const editModalRef = ref();
52
+ const Page = createPage(editModalRef);
53
+ const { tableRef, page, queryParam, list, queryItems, toolbars, select } = Page;
54
+
55
+ const activeView = ref("management");
56
+ const mgmtCols = managementColumns();
57
+ const useCols = usageColumns();
58
+
59
+ onMounted(() => select());
60
+ </script>
61
+
62
+ <style scoped lang="scss">
63
+ @import "./index.scss";
64
+ </style>
@@ -1,67 +1,67 @@
1
- # 客户详情 接口约定
2
-
3
- > 服务: sale | 资源: customerArchive
4
- > 页面类型: 多 Tab 只读详情页(7 基础 Tab + 企业核实 + 6 扩展 Tab)
5
-
6
- ## 1. 获取客户详情
7
-
8
- ```
9
- GET /sale/customerArchive/getById?id={id}
10
- ```
11
-
12
- Response 结构同 [customer-apply-change/api.md](../customer-apply-change/api.md),
13
- 额外包含 `verificationInfo` 字段:
14
-
15
- ```json
16
- {
17
- "verificationInfo": {
18
- "companyName": "string",
19
- "legalPerson": "string",
20
- "companyStatus": "string",
21
- "creditCode": "string",
22
- "registeredCapital": "string",
23
- "establishDate": "string",
24
- "companyType": "string",
25
- "region": "string",
26
- "registrationAuthority": "string",
27
- "businessScope": "string"
28
- }
29
- }
30
- ```
31
-
32
- ## 2. 企业核实确认
33
-
34
- ```
35
- POST /sale/customerArchive/verify
36
- ```
37
-
38
- Request: `{ id: string }`
39
-
40
- ---
41
-
42
- ## 3. 扩展 Tab 列表接口
43
-
44
- 所有接口均为 `GET` 请求,参数 `customerId={id}`,返回 `data: Array`。
45
-
46
- | Tab | 接口路径 |
47
- | ---------- | ----------------------------------------- |
48
- | 不良记录 | `/sale/customerArchive/badRecord/list` |
49
- | 里程碑事件 | `/sale/customerArchive/milestone/list` |
50
- | 询单需求 | `/sale/customerArchive/inquiry/list` |
51
- | 跟进记录 | `/sale/customerArchive/followUp/list` |
52
- | 客诉记录 | `/sale/customerArchive/complaint/list` |
53
- | 历史销量 | `/sale/customerArchive/historySales/list` |
54
-
55
- ### 各接口 Response 字段
56
-
57
- **不良记录**: contractNo, badType, badInfo, createDate, status
58
-
59
- **里程碑事件**: recordDate, milestoneType(首次接触/首次询单/首次合同), detail
60
-
61
- **询单需求**: steelType, size, price, quantity, remark, tradeCondition, paymentMethod
62
-
63
- **跟进记录**: activityDate, activityNo, activityTitle, activityContent, createBy
64
-
65
- **客诉记录**: complaintDate, complaintNo, complaintSubject, handleContent, handleDate, handleBy
66
-
67
- **历史销量记录**: steelGrade, spec, unit, orderQty, orderAmount, outboundQty, outboundAmount, settlementQty, settlementAmount
1
+ # 客户详情 接口约定
2
+
3
+ > 服务: sale | 资源: customerArchive
4
+ > 页面类型: 多 Tab 只读详情页(7 基础 Tab + 企业核实 + 6 扩展 Tab)
5
+
6
+ ## 1. 获取客户详情
7
+
8
+ ```
9
+ GET /sale/customerArchive/getById?id={id}
10
+ ```
11
+
12
+ Response 结构同 [customer-apply-change/api.md](../customer-apply-change/api.md),
13
+ 额外包含 `verificationInfo` 字段:
14
+
15
+ ```json
16
+ {
17
+ "verificationInfo": {
18
+ "companyName": "string",
19
+ "legalPerson": "string",
20
+ "companyStatus": "string",
21
+ "creditCode": "string",
22
+ "registeredCapital": "string",
23
+ "establishDate": "string",
24
+ "companyType": "string",
25
+ "region": "string",
26
+ "registrationAuthority": "string",
27
+ "businessScope": "string"
28
+ }
29
+ }
30
+ ```
31
+
32
+ ## 2. 企业核实确认
33
+
34
+ ```
35
+ POST /sale/customerArchive/verify
36
+ ```
37
+
38
+ Request: `{ id: string }`
39
+
40
+ ---
41
+
42
+ ## 3. 扩展 Tab 列表接口
43
+
44
+ 所有接口均为 `GET` 请求,参数 `customerId={id}`,返回 `data: Array`。
45
+
46
+ | Tab | 接口路径 |
47
+ | ---------- | ----------------------------------------- |
48
+ | 不良记录 | `/sale/customerArchive/badRecord/list` |
49
+ | 里程碑事件 | `/sale/customerArchive/milestone/list` |
50
+ | 询单需求 | `/sale/customerArchive/inquiry/list` |
51
+ | 跟进记录 | `/sale/customerArchive/followUp/list` |
52
+ | 客诉记录 | `/sale/customerArchive/complaint/list` |
53
+ | 历史销量 | `/sale/customerArchive/historySales/list` |
54
+
55
+ ### 各接口 Response 字段
56
+
57
+ **不良记录**: contractNo, badType, badInfo, createDate, status
58
+
59
+ **里程碑事件**: recordDate, milestoneType(首次接触/首次询单/首次合同), detail
60
+
61
+ **询单需求**: steelType, size, price, quantity, remark, tradeCondition, paymentMethod
62
+
63
+ **跟进记录**: activityDate, activityNo, activityTitle, activityContent, createBy
64
+
65
+ **客诉记录**: complaintDate, complaintNo, complaintSubject, handleContent, handleDate, handleBy
66
+
67
+ **历史销量记录**: steelGrade, spec, unit, orderQty, orderAmount, outboundQty, outboundAmount, settlementQty, settlementAmount