@fecp/designer 5.5.101 → 5.5.102

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 (87) hide show
  1. package/es/designer/package.json.mjs +1 -1
  2. package/es/designer/src/components/DocumentParam.vue.mjs +1 -1
  3. package/es/designer/src/components/ParamsConfig.vue2.mjs +1 -1
  4. package/es/designer/src/layout/aside/HiddenFieldDialog.vue.mjs +1 -1
  5. package/es/designer/src/packages/advancedFilter/ValueInput.vue2.mjs +1 -1
  6. package/es/designer/src/packages/dataLinkage/index.vue.mjs +1 -1
  7. package/es/designer/src/packages/dialogGlobal/index.vue.mjs +1 -1
  8. package/es/designer/src/packages/eventFlow/dialog/action/RiskSch.vue.mjs +1 -1
  9. package/es/designer/src/packages/form/property/approvalHistory.vue.mjs +1 -1
  10. package/es/designer/src/packages/form/property/contract.vue.mjs +1 -1
  11. package/es/designer/src/packages/form/property/subForm.vue.mjs +1 -1
  12. package/es/designer/src/packages/prod/index.vue.mjs +1 -1
  13. package/es/designer/src/packages/table/headerBtn.vue.mjs +1 -1
  14. package/es/designer.css +357 -68
  15. package/es/packages/mobile/index.mjs +4 -0
  16. package/es/packages/mobile/src/components/all.mjs +4 -0
  17. package/es/packages/mobile/src/components/custom/appDetail/AppDetail.vue.mjs +30 -7
  18. package/es/packages/mobile/src/components/custom/approvalBar/ApprovalBar.vue.mjs +191 -0
  19. package/es/packages/mobile/src/components/custom/approvalBar/index.mjs +10 -0
  20. package/es/packages/mobile/src/components/custom/approvalList/ApprovalList.vue.mjs +391 -0
  21. package/es/packages/mobile/src/components/custom/approvalList/index.mjs +10 -0
  22. package/es/packages/mobile/src/components/dataDisplay/cardList/CardList.vue.mjs +2 -18
  23. package/es/packages/mobile/src/components/dataDisplay/table/Table.vue.mjs +41 -9
  24. package/es/packages/mobile/src/components/form/field/Field.vue.mjs +38 -26
  25. package/es/packages/mobile/src/components/form/fieldArea/FieldArea.vue.mjs +4 -2
  26. package/es/packages/mobile/src/components/form/fieldCalendarPicker/FieldCalendarPicker.vue.mjs +1 -1
  27. package/es/packages/mobile/src/components/form/fieldCascaderPicker/fieldCascaderPicker.vue.mjs +1 -1
  28. package/es/packages/mobile/src/components/form/fieldDatePicker/FieldDatePicker.vue.mjs +1 -1
  29. package/es/packages/mobile/src/components/form/fieldDateTimePicker/FieldDateTimePicker.vue.mjs +1 -1
  30. package/es/packages/mobile/src/components/form/fieldIndustry/FieldIndustry.vue.mjs +38 -27
  31. package/es/packages/mobile/src/components/form/fieldPicker/FieldPicker.vue.mjs +58 -41
  32. package/es/packages/mobile/src/components/form/fieldTimePicker/FieldTimePicker.vue.mjs +1 -1
  33. package/es/packages/mobile/src/components/navigation/tabs/Tabs.vue.mjs +8 -3
  34. package/es/packages/mobile/src/composables/usePageEvents.mjs +80 -0
  35. package/es/packages/mobile/src/index.vue.mjs +8 -5
  36. package/es/packages/mobile/src/page.vue.mjs +150 -19
  37. package/es/packages/mobile/src/utils/datasource.mjs +12 -1
  38. package/es/packages/mobile/src/utils/eventFlow/actionHandlers.mjs +852 -0
  39. package/es/packages/mobile/src/utils/eventFlow/eventFlowHandler.mjs +94 -0
  40. package/es/packages/mobile/src/utils/eventFlowParser.mjs +396 -0
  41. package/es/packages/mobile/src/utils/formatterUtil.mjs +1 -0
  42. package/es/packages/mobile/src/utils/parseFilterConfig.mjs +98 -0
  43. package/es/packages/vue/src/components/table/Table.vue.mjs +11 -1
  44. package/lib/designer/package.json.js +1 -1
  45. package/lib/designer/src/components/DocumentParam.vue.js +1 -1
  46. package/lib/designer/src/components/ParamsConfig.vue2.js +1 -1
  47. package/lib/designer/src/layout/aside/HiddenFieldDialog.vue.js +1 -1
  48. package/lib/designer/src/packages/advancedFilter/ValueInput.vue2.js +1 -1
  49. package/lib/designer/src/packages/dataLinkage/index.vue.js +1 -1
  50. package/lib/designer/src/packages/dialogGlobal/index.vue.js +1 -1
  51. package/lib/designer/src/packages/eventFlow/dialog/action/RiskSch.vue.js +1 -1
  52. package/lib/designer/src/packages/form/property/approvalHistory.vue.js +1 -1
  53. package/lib/designer/src/packages/form/property/contract.vue.js +1 -1
  54. package/lib/designer/src/packages/form/property/subForm.vue.js +1 -1
  55. package/lib/designer/src/packages/prod/index.vue.js +1 -1
  56. package/lib/designer/src/packages/table/headerBtn.vue.js +1 -1
  57. package/lib/designer.css +357 -68
  58. package/lib/packages/mobile/index.js +6 -2
  59. package/lib/packages/mobile/src/components/all.js +4 -0
  60. package/lib/packages/mobile/src/components/custom/appDetail/AppDetail.vue.js +29 -6
  61. package/lib/packages/mobile/src/components/custom/approvalBar/ApprovalBar.vue.js +191 -0
  62. package/lib/packages/mobile/src/components/custom/approvalBar/index.js +10 -0
  63. package/lib/packages/mobile/src/components/custom/approvalList/ApprovalList.vue.js +391 -0
  64. package/lib/packages/mobile/src/components/custom/approvalList/index.js +10 -0
  65. package/lib/packages/mobile/src/components/dataDisplay/cardList/CardList.vue.js +2 -18
  66. package/lib/packages/mobile/src/components/dataDisplay/table/Table.vue.js +41 -9
  67. package/lib/packages/mobile/src/components/form/field/Field.vue.js +37 -25
  68. package/lib/packages/mobile/src/components/form/fieldArea/FieldArea.vue.js +4 -2
  69. package/lib/packages/mobile/src/components/form/fieldCalendarPicker/FieldCalendarPicker.vue.js +1 -1
  70. package/lib/packages/mobile/src/components/form/fieldCascaderPicker/fieldCascaderPicker.vue.js +1 -1
  71. package/lib/packages/mobile/src/components/form/fieldDatePicker/FieldDatePicker.vue.js +1 -1
  72. package/lib/packages/mobile/src/components/form/fieldDateTimePicker/FieldDateTimePicker.vue.js +1 -1
  73. package/lib/packages/mobile/src/components/form/fieldIndustry/FieldIndustry.vue.js +37 -26
  74. package/lib/packages/mobile/src/components/form/fieldPicker/FieldPicker.vue.js +57 -40
  75. package/lib/packages/mobile/src/components/form/fieldTimePicker/FieldTimePicker.vue.js +1 -1
  76. package/lib/packages/mobile/src/components/navigation/tabs/Tabs.vue.js +8 -3
  77. package/lib/packages/mobile/src/composables/usePageEvents.js +80 -0
  78. package/lib/packages/mobile/src/index.vue.js +8 -5
  79. package/lib/packages/mobile/src/page.vue.js +149 -18
  80. package/lib/packages/mobile/src/utils/datasource.js +14 -3
  81. package/lib/packages/mobile/src/utils/eventFlow/actionHandlers.js +852 -0
  82. package/lib/packages/mobile/src/utils/eventFlow/eventFlowHandler.js +94 -0
  83. package/lib/packages/mobile/src/utils/eventFlowParser.js +396 -0
  84. package/lib/packages/mobile/src/utils/formatterUtil.js +1 -0
  85. package/lib/packages/mobile/src/utils/parseFilterConfig.js +98 -0
  86. package/lib/packages/vue/src/components/table/Table.vue.js +11 -1
  87. package/package.json +1 -1
