@baishuyun/ai-feat-utils 2.0.34-alpha.0 → 2.0.35

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/dist/ai-feat-utils.js +1970 -0
  2. package/dist/ai-feat-utils.js.map +1 -0
  3. package/dist/array.d.ts +3 -0
  4. package/dist/array.d.ts.map +1 -0
  5. package/dist/attachment.d.ts +2 -0
  6. package/dist/attachment.d.ts.map +1 -0
  7. package/dist/chat.d.ts +3 -0
  8. package/dist/chat.d.ts.map +1 -0
  9. package/dist/condition.d.ts +10 -0
  10. package/dist/condition.d.ts.map +1 -0
  11. package/dist/constants.d.ts +2 -0
  12. package/dist/constants.d.ts.map +1 -0
  13. package/dist/date.d.ts +2 -0
  14. package/dist/date.d.ts.map +1 -0
  15. package/dist/dom.d.ts +2 -0
  16. package/dist/dom.d.ts.map +1 -0
  17. package/dist/field-json.d.ts +21 -0
  18. package/dist/field-json.d.ts.map +1 -0
  19. package/dist/fields-json-rebuild/build-widget-name.d.ts +2 -0
  20. package/dist/fields-json-rebuild/build-widget-name.d.ts.map +1 -0
  21. package/dist/fields-json-rebuild/default-builder.d.ts +2 -0
  22. package/dist/fields-json-rebuild/default-builder.d.ts.map +1 -0
  23. package/dist/fields-json-rebuild/index.d.ts +6 -0
  24. package/dist/fields-json-rebuild/index.d.ts.map +1 -0
  25. package/dist/fields-json-rebuild/rebuild-address.d.ts +2 -0
  26. package/dist/fields-json-rebuild/rebuild-address.d.ts.map +1 -0
  27. package/dist/fields-json-rebuild/rebuild-button.d.ts +2 -0
  28. package/dist/fields-json-rebuild/rebuild-button.d.ts.map +1 -0
  29. package/dist/fields-json-rebuild/rebuild-checkbox-group.d.ts +2 -0
  30. package/dist/fields-json-rebuild/rebuild-checkbox-group.d.ts.map +1 -0
  31. package/dist/fields-json-rebuild/rebuild-combo-checker.d.ts +2 -0
  32. package/dist/fields-json-rebuild/rebuild-combo-checker.d.ts.map +1 -0
  33. package/dist/fields-json-rebuild/rebuild-data-linker.d.ts +2 -0
  34. package/dist/fields-json-rebuild/rebuild-data-linker.d.ts.map +1 -0
  35. package/dist/fields-json-rebuild/rebuild-data-loader.d.ts +2 -0
  36. package/dist/fields-json-rebuild/rebuild-data-loader.d.ts.map +1 -0
  37. package/dist/fields-json-rebuild/rebuild-data-query.d.ts +2 -0
  38. package/dist/fields-json-rebuild/rebuild-data-query.d.ts.map +1 -0
  39. package/dist/fields-json-rebuild/rebuild-date-time.d.ts +2 -0
  40. package/dist/fields-json-rebuild/rebuild-date-time.d.ts.map +1 -0
  41. package/dist/fields-json-rebuild/rebuild-dept-group.d.ts +2 -0
  42. package/dist/fields-json-rebuild/rebuild-dept-group.d.ts.map +1 -0
  43. package/dist/fields-json-rebuild/rebuild-dept.d.ts +2 -0
  44. package/dist/fields-json-rebuild/rebuild-dept.d.ts.map +1 -0
  45. package/dist/fields-json-rebuild/rebuild-image.d.ts +2 -0
  46. package/dist/fields-json-rebuild/rebuild-image.d.ts.map +1 -0
  47. package/dist/fields-json-rebuild/rebuild-line.d.ts +2 -0
  48. package/dist/fields-json-rebuild/rebuild-line.d.ts.map +1 -0
  49. package/dist/fields-json-rebuild/rebuild-location.d.ts +2 -0
  50. package/dist/fields-json-rebuild/rebuild-location.d.ts.map +1 -0
  51. package/dist/fields-json-rebuild/rebuild-number.d.ts +2 -0
  52. package/dist/fields-json-rebuild/rebuild-number.d.ts.map +1 -0
  53. package/dist/fields-json-rebuild/rebuild-radio-group.d.ts +2 -0
  54. package/dist/fields-json-rebuild/rebuild-radio-group.d.ts.map +1 -0
  55. package/dist/fields-json-rebuild/rebuild-select.d.ts +2 -0
  56. package/dist/fields-json-rebuild/rebuild-select.d.ts.map +1 -0
  57. package/dist/fields-json-rebuild/rebuild-signature.d.ts +2 -0
  58. package/dist/fields-json-rebuild/rebuild-signature.d.ts.map +1 -0
  59. package/dist/fields-json-rebuild/rebuild-sn.d.ts +2 -0
  60. package/dist/fields-json-rebuild/rebuild-sn.d.ts.map +1 -0
  61. package/dist/fields-json-rebuild/rebuild-subform.d.ts +57 -0
  62. package/dist/fields-json-rebuild/rebuild-subform.d.ts.map +1 -0
  63. package/dist/fields-json-rebuild/rebuild-text.d.ts +2 -0
  64. package/dist/fields-json-rebuild/rebuild-text.d.ts.map +1 -0
  65. package/dist/fields-json-rebuild/rebuild-textarea.d.ts +2 -0
  66. package/dist/fields-json-rebuild/rebuild-textarea.d.ts.map +1 -0
  67. package/dist/fields-json-rebuild/rebuild-upload.d.ts +2 -0
  68. package/dist/fields-json-rebuild/rebuild-upload.d.ts.map +1 -0
  69. package/dist/fields-json-rebuild/rebuild-user-group.d.ts +2 -0
  70. package/dist/fields-json-rebuild/rebuild-user-group.d.ts.map +1 -0
  71. package/dist/fields-json-rebuild/rebuild-user.d.ts +2 -0
  72. package/dist/fields-json-rebuild/rebuild-user.d.ts.map +1 -0
  73. package/dist/form-structure.d.ts +4 -0
  74. package/dist/form-structure.d.ts.map +1 -0
  75. package/dist/iconfont.d.ts +13 -0
  76. package/dist/iconfont.d.ts.map +1 -0
  77. package/dist/index.d.ts +16 -0
  78. package/dist/index.d.ts.map +1 -0
  79. package/dist/part.d.ts +12 -0
  80. package/dist/part.d.ts.map +1 -0
  81. package/dist/prompt-parser.d.ts +3 -0
  82. package/dist/prompt-parser.d.ts.map +1 -0
  83. package/dist/text-part.d.ts +2 -0
  84. package/dist/text-part.d.ts.map +1 -0
  85. package/dist/value-normalizer.d.ts +2 -0
  86. package/dist/value-normalizer.d.ts.map +1 -0
  87. package/package.json +2 -2
