@agile-team/wl-skills-kit 2.11.1 → 2.11.3

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 +25 -0
  2. package/README.md +38 -21
  3. package/bin/wl-skills.js +27 -3
  4. package/files/.wl-skills/docs/jh-pagination.md +505 -505
  5. package/files/.wl-skills/docs/request.md +940 -940
  6. package/files/.wl-skills/docs/validate-exempt.md +113 -0
  7. package/files/.wl-skills/guides/architecture.md +1 -1
  8. package/files/.wl-skills/skills/_compat/headers/cursor-mdc.txt +1 -1
  9. package/files/.wl-skills/skills/_compat/headers/kiro.txt +1 -1
  10. package/files/.wl-skills/skills/_compat/headers/trae.txt +1 -1
  11. package/files/.wl-skills/skills/core/convention-audit/SKILL.md +3 -3
  12. package/files/.wl-skills/skills/core/spec-doc-parse/SKILL.md +332 -332
  13. package/files/.wl-skills/skills/core/spec-doc-parse/USAGE.md +97 -97
  14. package/files/.wl-skills/skills/sync/permission-sync/USAGE.md +107 -107
  15. package/files/.wl-skills/src/components/global/C_ParentView/index.vue +3 -3
  16. package/files/.wl-skills/src/components/global/C_RightToolbar/index.vue +157 -157
  17. package/files/.wl-skills/src/components/global/C_SvgIcon/index.vue +31 -31
  18. package/files/.wl-skills/src/components/global/C_SvgIcon/svgicon.js +10 -10
  19. package/files/.wl-skills/src/components/global/C_TagStatus/README.md +264 -264
  20. package/files/.wl-skills/src/components/global/C_TagStatus/config.ts +192 -192
  21. package/files/.wl-skills/src/components/global/C_TagStatus/index.vue +106 -106
  22. package/files/.wl-skills/src/components/global/C_TagStatus/types.ts +64 -64
  23. package/files/.wl-skills/src/components/global/C_Tree/README.md +153 -153
  24. package/files/.wl-skills/src/components/global/C_Tree/index.scss +42 -42
  25. package/files/.wl-skills/src/components/global/C_Tree/index.vue +78 -78
  26. package/files/.wl-skills/src/components/global/C_Tree/types.ts +59 -59
  27. package/files/.wl-skills/src/components/local/c_formModal/README.md +235 -235
  28. package/files/.wl-skills/src/components/local/c_formModal/data.ts +95 -95
  29. package/files/.wl-skills/src/components/local/c_formModal/index.scss +8 -8
  30. package/files/.wl-skills/src/components/local/c_formModal/index.vue +107 -107
  31. package/files/.wl-skills/src/components/local/c_formSections/data.ts +175 -175
  32. package/files/.wl-skills/src/components/local/c_formSections/index.scss +280 -280
  33. package/files/.wl-skills/src/components/local/c_formSections/index.vue +429 -429
  34. package/files/.wl-skills/src/components/local/c_listModal/data.ts +41 -41
  35. package/files/.wl-skills/src/components/local/c_listModal/index.vue +136 -136
  36. package/files/.wl-skills/src/components/local/c_spliterTitle/index.scss +25 -25
  37. package/files/.wl-skills/src/components/local/c_spliterTitle/index.vue +21 -21
  38. package/files/.wl-skills/src/components/remote/AGGrid/README.md +530 -530
  39. package/files/.wl-skills/src/components/remote/BaseForm/README.md +508 -508
  40. package/files/.wl-skills/src/components/remote/BaseQuery/README.md +865 -865
  41. package/files/.wl-skills/src/components/remote/BaseTable/README.md +941 -941
  42. package/files/.wl-skills/src/components/remote/BaseToolbar/README.md +496 -496
  43. package/files/.wl-skills/src/types/page.ts +24 -24
  44. package/files/.wl-skills/standards/04-coding-basics.md +39 -1
  45. package/files/.wl-skills/standards/09-typescript.md +26 -3
  46. package/files/.wl-skills/standards/12-base-table.md +56 -4
  47. package/files/.wl-skills/standards/13-platform-components.md +1 -0
  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 +395 -12
  88. package/mcp/config.js +46 -46
  89. package/mcp/registry.js +6 -1
  90. package/mcp/tools/projectTools.js +9 -1
  91. package/package.json +2 -2