@@ -0,0 +1,391 @@
1
+ /* empty css */
2
+ /* empty css */
3
+ /* empty css */
4
+ /* empty css */
5
+ /* empty css */
6
+ /* empty css */
7
+ /* empty css */
8
+ /* empty css */
9
+ /* empty css */
10
+ /* empty css */
11
+ import { getCurrentInstance, ref, createElementBlock, openBlock, createVNode, unref, isRef, withCtx, createElementVNode, Fragment, renderList, toDisplayString, normalizeStyle, createTextVNode } from "vue";
12
+ /* empty css */
13
+ import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.mjs";
14
+ import { Tabs } from "../../../../node_modules/vant/es/tabs/index.mjs";
15
+ import { Tab } from "../../../../node_modules/vant/es/tab/index.mjs";
16
+ import { Icon } from "../../../../node_modules/vant/es/icon/index.mjs";
17
+ import { Button } from "../../../../node_modules/vant/es/button/index.mjs";
18
+ const _hoisted_1 = { class: "fec-mobile-approval-list" };
19
+ const _hoisted_2 = { class: "fec-tab-content" };
20
+ const _hoisted_3 = { class: "fec-list" };
21
+ const _hoisted_4 = { class: "fec-card-header" };
22
+ const _hoisted_5 = { class: "fec-card-title" };
23
+ const _hoisted_6 = { class: "fec-card-body" };
24
+ const _hoisted_7 = { class: "fec-card-message" };
25
+ const _hoisted_8 = { class: "fec-card-sn" };
26
+ const _hoisted_9 = { class: "fec-card-value" };
27
+ const _hoisted_10 = { class: "fec-card-footer" };
28
+ const _hoisted_11 = { class: "fec-card-time" };
29
+ const _hoisted_12 = { class: "fec-card-actions" };
30
+ const _hoisted_13 = { class: "fec-tab-content" };
31
+ const _hoisted_14 = { class: "fec-list" };
32
+ const _hoisted_15 = { class: "fec-card-header" };
33
+ const _hoisted_16 = { class: "fec-card-title" };
34
+ const _hoisted_17 = { class: "fec-card-body" };
35
+ const _hoisted_18 = { class: "fec-card-message" };
36
+ const _hoisted_19 = { class: "fec-card-sn" };
37
+ const _hoisted_20 = { class: "fec-card-value" };
38
+ const _hoisted_21 = { class: "fec-card-footer" };
39
+ const _hoisted_22 = { class: "fec-card-time" };
40
+ const _hoisted_23 = { class: "fec-card-actions" };
41
+ const _hoisted_24 = { class: "fec-tab-content" };
42
+ const _hoisted_25 = { class: "fec-list" };
43
+ const _hoisted_26 = { class: "fec-card-header" };
44
+ const _hoisted_27 = { class: "fec-card-title" };
45
+ const _hoisted_28 = { class: "fec-card-body" };
46
+ const _hoisted_29 = { class: "fec-card-message" };
47
+ const _hoisted_30 = { class: "fec-card-sn" };
48
+ const _hoisted_31 = { class: "fec-card-value" };
49
+ const _hoisted_32 = { class: "fec-card-footer" };
50
+ const _hoisted_33 = { class: "fec-card-time" };
51
+ const _hoisted_34 = { class: "fec-card-actions" };
52
+ const _sfc_main = {
53
+ __name: "ApprovalList",
54
+ props: {},
55
+ setup(__props) {
56
+ const currentInstance = getCurrentInstance();
57
+ const ctx = currentInstance.proxy;
58
+ ctx.route;
59
+ const activeName = ref("todo");
60
+ const todoList = [
61
+ {
62
+ id: 1,
63
+ title: "项目立项申请",
64
+ message: "客户李四提交了一笔新办公设备采购项目立项,请您审批。",
65
+ sn: "1100202406150001",
66
+ arriveTime: "30分钟前",
67
+ statusText: "待处理",
68
+ statusColor: "#fa8c16",
69
+ statusIcon: "clock-o",
70
+ actionText: "同意",
71
+ actionColor: "#52c41a"
72
+ },
73
+ {
74
+ id: 2,
75
+ title: "合同审批",
76
+ message: "客户王五提交了一份销售合同,请您审批。",
77
+ sn: "1100202406150002",
78
+ arriveTime: "2小时前",
79
+ statusText: "已打回",
80
+ statusColor: "#722ed1",
81
+ statusIcon: "close",
82
+ actionText: "同意",
83
+ actionColor: "#52c41a"
84
+ },
85
+ {
86
+ id: 3,
87
+ title: "付款申请",
88
+ message: "客户赵六提交了一笔供应商付款申请,请您审批。",
89
+ sn: "1100202406150003",
90
+ arriveTime: "2026-06-07 09:30:00",
91
+ statusText: "待处理",
92
+ statusColor: "#fa8c16",
93
+ statusIcon: "clock-o",
94
+ actionText: "同意",
95
+ actionColor: "#52c41a"
96
+ }
97
+ ];
98
+ const doneList = [
99
+ {
100
+ id: 4,
101
+ title: "采购申请",
102
+ message: "客户孙七提交了一笔办公用品采购申请,处理中。",
103
+ sn: "1100202406140004",
104
+ arriveTime: "2026-06-06 14:30:00",
105
+ statusText: "处理中",
106
+ statusColor: "#1890ff",
107
+ statusIcon: "edit"
108
+ },
109
+ {
110
+ id: 5,
111
+ title: "用车申请",
112
+ message: "客户周八提交了一笔商务用车申请,已完成。",
113
+ sn: "1100202406130005",
114
+ arriveTime: "2026-06-05 10:15:00",
115
+ statusText: "已完成",
116
+ statusColor: "#52c41a",
117
+ statusIcon: "checked"
118
+ }
119
+ ];
120
+ const ccList = [
121
+ {
122
+ id: 6,
123
+ title: "会议通知",
124
+ message: "客户吴九提交了周一例会,请您知悉。",
125
+ sn: "1100202406150006",
126
+ arriveTime: "1小时前",
127
+ statusText: "处理中",
128
+ statusColor: "#1890ff",
129
+ statusIcon: "edit"
130
+ },
131
+ {
132
+ id: 7,
133
+ title: "制度变更",
134
+ message: "客户郑十提交了新的考勤制度变更,请您知悉。",
135
+ sn: "1100202406140007",
136
+ arriveTime: "2026-06-07 16:45:00",
137
+ statusText: "已完成",
138
+ statusColor: "#52c41a",
139
+ statusIcon: "checked"
140
+ }
141
+ ];
142
+ function formatTime(timeStr) {
143
+ if (!timeStr) return "";
144
+ if (timeStr.includes(":")) {
145
+ const time = new Date(timeStr.replace(/\-/g, "/"));
146
+ const now = /* @__PURE__ */ new Date();
147
+ const diff = now - time;
148
+ const oneDay = 24 * 60 * 60 * 1e3;
149
+ if (diff > oneDay) {
150
+ return timeStr;
151
+ }
152
+ const hours = Math.floor(diff / (60 * 60 * 1e3));
153
+ if (hours >= 1) {
154
+ return `${hours}小时前`;
155
+ }
156
+ const minutes = Math.floor(diff / (60 * 1e3));
157
+ return `${minutes}分钟前`;
158
+ }
159
+ return timeStr;
160
+ }
161
+ function onView(item) {
162
+ console.log("查看:", item);
163
+ }
164
+ function onApprove(item) {
165
+ console.log("同意:", item);
166
+ }
167
+ function onRevoke(item) {
168
+ console.log("撤销:", item);
169
+ }
170
+ return (_ctx, _cache) => {
171
+ const _component_van_icon = Icon;
172
+ const _component_van_button = Button;
173
+ const _component_van_tab = Tab;
174
+ const _component_van_tabs = Tabs;
175
+ return openBlock(), createElementBlock("div", _hoisted_1, [
176
+ createVNode(_component_van_tabs, {
177
+ sticky: "",
178
+ class: "fec-tabs",
179
+ active: unref(activeName),
180
+ "onUpdate:active": _cache[0] || (_cache[0] = ($event) => isRef(activeName) ? activeName.value = $event : null),
181
+ swipeable: "",
182
+ "lazy-render": ""
183
+ }, {
184
+ default: withCtx(() => [
185
+ createVNode(_component_van_tab, {
186
+ title: "待办",
187
+ name: "todo",
188
+ replace: "",
189
+ "show-zero-badge": false
190
+ }, {
191
+ default: withCtx(() => [
192
+ createElementVNode("div", _hoisted_2, [
193
+ createElementVNode("div", _hoisted_3, [
194
+ (openBlock(), createElementBlock(Fragment, null, renderList(todoList, (item) => {
195
+ return createElementVNode("div", {
196
+ key: item.id,
197
+ class: "fec-card"
198
+ }, [
199
+ createElementVNode("div", _hoisted_4, [
200
+ createElementVNode("span", _hoisted_5, toDisplayString(item.title), 1),
201
+ createElementVNode("span", {
202
+ class: "fec-card-status",
203
+ style: normalizeStyle({ background: item.statusColor })
204
+ }, [
205
+ createVNode(_component_van_icon, {
206
+ name: item.statusIcon,
207
+ size: "12"
208
+ }, null, 8, ["name"]),
209
+ createTextVNode(" " + toDisplayString(item.statusText), 1)
210
+ ], 4)
211
+ ]),
212
+ createElementVNode("div", _hoisted_6, [
213
+ createElementVNode("div", _hoisted_7, toDisplayString(item.message), 1),
214
+ createElementVNode("div", _hoisted_8, [
215
+ _cache[1] || (_cache[1] = createElementVNode("span", { class: "fec-card-label" }, "业务流水号:", -1)),
216
+ createElementVNode("span", _hoisted_9, toDisplayString(item.sn), 1)
217
+ ])
218
+ ]),
219
+ createElementVNode("div", _hoisted_10, [
220
+ createElementVNode("span", _hoisted_11, toDisplayString(formatTime(item.arriveTime)), 1),
221
+ createElementVNode("div", _hoisted_12, [
222
+ createVNode(_component_van_button, {
223
+ plain: "",
224
+ hairline: "",
225
+ round: "",
226
+ size: "small",
227
+ onClick: ($event) => onView(item)
228
+ }, {
229
+ default: withCtx(() => _cache[2] || (_cache[2] = [
230
+ createTextVNode(" 查看 ")
231
+ ])),
232
+ _: 2
233
+ }, 1032, ["onClick"]),
234
+ createVNode(_component_van_button, {
235
+ type: "primary",
236
+ round: "",
237
+ size: "small",
238
+ onClick: ($event) => onApprove(item)
239
+ }, {
240
+ default: withCtx(() => [
241
+ createTextVNode(toDisplayString(item.actionText || "同意"), 1)
242
+ ]),
243
+ _: 2
244
+ }, 1032, ["onClick"])
245
+ ])
246
+ ])
247
+ ]);
248
+ }), 64))
249
+ ])
250
+ ])
251
+ ]),
252
+ _: 1
253
+ }),
254
+ createVNode(_component_van_tab, {
255
+ title: "已办",
256
+ name: "done",
257
+ replace: "",
258
+ "show-zero-badge": false
259
+ }, {
260
+ default: withCtx(() => [
261
+ createElementVNode("div", _hoisted_13, [
262
+ createElementVNode("div", _hoisted_14, [
263
+ (openBlock(), createElementBlock(Fragment, null, renderList(doneList, (item) => {
264
+ return createElementVNode("div", {
265
+ key: item.id,
266
+ class: "fec-card"
267
+ }, [
268
+ createElementVNode("div", _hoisted_15, [
269
+ createElementVNode("span", _hoisted_16, toDisplayString(item.title), 1),
270
+ createElementVNode("span", {
271
+ class: "fec-card-status",
272
+ style: normalizeStyle({ background: item.statusColor })
273
+ }, [
274
+ createVNode(_component_van_icon, {
275
+ name: item.statusIcon,
276
+ size: "12"
277
+ }, null, 8, ["name"]),
278
+ createTextVNode(" " + toDisplayString(item.statusText), 1)
279
+ ], 4)
280
+ ]),
281
+ createElementVNode("div", _hoisted_17, [
282
+ createElementVNode("div", _hoisted_18, toDisplayString(item.message), 1),
283
+ createElementVNode("div", _hoisted_19, [
284
+ _cache[3] || (_cache[3] = createElementVNode("span", { class: "fec-card-label" }, "业务流水号:", -1)),
285
+ createElementVNode("span", _hoisted_20, toDisplayString(item.sn), 1)
286
+ ])
287
+ ]),
288
+ createElementVNode("div", _hoisted_21, [
289
+ createElementVNode("span", _hoisted_22, toDisplayString(formatTime(item.arriveTime)), 1),
290
+ createElementVNode("div", _hoisted_23, [
291
+ createVNode(_component_van_button, {
292
+ plain: "",
293
+ hairline: "",
294
+ round: "",
295
+ size: "small",
296
+ onClick: ($event) => onView(item)
297
+ }, {
298
+ default: withCtx(() => _cache[4] || (_cache[4] = [
299
+ createTextVNode(" 查看 ")
300
+ ])),
301
+ _: 2
302
+ }, 1032, ["onClick"]),
303
+ createVNode(_component_van_button, {
304
+ type: "warning",
305
+ round: "",
306
+ size: "small",
307
+ onClick: ($event) => onRevoke(item)
308
+ }, {
309
+ default: withCtx(() => _cache[5] || (_cache[5] = [
310
+ createTextVNode(" 撤销 ")
311
+ ])),
312
+ _: 2
313
+ }, 1032, ["onClick"])
314
+ ])
315
+ ])
316
+ ]);
317
+ }), 64))
318
+ ])
319
+ ])
320
+ ]),
321
+ _: 1
322
+ }),
323
+ createVNode(_component_van_tab, {
324
+ title: "抄送",
325
+ name: "cc",
326
+ replace: "",
327
+ "show-zero-badge": false
328
+ }, {
329
+ default: withCtx(() => [
330
+ createElementVNode("div", _hoisted_24, [
331
+ createElementVNode("div", _hoisted_25, [
332
+ (openBlock(), createElementBlock(Fragment, null, renderList(ccList, (item) => {
333
+ return createElementVNode("div", {
334
+ key: item.id,
335
+ class: "fec-card"
336
+ }, [
337
+ createElementVNode("div", _hoisted_26, [
338
+ createElementVNode("span", _hoisted_27, toDisplayString(item.title), 1),
339
+ createElementVNode("span", {
340
+ class: "fec-card-status",
341
+ style: normalizeStyle({ background: item.statusColor })
342
+ }, [
343
+ createVNode(_component_van_icon, {
344
+ name: item.statusIcon,
345
+ size: "12"
346
+ }, null, 8, ["name"]),
347
+ createTextVNode(" " + toDisplayString(item.statusText), 1)
348
+ ], 4)
349
+ ]),
350
+ createElementVNode("div", _hoisted_28, [
351
+ createElementVNode("div", _hoisted_29, toDisplayString(item.message), 1),
352
+ createElementVNode("div", _hoisted_30, [
353
+ _cache[6] || (_cache[6] = createElementVNode("span", { class: "fec-card-label" }, "业务流水号:", -1)),
354
+ createElementVNode("span", _hoisted_31, toDisplayString(item.sn), 1)
355
+ ])
356
+ ]),
357
+ createElementVNode("div", _hoisted_32, [
358
+ createElementVNode("span", _hoisted_33, toDisplayString(formatTime(item.arriveTime)), 1),
359
+ createElementVNode("div", _hoisted_34, [
360
+ createVNode(_component_van_button, {
361
+ plain: "",
362
+ hairline: "",
363
+ round: "",
364
+ size: "small",
365
+ onClick: ($event) => onView(item)
366
+ }, {
367
+ default: withCtx(() => _cache[7] || (_cache[7] = [
368
+ createTextVNode(" 查看 ")
369
+ ])),
370
+ _: 2
371
+ }, 1032, ["onClick"])
372
+ ])
373
+ ])
374
+ ]);
375
+ }), 64))
376
+ ])
377
+ ])
378
+ ]),
379
+ _: 1
380
+ })
381
+ ]),
382
+ _: 1
383
+ }, 8, ["active"])
384
+ ]);
385
+ };
386
+ }
387
+ };
388
+ const _ApprovalList = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-5cd7ed05"]]);
389
+ export {
390
+ _ApprovalList as default
391
+ };
@@ -0,0 +1,10 @@
1
+ import _ApprovalList from "./ApprovalList.vue.mjs";
2
+ import install from "../../../utils/install.mjs";
3
+ const MobileApprovalList = install.withInstall(
4
+ "MobileApprovalList",
5
+ _ApprovalList
6
+ );
7
+ export {
8
+ MobileApprovalList,
9
+ MobileApprovalList as default
10
+ };
@@ -15,9 +15,6 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
15
15
  compId: {
16
16
  type: String
17
17
  },
