@brms/ai-skills 0.1.0

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 (90) hide show
  1. package/README.md +256 -0
  2. package/bin/brms-skills.mjs +411 -0
  3. package/package.json +30 -0
  4. package/skills/brms-prototype-generator/SKILL.md +129 -0
  5. package/skills/brms-prototype-generator/agents/openai.yaml +7 -0
  6. package/skills/brms-prototype-generator/examples/few-shot-examples.md +577 -0
  7. package/skills/brms-prototype-generator/references/01-list-query.md +444 -0
  8. package/skills/brms-prototype-generator/references/02-form-entry.md +129 -0
  9. package/skills/brms-prototype-generator/references/03-detail-display.md +125 -0
  10. package/skills/brms-prototype-generator/references/04-composite-page-package.md +339 -0
  11. package/skills/brms-prototype-generator/references/05-dialog-patterns.md +113 -0
  12. package/skills/brms-prototype-generator/references/06-backend-request-patterns.md +118 -0
  13. package/skills/brms-prototype-generator/references/resource-index.md +46 -0
  14. package/skills/brms-prototype-generator/references/system-prompt.md +242 -0
  15. package/skills/brms-prototype-generator/scripts/analyze-doc.mjs +554 -0
  16. package/skills/brms-prototype-generator/scripts/check-project.mjs +228 -0
  17. package/skills/brms-prototype-generator/scripts/discover-targets.mjs +158 -0
  18. package/skills/brms-prototype-generator/scripts/install-codex.mjs +74 -0
  19. package/skills/brms-prototype-generator/scripts/plan-pages.mjs +390 -0
  20. package/skills/brms-prototype-generator/scripts/validate-generated.mjs +838 -0
  21. package/skills/brms-prototype-generator/templates/user-input-template.md +182 -0
  22. package/skills/brms-vxe-plus-developer/SKILL.md +105 -0
  23. package/skills/brms-vxe-plus-developer/agents/openai.yaml +7 -0
  24. package/skills/brms-vxe-plus-developer/references/prototype-to-real.md +54 -0
  25. package/skills/brms-vxe-plus-developer/references/real-base-development.md +110 -0
  26. package/skills/brms-vxe-plus-developer/references/resource-index.md +43 -0
  27. package/skills/brms-vxe-plus-developer/references/review-checklist.md +49 -0
  28. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/01-mental-model.md +150 -0
  29. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/02-vxe-plus-form.md +302 -0
  30. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/03-vxe-plus-table.md +253 -0
  31. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/04-example-map.md +488 -0
  32. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/05-request-and-eiinfo.md +170 -0
  33. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/90-anti-patterns.md +137 -0
  34. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/README.md +43 -0
  35. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/README.md +21 -0
  36. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/A1/P0/A1P01601.vue +483 -0
  37. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/A1/P1/A1P11011.vue +444 -0
  38. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/AB/BP/ABBP0201.vue +1648 -0
  39. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/AM/AF/component/AMAF0601/Bidding/formConfig.ts +228 -0
  40. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/AM/AF/component/AMAF0601/Record/columns.ts +110 -0
  41. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/BM/BR/BMBR01.vue +130 -0
  42. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/BM/BR/component/BMBR01/columns.ts +94 -0
  43. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/BM/BR/component/BMBR01/formConfig.ts +108 -0
  44. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Change/formConfig.ts +123 -0
  45. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Change/index.vue +103 -0
  46. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Clause/columns.ts +48 -0
  47. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Clause/index.vue +202 -0
  48. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Correcte/formConfig.ts +117 -0
  49. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Correcte/index.vue +103 -0
  50. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Explain/Pay/Payment/formConfig.ts +90 -0
  51. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Explain/Pay/Payment/index.vue +42 -0
  52. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Explain/Pay/columns.ts +376 -0
  53. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Explain/Pay/index.vue +619 -0
  54. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Explain/Settle/Domestic/formConfig.ts +73 -0
  55. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Explain/Settle/Domestic/index.vue +47 -0
  56. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Explain/Settle/Foreign/formConfig.ts +141 -0
  57. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Explain/Settle/Foreign/index.vue +42 -0
  58. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Explain/Settle/columns.ts +123 -0
  59. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Explain/Settle/index.vue +593 -0
  60. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Explain/index.vue +68 -0
  61. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Fee/columns.ts +150 -0
  62. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Fee/index.vue +235 -0
  63. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Files/columns.ts +63 -0
  64. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Files/index.vue +117 -0
  65. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Goods/columns.ts +327 -0
  66. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Goods/index.vue +790 -0
  67. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Main/Base/Approve/formConfig.ts +341 -0
  68. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Main/Base/Approve/index.vue +63 -0
  69. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Main/Base/Approve2/formConfig.ts +232 -0
  70. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Main/Base/Approve2/index.vue +27 -0
  71. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Main/Base/Diff/columns.ts +46 -0
  72. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Main/Base/Diff/index.vue +92 -0
  73. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Main/Base/formConfig.ts +979 -0
  74. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Main/Base/index.vue +62 -0
  75. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Main/Other/formConfig.ts +179 -0
  76. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Main/Other/index.vue +140 -0
  77. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Main/Sign/formConfig.ts +118 -0
  78. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Main/Sign/index.vue +44 -0
  79. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Main/index.vue +168 -0
  80. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Party/Major/formConfig.ts +257 -0
  81. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Party/Major/index.vue +47 -0
  82. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Party/columns.ts +256 -0
  83. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Party/index.vue +738 -0
  84. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Price/formConfig.ts +174 -0
  85. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Price/index.vue +51 -0
  86. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/PM/PC/component/PMPC0101/Top/index.vue +924 -0
  87. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/SM/SW/SMSW0101.vue +567 -0
  88. package/skills/brms-vxe-plus-developer/references/vxe-plus-knowledge/sources/project/base/src/views/demo/index.vue +448 -0
  89. package/skills/brms-vxe-plus-developer/scripts/check-project.mjs +259 -0
  90. package/skills/brms-vxe-plus-developer/scripts/check-vxe-plus-page.mjs +137 -0