@@ -1,99 +1,99 @@
1
- /**
2
- * 内贸订单 - 样式层
3
- */
4
-
5
- .app-container {
6
- margin: 8px;
7
- &.app-page-container {
8
- padding: 16px;
9
- background-color: #fff;
10
- }
11
- }
12
-
13
- .base-toolbar-content {
14
- flex-wrap: wrap;
15
- }
16
-
17
- // 查询区域下拉框宽度统一
18
- :deep(.base-query) {
19
- .el-select {
20
- width: 100%;
21
- }
22
- }
23
-
24
- // 工具栏按钮样式
25
- :deep(.base-toolbar) {
26
- .el-button.is-plain {
27
- font-size: 12px;
28
- }
29
- }
30
-
31
- // 玻璃风格按钮 - 淡蓝色高级玻璃质感
32
- :deep(.glass-button) {
33
- position: relative;
34
- background: linear-gradient(
35
- 135deg,
36
- rgba(135, 206, 250, 0.25) 0%,
37
- rgba(173, 216, 230, 0.15) 50%,
38
- rgba(135, 206, 250, 0.2) 100%
39
- ) !important;
40
- backdrop-filter: blur(16px) !important;
41
- -webkit-backdrop-filter: blur(16px) !important;
42
- border: 1px solid rgba(135, 206, 250, 0.4) !important;
43
- box-shadow: 0 4px 16px rgba(135, 206, 250, 0.15),
44
- inset 0 1px 0 rgba(255, 255, 255, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.1) !important;
45
- color: #2c5f8a !important;
46
- font-weight: 500;
47
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
48
-
49
- // 添加光泽效果
50
- &::before {
51
- content: "";
52
- position: absolute;
53
- top: 0;
54
- left: 0;
55
- right: 0;
56
- height: 50%;
57
- background: linear-gradient(
58
- 180deg,
59
- rgba(255, 255, 255, 0.2) 0%,
60
- rgba(255, 255, 255, 0) 100%
61
- );
62
- border-radius: inherit;
63
- pointer-events: none;
64
- }
65
-
66
- &:hover {
67
- background: linear-gradient(
68
- 135deg,
69
- rgba(135, 206, 250, 0.35) 0%,
70
- rgba(173, 216, 230, 0.25) 50%,
71
- rgba(135, 206, 250, 0.3) 100%
72
- ) !important;
73
- border-color: rgba(64, 158, 255, 0.6) !important;
74
- box-shadow: 0 8px 24px rgba(135, 206, 250, 0.25),
75
- inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.2) !important;
76
- color: #1a4a75 !important;
77
- transform: translateY(-1px);
78
- }
79
-
80
- &:active {
81
- transform: translateY(0);
82
- box-shadow: 0 2px 8px rgba(135, 206, 250, 0.2),
83
- inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
84
- }
85
- }
86
- // 表格区域
87
- :deep(.el-table) {
88
- .el-table__header {
89
- th {
90
- background-color: #f5f7fa;
91
- }
92
- }
93
- }
94
-
95
- // 分页区域
96
- :deep(.jh-pagination) {
97
- margin-top: 16px;
98
- justify-content: flex-end;
99
- }
1
+ /**
2
+ * 内贸订单 - 样式层
3
+ */
4
+
5
+ .app-container {
6
+ margin: 8px;
7
+ &.app-page-container {
8
+ padding: 16px;
9
+ background-color: #fff;
10
+ }
11
+ }
12
+
13
+ .base-toolbar-content {
14
+ flex-wrap: wrap;
15
+ }
16
+
17
+ // 查询区域下拉框宽度统一
18
+ :deep(.base-query) {
19
+ .el-select {
20
+ width: 100%;
21
+ }
22
+ }
23
+
24
+ // 工具栏按钮样式
25
+ :deep(.base-toolbar) {
26
+ .el-button.is-plain {
27
+ font-size: 12px;
28
+ }
29
+ }
30
+
31
+ // 玻璃风格按钮 - 淡蓝色高级玻璃质感
32
+ :deep(.glass-button) {
33
+ position: relative;
34
+ background: linear-gradient(
35
+ 135deg,
36
+ rgba(135, 206, 250, 0.25) 0%,
37
+ rgba(173, 216, 230, 0.15) 50%,
38
+ rgba(135, 206, 250, 0.2) 100%
39
+ ) !important;
40
+ backdrop-filter: blur(16px) !important;
41
+ -webkit-backdrop-filter: blur(16px) !important;
42
+ border: 1px solid rgba(135, 206, 250, 0.4) !important;
43
+ box-shadow: 0 4px 16px rgba(135, 206, 250, 0.15),
44
+ inset 0 1px 0 rgba(255, 255, 255, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.1) !important;
45
+ color: #2c5f8a !important;
46
+ font-weight: 500;
47
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
48
+
49
+ // 添加光泽效果
50
+ &::before {
51
+ content: "";
52
+ position: absolute;
53
+ top: 0;
54
+ left: 0;
55
+ right: 0;
56
+ height: 50%;
57
+ background: linear-gradient(
58
+ 180deg,
59
+ rgba(255, 255, 255, 0.2) 0%,
60
+ rgba(255, 255, 255, 0) 100%
61
+ );
62
+ border-radius: inherit;
63
+ pointer-events: none;
64
+ }
65
+
66
+ &:hover {
67
+ background: linear-gradient(
68
+ 135deg,
69
+ rgba(135, 206, 250, 0.35) 0%,
70
+ rgba(173, 216, 230, 0.25) 50%,
71
+ rgba(135, 206, 250, 0.3) 100%
72
+ ) !important;
73
+ border-color: rgba(64, 158, 255, 0.6) !important;
74
+ box-shadow: 0 8px 24px rgba(135, 206, 250, 0.25),
75
+ inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.2) !important;
76
+ color: #1a4a75 !important;
77
+ transform: translateY(-1px);
78
+ }
79
+
80
+ &:active {
81
+ transform: translateY(0);
82
+ box-shadow: 0 2px 8px rgba(135, 206, 250, 0.2),
83
+ inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
84
+ }
85
+ }
86
+ // 表格区域
87
+ :deep(.el-table) {
88
+ .el-table__header {
89
+ th {
90
+ background-color: #f5f7fa;
91
+ }
92
+ }
93
+ }
94
+
95
+ // 分页区域
96
+ :deep(.jh-pagination) {
97
+ margin-top: 16px;
98
+ justify-content: flex-end;
99
+ }
@@ -1,77 +1,77 @@
1
- <!--
2
- * @Author: ChenYu ycyplus@gmail.com
3
- * @Date: 2025-12-31 11:03:17
4
- * @LastEditors: ChenYu ycyplus@gmail.com
5
- * @LastEditTime: 2026-01-01 22:21:41
6
- * @FilePath: \cx-ui-sale\src\views\sale\demo\domestic-trade-order\index.vue
7
- * @Description: 内贸订单 - 视图层(内贸订单列表的查询、新增、编辑、删除)
8
- * Copyright (c) 2025 by CHENY, All Rights Reserved 😎.
9
- -->
10
- <template>
11
- <div class="app-container app-page-container">
12
- <!-- 搜索栏 -->
13
- <BaseQuery
14
- :form="queryParam"
15
- :items="queryItems"
16
- :columns="5"
17
- :auto-select="false"
18
- @select="select"
19
- @reset="select"
20
- />
21
- <!-- 工具栏 -->
22
- <BaseToolbar :items="toolbars" :rightItems="rightToolbars" />
23
- <!-- 表格 -->
24
- <BaseTable
25
- ref="tableRef"
26
- :data="list"
27
- :columns="columns"
28
- :render-type="renderType"
29
- showToolbar
30
- />
31
- <!-- 分页 -->
32
- <jh-pagination
33
- v-show="page.total && page.total > 0"
34
- :total="page.total || 0"
35
- v-model:currentPage="page.current"
36
- v-model:pageSize="page.size"
37
- @current-change="select"
38
- @size-change="select"
39
- />
40
- </div>
41
- <!-- 表单弹窗 -->
42
- <c_formModal ref="modalRef" v-bind="modalConfig" @ok="select" />
43
- </template>
44
-
45
- <script setup lang="ts">
46
- import c_formModal from "@/components/local/c_formModal/index.vue";
47
- import { createPage, renderType, modalConfig } from "./data";
48
-
49
- // 弹窗引用
50
- const modalRef = ref<InstanceType<typeof c_formModal>>();
51
-
52
- // 创建页面Hook实例
53
- const Page = createPage(modalRef);
54
-
55
- // 解构使用
56
- const { page, queryParam, list, queryItems, toolbars, columns, select } = Page;
57
-
58
- // TODO: 右侧工具栏 - 临时用于切换表格类型演示,未来需删除除)
59
- const rightToolbars = [
60
- {
61
- label: "切换表格",
62
- classnames: ["glass-button"],
63
- onClick: () => {
64
- renderType.value = renderType.value === "dataTable" ? "agGrid" : "dataTable";
65
- }
66
- }
67
- ];
68
-
69
- // 初始化
70
- onMounted(() => {
71
- select();
72
- });
73
- </script>
74
-
75
- <style scoped lang="scss">
76
- @import "./index.scss";
77
- </style>
1
+ <!--
2
+ * @Author: ChenYu ycyplus@gmail.com
3
+ * @Date: 2025-12-31 11:03:17
4
+ * @LastEditors: ChenYu ycyplus@gmail.com
5
+ * @LastEditTime: 2026-01-01 22:21:41
6
+ * @FilePath: \cx-ui-sale\src\views\sale\demo\domestic-trade-order\index.vue
7
+ * @Description: 内贸订单 - 视图层(内贸订单列表的查询、新增、编辑、删除)
8
+ * Copyright (c) 2025 by CHENY, All Rights Reserved 😎.
9
+ -->
10
+ <template>
11
+ <div class="app-container app-page-container">
12
+ <!-- 搜索栏 -->
13
+ <BaseQuery
14
+ :form="queryParam"
15
+ :items="queryItems"
16
+ :columns="5"
17
+ :auto-select="false"
18
+ @select="select"
19
+ @reset="select"
20
+ />
21
+ <!-- 工具栏 -->
22
+ <BaseToolbar :items="toolbars" :rightItems="rightToolbars" />
23
+ <!-- 表格 -->
24
+ <BaseTable
25
+ ref="tableRef"
26
+ :data="list"
27
+ :columns="columns"
28
+ :render-type="renderType"
29
+ showToolbar
30
+ />
31
+ <!-- 分页 -->
32
+ <jh-pagination
33
+ v-show="page.total && page.total > 0"
34
+ :total="page.total || 0"
35
+ v-model:currentPage="page.current"
36
+ v-model:pageSize="page.size"
37
+ @current-change="select"
38
+ @size-change="select"
39
+ />
40
+ </div>
41
+ <!-- 表单弹窗 -->
42
+ <c_formModal ref="modalRef" v-bind="modalConfig" @ok="select" />
43
+ </template>
44
+
45
+ <script setup lang="ts">
46
+ import c_formModal from "@/components/local/c_formModal/index.vue";
47
+ import { createPage, renderType, modalConfig } from "./data";
48
+
49
+ // 弹窗引用
50
+ const modalRef = ref<InstanceType<typeof c_formModal>>();
51
+
52
+ // 创建页面Hook实例
53
+ const Page = createPage(modalRef);
54
+
55
+ // 解构使用
56
+ const { page, queryParam, list, queryItems, toolbars, columns, select } = Page;
57
+
58
+ // TODO: 右侧工具栏 - 临时用于切换表格类型演示,未来需删除除)
59
+ const rightToolbars = [
60
+ {
61
+ label: "切换表格",
62
+ classnames: ["glass-button"],
63
+ onClick: () => {
64
+ renderType.value = renderType.value === "dataTable" ? "agGrid" : "dataTable";
65
+ }
66
+ }
67
+ ];
68
+
69
+ // 初始化
70
+ onMounted(() => {
71
+ select();
72
+ });
73
+ </script>
74
+
75
+ <style scoped lang="scss">
76
+ @import "./index.scss";
77
+ </style>