18
- currentPage: {
19
- type: Object
20
- },
21
18
  modelValue: {
22
19
  type: Array,
23
20
  default: []
@@ -81,22 +78,9 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
81
78
  const ctx = currentInstance.proxy;
82
79
  const listRef = ref();
83
80
  onMounted(() => {
84
- var _a, _b, _c, _d, _e;
81
+ var _a, _b;
85
82
  (_b = (_a = listRef.value) == null ? void 0 : _a.$el) == null ? void 0 : _b.closest(".device-content");
86
83
  initDataSourceManager();
87
- if (props.compId) {
88
- if (props.autoHeight) {
89
- const component = (_c = props.currentPage.layoutData) == null ? void 0 : _c.find(
90
- (f) => {
91
- var _a2;
92
- return ((_a2 = f.component) == null ? void 0 : _a2.id) == props.compId;
93
- }
94
- );
95
- const wrapperDom = (_e = (_d = listRef.value) == null ? void 0 : _d.$el) == null ? void 0 : _e.closest(".grid-wrapper");
96
- const wrapperHeight = wrapperDom.offsetHeight;
97
- component.h = wrapperHeight / 10;
98
- }
99
- }
100
84
  });
101
85
  function eventHandler(funcName, rowData) {
102
86
  console.log("🚀 ~ eventHandler ~ funcName, rowData:", funcName, rowData);
@@ -219,7 +203,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
219
203
  };
220
204
  }
