@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,100 +1,100 @@
1
- /**
2
- * 炉次返送 - 样式层
3
- */
4
-
5
- .furnace-batch-page-container {
6
- width: 100%;
7
- height: calc(100% - 16px);
8
- padding: 8px;
9
- background-color: #f5f5f5;
10
- }
11
-
12
- .furnace-batch-page {
13
- width: 100%;
14
- height: 100%;
15
- background-color: #fff;
16
- box-sizing: border-box;
17
- display: flex;
18
- flex-direction: column;
19
- }
20
-
21
- // 工具栏容器
22
- .toolbar-container {
23
- flex-shrink: 0;
24
- padding: 16px 16px 0 16px;
25
- margin-bottom: 16px;
26
- }
27
-
28
- .page-container {
29
- display: flex;
30
- gap: 6px;
31
- flex: 1;
32
- overflow: hidden;
33
- }
34
-
35
- // 左右区块通用样式
36
- .section {
37
- flex: 1;
38
- display: flex;
39
- flex-direction: column;
40
- background-color: #fff;
41
- position: relative;
42
- padding: 0 16px 16px 16px;
43
- overflow: hidden;
44
-
45
- &.left-section {
46
- padding-right: 8px;
47
- }
48
-
49
- &.right-section {
50
- padding-left: 8px;
51
- }
52
- }
53
-
54
- // 表格容器
55
- .table-box {
56
- flex: 1;
57
- overflow: hidden;
58
- }
59
-
60
- // 区块标题
61
- .section-header {
62
- display: flex;
63
- align-items: center;
64
- margin-bottom: 16px;
65
- height: 24px;
66
- background: rgba(67, 104, 255, 0.1);
67
-
68
- .title-bar {
69
- width: 4px;
70
- height: 80%;
71
- background-color: #4368FF;
72
- margin-right: 6px;
73
- margin-left: 8px;
74
- }
75
-
76
- .section-title {
77
- margin: 0;
78
- font-size: 14px;
79
- font-weight: 500;
80
- color: #000000;
81
- }
82
- }
83
-
84
- // 分页容器
85
- .pagination-container {
86
- margin-top: 16px;
87
- display: flex;
88
- justify-content: space-between;
89
- align-items: center;
90
-
91
- .pagination-info {
92
- font-size: 14px;
93
- color: #666;
94
- }
95
- }
96
-
97
- // 分页样式调整
98
- :deep(.el-pagination) {
99
- position: sticky;
100
- }
1
+ /**
2
+ * 炉次返送 - 样式层
3
+ */
4
+
5
+ .furnace-batch-page-container {
6
+ width: 100%;
7
+ height: calc(100% - 16px);
8
+ padding: 8px;
9
+ background-color: #f5f5f5;
10
+ }
11
+
12
+ .furnace-batch-page {
13
+ width: 100%;
14
+ height: 100%;
15
+ background-color: #fff;
16
+ box-sizing: border-box;
17
+ display: flex;
18
+ flex-direction: column;
19
+ }
20
+
21
+ // 工具栏容器
22
+ .toolbar-container {
23
+ flex-shrink: 0;
24
+ padding: 16px 16px 0 16px;
25
+ margin-bottom: 16px;
26
+ }
27
+
28
+ .page-container {
29
+ display: flex;
30
+ gap: 6px;
31
+ flex: 1;
32
+ overflow: hidden;
33
+ }
34
+
35
+ // 左右区块通用样式
36
+ .section {
37
+ flex: 1;
38
+ display: flex;
39
+ flex-direction: column;
40
+ background-color: #fff;
41
+ position: relative;
42
+ padding: 0 16px 16px 16px;
43
+ overflow: hidden;
44
+
45
+ &.left-section {
46
+ padding-right: 8px;
47
+ }
48
+
49
+ &.right-section {
50
+ padding-left: 8px;
51
+ }
52
+ }
53
+
54
+ // 表格容器
55
+ .table-box {
56
+ flex: 1;
57
+ overflow: hidden;
58
+ }
59
+
60
+ // 区块标题
61
+ .section-header {
62
+ display: flex;
63
+ align-items: center;
64
+ margin-bottom: 16px;
65
+ height: 24px;
66
+ background: rgba(67, 104, 255, 0.1);
67
+
68
+ .title-bar {
69
+ width: 4px;
70
+ height: 80%;
71
+ background-color: #4368FF;
72
+ margin-right: 6px;
73
+ margin-left: 8px;
74
+ }
75
+
76
+ .section-title {
77
+ margin: 0;
78
+ font-size: 14px;
79
+ font-weight: 500;
80
+ color: #000000;
81
+ }
82
+ }
83
+
84
+ // 分页容器
85
+ .pagination-container {
86
+ margin-top: 16px;
87
+ display: flex;
88
+ justify-content: space-between;
89
+ align-items: center;
90
+
91
+ .pagination-info {
92
+ font-size: 14px;
93
+ color: #666;
94
+ }
95
+ }
96
+
97
+ // 分页样式调整
98
+ :deep(.el-pagination) {
99
+ position: sticky;
100
+ }
@@ -1,170 +1,170 @@
1
- <!--
2
- * @Author: ChenYu ycyplus@gmail.com
3
- * @Date: 2025-06-13 18:38:58
4
- * @LastEditors: ChenYu ycyplus@gmail.com
5
- * @LastEditTime: 2026-01-04 08:29:26
6
- * @FilePath: \cx-ui-sale\src\views\sale\demo\heat-batch-return\index.vue
7
- * @Description: 炉次返送 - 视图层(待炉次返送与已炉次返送数据管理)
8
- * Copyright (c) 2025 by CHENY, All Rights Reserved 😎.
9
- -->
10
- <template>
11
- <div class="furnace-batch-page-container">
12
- <div class="furnace-batch-page">
13
- <!-- 工具栏单独占一行 -->
14
- <div class="toolbar-container">
15
- <BaseToolbar :items="pendingToolbarItems" />
16
- </div>
17
-
18
- <!-- 表格内容区域 -->
19
- <div class="page-container">
20
- <!-- 左侧:待炉次返送 -->
21
- <div class="section left-section">
22
- <!-- 标题 -->
23
- <div class="section-header">
24
- <div class="title-bar"></div>
25
- <h2 class="section-title">待炉次返送</h2>
26
- </div>
27
-
28
- <!-- 表格 -->
29
- <div class="table-box">
30
- <BaseTable
31
- :data="pendingData.list"
32
- :columns="pendingColumnsConfig"
33
- :loading="pendingLoading"
34
- border
35
- stripe
36
- size="small"
37
- height="100%"
38
- @selection-change="handlePendingSelectionChange"
39
- />
40
- </div>
41
-
42
- <!-- 分页 -->
43
- <div class="pagination-container">
44
- <div class="pagination-info">共{{ pendingData.total }}条</div>
45
- <jh-pagination
46
- v-model:currentPage="pendingPagination.page"
47
- v-model:pageSize="pendingPagination.pageSize"
48
- :total="pendingData.total"
49
- :page-sizes="[15, 30, 50, 100]"
50
- layout="prev, pager, next, sizes, jumper"
51
- size="small"
52
- @current-change="handlePendingPageChange"
53
- @size-change="handlePendingSizeChange"
54
- />
55
- </div>
56
- </div>
57
-
58
- <!-- 右侧:已炉次返送 -->
59
- <div class="section right-section">
60
- <!-- 标题 -->
61
- <div class="section-header">
62
- <div class="title-bar"></div>
63
- <h2 class="section-title">已炉次返送</h2>
64
- </div>
65
-
66
- <!-- 表格 -->
67
- <div class="table-box">
68
- <BaseTable
69
- :data="returnedData.list"
70
- :columns="returnedColumnsConfig"
71
- :loading="returnedLoading"
72
- border
73
- stripe
74
- size="small"
75
- height="100%"
76
- @selection-change="handleReturnedSelectionChange"
77
- />
78
- </div>
79
-
80
- <!-- 分页 -->
81
- <div class="pagination-container">
82
- <div class="pagination-info">共{{ returnedData.total }}条</div>
83
- <jh-pagination
84
- v-model:currentPage="returnedPagination.page"
85
- v-model:pageSize="returnedPagination.pageSize"
86
- :total="returnedData.total"
87
- :page-sizes="[15, 30, 50, 100]"
88
- layout="prev, pager, next, sizes, jumper"
89
- size="small"
90
- @current-change="handleReturnedPageChange"
91
- @size-change="handleReturnedSizeChange"
92
- />
93
- </div>
94
- </div>
95
- </div>
96
- </div>
97
-
98
- <!-- 新增返送弹窗 -->
99
- <c_formModal
100
- ref="modalRef"
101
- :form-items="modalConfig.formItems"
102
- :api="modalConfig.api"
103
- :width="modalConfig.width"
104
- :columns="modalConfig.columns"
105
- :label-width="modalConfig.labelWidth"
106
- :title-prefix="modalConfig.titlePrefix"
107
- @ok="handleModalOk"
108
- />
109
- </div>
110
- </template>
111
-
112
- <script setup lang="ts">
113
- import { ref, computed, onMounted } from "vue";
114
- import c_formModal from "@/components/local/c_formModal/index.vue";
115
- import {
116
- pendingColumnsConfig,
117
- returnedColumnsConfig,
118
- pendingLoading,
119
- returnedLoading,
120
- pendingData,
121
- returnedData,
122
- pendingPagination,
123
- returnedPagination,
124
- fetchPendingData,
125
- fetchReturnedData,
126
- handlePendingPageChange,
127
- handlePendingSizeChange,
128
- handleReturnedPageChange,
129
- handleReturnedSizeChange,
130
- handlePendingSelectionChange,
131
- handleReturnedSelectionChange,
132
- handleQuery,
133
- getToolbarConfig,
134
- modalConfig
135
- } from "./data";
136
- import "./index.scss";
137
-
138
- // 弹窗引用
139
- const modalRef = ref<InstanceType<typeof c_formModal>>();
140
-
141
- // 待返送工具栏配置
142
- const pendingToolbarItems = computed(() =>
143
- getToolbarConfig({
144
- onReturn: () => modalRef.value?.open(),
145
- onQuery: handleQuery
146
- })
147
- );
148
-
149
- // 弹窗操作成功回调
150
- const handleModalOk = () => {
151
- fetchPendingData();
152
- fetchReturnedData();
153
- };
154
-
155
- // 初始化数据
156
- onMounted(() => {
157
- fetchPendingData();
158
- fetchReturnedData();
159
- });
160
- </script>
161
-
162
- <style scoped lang="scss">
163
- @import "./index.scss";
164
-
165
- .input-suffix {
166
- color: #909399;
167
- font-size: 12px;
168
- padding-right: 0px;
169
- }
170
- </style>
1
+ <!--
2
+ * @Author: ChenYu ycyplus@gmail.com
3
+ * @Date: 2025-06-13 18:38:58
4
+ * @LastEditors: ChenYu ycyplus@gmail.com
5
+ * @LastEditTime: 2026-01-04 08:29:26
6
+ * @FilePath: \cx-ui-sale\src\views\sale\demo\heat-batch-return\index.vue
7
+ * @Description: 炉次返送 - 视图层(待炉次返送与已炉次返送数据管理)
8
+ * Copyright (c) 2025 by CHENY, All Rights Reserved 😎.
9
+ -->
10
+ <template>
11
+ <div class="furnace-batch-page-container">
12
+ <div class="furnace-batch-page">
13
+ <!-- 工具栏单独占一行 -->
14
+ <div class="toolbar-container">
15
+ <BaseToolbar :items="pendingToolbarItems" />
16
+ </div>
17
+
18
+ <!-- 表格内容区域 -->
19
+ <div class="page-container">
20
+ <!-- 左侧:待炉次返送 -->
21
+ <div class="section left-section">
22
+ <!-- 标题 -->
23
+ <div class="section-header">
24
+ <div class="title-bar"></div>
25
+ <h2 class="section-title">待炉次返送</h2>
26
+ </div>
27
+
28
+ <!-- 表格 -->
29
+ <div class="table-box">
30
+ <BaseTable
31
+ :data="pendingData.list"
32
+ :columns="pendingColumnsConfig"
33
+ :loading="pendingLoading"
34
+ border
35
+ stripe
36
+ size="small"
37
+ height="100%"
38
+ @selection-change="handlePendingSelectionChange"
39
+ />
40
+ </div>
41
+
42
+ <!-- 分页 -->
43
+ <div class="pagination-container">
44
+ <div class="pagination-info">共{{ pendingData.total }}条</div>
45
+ <jh-pagination
46
+ v-model:currentPage="pendingPagination.page"
47
+ v-model:pageSize="pendingPagination.pageSize"
48
+ :total="pendingData.total"
49
+ :page-sizes="[15, 30, 50, 100]"
50
+ layout="prev, pager, next, sizes, jumper"
51
+ size="small"
52
+ @current-change="handlePendingPageChange"
53
+ @size-change="handlePendingSizeChange"
54
+ />
55
+ </div>
56
+ </div>
57
+
58
+ <!-- 右侧:已炉次返送 -->
59
+ <div class="section right-section">
60
+ <!-- 标题 -->
61
+ <div class="section-header">
62
+ <div class="title-bar"></div>
63
+ <h2 class="section-title">已炉次返送</h2>
64
+ </div>
65
+
66
+ <!-- 表格 -->
67
+ <div class="table-box">
68
+ <BaseTable
69
+ :data="returnedData.list"
70
+ :columns="returnedColumnsConfig"
71
+ :loading="returnedLoading"
72
+ border
73
+ stripe
74
+ size="small"
75
+ height="100%"
76
+ @selection-change="handleReturnedSelectionChange"
77
+ />
78
+ </div>
79
+
80
+ <!-- 分页 -->
81
+ <div class="pagination-container">
82
+ <div class="pagination-info">共{{ returnedData.total }}条</div>
83
+ <jh-pagination
84
+ v-model:currentPage="returnedPagination.page"
85
+ v-model:pageSize="returnedPagination.pageSize"
86
+ :total="returnedData.total"
87
+ :page-sizes="[15, 30, 50, 100]"
88
+ layout="prev, pager, next, sizes, jumper"
89
+ size="small"
90
+ @current-change="handleReturnedPageChange"
91
+ @size-change="handleReturnedSizeChange"
92
+ />
93
+ </div>
94
+ </div>
95
+ </div>
96
+ </div>
97
+
98
+ <!-- 新增返送弹窗 -->
99
+ <c_formModal
100
+ ref="modalRef"
101
+ :form-items="modalConfig.formItems"
102
+ :api="modalConfig.api"
103
+ :width="modalConfig.width"
104
+ :columns="modalConfig.columns"
105
+ :label-width="modalConfig.labelWidth"
106
+ :title-prefix="modalConfig.titlePrefix"
107
+ @ok="handleModalOk"
108
+ />
109
+ </div>
110
+ </template>
111
+
112
+ <script setup lang="ts">
113
+ import { ref, computed, onMounted } from "vue";
114
+ import c_formModal from "@/components/local/c_formModal/index.vue";
115
+ import {
116
+ pendingColumnsConfig,
117
+ returnedColumnsConfig,
118
+ pendingLoading,
119
+ returnedLoading,
120
+ pendingData,
121
+ returnedData,
122
+ pendingPagination,
123
+ returnedPagination,
124
+ fetchPendingData,
125
+ fetchReturnedData,
126
+ handlePendingPageChange,
127
+ handlePendingSizeChange,
128
+ handleReturnedPageChange,
129
+ handleReturnedSizeChange,
130
+ handlePendingSelectionChange,
131
+ handleReturnedSelectionChange,
132
+ handleQuery,
133
+ getToolbarConfig,
134
+ modalConfig
135
+ } from "./data";
136
+ import "./index.scss";
137
+
138
+ // 弹窗引用
139
+ const modalRef = ref<InstanceType<typeof c_formModal>>();
140
+
141
+ // 待返送工具栏配置
142
+ const pendingToolbarItems = computed(() =>
143
+ getToolbarConfig({
144
+ onReturn: () => modalRef.value?.open(),
145
+ onQuery: handleQuery
146
+ })
147
+ );
148
+
149
+ // 弹窗操作成功回调
150
+ const handleModalOk = () => {
151
+ fetchPendingData();
152
+ fetchReturnedData();
153
+ };
154
+
155
+ // 初始化数据
156
+ onMounted(() => {
157
+ fetchPendingData();
158
+ fetchReturnedData();
159
+ });
160
+ </script>
161
+
162
+ <style scoped lang="scss">
163
+ @import "./index.scss";
164
+
165
+ .input-suffix {
166
+ color: #909399;
167
+ font-size: 12px;
168
+ padding-right: 0px;
169
+ }
170
+ </style>