@@ -0,0 +1,1970 @@
1
+ const d = (e) => {
2
+ if ((e == null ? void 0 : e.type) !== "text" || !e.providerMetadata || !e.providerMetadata.raw || !e.providerMetadata.raw.data)
3
+ return null;
4
+ if (typeof e.providerMetadata.raw.data != "string")
5
+ return e.providerMetadata.raw.data;
6
+ let t;
7
+ try {
8
+ t = JSON.parse(e.providerMetadata.raw.data);
9
+ } catch (r) {
10
+ console.error("invalid raw data");
11
+ }
12
+ return t || e.providerMetadata.raw.data;
13
+ }, C = (e) => {
14
+ if ((e == null ? void 0 : e.type) === "error")
15
+ return !0;
16
+ const t = d(e);
17
+ return (t == null ? void 0 : t.type) === "agent-error";
18
+ }, ge = (e) => {
19
+ const t = d(e);
20
+ return (t == null ? void 0 : t.type) === "agent-fake-msg";
21
+ }, me = (e) => (e == null ? void 0 : e.type) === "file", pe = (e) => {
22
+ const t = d(e);
23
+ return (t == null ? void 0 : t.type) === "query-stream-parsed-info";
24
+ }, fe = (e) => {
25
+ const t = d(e);
26
+ if ((t == null ? void 0 : t.type) !== "query-stream-parsed-info")
27
+ return null;
28
+ const r = t.result;
29
+ console.log("query result raw data:", r);
30
+ try {
31
+ return JSON.parse(r);
32
+ } catch (n) {
33
+ return console.error("invalid query result data"), null;
34
+ }
35
+ }, be = (e) => {
36
+ if (!Array.isArray(e))
37
+ return !1;
38
+ for (const t of e)
39
+ if ((t == null ? void 0 : t.type) === "file")
40
+ return !0;
41
+ return !1;
42
+ }, ye = (e) => {
43
+ const t = d(e);
44
+ return (t == null ? void 0 : t.type) === "agent-loading";
45
+ }, we = (e) => {
46
+ const t = d(e);
47
+ return (t == null ? void 0 : t.type) !== "agent-loading" ? "" : (t == null ? void 0 : t.label) || "加载中";
48
+ }, he = (e) => {
49
+ if (!C(e))
50
+ return "";
51
+ if (e != null && e.errorText)
52
+ return e.errorText;
53
+ const t = d(e);
54
+ return (t == null ? void 0 : t.error) || "未知错误";
55
+ }, ve = (e) => {
56
+ if (e != null && e.errorText)
57
+ return e.errorText;
58
+ const t = d(e);
59
+ return (t == null ? void 0 : t.error) || "未知错误";
60
+ }, b = "data-shadow-slot-injected", Se = (e, t) => {
61
+ if (e.querySelector(`[${b}]`)) return;
62
+ const r = (a) => {
63
+ const l = a.cloneNode(!0);
64
+ l.setAttribute(b, ""), e.appendChild(l);
65
+ };
66
+ document.head.querySelectorAll("style").forEach(r), document.head.querySelectorAll('link[rel="stylesheet"]').forEach(r);
67
+ let n = t.parentNode;
68
+ for (; n; )
69
+ n instanceof ShadowRoot && (n.querySelectorAll("style").forEach(r), n.querySelectorAll('link[rel="stylesheet"]').forEach(r)), n = n.parentNode;
70
+ };
71
+ function N(e) {
72
+ return Array.isArray(e) ? e.every((t) => typeof t == "string") : !1;
73
+ }
74
+ function M(e) {
75
+ return Array.isArray(e) ? e.every(
76
+ (t) => typeof t == "object" && t !== null && "label" in t && "value" in t && typeof t.label == "string" && typeof t.value == "string"
77
+ ) : !1;
78
+ }
79
+ const Ae = (e) => N(e) ? e.join(", ") : M(e) ? e.map((r) => r.value).join(", ") : e, q = /* @__PURE__ */ new Set([
80
+ "password",
81
+ "textarea",
82
+ "datetime",
83
+ "text",
84
+ "radiogroup",
85
+ "radio",
86
+ "combo",
87
+ "combocheck",
88
+ "checkboxgroup",
89
+ "number"
90
+ ]), ke = (e) => Array.isArray(e) ? e.filter((t) => t.widget ? q.has(t.widget.type) : !1) : [], x = (e) => (t) => {
91
+ const r = d(t);
92
+ return (r == null ? void 0 : r.type) === e;
93
+ }, _e = (e) => (t) => {
94
+ const r = t, n = r == null ? void 0 : r.part;
95
+ return x(e)(n);
96
+ }, Ce = (e) => (t) => {
97
+ const r = d(t);
98
+ return (r == null ? void 0 : r.type) !== e ? null : (r == null ? void 0 : r.field) || null;
99
+ }, Ne = (e) => (t) => Array.isArray(t) && t.length > 0 ? t.filter(e) : e(t) ? [t] : [], Me = (e) => {
100
+ if (typeof e != "string")
101
+ return e;
102
+ try {
103
+ return JSON.parse(e);
104
+ } catch (t) {
105
+ return console.info("[safeParseJson] Failed to parse JSON:", t), null;
106
+ }
107
+ }, y = (e) => !!(e && typeof e == "object" && e.qnKey), qe = (e) => {
108
+ var n, a;
109
+ const t = (n = e == null ? void 0 : e.widget) == null ? void 0 : n.value, r = (a = e == null ? void 0 : e.widget) == null ? void 0 : a.type;
110
+ return t == null || t === "" || Array.isArray(t) && t.length === 0 || typeof t == "number" && Number.isNaN(t) || typeof t == "object" && !Array.isArray(t) && Object.keys(t).length === 0 ? !1 : r === "signature" ? y(t) : r === "upload" || r === "image" ? Array.isArray(t) && t.length > 0 && t.every(y) : !0;
111
+ }, F = (e = "_widget_") => {
112
+ const t = Date.now(), r = String(t), n = r.length, a = r.slice(0, n - 5), l = String(Math.floor(Math.random() * 1e5)).padStart(5, "0");
113
+ return `${e}${a}${l}`;
114
+ }, xe = (e, t) => ({
115
+ field: e,
116
+ onLoaded: () => {
117
+ t.fillWidget({
118
+ checked: !0,
119
+ field: e
120
+ });
121
+ },
122
+ onChange: (r, n, a, l) => {
123
+ const i = {
124
+ field: n,
125
+ checked: r,
126
+ parentFieldName: a,
127
+ rowIndex: l
128
+ };
129
+ t.fillWidget(i);
130
+ }
131
+ }), Fe = 10, Ee = (e, t = "image/png") => new Promise((r) => {
132
+ const n = new Image();
133
+ n.crossOrigin = "anonymous", n.onload = () => {
134
+ const a = document.createElement("canvas");
135
+ a.width = n.naturalWidth, a.height = n.naturalHeight, a.getContext("2d").drawImage(n, 0, 0), r(a.toDataURL(t));
136
+ }, n.onerror = () => r(e), n.src = e;
137
+ }), De = {
138
+ eq: "等于",
139
+ neq: "不等于",
140
+ gt: "大于",
141
+ lt: "小于",
142
+ gte: "大于等于",
143
+ lte: "小于等于",
144
+ contains: "包含",
145
+ not_contains: "不包含",
146
+ in: "等于任意",
147
+ nin: "不等于任意",
148
+ all: "同时包含",
149
+ empty: "为空",
150
+ not_empty: "不为空",
151
+ range: "选择范围",
152
+ like: "模糊匹配",
153
+ unlike: "模糊不匹配"
154
+ }, E = {
155
+ // Text-like: equality, fuzzy, empty checks
156
+ text: ["eq", "neq", "in", "nin", "contains", "not_contains", "empty", "not_empty"],
157
+ password: ["eq", "neq", "contains", "not_contains", "empty", "not_empty"],
158
+ radiogroup: ["eq", "neq", "in", "nin", "empty", "not_empty"],
159
+ radio: ["eq", "neq", "empty", "not_empty"],
160
+ combo: ["eq", "neq", "in", "nin", "like", "unlike", "empty", "not_empty"],
161
+ sn: ["eq", "neq", "in", "nin", "contains", "not_contains", "empty", "not_empty"],
162
+ // Textarea: fuzzy matching
163
+ textarea: ["eq", "neq", "contains", "not_contains", "empty", "not_empty"],
164
+ // Number: comparison operators
165
+ number: ["eq", "neq", "gt", "gte", "lt", "lte", "range", "empty", "not_empty"],
166
+ // DateTime: comparison operators
167
+ datetime: ["eq", "neq", "gte", "lte", "range", "empty", "not_empty"],
168
+ // Multi-select: membership, intersection
169
+ checkboxgroup: ["in", "all", "eq", "empty", "not_empty"],
170
+ combocheck: ["in", "all", "eq", "empty", "not_empty"],
171
+ // User/Dept: equality and membership
172
+ user: ["eq", "neq", "in", "nin", "empty", "not_empty"],
173
+ dept: ["eq", "neq", "in", "nin", "empty", "not_empty"],
174
+ // Groups: membership, intersection, empty
175
+ usergroup: ["in", "all", "eq", "empty", "not_empty"],
176
+ deptgroup: ["in", "all", "eq", "empty", "not_empty"],
177
+ // Address/Location: intersection
178
+ address: ["in", "nin", "empty", "not_empty"],
179
+ location: ["in", "nin", "empty", "not_empty"],
180
+ // Files: empty checks
181
+ upload: ["empty", "not_empty"],
182
+ image: ["empty", "not_empty"],
183
+ signature: ["empty", "not_empty"],
184
+ // Flow state
185
+ flowState: ["eq", "neq", "empty"],
186
+ flowstate: ["eq", "neq", "empty"],
187
+ // Link data: combo-like
188
+ linkdata: ["eq", "neq", "in", "nin", "like", "unlike", "empty", "not_empty"],
189
+ linkquery: ["eq", "neq", "in", "nin", "like", "unlike", "empty", "not_empty"],
190
+ dataload: ["eq", "neq", "in", "nin", "like", "unlike", "empty", "not_empty"],
191
+ // Formula
192
+ formula: ["eq", "neq", "empty", "not_empty"],
193
+ // Display-only: no meaningful operators
194
+ separator: [],
195
+ button: [],
196
+ subform: [],
197
+ unknown: []
198
+ }, D = {
199
+ text: "eq",
200
+ password: "eq",
201
+ radiogroup: "eq",
202
+ radio: "eq",
203
+ combo: "eq",
204
+ sn: "eq",
205
+ textarea: "contains",
206
+ number: "range",
207
+ datetime: "range",
208
+ checkboxgroup: "all",
209
+ combocheck: "all",
210
+ user: "eq",
211
+ dept: "eq",
212
+ usergroup: "all",
213
+ deptgroup: "all",
214
+ address: "all",
215
+ location: "all",
216
+ upload: "not_empty",
217
+ image: "not_empty",
218
+ signature: "not_empty",
219
+ flowState: "eq",
220
+ flowstate: "eq",
221
+ linkdata: "eq",
222
+ linkquery: "eq",
223
+ dataload: "eq",
224
+ formula: "eq"
225
+ };
226
+ function Re(e) {
227
+ var t;
228
+ return e ? (t = E[e]) != null ? t : [] : [];
229
+ }
230
+ function Pe(e) {
231
+ var t;
232
+ return e && (t = D[e]) != null ? t : "eq";
233
+ }
234
+ function p(e) {
235
+ return typeof e == "object" && e !== null && !Array.isArray(e);
236
+ }
237
+ function k(e) {
238
+ return p(e) ? e : null;
239
+ }
240
+ function w(e) {
241
+ return !!(e == null || e === "" || Array.isArray(e) && e.length === 0);
242
+ }
243
+ function h(e, t) {
244
+ if (Array.isArray(e) && Array.isArray(t)) {
245
+ if (e.length !== t.length) return !1;
246
+ const r = e.map(String).sort(), n = t.map(String).sort();
247
+ return r.every((a, l) => a === n[l]);
248
+ }
249
+ if (p(e) && p(t)) {
250
+ const r = Object.keys(e), n = Object.keys(t);
251
+ return r.length !== n.length ? !1 : r.every((a) => String(e[a]) === String(t[a]));
252
+ }
253
+ return String(e) === String(t);
254
+ }
255
+ function v(e, t) {
256
+ if (p(t)) {
257
+ const n = k(e);
258
+ return !(!n || t.province !== void 0 && String(n.province) !== String(t.province) || t.city !== void 0 && String(n.city) !== String(t.city) || t.district !== void 0 && String(n.district) !== String(t.district));
259
+ }
260
+ const r = Array.isArray(t) ? t.map(String) : [];
261
+ return Array.isArray(e) ? e.some((n) => r.includes(String(n))) : r.includes(String(e));
262
+ }
263
+ function R(e, t) {
264
+ const r = Array.isArray(t) ? t.map(String) : [];
265
+ if (r.length === 0) return !1;
266
+ const n = Array.isArray(e) ? e.map(String) : [];
267
+ return r.every((a) => n.includes(a));
268
+ }
269
+ function P(e, t) {
270
+ const r = k(t);
271
+ if (!r) return !1;
272
+ const n = Number(e);
273
+ return !(isNaN(n) || r.min !== void 0 && r.min !== null && n < Number(r.min) || r.max !== void 0 && r.max !== null && n > Number(r.max));
274
+ }
275
+ function W(e, t) {
276
+ var i;
277
+ const r = (i = e.field.widget) == null ? void 0 : i.widgetName;
278
+ if (!r) return !1;
279
+ const n = t[r], { operator: a, value: l } = e;
280
+ switch (a) {
281
+ case "empty":
282
+ return w(n);
283
+ case "not_empty":
284
+ return !w(n);
285
+ case "eq":
286
+ return h(n, l);
287
+ case "neq":
288
+ return !h(n, l);
289
+ case "contains":
290
+ case "like":
291
+ return String(n).includes(String(l));
292
+ case "not_contains":
293
+ case "unlike":
294
+ return !String(n).includes(String(l));
295
+ case "gt":
296
+ return Number(n) > Number(l);
297
+ case "gte":
298
+ return Number(n) >= Number(l);
299
+ case "lt":
300
+ return Number(n) < Number(l);
301
+ case "lte":
302
+ return Number(n) <= Number(l);
303
+ case "in":
304
+ return v(n, l);
305
+ case "nin":
306
+ return !v(n, l);
307
+ case "all":
308
+ return R(n, l);
309
+ case "range":
310
+ return P(n, l);
311
+ default:
312
+ return !1;
313
+ }
314
+ }
315
+ function We(e, t) {
316
+ if (!e.enabled)
317
+ return !1;
318
+ const r = e.triggerCondition;
319
+ if (!r) return !0;
320
+ const { items: n, quantifier: a } = r;
321
+ if (!n || n.length === 0) return !0;
322
+ const l = n.map((i) => W(i, t));
323
+ return a === "any" ? l.some((i) => i) : l.every((i) => i);
324
+ }
325
+ const Be = (e, t) => e === null || t === null ? !1 : e.formId ? t.type === "form" && t.params.formId === e.formId : e.appId ? (t.type === "app" || t.type === "form") && t.params.appId === e.appId : t.type === "global" || t.type === "app" || t.type === "form", B = {
326
+ eq: "eq",
327
+ neq: "ne",
328
+ gt: "gt",
329
+ gte: "gte",
330
+ lt: "lt",
331
+ lte: "lte",
332
+ contains: "like",
333
+ not_contains: "unlike",
334
+ like: "like",
335
+ unlike: "unlike",
336
+ in: "in",
337
+ nin: "nin",
338
+ all: "all",
339
+ empty: "empty",
340
+ not_empty: "not_empty",
341
+ range: "range"
342
+ }, T = {
343
+ eq: "eq",
344
+ ne: "neq",
345
+ gt: "gt",
346
+ gte: "gte",
347
+ lt: "lt",
348
+ lte: "lte",
349
+ like: "like",
350
+ unlike: "unlike",
351
+ contains: "like",
352
+ not_contains: "unlike",
353
+ in: "in",
354
+ nin: "nin",
355
+ all: "all",
356
+ empty: "empty",
357
+ not_empty: "not_empty",
358
+ range: "range"
359
+ };
360
+ function Te(e) {
361
+ const t = e.quantifier === "any" ? "or" : "and", r = e.items.map((n) => {
362
+ var i, s, u, c, f, m;
363
+ const a = (i = B[n.operator]) != null ? i : "eq";
364
+ let l;
365
+ return n.operator === "range" && p(n.value) ? l = [n.value.min, n.value.max] : Array.isArray(n.value) ? l = n.value : l = [n.value], {
366
+ field: (c = (u = (s = n.field) == null ? void 0 : s.widget) == null ? void 0 : u.widgetName) != null ? c : "",
367
+ method: a,
368
+ value: l,
369
+ type: (m = (f = n.field) == null ? void 0 : f.widget) == null ? void 0 : m.type
370
+ };
371
+ });
372
+ return JSON.stringify({ rel: t, cond: r });
373
+ }
374
+ function $e(e) {
375
+ const t = JSON.parse(e), r = t.rel === "or" ? "any" : "all", n = t.cond.map((a, l) => {
376
+ var u, c;
377
+ const i = (u = T[a.method]) != null ? u : "eq";
378
+ let s = a.value;
379
+ return i === "range" ? s = { min: a.value[0], max: a.value[1] } : ["eq", "neq", "contains", "not_contains", "gt", "gte", "lt", "lte"].includes(i) && (s = a.value[0]), {
380
+ id: `${a.field}_${l}`,
381
+ field: {
382
+ label: a.field,
383
+ widget: {
384
+ widgetName: a.field,
385
+ type: (c = a.type) != null ? c : "unknown",
386
+ value: void 0
387
+ }
388
+ },
389
+ operator: i,
390
+ value: s
391
+ };
392
+ });
393
+ return { targetName: "", quantifier: r, items: n };
394
+ }
395
+ function Oe(e) {
396
+ const t = (r) => String(r).padStart(2, "0");
397
+ return `${e.getFullYear()}-${t(e.getMonth() + 1)}-${t(e.getDate())} ${t(e.getHours())}:${t(e.getMinutes())}:${t(e.getSeconds())}`;
398
+ }
399
+ function Ie(e, t, r = 1) {
400
+ const n = [], a = [];
401
+ for (const l of e)
402
+ t(l) ? a.push(l) : (a.length > 0 && (n.push(a.length >= r ? [...a] : a[0]), a.length = 0), n.push(l));
403
+ return a.length > 0 && n.push(a.length >= 2 ? [...a] : a[0]), n;
404
+ }
405
+ function _(e) {
406
+ const t = [];
407
+ for (const r of e)
408
+ Array.isArray(r) ? t.push(..._(r)) : t.push(r);
409
+ return t;
410
+ }
411
+ const $ = {
412
+ projectdevelopment: "e914",
413
+ resourcelibrary: "e915",
414
+ Plugin2: "e90e",
415
+ Plugin: "e90f",
416
+ JSON: "e910",
417
+ Dropdown: "e911",
418
+ Batchprocessing: "e912",
419
+ "Image-text": "e916",
420
+ Newaddition: "e917",
421
+ reportforms: "e918",
422
+ AddFola: "e919",
423
+ delete: "e91a",
424
+ AddImage: "e91b",
425
+ Send: "e91c",
426
+ text: "e91d",
427
+ image: "e91e",
428
+ Star1: "e91f",
429
+ Ellipse: "e920",
430
+ "Ellipse-Copy": "e921",
431
+ Shape: "e922",
432
+ "Shape-Copy": "e923",
433
+ "right-line": "e924",
434
+ "right-arrow": "e925",
435
+ "double-right-arrow": "e926",
436
+ ellipse: "e927",
437
+ Rectangle: "e928",
438
+ "Rectangle-Copy": "e929",
439
+ "Rectangle-Copy-2": "e92a",
440
+ CombinedShape: "e92b",
441
+ Line: "e92c",
442
+ time: "e92d",
443
+ calendar: "e92e",
444
+ richsinglelinetext: "e92f",
445
+ singlelinetext: "e930",
446
+ multilinetext: "e931",
447
+ number: "e932",
448
+ RichText: "e933",
449
+ image1: "e934",
450
+ Attachment: "e935",
451
+ Phone: "e936",
452
+ Email: "e937",
453
+ date: "e938",
454
+ "Multiple-choice": "e939",
455
+ Checkbox: "e93a",
456
+ "Drop-down": "e93b",
457
+ positioning: "e93c",
458
+ Description: "e93d",
459
+ AutoNumber: "e93e",
460
+ Address: "e93f",
461
+ Staff: "e940",
462
+ Department: "e941",
463
+ Switch: "e942",
464
+ Slider: "e943",
465
+ Currentdate: "e944",
466
+ Grade: "e945",
467
+ Barcode: "e946",
468
+ Subtable: "e947",
469
+ associatedtable: "e948",
470
+ Associatedapplication: "e949",
471
+ Referencefield: "e94a",
472
+ Uppercasing: "e94b",
473
+ nodata: "e94c",
474
+ "X-mark": "e94d",
475
+ Copy: "e94e",
476
+ Correct: "e94f",
477
+ Save: "e950",
478
+ Printer: "e951",
479
+ search: "e952",
480
+ filter: "e953",
481
+ Export: "e954",
482
+ Import: "e955",
483
+ Customprint: "e956",
484
+ refresh: "e957",
485
+ Helpcenter: "e958",
486
+ Tutorial: "e959",
487
+ Release: "e95a",
488
+ more: "e95b",
489
+ Setup: "e95c",
490
+ sort: "e95d",
491
+ Back: "e95e",
492
+ show: "e95f",
493
+ hide: "e960",
494
+ Preview: "e961",
495
+ Click: "e962",
496
+ Allcheck: "e963",
497
+ Cancelcheck: "e964",
498
+ Likespot: "e965",
499
+ Favoritespot: "e966",
500
+ Followspot: "e967",
501
+ Commentspot: "e968",
502
+ At: "e969",
503
+ Pin: "e96a",
504
+ edit: "e96b",
505
+ Top: "e96c",
506
+ Movein: "e96d",
507
+ Moveout: "e96e",
508
+ Forward: "e96f",
509
+ Revoke: "e970",
510
+ Return: "e971",
511
+ Link: "e972",
512
+ Unlink: "e973",
513
+ Download: "e974",
514
+ Upload: "e975",
515
+ Download2: "e976",
516
+ Upload2: "e977",
517
+ Comment: "e978",
518
+ Remind: "e979",
519
+ Notice: "e97a",
520
+ Permission: "e97b",
521
+ SMS: "e97c",
522
+ QRcode: "e97d",
523
+ Website: "e97e",
524
+ Monitoring: "e97f",
525
+ Api: "e980",
526
+ Webhook: "e981",
527
+ Synchronous: "e982",
528
+ Automation: "e983",
529
+ Trigger: "e984",
530
+ Condition: "e985",
531
+ Success: "e986",
532
+ Failure: "e987",
533
+ countdown: "e988",
534
+ Waiting: "e989",
535
+ Flow: "e98a",
536
+ Connection: "e98b",
537
+ Dashboard: "e98c",
538
+ chart: "e98d",
539
+ Piechart: "e98e",
540
+ BarChart: "e98f",
541
+ DoubleBarChart: "e991",
542
+ StackedBarChart: "e992",
543
+ PercentageStackedBarChart: "e993",
544
+ LineChart: "e994",
545
+ areachart: "e990",
546
+ combinationchart: "e995",
547
+ Scatterplot: "e996",
548
+ FunnelChart: "e997",
549
+ wordcloud: "e998",
550
+ RadarChart: "e999",
551
+ PivotTable: "e99a",
552
+ NumberChart: "e99b",
553
+ map: "e99c",
554
+ Timeline: "e99d",
555
+ Album: "e99e",
556
+ Kanban: "e99f",
557
+ Ganttchart: "e9a0",
558
+ Circle: "e9a8",
559
+ linesurface: "e9a1",
560
+ IconStyle: "e9a2",
561
+ Backgroundcolor: "e9a3",
562
+ DeleteDe: "e9a4",
563
+ AlignLeft: "e9a5",
564
+ AlignCenter: "e9a6",
565
+ AlignRight: "e9a7",
566
+ Column: "e9a9",
567
+ Component: "e9aa",
568
+ Customcomponent: "e9ab",
569
+ Title: "e9ac",
570
+ RichText1: "e9ad",
571
+ Carousel: "e9ae",
572
+ PageTab: "e9af",
573
+ Buriedpoint: "e9b0",
574
+ Container: "e9b1",
575
+ QuickStart: "e9b2",
576
+ Group: "e9b3",
577
+ Ungroup: "e9b4",
578
+ Front: "e9b5",
579
+ Back1: "e9b6",
580
+ Lock: "e9b7",
581
+ Unlock: "e9b8",
582
+ Association: "e9b9",
583
+ CancelAssociation: "e9ba",
584
+ Quotation: "e9bb",
585
+ ViewSet: "e9bc",
586
+ AutoScale: "e9bd",
587
+ waterfall: "e9be",
588
+ watermark: "e9bf",
589
+ history: "e9c0",
590
+ Setting: "e9c1",
591
+ Draftbox: "e9c2",
592
+ SQL: "e9c3",
593
+ Workflow: "e9c4",
594
+ Workflow2: "e9c5",
595
+ Addone: "e9c6",
596
+ Formula: "e9c7",
597
+ Dictionary: "e9c8",
598
+ statistical: "e9c9",
599
+ Recycle: "e9ca",
600
+ Mistake: "e9cb",
601
+ Tag: "e9cc",
602
+ Pendingapproval: "e9cd",
603
+ MyApplication: "e9ce",
604
+ ApplicationApproval: "e9cf",
605
+ Initiatedbyme: "e9d0",
606
+ Copiedtome: "e9d1",
607
+ Approvalnode: "e9d2",
608
+ Fillnode: "e9d3",
609
+ cc: "e9d4",
610
+ Image1: "e9d5",
611
+ Open: "e9d6",
612
+ Color: "e9d7",
613
+ Right: "e9d8",
614
+ Backward: "e9d9",
615
+ dataanalysis: "e9da",
616
+ Filter2: "e9db",
617
+ Freefilter: "e9dc",
618
+ Conditionfilter: "e9dd",
619
+ Quickfilter: "e9de",
620
+ Export1: "e9df",
621
+ Attachmentpreview: "e9e0",
622
+ BulkEdit: "e9e1",
623
+ Calculationrows: "e9e2",
624
+ SingleSelect: "e9e3",
625
+ dataview: "e9e4",
626
+ Dataid: "e9e5",
627
+ Divide: "e9e6",
628
+ Progress: "e9e7",
629
+ Star: "e9e8",
630
+ Contacts: "e9e9",
631
+ Activity: "e9ea",
632
+ Minus: "e9eb",
633
+ Plussign: "e9ec",
634
+ "Plussign-Copy": "e9ed",
635
+ Increased: "e9ee",
636
+ Decline: "e9ef",
637
+ indeterminate: "e9f0",
638
+ Decline1: "e9f1",
639
+ personal: "e9f2",
640
+ Warning: "e9f3",
641
+ Warning2: "e9f4",
642
+ Prompt: "e9f5",
643
+ info: "e9f6",
644
+ Cancel: "e9f7",
645
+ question1: "e9f8",
646
+ Question: "e9f9",
647
+ exclamation: "e9fa",
648
+ Warning1: "e9fb",
649
+ True: "e9fc",
650
+ Suspended: "e9fd",
651
+ Suspended1: "e9fe",
652
+ Suspended2: "e9ff",
653
+ Error: "ea00",
654
+ CombinedShape2: "ea01",
655
+ Delete1: "ea02",
656
+ Circle1: "ea03",
657
+ Decline2: "ea04",
658
+ Decline3: "ea05",
659
+ add: "ea06",
660
+ Addto: "ea07",
661
+ Reduce: "ea08",
662
+ Subtract: "ea09",
663
+ Addition: "ea0a",
664
+ Multiplication: "ea0b",
665
+ Division: "ea0c",
666
+ Bracket: "ea0d",
667
+ Reduce1: "ea0e",
668
+ Search: "ea0f",
669
+ Favorites: "ea10",
670
+ Annotation: "ea11",
671
+ Application: "ea12",
672
+ Application2: "ea13",
673
+ Applicationsview: "ea14",
674
+ Publish: "ea15",
675
+ Deploy: "ea16",
676
+ Sidetoplowerside: "ea17",
677
+ Narrow: "ea18",
678
+ Backtothenavigation: "ea19",
679
+ Forwardtothenavigation: "ea1a",
680
+ Return1: "ea1b",
681
+ Transfer: "ea1c",
682
+ Log: "ea1d",
683
+ table: "ea1e",
684
+ Form: "ea1f",
685
+ Openfield: "ea20",
686
+ Closefield: "ea21",
687
+ Receive: "ea22",
688
+ Fill: "ea23",
689
+ Fill1: "ea24",
690
+ fillet: "ea25",
691
+ rightangle: "ea26",
692
+ round: "ea27",
693
+ Send1: "ea28",
694
+ Map: "ea29",
695
+ Upward: "ea2a",
696
+ Move: "ea2b",
697
+ Downward: "ea2c",
698
+ drag: "ea2d",
699
+ TextIcon: "ea2e",
700
+ Narrow1: "ea2f",
701
+ Enlarge: "ea30",
702
+ Enlarge2: "ea31",
703
+ Cancel1: "ea32",
704
+ Retract: "ea33",
705
+ Expand: "ea34",
706
+ Retract1: "ea35",
707
+ Expand1: "ea36",
708
+ Retract2: "ea37",
709
+ Expand2: "ea38",
710
+ Switch1: "ea39",
711
+ Fullscreen: "ea3a",
712
+ Offscreen: "ea3b",
713
+ Notvisible: "ea3c",
714
+ Visible: "ea3d",
715
+ Adjust: "ea3e",
716
+ PC: "ea3f",
717
+ Mobile: "ea40",
718
+ Pad: "ea41",
719
+ Scanthecode: "ea42",
720
+ Scan: "ea43",
721
+ Screenshot: "ea44",
722
+ Rotation: "ea45",
723
+ voice: "ea46",
724
+ Video: "ea47",
725
+ Location: "ea48",
726
+ Clock: "ea49",
727
+ Print: "ea4a",
728
+ Member: "ea4b",
729
+ WorkWeChat: "ea4c",
730
+ DingTalk: "ea4d",
731
+ EnterpriseWeChat2: "ea4e",
732
+ Groupmanagement: "ea4f",
733
+ Feishu: "ea50",
734
+ Stationletter: "ea51",
735
+ Email1: "ea52",
736
+ WeChat: "ea53",
737
+ ServiceAccount: "ea54",
738
+ Subscribed: "ea55",
739
+ Dingtalk: "ea56",
740
+ Information: "ea57",
741
+ Assistant: "ea58",
742
+ ai: "ea59",
743
+ Inquireabout: "ea5a",
744
+ IFrame: "ea5b",
745
+ Integratio: "ea5c",
746
+ close: "ea5d",
747
+ Close: "ea5e",
748
+ Addgroup: "ea5f",
749
+ deletegroup: "ea60",
750
+ Relateddata: "ea61",
751
+ Enlarge1: "ea62",
752
+ Narrow2: "ea63",
753
+ "map-search": "ea64",
754
+ Corner: "ea65",
755
+ text1: "ea66",
756
+ Onlinemap: "ea67",
757
+ Maptile: "ea68",
758
+ Dataexport: "ea69",
759
+ // 文件类型图标(码位对齐 baishu font-icon.less 的 icon-bsy-* 文件图标,
760
+ // 渲染时需使用 icon-bsy-form 字体类,见 ai-design/font-icon.tsx 的 fontCls)
761
+ "bsy-ppt": "e8c8",
762
+ "bsy-pptx": "e8cf",
763
+ "bsy-doc": "e8ca",
764
+ "bsy-docx": "e8c7",
765
+ "bsy-xls": "e8d0",
766
+ "bsy-xlsx": "e8c5",
767
+ "bsy-zip": "e8cb",
768
+ "bsy-rar": "e8d3",
769
+ "bsy-csv": "e8cc",
770
+ "bsy-txt": "e8cd",
771
+ "bsy-pdf": "e8ce",
772
+ "bsy-mp4": "e8c6",
773
+ "bsy-webm": "e8d1",
774
+ "bsy-ogg": "e8d2",
775
+ "bsy-mov": "e983",
776
+ "bsy-gif": "e8fd",
777
+ "bsy-jpg": "e8fe",
778
+ "bsy-jpeg": "e8ff",
779
+ "bsy-png": "e900",
780
+ "bsy-other": "e8c9",
781
+ richtext: "ea73",
782
+ Onlinemap1: "ea74",
783
+ Maptile1: "ea75",
784
+ Ai2: "ea76",
785
+ Guide: "ea77",
786
+ Button: "ea78",
787
+ Menus: "ea79",
788
+ "richtext-Copy": "ea7a",
789
+ "richtext-Copy-2": "ea7b",
790
+ "richtext-Copy-3": "ea7c",
791
+ "richtext-Copy-4": "ea7d",
792
+ Split: "ea7e",
793
+ AI: "ea7f",
794
+ Form1: "ea80",
795
+ Fields: "ea81",
796
+ Project: "ea82",
797
+ More1: "ea83",
798
+ Notstarted: "ea84",
799
+ Inprocess: "ea85",
800
+ Completed: "ea86",
801
+ Completed1: "ea87",
802
+ More2: "ea88",
803
+ AIoffice: "ea89",
804
+ statistics: "ea8a",
805
+ Expand3: "ea8b",
806
+ list: "ea8c",
807
+ "list-Copy": "ea8d",
808
+ Grid: "ea8e",
809
+ Calendar: "ea8f",
810
+ Schedule: "ea90",
811
+ tableview: "ea91",
812
+ Gallery: "ea92",
813
+ Copy1: "ea93",
814
+ Mailbox: "ea94",
815
+ Automation1: "ea95",
816
+ Avatar: "ea96"
817
+ };
818
+ function Le(e) {
819
+ const t = $[e];
820
+ return t ? `&#x${t};` : void 0;
821
+ }
822
+ const je = (e, t, r) => {
823
+ if (!r)
824
+ return {
825
+ translated: ""
826
+ };
827
+ const n = new Map(t.map((i) => [i.widget.widgetName, i.label]));
828
+ for (const i of t)
829
+ if (i.widget.type === "subform" && i.widget.items) {
830
+ for (const s of i.widget.items)
831
+ if ("widget" in s && !("options" in s)) {
832
+ const u = `${i.widget.widgetName}.${s.widget.widgetName}`;
833
+ n.set(u, s.label);
834
+ }
835
+ }
836
+ const a = [], l = e.replace(
837
+ /\$\{(virtual\.)?(_widget_\d+(?:\._widget_\d+)?)\}/g,
838
+ (i, s, u) => {
839
+ const c = !!s, { translated: f, meta: m } = r(u, c);
840
+ return m && a.push(m), f;
841
+ }
842
+ );
843
+ return {
844
+ meta: a.length ? _(a) : null,
845
+ translated: (l != null ? l : "").trim()
846
+ };
847
+ }, O = {
848
+ 手机号码: "^((\\(\\d{2,3}\\))|(\\d{3}\\-))?1\\d{10}$",
849
+ 电话号码: "^(0[0-9]{2,3}\\-)?([2-9][0-9]{6,7})+(\\-[0-9]{1,4})?$",
850
+ 邮政编码: "^\\d{6}$",
851
+ 身份证号码: "(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)",
852
+ 邮箱: "^([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,4})+$",
853
+ 时分: "(^[0-1]{1}[0-9]{1}:[0-5]{1}[0-9]{1}$|^[2]{1}[0-3]{1}:[0-5]{1}[0-9]{1}$|^[0-9]{1}:[0-5]{1}[0-9]{1}$)",
854
+ 时分秒: "(^[0-1]{1}[0-9]{1}:[0-5]{1}[0-9]{1}:[0-5]{1}[0-9]{1}$|^[2]{1}[0-3]{1}:[0-5]{1}[0-9]{1}:[0-5]{1}[0-9]{1}$|^[0-9]{1}:[0-5]{1}[0-9]{1}:[0-5]{1}[0-9]{1}$)",
855
+ 图片链接: "imageurl",
856
+ 二维码图片: "qrcode",
857
+ 条形码图片: "barcode",
858
+ 自定义: "custom"
859
+ }, S = (e) => {
860
+ const { widget: t, labelStyle: r, label: n, ...a } = e || {}, l = O[r] || "";
861
+ return {
862
+ widget: {
863
+ widgetName: `_widget_${Date.now()}`,
864
+ widgetNameAlias: "",
865
+ // triggerEvent: 0,
866
+ customCls: null,
867
+ height: 34,
868
+ width: 350,
869
+ text: null,
870
+ value: "",
871
+ //默认值 没有默认值的话 整个value不存在
872
+ enable: !0,
873
+ visible: !0,
874
+ // hint: placeholder,
875
+ allowBlank: !0,
876
+ rely: null,
877
+ libs: [],
878
+ extendSet: {
879
+ sort: ["datahelp", "module", "formEvent"],
880
+ status: !0,
881
+ triggerField: "",
882
+ triggerFieldMode: "none",
883
+ version: 1
884
+ },
885
+ // regex, //格式 ^((\(\d{2,3}\))|(\d{3}\-))?1\d{10}$ 手机号码 ^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$ 电话号码 ^\d{6}$ 邮政编码 (^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$) 身份证号码 ^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$ 邮箱 (^[0-1]{1}[0-9]{1}:[0-5]{1}[0-9]{1}$|^[2]{1}[0-3]{1}:[0-5]{1}[0-9]{1}$|^[0-9]{1}:[0-5]{1}[0-9]{1}$) 时分 (^[0-1]{1}[0-9]{1}:[0-5]{1}[0-9]{1}:[0-5]{1}[0-9]{1}$|^[2]{1}[0-3]{1}:[0-5]{1}[0-9]{1}:[0-5]{1}[0-9]{1}$|^[0-9]{1}:[0-5]{1}[0-9]{1}:[0-5]{1}[0-9]{1}$) 时分秒 imageurl 图片链接 qrcode 二维码图片 barcode 条形码图片 custom 自定义
886
+ noRepeat: !0,
887
+ scan: null,
888
+ // textMode,
889
+ generateQR: !1,
890
+ eventAlert: !0,
891
+ alertinfo: {
892
+ icon: "error"
893
+ // tip: placeholder,
894
+ // msg: placeholder,
895
+ },
896
+ enterClearText: !0,
897
+ ...t,
898
+ regex: l,
899
+ type: "text",
900
+ labelStyle: n
901
+ },
902
+ // description,
903
+ label: n,
904
+ lineWidth: 6,
905
+ tab: null,
906
+ ...a
907
+ };
908
+ }, o = (e = "_widget", t) => {
909
+ const r = `${e}_${Date.now()}`;
910
+ if (t === void 0)
911
+ return r;
912
+ const n = t.toString().length;
913
+ return `${r.slice(0, -n)}${t}`;
914
+ }, I = (e) => {
915
+ const { widget: t, label: r, ...n } = e || {};
916
+ return {
917
+ widget: {
918
+ type: "number",
919
+ widgetName: o(),
920
+ widgetNameAlias: "",
921
+ triggerEvent: !1,
922
+ customCls: null,
923
+ height: 34,
924
+ width: 350,
925
+ enable: !0,
926
+ visible: !0,
927
+ allowBlank: !0,
928
+ funMode: "module",
929
+ module: null,
930
+ libs: [],
931
+ extendSet: {
932
+ sort: ["datahelp", "module", "formEvent"],
933
+ status: !0,
934
+ triggerField: "",
935
+ triggerFieldMode: "none",
936
+ version: 1
937
+ },
938
+ // regex,
939
+ // hint: placeholder,
940
+ noRepeat: !1,
941
+ alertinfo: {
942
+ icon: "success",
943
+ tip: "请设置提示内容"
944
+ },
945
+ allowDecimals: !0,
946
+ //允许小数,默认值 true,已废弃
947
+ allowNegative: !0,
948
+ //允许负数,默认值 true ,已废弃
949
+ // maxNumber: max, //限定数值范围 最大值
950
+ // minNumber: min, //限定数值范围 最小值
951
+ displayMode: "percent",
952
+ // 新的格式, percent 百分比 number 数值
953
+ precision: null,
954
+ //保留小数位数
955
+ thousandsSeparator: !1,
956
+ //显示千分符
957
+ notround: !0,
958
+ //不四舍五入
959
+ format: "",
960
+ //旧的格式,新的由多个属性来控制,前端代码会用其他几个参数拼接出正确的这个值。 其中结尾有% 代表百分比 ,没有%代表数字 ,然后小数点后面的0的个数代表 保留的小数位数,如果小数点后面没有0代表(如0.%),代表没有设置 保留小数位数,保留用户输入的所有小数
961
+ afterSuffix: {
962
+ //单位
963
+ zh_cn: "",
964
+ //中文的
965
+ en_us: "",
966
+ //英文的
967
+ zh_tw: ""
968
+ //繁体的
969
+ },
970
+ ...t,
971
+ labelStyle: r
972
+ },
973
+ // description,
974
+ label: r,
975
+ lineWidth: 6,
976
+ tab: null,
977
+ ...n
978
+ };
979
+ }, L = (e) => {
980
+ const { widget: t, label: r, ...n } = e || {};
981
+ return {
982
+ widget: {
983
+ type: "combo",
984
+ height: 34,
985
+ width: 350,
986
+ enable: !0,
987
+ visible: !0,
988
+ allowBlank: !0,
989
+ mode: 1,
990
+ allowAddLinkData: !1,
991
+ // items: options,
992
+ widgetName: `_widget_${Date.now()}`,
993
+ widgetNameAlias: "",
994
+ customCls: null,
995
+ funMode: "module",
996
+ module: null,
997
+ libs: [],
998
+ extendSet: {
999
+ sort: ["datahelp", "module", "formEvent"],
1000
+ status: !0,
1001
+ triggerField: "",
1002
+ triggerFieldMode: "none",
1003
+ version: 1
1004
+ },
1005
+ colorEnable: !0,
1006
+ //颜色 是否开启颜色
1007
+ ...t,
1008
+ labelStyle: r
1009
+ },
1010
+ // description,
1011
+ label: r,
1012
+ lineWidth: 6,
1013
+ tab: null,
1014
+ ...n
1015
+ };
1016
+ }, A = (e) => {
1017
+ const { widget: t, label: r, ...n } = e || {};
1018
+ return {
1019
+ widget: {
1020
+ enable: !0,
1021
+ visible: !0,
1022
+ allowBlank: !0,
1023
+ funMode: "module",
1024
+ module: null,
1025
+ libs: [],
1026
+ // items: options,
1027
+ layout: "vertical",
1028
+ stopCancel: !1,
1029
+ widgetName: `_widget_${Date.now()}`,
1030
+ widgetNameAlias: "",
1031
+ customCls: null,
1032
+ value: null,
1033
+ extendSet: {
1034
+ sort: ["datahelp", "module", "formEvent"],
1035
+ status: !0,
1036
+ triggerField: "",
1037
+ triggerFieldMode: "none",
1038
+ version: 1
1039
+ },
1040
+ colorEnable: !0,
1041
+ //颜色 是否开启颜色
1042
+ ...t,
1043
+ type: "radiogroup"
1044
+ },
1045
+ // description,
1046
+ label: r,
1047
+ lineWidth: 6,
1048
+ tab: null,
1049
+ ...n,
1050
+ labelStyle: r
1051
+ };
1052
+ }, j = (e) => {
1053
+ const { widget: t, label: r, ...n } = e || {};
1054
+ return {
1055
+ widget: {
1056
+ type: "datetime",
1057
+ height: 34,
1058
+ width: 350,
1059
+ enable: !0,
1060
+ visible: !0,
1061
+ allowBlank: !0,
1062
+ funMode: "module",
1063
+ widgetName: `_widget_${Date.now()}`,
1064
+ widgetNameAlias: "",
1065
+ customCls: null,
1066
+ value: "today",
1067
+ //默认值, today 填写当前时间 ,如果是数字,如 1762957800000 ,是自定义的时间,为所选时间的时间戳的毫秒级,
1068
+ rely: null,
1069
+ module: null,
1070
+ libs: [],
1071
+ extendSet: {
1072
+ sort: ["datahelp", "module", "formEvent"],
1073
+ status: !0,
1074
+ triggerField: "",
1075
+ triggerFieldMode: "none",
1076
+ version: 1
1077
+ },
1078
+ hint: "",
1079
+ dateLimit: {
1080
+ //日期范围
1081
+ week: {
1082
+ //可选择星期
1083
+ enable: !1,
1084
+ //是否开启可选择星期
1085
+ value: [
1086
+ //星期 星期一到天,用1-7代表
1087
+ 1,
1088
+ 2,
1089
+ 6
1090
+ ]
1091
+ },
1092
+ start: {
1093
+ //最早可选时间
1094
+ enable: !1,
1095
+ //是否开启最早可选时间
1096
+ mode: "dynamic",
1097
+ //模式: dynamic 动态 static 固定值 fieldValue 字段值
1098
+ value: "yesterday"
1099
+ //限定的值: today 今天 yesterday 昨天 tomorrow 明天 7day_before 七天前 7day_after 七天后 30day_before 30天前 30day_after 30天后
1100
+ },
1101
+ end: {
1102
+ //最晚可选时间
1103
+ enable: !1,
1104
+ //是否开启最晚可选时间
1105
+ mode: "static",
1106
+ //模式: dynamic 动态 static 固定值 fieldValue 字段值
1107
+ value: 17620938e5
1108
+ //限定的值:这种数字的为 选择的固定值,时间的时间戳,毫秒级别 ,如果为 _widget_1762154537014 这种,为字段的值,这个字段需要也是日期字段,和当前这个字段是同一个 format的
1109
+ }
1110
+ },
1111
+ ...t,
1112
+ labelStyle: r
1113
+ },
1114
+ label: r,
1115
+ lineWidth: 6,
1116
+ tab: null,
1117
+ ...n
1118
+ };
1119
+ }, g = (e) => e, G = (e) => {
1120
+ const { widget: t, label: r, ...n } = e || {};
1121
+ return {
1122
+ widget: {
1123
+ type: "deptgroup",
1124
+ widgetName: o(),
1125
+ widgetNameAlias: "",
1126
+ customCls: null,
1127
+ height: "34",
1128
+ width: 350,
1129
+ enable: !0,
1130
+ visible: !0,
1131
+ allowBlank: !0,
1132
+ funMode: "module",
1133
+ module: null,
1134
+ libs: [],
1135
+ extendSet: {
1136
+ sort: ["datahelp", "module", "formEvent"],
1137
+ status: !0,
1138
+ triggerField: "",
1139
+ triggerFieldMode: "none",
1140
+ version: 1
1141
+ },
1142
+ noRepeat: !1,
1143
+ limit: {},
1144
+ valueOption: 0,
1145
+ ...t,
1146
+ labelStyle: r
1147
+ },
1148
+ label: r,
1149
+ lineWidth: 6,
1150
+ tab: null,
1151
+ ...n
1152
+ };
1153
+ }, U = (e) => {
1154
+ const { widget: t, label: r, ...n } = e || {};
1155
+ return {
1156
+ widget: {
1157
+ type: "sn",
1158
+ widgetName: o(),
1159
+ widgetNameAlias: "",
1160
+ triggerEvent: 0,
1161
+ customCls: null,
1162
+ width: 350,
1163
+ enable: !0,
1164
+ visible: !0,
1165
+ // rules: rules,
1166
+ importMode: 1,
1167
+ //导入模式 1 excel末尾递增 2 excel最大值递增 3 excel/表单最大值比较递增
1168
+ ...t,
1169
+ rules: [
1170
+ {
1171
+ chars: "sn-",
1172
+ type: "fixedChars"
1173
+ },
1174
+ {
1175
+ digitsNum: 5,
1176
+ fixedLength: !0,
1177
+ resetDuration: "none",
1178
+ startValue: 1,
1179
+ type: "incNumber"
1180
+ }
1181
+ ],
1182
+ labelStyle: r
1183
+ },
1184
+ // description,
1185
+ label: r,
1186
+ lineWidth: 6,
1187
+ tab: null,
1188
+ ...n
1189
+ };
1190
+ }, H = (e) => {
1191
+ const { widget: t, label: r, ...n } = e || {};
1192
+ return {
1193
+ widget: {
1194
+ type: "dept",
1195
+ widgetName: o(),
1196
+ widgetNameAlias: "",
1197
+ customCls: null,
1198
+ height: "34",
1199
+ width: 350,
1200
+ enable: !0,
1201
+ visible: !0,
1202
+ allowBlank: !0,
1203
+ funMode: "module",
1204
+ module: null,
1205
+ libs: [],
1206
+ extendSet: {
1207
+ sort: ["datahelp", "module", "formEvent"],
1208
+ status: !0,
1209
+ triggerField: "",
1210
+ triggerFieldMode: "none",
1211
+ version: 1
1212
+ },
1213
+ noRepeat: !1,
1214
+ limit: {},
1215
+ valueOption: 0,
1216
+ ...t,
1217
+ labelStyle: r
1218
+ },
1219
+ label: r,
1220
+ lineWidth: 6,
1221
+ tab: null,
1222
+ ...n
1223
+ };
1224
+ }, Q = (e) => {
1225
+ const { widget: t, label: r, ...n } = e || {};
1226
+ return {
1227
+ widget: {
1228
+ type: "usergroup",
1229
+ widgetName: o(),
1230
+ widgetNameAlias: "",
1231
+ customCls: null,
1232
+ height: "34",
1233
+ width: 350,
1234
+ enable: !0,
1235
+ visible: !0,
1236
+ allowBlank: !0,
1237
+ funMode: "module",
1238
+ module: null,
1239
+ libs: [],
1240
+ extendSet: {
1241
+ sort: ["datahelp", "module", "formEvent"],
1242
+ status: !0,
1243
+ triggerField: "",
1244
+ triggerFieldMode: "none",
1245
+ version: 1
1246
+ },
1247
+ noRepeat: !1,
1248
+ limit: {},
1249
+ limitWidget: null,
1250
+ //可选范围 由部门字段确定,如果有值 是 _widget_1762226067008 这种,另一个部门字段的id。和limit互斥,limit将为[]
1251
+ valueOption: 0,
1252
+ ...t,
1253
+ labelStyle: r
1254
+ },
1255
+ // description,
1256
+ label: r,
1257
+ lineWidth: 6,
1258
+ tab: null,
1259
+ ...n
1260
+ };
1261
+ }, z = (e) => {
1262
+ const { widget: t, label: r, ...n } = e || {};
1263
+ return {
1264
+ widget: {
1265
+ widgetName: o(),
1266
+ widgetNameAlias: "",
1267
+ customCls: null,
1268
+ enable: !0,
1269
+ visible: !0,
1270
+ allowBlank: !0,
1271
+ rely: {
1272
+ widgets: []
1273
+ },
1274
+ linkFilter: {},
1275
+ allowAdd: !0,
1276
+ //允许新增关联表数据
1277
+ refType: "form",
1278
+ //关联表的类型,只能是form
1279
+ ...t,
1280
+ linkFields: [],
1281
+ labelStyle: r,
1282
+ type: "linkdata"
1283
+ },
1284
+ label: r,
1285
+ lineWidth: 6,
1286
+ tab: null,
1287
+ ...n
1288
+ };
1289
+ }, X = (e) => !e || !e.length ? e : e.map((t, r) => ({
1290
+ id: r,
1291
+ // name: "_widget_1761976674767",
1292
+ // form: "a2f34ef882158a3e97da4ef7",
1293
+ // tag: buildWidgetName("f_", index),
1294
+ title: t.field,
1295
+ text: t.field,
1296
+ icon: `icon-widget-${t.type}`,
1297
+ type: t.type,
1298
+ isEditable: !0,
1299
+ group: "dimension,filter,select",
1300
+ formula: ""
1301
+ })), Y = (e) => !e || !e.length ? e : e.map((t) => ({
1302
+ mode: "depend",
1303
+ ...t
1304
+ })), Z = (e) => {
1305
+ var a, l, i;
1306
+ const { widget: t, label: r, ...n } = e || {};
1307
+ return {
1308
+ widget: {
1309
+ type: "dataload",
1310
+ widgetName: o(),
1311
+ widgetNameAlias: "",
1312
+ customCls: null,
1313
+ width: 350,
1314
+ text: r,
1315
+ enable: !0,
1316
+ visible: !0,
1317
+ allowBlank: !0,
1318
+ allowAddData: !0,
1319
+ // 允许新增数据源数据
1320
+ ...t,
1321
+ mode: "list",
1322
+ //一直是 list 应该是废弃的
1323
+ loaddataconfig: {
1324
+ extendSet: {
1325
+ sort: ["datahelp", "module", "formEvent"],
1326
+ status: !0,
1327
+ triggerField: "",
1328
+ triggerFieldMode: "none"
1329
+ },
1330
+ dataloadmode: ["add", "cover"],
1331
+ filter: {
1332
+ cond: [],
1333
+ rel: "and"
1334
+ },
1335
+ defaultSort: [],
1336
+ treeFields: {},
1337
+ mode: "list",
1338
+ selectFields: [],
1339
+ triggerControl: null,
1340
+ triggerWidget: null,
1341
+ triggerFieldMode: "none",
1342
+ triggerField: null,
1343
+ forms: (a = t == null ? void 0 : t.loaddataconfig) == null ? void 0 : a.forms,
1344
+ selectArg: [],
1345
+ selectRel: "and",
1346
+ fields: X((l = t == null ? void 0 : t.loaddataconfig) == null ? void 0 : l.mapFields),
1347
+ mapFields: Y((i = t == null ? void 0 : t.loaddataconfig) == null ? void 0 : i.mapFields)
1348
+ },
1349
+ labelStyle: r
1350
+ },
1351
+ label: r,
1352
+ lineWidth: 6,
1353
+ tab: null,
1354
+ ...n
1355
+ };
1356
+ }, K = (e) => {
1357
+ const { widget: t, label: r, ...n } = e || {};
1358
+ return {
1359
+ widget: {
1360
+ type: "user",
1361
+ widgetName: o(),
1362
+ widgetNameAlias: "",
1363
+ customCls: null,
1364
+ height: "34",
1365
+ width: 350,
1366
+ enable: !0,
1367
+ visible: !0,
1368
+ allowBlank: !0,
1369
+ funMode: "module",
1370
+ module: null,
1371
+ libs: [],
1372
+ extendSet: {
1373
+ sort: ["datahelp", "module", "formEvent"],
1374
+ status: !0,
1375
+ triggerField: "",
1376
+ triggerFieldMode: "none",
1377
+ version: 1
1378
+ },
1379
+ noRepeat: !1,
1380
+ limit: {},
1381
+ limitWidget: null,
1382
+ //可选范围 由部门字段确定,如果有值 是 _widget_1762226067008 这种,另一个部门字段的id。和limit互斥,limit将为[]
1383
+ valueOption: 0,
1384
+ ...t,
1385
+ labelStyle: r
1386
+ },
1387
+ // description,
1388
+ label: r,
1389
+ lineWidth: 6,
1390
+ tab: null,
1391
+ ...n
1392
+ };
1393
+ }, V = (e) => {
1394
+ const { widget: t, label: r, ...n } = e || {};
1395
+ return {
1396
+ widget: {
1397
+ type: "signature",
1398
+ widgetName: o(),
1399
+ widgetNameAlias: "",
1400
+ customCls: null,
1401
+ height: 34,
1402
+ width: 350,
1403
+ enable: !0,
1404
+ visible: !0,
1405
+ allowBlank: !0,
1406
+ rely: null,
1407
+ ...t,
1408
+ labelStyle: r
1409
+ },
1410
+ description: null,
1411
+ label: r,
1412
+ lineWidth: 6,
1413
+ tab: null,
1414
+ ...n
1415
+ };
1416
+ }, J = (e) => {
1417
+ const { widget: t, label: r, ...n } = e || {};
1418
+ return {
1419
+ widget: {
1420
+ type: "image",
1421
+ widgetName: o(),
1422
+ widgetNameAlias: "",
1423
+ customCls: null,
1424
+ height: 100,
1425
+ enable: !0,
1426
+ visible: !0,
1427
+ allowBlank: !0,
1428
+ funMode: "module",
1429
+ module: null,
1430
+ libs: [],
1431
+ extendSet: {
1432
+ sort: ["datahelp", "module", "formEvent"],
1433
+ status: !0,
1434
+ triggerField: "",
1435
+ triggerFieldMode: "none",
1436
+ version: 1
1437
+ },
1438
+ download: !0,
1439
+ //打包下载
1440
+ is_file_down: !0,
1441
+ //操作权限 可下载
1442
+ check_image_exif: !0,
1443
+ //照片支持查看EXIF扩展信息
1444
+ online_edit: !1,
1445
+ online_edit_record: !1,
1446
+ fileType: [
1447
+ //支持上传的类型,默认,不可以设置
1448
+ "jpg",
1449
+ "jpeg",
1450
+ "png",
1451
+ "gif",
1452
+ "bmp",
1453
+ "tif"
1454
+ ],
1455
+ compressed: !0,
1456
+ //三方图片压缩
1457
+ wxOriginalComponent: !0,
1458
+ //微信/企业微信原生拍照模式
1459
+ onlyCamera: !1,
1460
+ //仅允许拍照上传
1461
+ preview: !0,
1462
+ //是否可以预览 默认 不可以设置
1463
+ watermarkSwitch: !0,
1464
+ //水印属性
1465
+ watermarkPosition: "center",
1466
+ //水印位置
1467
+ watermarkFieldTitle: !0,
1468
+ //是否显示水印字段标题
1469
+ watermarkSize: "14",
1470
+ //水印字体大小 不可以设置
1471
+ watermarkFixedField: {},
1472
+ previewWidth: 450,
1473
+ //预览的宽 默认 不可以设置
1474
+ previewHeight: 450,
1475
+ //预览的高 默认 不可以设置
1476
+ browserCompress: !0,
1477
+ //浏览器图片压缩
1478
+ quality: 0.7,
1479
+ //压缩图片比例,开启 浏览器图片压缩 后才能设置
1480
+ ...t,
1481
+ labelStyle: r
1482
+ },
1483
+ label: r,
1484
+ lineWidth: 6,
1485
+ tab: null,
1486
+ ...n
1487
+ };
1488
+ }, ee = (e) => {
1489
+ const { widget: t, label: r, ...n } = e || {};
1490
+ return {
1491
+ widget: {
1492
+ type: "upload",
1493
+ widgetName: o(),
1494
+ widgetNameAlias: "",
1495
+ customCls: null,
1496
+ enable: !0,
1497
+ visible: !0,
1498
+ allowBlank: !0,
1499
+ maxFileCount: 50,
1500
+ //允许多文件上传 1为不可以 50为可以
1501
+ download: !0,
1502
+ //打包下载
1503
+ is_file_down: !0,
1504
+ //操作权限 可下载
1505
+ check_image_exif: !0,
1506
+ //照片支持查看EXIF扩展信息
1507
+ online_edit: !0,
1508
+ //允许文档在线编辑
1509
+ online_edit_record: !0,
1510
+ //是否查看协作记录
1511
+ fileSizeLimit: 10485760,
1512
+ //设置单个文件大小上限,单位是字节,范围 1M-20M
1513
+ // fileType,
1514
+ ...t,
1515
+ labelStyle: r
1516
+ },
1517
+ // description,
1518
+ label: r,
1519
+ lineWidth: 6,
1520
+ tab: null,
1521
+ ...n
1522
+ };
1523
+ }, te = (e) => {
1524
+ const { widget: t, label: r, ...n } = e || {};
1525
+ return {
1526
+ widget: {
1527
+ type: "checkboxgroup",
1528
+ widgetName: o(),
1529
+ widgetNameAlias: "",
1530
+ customCls: null,
1531
+ enable: !0,
1532
+ visible: !0,
1533
+ allowBlank: !0,
1534
+ funMode: "module",
1535
+ module: null,
1536
+ libs: [],
1537
+ extendSet: {
1538
+ sort: ["datahelp", "module", "formEvent"],
1539
+ status: !0,
1540
+ triggerField: "",
1541
+ triggerFieldMode: "none",
1542
+ version: 1
1543
+ },
1544
+ colorEnable: !0,
1545
+ //颜色 是否开启颜色
1546
+ layout: "vertical",
1547
+ allowAddOptions: !1,
1548
+ //允许成员填写时添加新选项
1549
+ ...t,
1550
+ labelStyle: r
1551
+ },
1552
+ label: r,
1553
+ lineWidth: 6,
1554
+ tab: null,
1555
+ ...n
1556
+ };
1557
+ }, re = (e) => {
1558
+ const { widget: t, label: r, ...n } = e || {};
1559
+ return {
1560
+ widget: {
1561
+ type: "separator",
1562
+ widgetName: o(),
1563
+ widgetNameAlias: "",
1564
+ customCls: null,
1565
+ enable: !0,
1566
+ visible: !0,
1567
+ allowBlank: !0,
1568
+ ...t,
1569
+ labelStyle: r
1570
+ },
1571
+ label: r,
1572
+ lineWidth: 12,
1573
+ tab: null,
1574
+ ...n
1575
+ };
1576
+ }, ne = (e) => {
1577
+ const { widget: t, label: r, ...n } = e || {};
1578
+ return {
1579
+ widget: {
1580
+ type: "combocheck",
1581
+ widgetName: o(),
1582
+ widgetNameAlias: "",
1583
+ customCls: null,
1584
+ height: 34,
1585
+ width: 350,
1586
+ enable: !0,
1587
+ visible: !0,
1588
+ allowBlank: !0,
1589
+ funMode: "module",
1590
+ module: null,
1591
+ libs: [],
1592
+ extendSet: {
1593
+ sort: ["datahelp", "module", "formEvent"],
1594
+ status: !0,
1595
+ triggerField: "",
1596
+ triggerFieldMode: "none",
1597
+ version: 1
1598
+ },
1599
+ colorEnable: !0,
1600
+ //颜色 是否开启颜色
1601
+ mode: "",
1602
+ allowAddOptions: !1,
1603
+ //允许成员填写时添加新选项
1604
+ allowAddLinkData: !1,
1605
+ ...t,
1606
+ labelStyle: r
1607
+ },
1608
+ label: r,
1609
+ lineWidth: 6,
1610
+ tab: null,
1611
+ ...n
1612
+ };
1613
+ }, ae = (e) => {
1614
+ const { widget: t, label: r, ...n } = e || {};
1615
+ return {
1616
+ widget: {
1617
+ type: "location",
1618
+ widgetName: o(),
1619
+ widgetNameAlias: "",
1620
+ customCls: null,
1621
+ enable: !0,
1622
+ visible: !0,
1623
+ allowBlank: !0,
1624
+ funMode: "module",
1625
+ module: null,
1626
+ libs: [],
1627
+ extendSet: {
1628
+ sort: ["datahelp", "module", "formEvent"],
1629
+ status: !0,
1630
+ triggerField: "",
1631
+ triggerFieldMode: "none",
1632
+ version: 1
1633
+ },
1634
+ adjustable: !0,
1635
+ //允许移动端微调
1636
+ lnglatVisible: !0,
1637
+ //显示经纬度坐标
1638
+ autoLocation: !0,
1639
+ //移动端自动触发定位
1640
+ enablePcLocation: !0,
1641
+ //允许PC端定位并选择位置
1642
+ ...t,
1643
+ labelStyle: r
1644
+ },
1645
+ label: r,
1646
+ lineWidth: 6,
1647
+ tab: null,
1648
+ ...n
1649
+ };
1650
+ }, le = (e) => {
1651
+ const { widget: t, label: r, ...n } = e || {};
1652
+ return {
1653
+ widget: {
1654
+ type: "textarea",
1655
+ widgetName: o(),
1656
+ widgetNameAlias: "",
1657
+ triggerEvent: !1,
1658
+ customCls: null,
1659
+ height: 140,
1660
+ width: 734,
1661
+ value: "",
1662
+ enable: !0,
1663
+ visible: !0,
1664
+ allowBlank: !0,
1665
+ funMode: "module",
1666
+ module: null,
1667
+ libs: [],
1668
+ extendSet: {
1669
+ sort: ["datahelp", "module", "formEvent"],
1670
+ status: !0,
1671
+ triggerField: "",
1672
+ triggerFieldMode: "none",
1673
+ version: 1
1674
+ },
1675
+ noRepeat: !1,
1676
+ alertinfo: {
1677
+ icon: "success",
1678
+ tip: "请设置提示内容"
1679
+ },
1680
+ autoHeight: !0,
1681
+ //根据内容自适应高度
1682
+ maxLength: 5e3,
1683
+ //限制输入最大字符数 不限制的话,整个maxLength不存在
1684
+ ...t,
1685
+ labelStyle: r
1686
+ },
1687
+ // description,
1688
+ label: r,
1689
+ lineWidth: 6,
1690
+ tab: null,
1691
+ ...n
1692
+ };
1693
+ }, ie = (e = {}) => {
1694
+ const { widget: t, label: r, ...n } = e;
1695
+ return {
1696
+ widget: {
1697
+ type: "button",
1698
+ widgetName: o(),
1699
+ widgetNameAlias: "",
1700
+ triggerEvent: 0,
1701
+ customCls: null,
1702
+ height: 36,
1703
+ width: 350,
1704
+ enable: !0,
1705
+ visible: !0,
1706
+ allowBlank: !1,
1707
+ extendSet: {
1708
+ sort: ["datahelp", "module", "formEvent"],
1709
+ status: !0,
1710
+ triggerField: "",
1711
+ triggerFieldMode: "none",
1712
+ funMode: "popupreport"
1713
+ },
1714
+ background: {
1715
+ //颜色
1716
+ mode: "color",
1717
+ position: "center"
1718
+ },
1719
+ mode: "all",
1720
+ //模式 all 扩展 popupreport 弹出报表 popupform 弹出表单 print 页面打印 popuppage 弹出外部网页
1721
+ theme: "default",
1722
+ //风格 default 默认,有边框有底色 style1 有边框无底色 none 无边框无底色
1723
+ eventAlert: !1,
1724
+ //是否显示提醒框
1725
+ alertinfo: {
1726
+ icon: "success",
1727
+ tip: "请设置提示内容"
1728
+ },
1729
+ ...t,
1730
+ labelStyle: r
1731
+ },
1732
+ label: r,
1733
+ lineWidth: 6,
1734
+ tab: null,
1735
+ ...n
1736
+ };
1737
+ }, oe = (e = {}) => {
1738
+ const { widget: t, label: r, ...n } = e;
1739
+ return {
1740
+ widget: {
1741
+ type: "address",
1742
+ widgetName: o(),
1743
+ widgetNameAlias: "",
1744
+ customCls: null,
1745
+ width: 720,
1746
+ enable: !0,
1747
+ visible: !0,
1748
+ funMode: "module",
1749
+ module: null,
1750
+ libs: [],
1751
+ extendSet: {
1752
+ sort: ["datahelp", "module", "formEvent"],
1753
+ status: !0,
1754
+ triggerField: "",
1755
+ triggerFieldMode: "none",
1756
+ version: 1
1757
+ },
1758
+ needDetail: !0,
1759
+ eventMode: 1,
1760
+ //公式联动触发模式 1 默认,省市县/详细地址内容改变都触发 2 只有省市县改变才触发 3 只有详细地址改变才触发
1761
+ seleceMapAddress: !0,
1762
+ //开启经纬度定位
1763
+ ...t,
1764
+ labelStyle: r
1765
+ },
1766
+ label: r,
1767
+ lineWidth: 6,
1768
+ tab: null,
1769
+ ...n
1770
+ };
1771
+ }, se = (e = {}) => {
1772
+ const { widget: t, label: r, ...n } = e;
1773
+ return {
1774
+ widget: {
1775
+ type: "subform",
1776
+ widgetName: o(),
1777
+ widgetNameAlias: "",
1778
+ customCls: null,
1779
+ enable: !0,
1780
+ visible: !0,
1781
+ allowBlank: !0,
1782
+ labelStyle: r,
1783
+ extendSet: {
1784
+ sort: ["datahelp", "module", "formEvent"],
1785
+ status: !0,
1786
+ triggerField: "",
1787
+ triggerFieldMode: "none",
1788
+ version: 1
1789
+ },
1790
+ items: (t.items || []).map((a, l) => {
1791
+ const i = ce(a, !0);
1792
+ return i.widget.widgetName = o("_widget", l), i;
1793
+ }),
1794
+ sortable: !0,
1795
+ //启用子表单数据排序
1796
+ allowImportV2: !1,
1797
+ //从excel导入数据
1798
+ sticky_column: {
1799
+ //PC端冻结前 n 列
1800
+ limit: 2,
1801
+ //多少列 范围 1-3
1802
+ enable: !0
1803
+ //是否开启
1804
+ },
1805
+ sticky_column_mobile: {
1806
+ //移动端冻结前 n 列
1807
+ limit: 1,
1808
+ //多少列 范围 1-3
1809
+ enable: !0
1810
+ //是否开启
1811
+ },
1812
+ mobileStyle: "table",
1813
+ //移动端显示样式 list 纵向展开 table 横向表格
1814
+ subform_create: !0,
1815
+ //可新增记录
1816
+ subform_insert: !0,
1817
+ //可插入记录
1818
+ subform_edit: !0,
1819
+ //可编辑已有记录
1820
+ subform_delete: !0,
1821
+ //可删除已有记录
1822
+ subform_fill: !0,
1823
+ //允许填报数据
1824
+ subform_import: !0,
1825
+ //允许导入数据
1826
+ subform_dataload: !0,
1827
+ //允许数据加载
1828
+ loaddataconfig: {
1829
+ //数据加载设置
1830
+ mode: "tree",
1831
+ extendSet: {
1832
+ sort: ["datahelp", "module", "formEvent"],
1833
+ status: !0,
1834
+ triggerField: "",
1835
+ triggerFieldMode: "none"
1836
+ }
1837
+ },
1838
+ allowLoadData: !1,
1839
+ //是否开启数据加载
1840
+ allowAddData: !0,
1841
+ //允许新增数据源数据
1842
+ subformloaddataTitle: "数据加载",
1843
+ //数据加载显示的标题
1844
+ subFieldShowRules: [],
1845
+ //子字段显隐规则
1846
+ quick_fill: !0
1847
+ //从excel填报数据
1848
+ },
1849
+ description: null,
1850
+ label: r,
1851
+ lineWidth: 12,
1852
+ tab: null
1853
+ };
1854
+ }, ue = (e) => {
1855
+ const { widget: t, label: r, ...n } = e || {};
1856
+ return {
1857
+ widget: {
1858
+ widgetName: o(),
1859
+ widgetNameAlias: "",
1860
+ customCls: null,
1861
+ enable: !0,
1862
+ visible: !0,
1863
+ allowBlank: !0,
1864
+ linkFilter: {},
1865
+ rely: {
1866
+ widgets: []
1867
+ },
1868
+ showMode: "one",
1869
+ //显示数据条数 one 一条 many 多条
1870
+ allowAdd: !0,
1871
+ //允许新增关联表数据,只有 refType 为 form才可以选择true
1872
+ refType: "form",
1873
+ //关联表的类型,根据 linkForm 表的类型决定的。 form 表单 etl_table 视图 aggregate_table 聚合表
1874
+ showType: "none",
1875
+ //数据显示模式 none 默认 label 标题
1876
+ addExtendSet: [],
1877
+ ...t,
1878
+ linkFields: [],
1879
+ labelStyle: r,
1880
+ type: "linkquery"
1881
+ },
1882
+ description: null,
1883
+ label: r,
1884
+ lineWidth: 6,
1885
+ tab: null,
1886
+ ...n
1887
+ };
1888
+ }, de = {
1889
+ address: oe,
1890
+ button: ie,
1891
+ textarea: le,
1892
+ datetime: j,
1893
+ text: S,
1894
+ password: S,
1895
+ location: ae,
1896
+ radiogroup: A,
1897
+ radio: A,
1898
+ combo: L,
1899
+ combocheck: ne,
1900
+ separator: re,
1901
+ checkboxgroup: te,
1902
+ upload: ee,
1903
+ number: I,
1904
+ image: J,
1905
+ signature: V,
1906
+ user: K,
1907
+ dataload: Z,
1908
+ linkdata: z,
1909
+ linkquery: ue,
1910
+ usergroup: Q,
1911
+ subform: se,
1912
+ dept: H,
1913
+ sn: U,
1914
+ deptgroup: G,
1915
+ flowState: g,
1916
+ flowstate: g,
1917
+ formula: g,
1918
+ unknown: g
1919
+ }, ce = (e, t = !1) => {
1920
+ var l, i;
1921
+ if (!e || !e.widget || !e.widget.type)
1922
+ return e;
1923
+ const r = e.widget.type || "unknown";
1924
+ return t && r === "subform" ? g(e) : (((i = (l = e == null ? void 0 : e.widget) == null ? void 0 : l.widgetName) != null ? i : "").startsWith("_widget_") || (e.widget.widgetName = F()), (de[r] || g)(e));
1925
+ }, Ge = (e) => {
1926
+ var t, r, n, a, l, i, s, u;
1927
+ return !e || !((t = e.corp) != null && t.name) || !((r = e.user) != null && r.nickname) ? "" : `${(n = e.corp) == null ? void 0 : n.name} ${(a = e.user) == null ? void 0 : a.nickname}(${(l = e.user) == null ? void 0 : l.username}) ${(i = e.appName) != null ? i : ""} ${(s = e.entryName) != null ? s : ""} ${(u = e.agentName) != null ? u : ""}`;
1928
+ };
1929
+ export {
1930
+ Fe as DATA_COUNT_PER_BATCH,
1931
+ E as FIELD_TYPE_OPERATOR_MAP,
1932
+ we as GetLoadingMsg,
1933
+ he as GetPartErrMsg,
1934
+ fe as GetQueryResult,
1935
+ ke as GetSafeFormStructure,
1936
+ C as IsErrorPart,
1937
+ ge as IsFakeMsgPart,
1938
+ be as IsFileGroupPart,
1939
+ me as IsFilePart,
1940
+ ye as IsLoadingPart,
1941
+ pe as IsQueryResultPart,
1942
+ De as OPERATOR_LABEL_MAP,
1943
+ q as WHITE_LIST_FIELDS_SET,
1944
+ $e as bsConditionParse2Condition,
1945
+ Te as conditionStringify2bsCondition,
1946
+ Ne as createFieldPartsExtractor,
1947
+ Ce as createGetFieldJsonInfo,
1948
+ x as createPartTypeChecker,
1949
+ _e as createPayloadTypeChecker,
1950
+ d as extractTextPartMeta,
1951
+ xe as field2config,
1952
+ _ as flatArr,
1953
+ Oe as formatLocalDate,
1954
+ Re as getAvailableOperators,
1955
+ Ge as getChatCtxForHuman,
1956
+ Pe as getDefaultOperator,
1957
+ Le as getIconUnicode,
1958
+ ve as getMetaErrorMsg,
1959
+ qe as hasValidFieldValue,
1960
+ Ee as imageUrlToBase64,
1961
+ Se as injectHostStylesIntoShadow,
1962
+ Be as isCtxMatch,
1963
+ We as isHelperCondMet,
1964
+ Ie as mergeConsecutiveTargets,
1965
+ je as promptParser,
1966
+ ce as rebuildFieldsJsonStructure,
1967
+ Me as safeParseJson,
1968
+ Ae as valueNormalizer
1969
+ };
1970
+ //# sourceMappingURL=ai-feat-utils.js.map