@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,157 +1,157 @@
1
- <template>
2
- <div class="top-right-btn" v-if="proVisible">
3
- <el-row>
4
- <el-tooltip
5
- class="item"
6
- effect="dark"
7
- :content="showSearch ? $t('隐藏搜索') : $t('显示搜索')"
8
- placement="top"
9
- v-if="showSearchTool"
10
- >
11
- <el-button
12
- circle
13
- icon="Search"
14
- @click="toggleSearch()"
15
- :disabled="disabled"
16
- />
17
- </el-tooltip>
18
- <el-tooltip
19
- class="item"
20
- effect="dark"
21
- :content="$t('刷新')"
22
- placement="top"
23
- v-if="showRefreshTool"
24
- >
25
- <el-button
26
- circle
27
- icon="Refresh"
28
- @click="refresh()"
29
- :disabled="disabled"
30
- />
31
- </el-tooltip>
32
- <el-tooltip
33
- class="item"
34
- effect="dark"
35
- :content="$t('显隐列')"
36
- placement="top"
37
- v-if="columns && showColumnTool"
38
- >
39
- <el-button
40
- circle
41
- icon="Menu"
42
- @click="showColumn()"
43
- :disabled="disabled"
44
- />
45
- </el-tooltip>
46
- </el-row>
47
- <div class="rightToolBarDialog">
48
- <el-dialog
49
- :title="title"
50
- v-model="open"
51
- append-to-body
52
- width="600px"
53
- @close="closeDialog"
54
- v-if="open"
55
- >
56
- <el-transfer
57
- ref="transferRef"
58
- :titles="[$t('显示'), $t('隐藏')]"
59
- v-model="modelValue"
60
- :data="data"
61
- @change="dataChange"
62
- target-order="push"
63
- filterable
64
- >
65
- <template #left-footer class="scopeStyle">
66
- <el-button link type="primary" size="small" @click="initColumns">{{
67
- $t("恢复默认")
68
- }}</el-button>
69
- </template>
70
- <template #right-footer class="scopeStyle">
71
- <el-button link type="primary" size="small" @click="clearValue">{{
72
- $t("清空")
73
- }}</el-button>
74
- </template>
75
- <template #default="{ option }">
76
- <el-tooltip
77
- class="item"
78
- effect="dark"
79
- :content="option.label"
80
- placement="bottom"
81
- >
82
- <span>{{ option.label }}</span>
83
- </el-tooltip>
84
- </template>
85
- </el-transfer>
86
- <template #footer>
87
- <div class="dialog-footer">
88
- <el-button @click="cancelBtn">{{ $t("取 消") }}</el-button>
89
- <el-button
90
- type="primary"
91
- @click="submitBtn"
92
- v-loading="submitLoading"
93
- >{{ $t("确 定") }}</el-button
94
- >
95
- </div>
96
- </template>
97
- </el-dialog>
98
- </div>
99
- </div>
100
- <C_OldVersion
101
- v-if="!proVisible"
102
- :columns="columnsProp"
103
- :showSearch="showSearchProp"
104
- />
105
- </template>
106
-
107
- <script setup>
108
- import { nextTick } from "vue";
109
- import C_OldVersion from "./old-version";
110
- import { createRightToolbar } from "./data";
111
-
112
- const props = defineProps({
113
- proVisible: { type: Boolean, default: false },
114
- showSearch: { type: Boolean, default: true },
115
- columns: { type: Array },
116
- tableId: { type: String },
117
- initialColumns: { type: Array },
118
- id: { type: String },
119
- propsValue: { type: Array },
120
- disabled: { type: Boolean, default: false },
121
- showRefreshTool: { type: Boolean, default: false },
122
- showSearchTool: { type: Boolean, default: false },
123
- showColumnTool: { type: Boolean, default: true }
124
- });
125
-
126
- const emits = defineEmits([
127
- "update:showSearch",
128
- "queryTable",
129
- "update:columns",
130
- "update:propsValue"
131
- ]);
132
-
133
- const {
134
- transferRef,
135
- data,
136
- title,
137
- open,
138
- modelValue,
139
- columnsProp,
140
- showSearchProp,
141
- submitLoading,
142
- toggleSearch,
143
- refresh,
144
- closeDialog,
145
- dataChange,
146
- showColumn,
147
- initColumns,
148
- clearValue,
149
- cancelBtn,
150
- submitBtn,
151
- getColumns
152
- } = createRightToolbar(props, emits);
153
-
154
- defineExpose({ getColumns });
155
- </script>
156
-
157
- <style lang="scss" scoped src="./index.scss"></style>
1
+ <template>
2
+ <div class="top-right-btn" v-if="proVisible">
3
+ <el-row>
4
+ <el-tooltip
5
+ class="item"
6
+ effect="dark"
7
+ :content="showSearch ? $t('隐藏搜索') : $t('显示搜索')"
8
+ placement="top"
9
+ v-if="showSearchTool"
10
+ >
11
+ <el-button
12
+ circle
13
+ icon="Search"
14
+ @click="toggleSearch()"
15
+ :disabled="disabled"
16
+ />
17
+ </el-tooltip>
18
+ <el-tooltip
19
+ class="item"
20
+ effect="dark"
21
+ :content="$t('刷新')"
22
+ placement="top"
23
+ v-if="showRefreshTool"
24
+ >
25
+ <el-button
26
+ circle
27
+ icon="Refresh"
28
+ @click="refresh()"
29
+ :disabled="disabled"
30
+ />
31
+ </el-tooltip>
32
+ <el-tooltip
33
+ class="item"
34
+ effect="dark"
35
+ :content="$t('显隐列')"
36
+ placement="top"
37
+ v-if="columns && showColumnTool"
38
+ >
39
+ <el-button
40
+ circle
41
+ icon="Menu"
42
+ @click="showColumn()"
43
+ :disabled="disabled"
44
+ />
45
+ </el-tooltip>
46
+ </el-row>
47
+ <div class="rightToolBarDialog">
48
+ <el-dialog
49
+ :title="title"
50
+ v-model="open"
51
+ append-to-body
52
+ width="600px"
53
+ @close="closeDialog"
54
+ v-if="open"
55
+ >
56
+ <el-transfer
57
+ ref="transferRef"
58
+ :titles="[$t('显示'), $t('隐藏')]"
59
+ v-model="modelValue"
60
+ :data="data"
61
+ @change="dataChange"
62
+ target-order="push"
63
+ filterable
64
+ >
65
+ <template #left-footer class="scopeStyle">
66
+ <el-button link type="primary" size="small" @click="initColumns">{{
67
+ $t("恢复默认")
68
+ }}</el-button>
69
+ </template>
70
+ <template #right-footer class="scopeStyle">
71
+ <el-button link type="primary" size="small" @click="clearValue">{{
72
+ $t("清空")
73
+ }}</el-button>
74
+ </template>
75
+ <template #default="{ option }">
76
+ <el-tooltip
77
+ class="item"
78
+ effect="dark"
79
+ :content="option.label"
80
+ placement="bottom"
81
+ >
82
+ <span>{{ option.label }}</span>
83
+ </el-tooltip>
84
+ </template>
85
+ </el-transfer>
86
+ <template #footer>
87
+ <div class="dialog-footer">
88
+ <el-button @click="cancelBtn">{{ $t("取 消") }}</el-button>
89
+ <el-button
90
+ type="primary"
91
+ @click="submitBtn"
92
+ v-loading="submitLoading"
93
+ >{{ $t("确 定") }}</el-button
94
+ >
95
+ </div>
96
+ </template>
97
+ </el-dialog>
98
+ </div>
99
+ </div>
100
+ <C_OldVersion
101
+ v-if="!proVisible"
102
+ :columns="columnsProp"
103
+ :showSearch="showSearchProp"
104
+ />
105
+ </template>
106
+
107
+ <script setup>
108
+ import { nextTick } from "vue";
109
+ import C_OldVersion from "./old-version";
110
+ import { createRightToolbar } from "./data";
111
+
112
+ const props = defineProps({
113
+ proVisible: { type: Boolean, default: false },
114
+ showSearch: { type: Boolean, default: true },
115
+ columns: { type: Array },
116
+ tableId: { type: String },
117
+ initialColumns: { type: Array },
118
+ id: { type: String },
119
+ propsValue: { type: Array },
120
+ disabled: { type: Boolean, default: false },
121
+ showRefreshTool: { type: Boolean, default: false },
122
+ showSearchTool: { type: Boolean, default: false },
123
+ showColumnTool: { type: Boolean, default: true }
124
+ });
125
+
126
+ const emits = defineEmits([
127
+ "update:showSearch",
128
+ "queryTable",
129
+ "update:columns",
130
+ "update:propsValue"
131
+ ]);
132
+
133
+ const {
134
+ transferRef,
135
+ data,
136
+ title,
137
+ open,
138
+ modelValue,
139
+ columnsProp,
140
+ showSearchProp,
141
+ submitLoading,
142
+ toggleSearch,
143
+ refresh,
144
+ closeDialog,
145
+ dataChange,
146
+ showColumn,
147
+ initColumns,
148
+ clearValue,
149
+ cancelBtn,
150
+ submitBtn,
151
+ getColumns
152
+ } = createRightToolbar(props, emits);
153
+
154
+ defineExpose({ getColumns });
155
+ </script>
156
+
157
+ <style lang="scss" scoped src="./index.scss"></style>
@@ -1,31 +1,31 @@
1
- <template>
2
- <svg :class="svgClass" aria-hidden="true">
3
- <use :xlink:href="iconName" :fill="color" />
4
- </svg>
5
- </template>
6
-
7
- <script setup lang="ts">
8
- import { computed, onMounted, onUpdated } from 'vue'
9
- import { addSymbolDelay } from '@jhlc/common-resource/src/svg/register-static-svg'
10
-
11
- interface Props {
12
- iconClass: string
13
- className?: string
14
- color?: string
15
- }
16
-
17
- const props = withDefaults(defineProps<Props>(), {
18
- className: '',
19
- color: ''
20
- })
21
-
22
- const iconName = computed(() => `#icon-${props.iconClass}`)
23
- const svgClass = computed(() =>
24
- props.className ? `svg-icon ${props.className}` : 'svg-icon'
25
- )
26
-
27
- onMounted(() => addSymbolDelay(props.iconClass))
28
- onUpdated(() => addSymbolDelay(props.iconClass))
29
- </script>
30
-
31
- <style scoped lang="scss" src="./index.scss"></style>
1
+ <template>
2
+ <svg :class="svgClass" aria-hidden="true">
3
+ <use :xlink:href="iconName" :fill="color" />
4
+ </svg>
5
+ </template>
6
+
7
+ <script setup lang="ts">
8
+ import { computed, onMounted, onUpdated } from 'vue'
9
+ import { addSymbolDelay } from '@jhlc/common-resource/src/svg/register-static-svg'
10
+
11
+ interface Props {
12
+ iconClass: string
13
+ className?: string
14
+ color?: string
15
+ }
16
+
17
+ const props = withDefaults(defineProps<Props>(), {
18
+ className: '',
19
+ color: ''
20
+ })
21
+
22
+ const iconName = computed(() => `#icon-${props.iconClass}`)
23
+ const svgClass = computed(() =>
24
+ props.className ? `svg-icon ${props.className}` : 'svg-icon'
25
+ )
26
+
27
+ onMounted(() => addSymbolDelay(props.iconClass))
28
+ onUpdated(() => addSymbolDelay(props.iconClass))
29
+ </script>
30
+
31
+ <style scoped lang="scss" src="./index.scss"></style>
@@ -1,10 +1,10 @@
1
- import * as components from '@element-plus/icons-vue'
2
-
3
- export default {
4
- install: (app) => {
5
- for(const key in components) {
6
- const componentConfig = components[key]
7
- app.component(componentConfig.name, componentConfig)
8
- }
9
- },
10
- }
1
+ import * as components from '@element-plus/icons-vue'
2
+
3
+ export default {
4
+ install: (app) => {
5
+ for(const key in components) {
6
+ const componentConfig = components[key]
7
+ app.component(componentConfig.name, componentConfig)
8
+ }
9
+ },
10
+ }