221
205
  });
222
- const _CardList = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-20941c4a"]]);
206
+ const _CardList = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-38039905"]]);
223
207
  export {
224
208
  _CardList as default
225
209
  };
@@ -7,6 +7,7 @@ import { VxeGrid } from "vxe-table";
7
7
  import { createDataSource } from "../../../utils/datasource.mjs";
8
8
  /* empty css */
9
9
  import { textFormatter, dateFormatter, cascadeFormatter, multipleFormatter, selectFormatter } from "../../../utils/formatterUtil.mjs";
10
+ import { getOptions } from "../../../utils/optionUtil.mjs";
10
11
  /* empty css */
11
12
  /* empty css */
12
13
  /* empty css */
@@ -96,6 +97,14 @@ const _sfc_main = {
96
97
  type: Array,
97
98
  default: () => []
98
99
  },
100
+ formData: {
101
+ type: Object,
102
+ default: {}
103
+ },
104
+ fields: {
105
+ type: Array,
106
+ default: () => []
107
+ },
99
108
  pageSize: {
100
109
  type: Number,
101
110
  default: 10
@@ -154,8 +163,22 @@ const _sfc_main = {
154
163
  const compHeight = computed(() => {
155
164
  return "100%";
156
165
  });
157
- const columnOptions = computed(() => {
158
- return props.columns.map((col) => {
166
+ const columnOptions = ref([]);
167
+ async function initColumnOptions() {
168
+ const columns = [...props.columns];
169
+ for (const col of columns) {
170
+ if (col.dataType == "select" || col.dataType == "multiple") {
171
+ const options = await getOptions({
172
+ ctx,
173
+ dataSources: props.dataSources,
174
+ formData: props.formData,
175
+ fields: props.fields,
176
+ ...col.optionConfig
177
+ });
178
+ col.options = options;
179
+ }
180
+ }
181
+ columns.forEach((col) => {
159
182
  const newCol = { ...col };
160
183
  switch (newCol.dataType) {
161
184
  case "select":
@@ -208,9 +231,10 @@ const _sfc_main = {
208
231
  newCol.showOverflow = true;
209
232
  newCol.showHeaderOverflow = true;
210
233
  newCol.showFooterOverflow = true;
211
- return newCol;
234
+ columnOptions.value.push(newCol);
212
235
  });
213
- });
236
+ }
237
+ initColumnOptions();
214
238
  function isEmpty(cellValue) {
215
239
  return !cellValue && cellValue !== 0;
216
240
  }
@@ -324,6 +348,12 @@ const _sfc_main = {
324
348
  const error = ref(false);
325
349
  const listError = ref(false);
326
350
  let pageNo = 1;
351
+ const pageSize = computed(() => {
352
+ if (props.scrollLoad) {
353
+ return props.pageSize;
354
+ }
355
+ return -1;
356
+ });
327
357
  function initDataSourceManager() {
328
358
  dataSourceManager.value = createDataSource({
329
359
  http: ctx.$http,
@@ -331,8 +361,10 @@ const _sfc_main = {
331
361
  currentDataSourceId: props.dataSourceValue,
332
362
  pagination: {
333
363
  pageNo,
334
- pageSize: props.pageSize
335
- }
364
+ pageSize: pageSize.value
365
+ },
366
+ data: props.formData,
367
+ fields: props.fields
336
368
  // data: hiddenFormData.value,
337
369
  // fields: fieldsData.value,
338
370
  // sortRules: localConfig.value.sortRules,
@@ -373,11 +405,11 @@ const _sfc_main = {
373
405
  async function call() {
374
406
  var _a;
375
407
  try {
376
- dataSourceManager.value.updatePagination(pageNo, props.pageSize);
408
+ dataSourceManager.value.updatePagination(pageNo, pageSize.value);
377
409
  await dataSourceManager.value.fetch();
378
410
  const data = ((_a = dataSourceManager.value) == null ? void 0 : _a.getData().list) || [];
379
411
  tableData.value.push(...data);
380
- if (data.length < props.pageSize) {
412
+ if (data.length < pageSize.value) {
381
413
  if (props.isFixedHead) {
382
414
  finished.value = true;
383
415
  } else {
@@ -574,7 +606,7 @@ const _sfc_main = {
574
606
  };
575
607
  }
576
608
  };
577
- const _Table = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-16d68bd3"]]);
609
+ const _Table = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-77c6ee76"]]);
578
610
  export {
579
611
  _Table as default
580
612
  };
@@ -3,7 +3,7 @@
3
3
  /* empty css */
4
4
  /* empty css */
5
5
  /* empty css */
6
- import { ref, computed, watch, createElementBlock, openBlock, Fragment, createVNode, withDirectives, renderSlot, mergeProps, unref, isRef, createSlots, renderList, withCtx, createTextVNode, toDisplayString, createElementVNode, vModelText } from "vue";
6
+ import { getCurrentInstance, computed, ref, watch, createElementBlock, openBlock, Fragment, createVNode, withDirectives, renderSlot, mergeProps, unref, isRef, createSlots, renderList, withCtx, createElementVNode, toDisplayString, createTextVNode, vModelText } from "vue";
7
7
  import { getUnit, textFormatter, textFormatter4Input, reverseTextFormatter } from "../../../utils/formatterUtil.mjs";
8
8
  import { useCursor } from "../../../utils/use-cursor.mjs";
9
9
  /* empty css */
@@ -37,42 +37,44 @@ const _sfc_main = {
37
37
  showUnit: {
38
38
  type: Boolean,
39
39
  default: true
40
- }
40
+ },
41
+ maxlength: {
42
+ type: Number,
43
+ default: 0
44
+ },
45
+ formData: Object
41
46
  },
42
47
  emits: ["openPicker", "update:modelValue"],
43
48
  setup(__props, { emit: __emit }) {
44
49
  const props = __props;
50
+ const instance = getCurrentInstance();
51
+ const ctx = instance.proxy;
52
+ const realMaxLength = computed(() => {
53
+ return Math.floor(props.maxLength / (ctx.$dbFieldLengthRatio || 1)) || "-";
54
+ });
45
55
  const unit = ref("");
46
56
  const fieldInputRef = ref();
47
57
  const [recordCursor, setCursor] = useCursor();
48
58
  const emit = __emit;
49
59
  const textValue = ref("");
50
60
  const compValue = computed({
51
- get: () => {
52
- if (!props.fieldType || props.fieldType == "text") {
53
- unit.value = getUnit(props.dataFormatter);
54
- if (props.readonly) {
55
- textValue.value = textFormatter(props.modelValue, props.dataFormatter);
56
- } else {
57
- textValue.value = textFormatter4Input(
58
- props.modelValue,
59
- props.dataFormatter
60
- );
61
- }
62
- } else {
63
- textValue.value = props.modelValue;
64
- }
65
- return props.modelValue;
66
- },
61
+ get: () => props.modelValue,
67
62
  set: (val) => {
68
63
  emit("update:modelValue", val);
69
64
  }
70
65
  });
71
- watch(textValue, (val) => {
72
- if (!val) {
73
- emit("update:modelValue", val);
74
- }
75
- });
66
+ watch(
67
+ () => props.modelValue,
68
+ (newVal) => {
69
+ unit.value = getUnit(props.dataFormatter);
70
+ if (!props.fieldType || props.fieldType === "text") {
71
+ textValue.value = textFormatter(newVal, props.dataFormatter);
72
+ } else {
73
+ textValue.value = newVal;
74
+ }
75
+ },
76
+ { immediate: true, flush: "post" }
77
+ );
76
78
  const compClickable = computed(() => {
77
79
  if (props.disabled || props.readonly) {
78
80
  return false;
@@ -120,8 +122,10 @@ const _sfc_main = {
120
122
  const _component_van_field = Field;
121
123
  return openBlock(), createElementBlock(Fragment, null, [
122
124
  createVNode(_component_van_field, mergeProps(_ctx.$attrs, {
125
+ type: _ctx.$attrs.type == "number" ? "text" : _ctx.$attrs.type,
123
126
  modelValue: unref(textValue),
124
127
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(textValue) ? textValue.value = $event : null),
128
+ maxlength: unref(realMaxLength),
125
129
  disabled: __props.disabled,
126
130
  readonly: __props.readonly,
127
131
  clearable: "",
@@ -132,7 +136,8 @@ const _sfc_main = {
132
136
  ref: fieldInputRef,
133
137
  onInput: handleInput,
134
138
  onCompositionstart: handleCompositionStart,
135
- onCompositionend: handleCompositionEnd
139
+ onCompositionend: handleCompositionEnd,
140
+ "input-align": "right"
136
141
  }), createSlots({ _: 2 }, [
137
142
  renderList(_ctx.$slots, (item, key) => {
138
143
  return {
@@ -142,14 +147,21 @@ const _sfc_main = {
142
147
  ])
143
148
  };
144
149
  }),
150
+ __props.disabled ? {
151
+ name: "input",
152
+ fn: withCtx(() => [
153
+ createElementVNode("div", null, toDisplayString(unref(textValue)), 1)
154
+ ]),
155
+ key: "0"
156
+ } : void 0,
145
157
  __props.showUnit && unref(unit) ? {
146
158
  name: "button",
147
159
  fn: withCtx(() => [
148
160
  createTextVNode(toDisplayString(unref(unit)), 1)
149
161
  ]),
150
- key: "0"
162
+ key: "1"
151
163
  } : void 0
152
- ]), 1040, ["modelValue", "disabled", "readonly", "clickable"]),
164
+ ]), 1040, ["type", "modelValue", "maxlength", "disabled", "readonly", "clickable"]),
153
165
  withDirectives(createElementVNode("input", {
154
166
  type: "hidden",
155
167
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => isRef(compValue) ? compValue.value = $event : null)