@@ -0,0 +1,327 @@
1
+ import { computed, inject } from 'vue'
2
+ import { commafy, multiply } from 'xe-utils'
3
+ import dayjs from 'dayjs'
4
+ import { isEmpty } from '@/utils/is'
5
+ import { useTable } from '@/hooks/useTable'
6
+ import { getCodeSetByService } from '@/utils/eiTools'
7
+ import { useValidator } from '@/hooks/useValidator'
8
+ import { useCodeSetStore } from '@/stores/modules/codeSet'
9
+
10
+ export function createTableColumns() {
11
+ const { createColumns, commonTableSelect, createEditRules, validator } = useTable()
12
+
13
+ const { validateNumber } = useValidator()
14
+
15
+ const { diffable, isApprovePage } = inject('__PMPC0101__info__') as any
16
+
17
+ const { getCodeSetTextByCode } = useCodeSetStore()
18
+
19
+ const columns = computed(() => {
20
+ return createColumns([
21
+ // {
22
+ // type: 'seq',
23
+ // width: 60,
24
+ // sortIndex: 0,
25
+ // },
26
+ {
27
+ field: 'operationType',
28
+ title: '变更状态',
29
+ editRender: commonTableSelect('BRMERP.ac.contractChangeStatus'),
30
+ visible: false,
31
+ sortIndex: 1,
32
+ },
33
+ {
34
+ field: 'pcContractGoodsId',
35
+ title: '变更状态',
36
+ width: 100,
37
+ fixed: 'left',
38
+ formatter: ({ row }) => getCodeSetTextByCode('BRMERP.ac.contractChangeStatus', row.operationType),
39
+ visible: diffable.value,
40
+ sortIndex: 2,
41
+ },
42
+ {
43
+ field: 'operateType',
44
+ title: '操作类型',
45
+ width: 100,
46
+ fixed: 'left',
47
+ visible: diffable.value,
48
+ formatter: ({ row, cellValue }) => {
49
+ if (['U'].includes(row.operationType)) {
50
+ return cellValue
51
+ }
52
+ },
53
+ sortIndex: 3,
54
+ },
55
+ {
56
+ field: 'goodsName',
57
+ title: '商品名称',
58
+ fixed: 'left',
59
+ sortIndex: isApprovePage.value ? 1 : 4,
60
+ },
61
+ {
62
+ field: 'goodsCode',
63
+ title: '商品代码',
64
+ slots: {
65
+ header: 'goodsCode_header',
66
+ },
67
+ required: true,
68
+ visible: !isApprovePage.value,
69
+ },
70
+ {
71
+ field: 'quantityPurchase',
72
+ title: '合同湿吨量',
73
+ slots: {
74
+ header: 'quantityPurchase_header',
75
+ },
76
+ formatter: ({ cellValue }) => !isEmpty(cellValue) ? commafy(Number.parseFloat(cellValue), { digits: 6 }) : '',
77
+ validator: ({ itemValue }) => {
78
+ const result = validateNumber(itemValue, 6)
79
+ if (!result.status) {
80
+ return Promise.reject(result.msg)
81
+ }
82
+ const quantityPurchase = Number.parseFloat(itemValue)
83
+ if (quantityPurchase <= 0) {
84
+ return Promise.reject('必须大于0')
85
+ }
86
+ return Promise.resolve(true)
87
+ },
88
+ required: true,
89
+ sortIndex: isApprovePage.value ? 4 : 6,
90
+ },
91
+ {
92
+ field: 'quantityPurchaseDry',
93
+ title: '干吨量',
94
+ formatter: ({ cellValue }) => !isEmpty(cellValue) ? commafy(Number.parseFloat(cellValue), { digits: 6 }) : '',
95
+ validator: ({ itemValue }) => {
96
+ const result = validateNumber(itemValue, 6)
97
+ if (!result.status) {
98
+ return Promise.reject(result.msg)
99
+ }
100
+ const quantityPurchaseDry = Number.parseFloat(itemValue)
101
+ if (quantityPurchaseDry <= 0) {
102
+ return Promise.reject('必须大于0')
103
+ }
104
+ return Promise.resolve(true)
105
+ },
106
+ visible: !isApprovePage.value,
107
+ },
108
+ {
109
+ field: 'measureUnitCode',
110
+ title: '计量单位',
111
+ editRender: commonTableSelect('CMCG01.queryMeasureUnitCode.measureUnitCode', {
112
+ promiseFn: (params: any) => getCodeSetByService({
113
+ serviceName: 'CMCG01',
114
+ methodName: 'queryMeasureUnitCode',
115
+ params,
116
+ blockName: 'measureUnit',
117
+ value: 'unitCode',
118
+ label: 'unitName',
119
+ }),
120
+ }, {
121
+ enabled: false,
122
+ }),
123
+ required: true,
124
+ sortIndex: isApprovePage.value ? 3 : 8,
125
+ },
126
+ {
127
+ field: 'h2oValueBase',
128
+ title: '理论水分值(%)',
129
+ formatter: ({ cellValue }) => !isEmpty(cellValue) ? multiply(Number.parseFloat(cellValue), 100) : '',
130
+ visible: !isApprovePage.value,
131
+ },
132
+ {
133
+ field: 'priceTaxRate',
134
+ title: '税率',
135
+ editRender: commonTableSelect('brmerp.bm.taxRate', null, {
136
+ enabled: false,
137
+ }),
138
+ required: true,
139
+ sortIndex: isApprovePage.value ? 5 : 10,
140
+ },
141
+ {
142
+ field: 'priceStyle',
143
+ title: '计价方式',
144
+ editRender: commonTableSelect('brmerp.pm.pricingmethod', null, {
145
+ enabled: false,
146
+ }),
147
+ required: true,
148
+ visible: !isApprovePage.value,
149
+ },
150
+ {
151
+ field: 'priceTax',
152
+ title: '单价',
153
+ slots: {
154
+ header: 'priceTax_header',
155
+ },
156
+ formatter: ({ cellValue }) => !isEmpty(cellValue) ? commafy(Number.parseFloat(cellValue), { digits: 6 }) : '',
157
+ validator: ({ itemValue }) => {
158
+ const result = validateNumber(itemValue, 6)
159
+ if (!result.status) {
160
+ return Promise.reject(result.msg)
161
+ }
162
+ const priceTax = Number.parseFloat(itemValue)
163
+ if (priceTax <= 0) {
164
+ return Promise.reject('必须大于0')
165
+ }
166
+ return Promise.resolve(true)
167
+ },
168
+ required: true,
169
+ sortIndex: isApprovePage.value ? 6 : 12,
170
+ },
171
+ {
172
+ field: 'amountTotal',
173
+ title: '含税总额',
174
+ formatter: ({ cellValue }) => !isEmpty(cellValue) ? commafy(Number.parseFloat(cellValue), { digits: 2 }) : '',
175
+ validator: ({ itemValue }) => {
176
+ const result = validateNumber(itemValue, 2)
177
+ if (!result.status) {
178
+ return Promise.reject(result.msg)
179
+ }
180
+ const amountTotal = Number.parseFloat(itemValue)
181
+ if (amountTotal <= 0) {
182
+ return Promise.reject('必须大于0')
183
+ }
184
+ return Promise.resolve(true)
185
+ },
186
+ sortIndex: isApprovePage.value ? 8 : 13,
187
+ },
188
+ {
189
+ field: 'amountNotax',
190
+ title: '不含税总额',
191
+ formatter: ({ cellValue }) => !isEmpty(cellValue) ? commafy(Number.parseFloat(cellValue), { digits: 2 }) : '',
192
+ validator: ({ itemValue }) => {
193
+ const result = validateNumber(itemValue, 2)
194
+ if (!result.status) {
195
+ return Promise.reject(result.msg)
196
+ }
197
+ const amountNotax = Number.parseFloat(itemValue)
198
+ if (amountNotax <= 0) {
199
+ return Promise.reject('必须大于0')
200
+ }
201
+ return Promise.resolve(true)
202
+ },
203
+ sortIndex: isApprovePage.value ? 7 : 14,
204
+ },
205
+ {
206
+ field: 'moreAndLessRatio',
207
+ title: '溢短装率',
208
+ width: 140,
209
+ slots: {
210
+ header: 'moreAndLessRatio_header',
211
+ },
212
+ required: true,
213
+ sortIndex: isApprovePage.value ? 9 : 15,
214
+ },
215
+ {
216
+ field: 'deliveryDate',
217
+ title: '装期/交货期',
218
+ width: 220,
219
+ formatter: ({ row }) => {
220
+ const deliveryStartDate = isEmpty(row.deliveryStartDate) ? '-' : dayjs(row.deliveryStartDate).format('YYYY-MM-DD')
221
+ const deliveryEndDate = isEmpty(row.deliveryEndDate) ? '-' : dayjs(row.deliveryEndDate).format('YYYY-MM-DD')
222
+ return `${deliveryStartDate} 至 ${deliveryEndDate}`
223
+ },
224
+ sortIndex: isApprovePage.value ? 10 : 15,
225
+ visible: isApprovePage.value,
226
+ },
227
+ {
228
+ field: 'tonPrice',
229
+ title: '吨度价',
230
+ sortIndex: 16,
231
+ visible: !isApprovePage.value,
232
+ },
233
+ {
234
+ field: 'goodsContent',
235
+ title: '含量(%)',
236
+ formatter: ({ cellValue }) => !isEmpty(cellValue) ? `${multiply(Number.parseFloat(cellValue), 100)}%` : '',
237
+ sortIndex: 17,
238
+ visible: !isApprovePage.value,
239
+ },
240
+ {
241
+ field: 'goodsNameInvoice',
242
+ title: '商品开票名称',
243
+ sortIndex: 18,
244
+ visible: !isApprovePage.value,
245
+ },
246
+ {
247
+ field: 'goodsSpecification',
248
+ title: '规格',
249
+ sortIndex: 19,
250
+ visible: !isApprovePage.value,
251
+ },
252
+ {
253
+ field: 'transType',
254
+ title: '运输方式',
255
+ editRender: commonTableSelect('brmerp.bm.transType', null, {
256
+ enabled: false,
257
+ }),
258
+ sortIndex: 20,
259
+ visible: !isApprovePage.value,
260
+ },
261
+ {
262
+ field: 'dispatchPlace',
263
+ title: '发货地',
264
+ sortIndex: 21,
265
+ visible: !isApprovePage.value,
266
+ },
267
+ {
268
+ field: 'destinationPlace',
269
+ title: '收货地',
270
+ slots: {
271
+ header: 'destinationPlace_header',
272
+ },
273
+ required: true,
274
+ sortIndex: 22,
275
+ visible: !isApprovePage.value,
276
+ },
277
+ {
278
+ field: 'goodsOriginPalce',
279
+ title: '原产地',
280
+ sortIndex: 23,
281
+ visible: !isApprovePage.value,
282
+ },
283
+ {
284
+ field: 'remark',
285
+ title: '备注',
286
+ sortIndex: 24,
287
+ visible: !isApprovePage.value,
288
+ },
289
+ {
290
+ field: 'pcContractGoodsCode',
291
+ title: '合同商品编号',
292
+ sortIndex: 25,
293
+ visible: !isApprovePage.value,
294
+ },
295
+ {
296
+ field: 'priceInstanceName',
297
+ title: '价格公式',
298
+ fixed: isApprovePage.value ? '' : 'right',
299
+ sortIndex: isApprovePage.value ? 2 : 26,
300
+ },
301
+ ].sort((a, b) => (a.sortIndex || 0) >= (b.sortIndex || 0) ? 1 : -1).map((col) => {
302
+ if (col.field !== 'seq') {
303
+ (col as any).slots = {
304
+ ...(col as any).slots,
305
+ default: `${col.field}_default`,
306
+ }
307
+ }
308
+ if (isApprovePage.value) {
309
+ return {
310
+ ...col,
311
+ width: (col as any).width ?? '',
312
+ } as any
313
+ }
314
+ return col
315
+ })).value
316
+ })
317
+
318
+ const tableValidator = (...args: any[]) => {
319
+ return (validator as any)(...args)
320
+ }
321
+
322
+ return {
323
+ columns,
324
+ editRules: computed(() => createEditRules(columns.value)),
325
+ tableValidator,
326
+ }
327
+ }