@web-utils/component 4.0.15 → 4.0.16

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 (169) hide show
  1. package/address-input/index.mjs +13 -15
  2. package/card/index.mjs +18 -20
  3. package/carousel/index.mjs +10 -12
  4. package/chat/index.mjs +45 -56
  5. package/chunk-file-uploader/index.mjs +36 -378
  6. package/chunk-file-uploader/style.css +1 -1
  7. package/chunks/ElementBaseInfo.ZADwixb5.mjs +125 -0
  8. package/chunks/ElementForm.CQ3PN5qj.mjs +223 -0
  9. package/chunks/ElementListeners.De_PRuIm.mjs +215 -0
  10. package/chunks/ElementMultiInstance.DQo2wuAQ.mjs +181 -0
  11. package/chunks/ElementOtherConfig.B1NfMTYh.mjs +60 -0
  12. package/chunks/ElementProperties.CosfDrlW.mjs +112 -0
  13. package/chunks/{ElementTaskConfig.AvBOzAni.mjs → ElementTaskConfig.Bko0kgTp.mjs} +55 -63
  14. package/chunks/FlowCondition.Y6qEYi1T.mjs +102 -0
  15. package/chunks/FormTemp.BQxO5IQq.mjs +123 -0
  16. package/chunks/SignalAndMessage.Bb5PFX0N.mjs +85 -0
  17. package/chunks/UserTaskListeners.Bv3BDfEI.mjs +169 -0
  18. package/chunks/{confirmable-mixin.BFZb6pcK.mjs → confirmable-mixin.B2TtLAdk.mjs} +1 -1
  19. package/chunks/core.0Exl13Mz.mjs +54 -0
  20. package/chunks/{dataformat.DJoNBlmI.mjs → dataformat.CpqOeGBl.mjs} +6 -6
  21. package/chunks/{dic.BinnDitI.mjs → dic.Dkl-leRW.mjs} +9 -9
  22. package/chunks/dictionary.DGt59Ir7.mjs +68 -0
  23. package/chunks/{event.DSlcqYHL.mjs → event.9aDS6jcw.mjs} +2 -2
  24. package/chunks/{form-input.BtS_J5a2.mjs → form-input.CvFdwlEV.mjs} +2 -2
  25. package/chunks/form-item.LWjePsPa.mjs +233 -0
  26. package/chunks/{index.CIfe3UB3.mjs → index.9OxHjTIE.mjs} +2 -2
  27. package/chunks/{index.Cn7aq-Et.mjs → index.B2TRddqf.mjs} +8 -8
  28. package/chunks/{init.xOlFpTyZ.mjs → init.DAsXSoLW.mjs} +2 -2
  29. package/chunks/sub-table-plus-props.BVsD71hT.mjs +30 -0
  30. package/chunks/{util.DI42t5GU.mjs → util.DqFv_pWg.mjs} +22 -22
  31. package/chunks/utilSelf.Csq1766E.mjs +48 -0
  32. package/chunks/utils.DRcxC1Fb.mjs +60 -0
  33. package/color-picker/index.mjs +22 -101
  34. package/confirm-button/index.mjs +1 -1
  35. package/confirmable/index.mjs +1 -1
  36. package/data-box/index.mjs +12 -15
  37. package/data-card/index.mjs +10 -12
  38. package/data-card-text/index.mjs +10 -12
  39. package/data-display/index.mjs +15 -17
  40. package/data-icons/index.mjs +13 -16
  41. package/data-imgtext/index.mjs +15 -18
  42. package/data-operatext/index.mjs +14 -16
  43. package/data-panel/index.mjs +13 -16
  44. package/data-pay/index.mjs +16 -20
  45. package/data-price/index.mjs +14 -16
  46. package/data-progress/index.mjs +13 -17
  47. package/data-rotate/index.mjs +12 -15
  48. package/data-table-picker/index.mjs +15 -18
  49. package/data-tabs/index.mjs +12 -15
  50. package/dialog-form/index.mjs +16 -18
  51. package/dynamic-table/index.mjs +25 -30
  52. package/editable-progress/index.mjs +9 -11
  53. package/editable-tree/index.mjs +52 -56
  54. package/egd-collapse-item/index.mjs +9 -9
  55. package/element-dialog/index.mjs +22 -23
  56. package/element-listeners/style.css +1 -0
  57. package/element-multi-instance/style.css +1 -0
  58. package/flex-column/index.mjs +1 -1
  59. package/flex-item/index.mjs +1 -1
  60. package/flex-row/index.mjs +1 -1
  61. package/flow/index.mjs +10 -11
  62. package/flow-designer/index.mjs +699 -1973
  63. package/flow-designer/style.css +1 -1
  64. package/flow-node/index.mjs +1 -1
  65. package/flow-viewer/index.mjs +9 -9
  66. package/form-block/index.mjs +32 -34
  67. package/form-cascader/index.mjs +23 -24
  68. package/form-checkbox/index.mjs +16 -17
  69. package/form-checkbox-group/index.mjs +20 -23
  70. package/form-date-picker/index.mjs +18 -20
  71. package/form-holder/index.mjs +13 -14
  72. package/form-input/index.mjs +14 -15
  73. package/form-input-cron-expression/index.mjs +19 -22
  74. package/form-input-email/index.mjs +15 -16
  75. package/form-input-id-card/index.mjs +12 -13
  76. package/form-input-number/index.mjs +16 -17
  77. package/form-input-phone-number/index.mjs +21 -22
  78. package/form-input-tag/index.mjs +14 -15
  79. package/form-input-time/index.mjs +14 -15
  80. package/form-item/index.mjs +140 -3
  81. package/form-item-group/index.mjs +28 -31
  82. package/form-radio-group/index.mjs +27 -28
  83. package/form-select/index.mjs +21 -23
  84. package/form-switch/index.mjs +16 -17
  85. package/form-table/index.mjs +16 -17
  86. package/form-table-plus/index.mjs +21 -22
  87. package/form-textarea/index.mjs +15 -16
  88. package/form-tree-select/index.mjs +14 -15
  89. package/form-tree-select-multiple/index.mjs +14 -15
  90. package/form-view/index.mjs +35 -39
  91. package/fy-array/index.mjs +33 -37
  92. package/fy-cascader/index.mjs +16 -17
  93. package/fy-checkbox/index.mjs +11 -13
  94. package/fy-code/index.mjs +10 -10
  95. package/fy-curd/index.mjs +1128 -1152
  96. package/fy-date/index.mjs +10 -11
  97. package/fy-draggable/index.mjs +9 -10
  98. package/fy-dynamic/index.mjs +22 -25
  99. package/fy-empty/index.mjs +1 -1
  100. package/fy-form/index.mjs +638 -15
  101. package/fy-form-design/index.mjs +1307 -1345
  102. package/fy-from/crud/zh.d.ts +6 -6
  103. package/fy-input/index.mjs +12 -14
  104. package/fy-input-color/index.mjs +13 -15
  105. package/fy-input-icon/index.mjs +20 -23
  106. package/fy-input-map/index.mjs +28 -31
  107. package/fy-input-number/index.mjs +9 -10
  108. package/fy-input-table/index.mjs +18 -22
  109. package/fy-input-tree/index.mjs +33 -37
  110. package/fy-progress/index.mjs +9 -10
  111. package/fy-radio/index.mjs +15 -16
  112. package/fy-rate/index.mjs +10 -11
  113. package/fy-select/index.mjs +25 -29
  114. package/fy-slider/index.mjs +11 -12
  115. package/fy-switch/index.mjs +9 -10
  116. package/fy-tabs/index.mjs +15 -17
  117. package/fy-time/index.mjs +1 -1
  118. package/fy-title/index.mjs +1 -1
  119. package/fy-tree/index.mjs +18 -24
  120. package/fy-u-editor/index.mjs +1 -1
  121. package/fy-upload/index.mjs +74 -76
  122. package/guide-steps/index.mjs +11 -13
  123. package/iframe-window/index.mjs +9 -10
  124. package/image-cropper/index.mjs +28 -30
  125. package/image-preview/index.mjs +12 -14
  126. package/index.mjs +72 -72
  127. package/input-number/index.mjs +13 -14
  128. package/input-number-range/index.mjs +11 -12
  129. package/license/index.mjs +1 -1
  130. package/login/index.mjs +21 -26
  131. package/nav-bar/index.mjs +9 -10
  132. package/notice/index.mjs +9 -10
  133. package/package.json +1 -1
  134. package/page-index/index.mjs +12 -13
  135. package/page-index-top/index.mjs +23 -28
  136. package/page-skeleton/index.mjs +14 -14
  137. package/page-skeleton-new/index.mjs +8 -9
  138. package/pageable-table/index.mjs +172 -182
  139. package/pageable-view/index.mjs +15 -16
  140. package/picker-table-view/index.mjs +49 -58
  141. package/present-view/index.mjs +35 -39
  142. package/record-video/index.mjs +1 -1
  143. package/resize-observer/index.mjs +1 -1
  144. package/search/index.mjs +20 -22
  145. package/search-popover/index.mjs +1 -1
  146. package/sign/index.mjs +1 -1
  147. package/skeleton-panel/index.mjs +9 -10
  148. package/split-pane/index.mjs +36 -37
  149. package/static-pageable-table/index.mjs +11 -13
  150. package/sub-table/index.mjs +36 -49
  151. package/sub-table-plus/index.mjs +229 -18
  152. package/swiper/index.mjs +11 -12
  153. package/table-column/index.mjs +223 -3
  154. package/table-view/index.mjs +52 -60
  155. package/tabs-view/index.mjs +17 -19
  156. package/tag-render/index.mjs +16 -18
  157. package/text-ellipsis/index.mjs +9 -10
  158. package/toolbar/index.mjs +13 -14
  159. package/toolbar-button/index.mjs +13 -14
  160. package/verify/index.mjs +1 -1
  161. package/vue-cron/index.mjs +259 -267
  162. package/watermark/index.mjs +1 -1
  163. package/web-types.json +1 -1
  164. package/x-input-tag/index.mjs +21 -24
  165. package/chunks/FormItem.Bhsy_O2B.mjs +0 -372
  166. package/chunks/FyForm.DriwCJ7b.mjs +0 -765
  167. package/chunks/SignalAndMessage.BpjOoKhK.mjs +0 -92
  168. package/chunks/SubTablePlus.BH0IIv3X.mjs +0 -270
  169. package/chunks/TableColumn.BzivvXMF.mjs +0 -337
package/fy-form/index.mjs CHANGED
@@ -1,17 +1,640 @@
1
- import { F as b } from "../chunks/FyForm.DriwCJ7b.mjs";
2
- import "element-ui/lib/tooltip";
3
- import "element-ui/lib/form-item";
4
- import "element-ui/lib/col";
5
- import "element-ui/lib/tab-pane";
6
- import "element-ui/lib/tabs";
7
- import "element-ui/lib/row";
8
- import "element-ui/lib/form";
9
- import "../chunks/init.xOlFpTyZ.mjs";
10
- import "../chunks/util.DI42t5GU.mjs";
11
- import "../chunks/dataformat.DJoNBlmI.mjs";
12
- import "../chunks/dic.BinnDitI.mjs";
13
- import "@web-utils/core";
14
- import "../chunks/_plugin-vue2_normalizer.CeySl7Fu.mjs";
1
+ import { F as N, d as P } from "../chunks/FormTemp.BQxO5IQq.mjs";
2
+ import { i as z } from "../chunks/init.DAsXSoLW.mjs";
3
+ import { u as B, d as D, s as v, j as S, x as j, o as I, D as L, y as V, p as M } from "../chunks/util.DqFv_pWg.mjs";
4
+ import { a as A, b as W, f as R, d as G, c as H } from "../chunks/dataformat.CpqOeGBl.mjs";
5
+ import { s as U } from "../chunks/dic.Dkl-leRW.mjs";
6
+ import { p as K } from "../chunks/packages.ByyangTp.mjs";
7
+ import { isBlank as u } from "@web-utils/core";
8
+ import { n as $ } from "../chunks/_plugin-vue2_normalizer.CeySl7Fu.mjs";
9
+ const q = (i, e, r, s) => {
10
+ if (!s) return;
11
+ if (!window.Mock) {
12
+ K.logs("mock");
13
+ return;
14
+ }
15
+ const t = (window.Mock || {}).Random, n = {};
16
+ function o({ en: c }) {
17
+ return c ? t.name(!0) : t.cname();
18
+ }
19
+ function l({ max: c, min: a, precision: f }) {
20
+ if (f) {
21
+ const h = `${t.float(a, c, f)}`, m = h.indexOf(".") + 1;
22
+ return Number(h.substring(0, m + f));
23
+ } else
24
+ return t.integer(a, c);
25
+ }
26
+ function d({ header: c }) {
27
+ let a = t.url();
28
+ const f = a.indexOf("://");
29
+ return c === !1 ? a = a.substring(f + 3) : a = `http://${a.substring(f + 3)}`, a;
30
+ }
31
+ function x({ format: c, now: a }) {
32
+ return a ? t.now(c) : t.datetime(c);
33
+ }
34
+ function F({ min: c, max: a }) {
35
+ return t.csentence(c, a);
36
+ }
37
+ function C() {
38
+ return t.county(!0);
39
+ }
40
+ function E({ dic: c, props: a, columnType: f, multiple: h }) {
41
+ const m = a.value || "value", b = c.length;
42
+ if (["checkbox"].includes(f) || h) {
43
+ const _ = l({ min: 1, max: b }), y = [];
44
+ for (let g = 0; g < _; g++) {
45
+ let O = !0;
46
+ for (; O; ) {
47
+ const T = l({ min: 0, max: b - 1 }), k = c[T][m];
48
+ y.includes(k) || (y.push(k), O = !1);
49
+ }
50
+ }
51
+ return y;
52
+ } else {
53
+ const _ = l({ min: 0, max: b - 1 });
54
+ return c[_][m];
55
+ }
56
+ }
57
+ function w() {
58
+ Object.keys(i).forEach((c) => {
59
+ const a = i[c];
60
+ if (a.mock && typeof a.mock == "object") {
61
+ const f = a.mock;
62
+ switch (f.dic = typeof a.dicData == "string" ? e[a.dicData] : a.dicData || [], f.props = a.props || {}, f.columnType = a.type, f.multiple = a.multiple, f.type) {
63
+ case "name":
64
+ n[a.prop] = o(f);
65
+ break;
66
+ case "number":
67
+ n[a.prop] = l(f);
68
+ break;
69
+ case "datetime":
70
+ n[a.prop] = x(f);
71
+ break;
72
+ case "word":
73
+ n[a.prop] = F(f);
74
+ break;
75
+ case "url":
76
+ n[a.prop] = d(f);
77
+ break;
78
+ case "county":
79
+ n[a.prop] = C();
80
+ break;
81
+ case "dic":
82
+ n[a.prop] = E(f);
83
+ break;
84
+ }
85
+ } else a.mock instanceof Function && (n[a.prop] = a.mock(r));
86
+ });
87
+ }
88
+ return w(), n;
89
+ }, J = {
90
+ name: "FormGroup",
91
+ props: {
92
+ arrow: {
93
+ type: Boolean,
94
+ default: !0
95
+ },
96
+ collapse: {
97
+ type: Boolean,
98
+ default: !0
99
+ },
100
+ header: {
101
+ type: Boolean,
102
+ default: !0
103
+ },
104
+ icon: {
105
+ type: String
106
+ },
107
+ display: {
108
+ type: Boolean,
109
+ default: !0
110
+ },
111
+ label: {
112
+ type: String
113
+ }
114
+ },
115
+ data() {
116
+ return {
117
+ activeName: ""
118
+ };
119
+ },
120
+ computed: {
121
+ text() {
122
+ return this.collapse ? 1 : 0;
123
+ },
124
+ isHeader() {
125
+ return this.$slots.header && this.header || (this.label || this.icon) && this.header;
126
+ }
127
+ },
128
+ watch: {
129
+ text(i) {
130
+ this.activeName = [i];
131
+ }
132
+ },
133
+ created() {
134
+ this.activeName = [this.text];
135
+ },
136
+ methods: {
137
+ handleChange(i) {
138
+ this.$emit("change", i);
139
+ }
140
+ }
141
+ };
142
+ var Q = function() {
143
+ var e = this, r = e._self._c;
144
+ return e.display ? r("div", { class: ["avue-group", { "avue-group--header": !e.isHeader, "avue-group__arrow": !e.arrow }] }, [e._t("tabs"), r("ElCollapse", { attrs: { value: e.text }, on: { change: e.handleChange }, model: { value: e.activeName, callback: function(s) {
145
+ e.activeName = s;
146
+ }, expression: "activeName" } }, [r("ElCollapseItem", { attrs: { name: 1, disabled: !e.arrow }, scopedSlots: e._u([{ key: "title", fn: function() {
147
+ return [r("div", { staticClass: "avue-group__header" }, [e._t("header", function() {
148
+ return [e.icon ? r("i", { class: [e.icon, "avue-group__icon"] }) : e._e(), e.label ? r("h1", { staticClass: "avue-group__title" }, [e._v(" " + e._s(e.label) + " ")]) : e._e()];
149
+ })], 2)];
150
+ }, proxy: !0 }], null, !0) }, [e._t("default")], 2)], 1)], 2) : e._e();
151
+ }, X = [], Y = /* @__PURE__ */ $(
152
+ J,
153
+ Q,
154
+ X,
155
+ !1,
156
+ null,
157
+ null
158
+ );
159
+ const Z = Y.exports, ee = {
160
+ name: "FyFormMenu",
161
+ inject: ["formSafe"],
162
+ computed: {
163
+ menuSpan() {
164
+ return this.formSafe.parentOption.menuSpan || 24;
165
+ },
166
+ styleName() {
167
+ return this.menuSpan !== 24 ? {
168
+ padding: 0
169
+ } : {};
170
+ }
171
+ }
172
+ };
173
+ var te = function() {
174
+ var e = this, r = e._self._c;
175
+ return e.formSafe.parentOption.menuBtn !== !1 ? r("ElCol", { class: ["menu", e.formSafe.menuPosition, "no-print"], style: e.styleName, attrs: { span: e.menuSpan, md: e.menuSpan } }, [r("ElFormItem", { staticStyle: { "text-align": "center" }, attrs: { "label-width": "0px" } }, [e.formSafe.isMock ? r("ElButton", { attrs: { type: "primary", size: e.formSafe.controlSize, icon: "el-icon-edit-outline", disabled: e.formSafe.allDisabled }, on: { click: e.formSafe.handleMock } }, [e._v(" " + e._s(e.formSafe.parentOption.mockText || "模拟") + " ")]) : e._e(), e.formSafe.isPrint ? r("ElButton", { attrs: { type: "primary", size: e.formSafe.controlSize, icon: "el-icon-printer", disabled: e.formSafe.allDisabled }, on: { click: e.formSafe.handlePrint } }, [e._v(" " + e._s(e.formSafe.parentOption.printText || "打印") + " ")]) : e._e(), e.formSafe.parentOption.submitBtn !== !1 ? r("ElButton", { attrs: { type: "primary", size: e.formSafe.controlSize, icon: e.formSafe.parentOption.submitIcon || "el-icon-check", loading: e.formSafe.allDisabled }, on: { click: e.formSafe.submit } }, [e._v(" " + e._s(e.formSafe.parentOption.submitText || "提交") + " ")]) : e._e(), e.formSafe.parentOption.emptyBtn !== !1 ? r("ElButton", { attrs: { icon: e.formSafe.parentOption.emptyIcon || "el-icon-delete", size: e.formSafe.controlSize, disabled: e.formSafe.allDisabled }, on: { click: e.formSafe.resetForm } }, [e._v(" " + e._s(e.formSafe.parentOption.emptyText || "清空") + " ")]) : e._e(), e._t("menuForm", null, { disabled: e.formSafe.allDisabled, size: e.formSafe.controlSize })], 2)], 1) : e._e();
176
+ }, ie = [], re = /* @__PURE__ */ $(
177
+ ee,
178
+ te,
179
+ ie,
180
+ !1,
181
+ null,
182
+ null
183
+ );
184
+ const se = re.exports, ae = {
185
+ name: "FyForm",
186
+ components: { FormTemp: N, FyFormMenu: se, FormGroup: Z },
187
+ mixins: [z],
188
+ provide() {
189
+ return {
190
+ formSafe: this
191
+ };
192
+ },
193
+ props: {
194
+ uploadBefore: Function,
195
+ uploadAfter: Function,
196
+ uploadDelete: Function,
197
+ uploadPreview: Function,
198
+ uploadError: Function,
199
+ uploadExceed: Function,
200
+ status: {
201
+ type: Boolean,
202
+ default: !1
203
+ },
204
+ isCrud: {
205
+ type: Boolean,
206
+ default: !1
207
+ },
208
+ value: {
209
+ type: Object,
210
+ default: () => ({})
211
+ }
212
+ },
213
+ data() {
214
+ return {
215
+ activeName: "",
216
+ labelWidth: 90,
217
+ allDisabled: !1,
218
+ optionIndex: [],
219
+ optionBox: !1,
220
+ tableOption: {},
221
+ itemSpanDefault: 12,
222
+ form: {},
223
+ formCreate: !1,
224
+ formList: [],
225
+ formBind: {}
226
+ };
227
+ },
228
+ computed: {
229
+ columnSlot() {
230
+ return Object.keys(this.$scopedSlots).filter((i) => !this.propOption.map((e) => e.prop).includes(i));
231
+ },
232
+ labelSuffix() {
233
+ return this.parentOption.labelSuffix || ":";
234
+ },
235
+ isMenu() {
236
+ return this.columnOption.length !== 1;
237
+ },
238
+ isDetail() {
239
+ return this.detail === !0;
240
+ },
241
+ isTabs() {
242
+ return this.parentOption.tabs === !0;
243
+ },
244
+ isAdd() {
245
+ return this.boxType === "add";
246
+ },
247
+ isEdit() {
248
+ return this.boxType === "edit";
249
+ },
250
+ isView() {
251
+ return this.boxType === "view";
252
+ },
253
+ gutter() {
254
+ return v((this.parentOption.gutter || 10) / 2);
255
+ },
256
+ detail() {
257
+ return this.parentOption.detail;
258
+ },
259
+ disabled() {
260
+ return this.parentOption.disabled;
261
+ },
262
+ readonly() {
263
+ return this.parentOption.readonly;
264
+ },
265
+ tabsType() {
266
+ return this.parentOption.tabsType;
267
+ },
268
+ columnLen() {
269
+ return this.columnOption.length;
270
+ },
271
+ dynamicOption() {
272
+ const i = [];
273
+ return this.propOption.forEach((e) => {
274
+ e.type === "dynamic" && this.vaildDisplay(e) && i.push(e);
275
+ }), i;
276
+ },
277
+ propOption() {
278
+ const i = [];
279
+ return this.columnOption.forEach((e) => {
280
+ e.display !== !1 && e.column.forEach((r) => {
281
+ i.push(r);
282
+ });
283
+ }), i;
284
+ },
285
+ parentOption() {
286
+ return this.tableOption || {};
287
+ },
288
+ columnOption() {
289
+ const i = this.tableOption.column || [], e = D(this.tableOption.group) || [], r = this.tableOption.footer || [];
290
+ return e.unshift({
291
+ header: !1,
292
+ column: i
293
+ }), r.length !== 0 && e.push({
294
+ header: !1,
295
+ column: r
296
+ }), e.forEach((s) => {
297
+ s.column = s.column || [], s.column.forEach((p, t) => {
298
+ p.display !== !1 && !this.isMobile && (p = G(p, this.itemSpanDefault, t === 0));
299
+ }), s.column = H(s.column), s.column = s.column.sort((p, t) => (t.order || 0) - (p.order || 0));
300
+ }), e;
301
+ },
302
+ menuPosition() {
303
+ return this.parentOption.menuPosition ? this.parentOption.menuPosition : "center";
304
+ },
305
+ boxType() {
306
+ return this.parentOption.boxType;
307
+ },
308
+ isPrint() {
309
+ return this.parentOption.printBtn === !0;
310
+ },
311
+ tabsActive() {
312
+ return this.tableOption.tabsActive || "1";
313
+ },
314
+ isMock() {
315
+ return this.parentOption.mockBtn === !0;
316
+ }
317
+ },
318
+ watch: {
319
+ value: {
320
+ handler() {
321
+ this.formCreate && this.setForm();
322
+ },
323
+ deep: !0
324
+ },
325
+ form: {
326
+ handler() {
327
+ this.formCreate && (this.setLabel(), this.setVal());
328
+ },
329
+ deep: !0
330
+ },
331
+ tabsActive: {
332
+ handler() {
333
+ this.activeName = this.tabsActive;
334
+ },
335
+ immediate: !0
336
+ },
337
+ DIC: {
338
+ handler() {
339
+ this.setLabel();
340
+ },
341
+ deep: !0,
342
+ immediate: !0
343
+ },
344
+ allDisabled: {
345
+ handler(i) {
346
+ this.$emit("update:status", i);
347
+ },
348
+ deep: !0,
349
+ immediate: !0
350
+ }
351
+ },
352
+ mounted() {
353
+ setTimeout(() => {
354
+ this.dataFormat();
355
+ });
356
+ },
357
+ beforeDestroy() {
358
+ Object.keys(this.formBind).forEach((i) => {
359
+ this.formBind[i].forEach((e) => {
360
+ e();
361
+ });
362
+ });
363
+ },
364
+ methods: {
365
+ setPx: v,
366
+ deepClone: D,
367
+ getComponent: W,
368
+ getPlaceholder: A,
369
+ uploadFun: B,
370
+ getDisabled(i) {
371
+ return this.vaildDetail(i) || this.isDetail || this.vaildDisabled(i) || this.allDisabled;
372
+ },
373
+ getSpan(i) {
374
+ return i.span || this.parentOption.span || this.itemSpanDefault;
375
+ },
376
+ isGroupShow(i, e) {
377
+ return this.isTabs ? `${e}` === this.activeName || e === 0 : !0;
378
+ },
379
+ // 初始化表单
380
+ dataFormat() {
381
+ const i = R(this.propOption).tableForm, e = this.value, r = {};
382
+ Object.entries(Object.assign(i, e)).forEach((s) => {
383
+ const p = s[0], t = s[1];
384
+ u(e[p]) ? r[p] = t : r[p] = e[p];
385
+ }), this.$set(this, "form", r), this.setLabel(), this.setControl(), this.setVal(), setTimeout(() => {
386
+ this.formCreate = !0, this.clearValidate();
387
+ });
388
+ },
389
+ setControl() {
390
+ this.propOption.forEach((i) => {
391
+ const e = i.prop, r = i.bind, s = i.control;
392
+ if (!this.formBind[e]) {
393
+ const p = [];
394
+ if (r) {
395
+ const t = this.$watch(`form.${e}`, (o, l) => {
396
+ o !== l && V(this.form, r, o);
397
+ }), n = this.$watch(`form.${r}`, (o, l) => {
398
+ o !== l && this.$set(this.form, e, o);
399
+ });
400
+ p.push(t), p.push(n), this.$set(this.form, e, M(this.form, r));
401
+ }
402
+ if (s) {
403
+ const t = () => {
404
+ const o = s(this.form[i.prop], this.form) || {};
405
+ Object.keys(o).forEach((l) => {
406
+ const d = Object.assign(this.objectOption[l] || {}, o[l]);
407
+ this.$set(this.objectOption, l, d), o[l].dicData && (this.DIC[l] = o[l].dicData);
408
+ });
409
+ }, n = this.$watch(`form.${e}`, () => {
410
+ t();
411
+ });
412
+ p.push(n), t();
413
+ }
414
+ this.formBind[e] = p;
415
+ }
416
+ });
417
+ },
418
+ setForm() {
419
+ Object.keys(this.value).forEach((i) => {
420
+ this.$set(this.form, i, this.value[i]);
421
+ });
422
+ },
423
+ setVal() {
424
+ this.$emit("input", this.form), this.$emit("change", this.form);
425
+ },
426
+ setLabel() {
427
+ this.tableOption.filterNull === !0 && (this.form = S(this.form, [""], !1)), this.tableOption.filterDic === !0 ? this.form = S(this.form, ["$"], !1) : this.propOption.forEach((i) => {
428
+ const e = this.DIC[i.prop];
429
+ if (u(e)) return;
430
+ const r = P(this.form, i, this.tableOption, e);
431
+ r ? this.$set(this.form, `$${i.prop}`, r) : this.$delete(this.form, `$${i.prop}`);
432
+ });
433
+ },
434
+ handleGroupClick(i) {
435
+ this.$emit("tab-click", i);
436
+ },
437
+ handleTabClick(i, e) {
438
+ this.$emit("tab-click", i, e);
439
+ },
440
+ getLabelWidth(i, e) {
441
+ let r;
442
+ return u(i.labelWidth) ? u(e.labelWidth) ? r = this.parentOption.labelWidth : r = e.labelWidth : r = i.labelWidth, v(r, this.labelWidth);
443
+ },
444
+ // 对部分表单字段进行校验的方法
445
+ validateField(i) {
446
+ return this.$refs.form.validateField(i);
447
+ },
448
+ validTip(i) {
449
+ return !i.tip || i.type === "upload";
450
+ },
451
+ getPropRef(i) {
452
+ return this.$refs[i][0];
453
+ },
454
+ handleChange(i, e) {
455
+ this.$nextTick(() => {
456
+ const r = e.cascader, s = r.join(",");
457
+ r.forEach((p) => {
458
+ const t = p, n = this.form[e.prop], o = this.findObject(i, t);
459
+ u(o) || (this.formList.includes(s) && r.forEach((l) => {
460
+ this.form[l] = "", this.$set(this.DIC, l, []);
461
+ }), !(u(r) || u(n) || u(o)) && U({
462
+ column: o,
463
+ value: n,
464
+ form: this.form
465
+ }).then((l) => {
466
+ this.formList.includes(s) || this.formList.push(s);
467
+ const d = l || [];
468
+ this.$set(this.DIC, t, d), !u(d) && !u(d) && !u(o.cascaderIndex) && u(this.form[t]) && (this.form[t] = d[o.cascaderIndex][(o.props || {}).value || L.value]);
469
+ }));
470
+ });
471
+ });
472
+ },
473
+ handlePrint() {
474
+ this.$Print(this.$el);
475
+ },
476
+ propChange(i, e) {
477
+ e.cascader && this.handleChange(i, e);
478
+ },
479
+ handleMock() {
480
+ this.isMock && (this.columnOption.forEach((i) => {
481
+ const e = q(i.column, this.DIC, this.form, this.isMock);
482
+ u(e) || Object.keys(e).forEach((r) => {
483
+ this.form[r] = e[r];
484
+ });
485
+ }), this.$nextTick(() => {
486
+ this.clearValidate(), this.$emit("mock-change", this.form);
487
+ }));
488
+ },
489
+ vaildDetail(i) {
490
+ let e;
491
+ if (this.detail) return !1;
492
+ if (!u(i.detail))
493
+ e = "detail";
494
+ else if (this.isAdd)
495
+ e = "addDetail";
496
+ else if (this.isEdit)
497
+ e = "editDetail";
498
+ else if (this.isView)
499
+ return !1;
500
+ return e ? i[e] === !0 : !1;
501
+ },
502
+ // 验证表单是否禁止
503
+ vaildDisabled(i) {
504
+ let e;
505
+ if (this.disabled) return !0;
506
+ if (!u(i.disabled))
507
+ e = "disabled";
508
+ else if (this.isAdd)
509
+ e = "addDisabled";
510
+ else if (this.isEdit)
511
+ e = "editDisabled";
512
+ else if (this.isView)
513
+ return !0;
514
+ return e ? i[e] === !0 : !1;
515
+ },
516
+ // 验证表单是否显隐
517
+ vaildDisplay(i) {
518
+ let e;
519
+ return u(i.display) ? this.isAdd ? e = "addDisplay" : this.isEdit ? e = "editDisplay" : this.isView && (e = "viewDisplay") : e = "display", e ? I(i[e], !0) : !0;
520
+ },
521
+ clearValidate(i) {
522
+ var e;
523
+ (e = this.$refs.form) == null || e.clearValidate(i);
524
+ },
525
+ validateCellForm() {
526
+ return new Promise((i) => {
527
+ this.$refs.form.validate((e, r) => {
528
+ i(r);
529
+ });
530
+ });
531
+ },
532
+ validate(i) {
533
+ this.$refs.form.validate((e, r) => {
534
+ const s = [], p = [], t = {};
535
+ this.dynamicOption.forEach((n) => {
536
+ const o = n.children.type === "form";
537
+ p.push(n.prop), o ? u(this.$refs[n.prop][0].$refs.temp.$refs.main) || this.$refs[n.prop][0].$refs.temp.$refs.main.forEach((l) => {
538
+ s.push(l.validateCellForm());
539
+ }) : s.push(this.$refs[n.prop][0].$refs.temp.$refs.main.validateCellForm());
540
+ }), Promise.all(s).then((n) => {
541
+ n.forEach((l, d) => {
542
+ u(l) || (t[p[d]] = l);
543
+ });
544
+ const o = Object.assign(t, r);
545
+ u(o) ? (this.show(), i(!0, this.hide)) : i(!1, this.hide, o);
546
+ });
547
+ });
548
+ },
549
+ resetForm(i = !0) {
550
+ if (i) {
551
+ const e = this.propOption.map((r) => r.prop);
552
+ this.form = j(this.form, e, (this.tableOption.filterParams || []).concat([this.rowKey]));
553
+ }
554
+ this.$nextTick(() => {
555
+ this.clearValidate(), this.$emit("reset-change");
556
+ });
557
+ },
558
+ resetFields() {
559
+ this.$refs.form.resetFields();
560
+ },
561
+ show() {
562
+ this.allDisabled = !0;
563
+ },
564
+ hide() {
565
+ this.allDisabled = !1;
566
+ },
567
+ submit() {
568
+ this.validate((i, e) => {
569
+ i ? this.$emit("submit", S(this.form, ["$"]), this.hide) : this.$emit("error", e);
570
+ });
571
+ }
572
+ }
573
+ };
574
+ var oe = function() {
575
+ var e = this, r = e._self._c;
576
+ return r("div", { class: ["avue-form", { "avue--detail": e.isDetail }], style: { width: e.setPx(e.parentOption.formWidth, "100%") } }, [r("ElForm", { ref: "form", attrs: { "status-icon": e.parentOption.statusIcon, model: e.form, "label-suffix": e.labelSuffix, size: e.$AVUE.formSize || e.controlSize, "label-position": e.parentOption.labelPosition, "label-width": e.setPx(e.parentOption.labelWidth, e.labelWidth) }, nativeOn: { submit: function(s) {
577
+ s.preventDefault();
578
+ } } }, [r("ElRow", { class: { "avue-form__tabs": e.isTabs }, attrs: { span: 24 } }, [e._l(e.columnOption, function(s, p) {
579
+ return r("FormGroup", { key: s.prop, attrs: { tabs: e.isTabs, arrow: s.arrow, collapse: s.collapse, display: e.vaildDisplay(s), icon: s.icon, index: p, header: !e.isTabs, active: e.activeName, label: s.label }, on: { change: e.handleGroupClick }, scopedSlots: e._u([{ key: "tabs", fn: function() {
580
+ return [e.isTabs && p === 1 ? r("ElTabs", { staticClass: "avue-form__tabs", attrs: { type: e.tabsType }, on: { "tab-click": e.handleTabClick }, model: { value: e.activeName, callback: function(t) {
581
+ e.activeName = t;
582
+ }, expression: "activeName" } }, [e._l(e.columnOption, function(t, n) {
583
+ return [e.vaildDisplay(t) && n !== 0 ? r("ElTabPane", { key: n, attrs: { name: `${n}` }, scopedSlots: e._u([{ key: "label", fn: function() {
584
+ return [r("span", [e.getSlotName(t, "H", e.$scopedSlots) ? e._t(e.getSlotName(t, "H"), null, { column: e.column }) : [r("i", { class: t.icon }, [e._v(" ")]), e._v(" " + e._s(t.label) + " ")]], 2)];
585
+ }, proxy: !0 }], null, !0) }) : e._e()];
586
+ })], 2) : e._e()];
587
+ }, proxy: !0 }, e.getSlotName(s, "H", e.$scopedSlots) ? { key: "header", fn: function() {
588
+ return [e._t(e.getSlotName(s, "H"), null, { column: s })];
589
+ }, proxy: !0 } : null], null, !0) }, [r("div", { directives: [{ name: "show", rawName: "v-show", value: e.isGroupShow(s, p), expression: "isGroupShow(item, index)" }], class: ["avue-form__group", { "avue-form__group--flex": s.flex === !1 }] }, [e._l(s.column, function(t, n) {
590
+ return [e.vaildDisplay(t) ? r("ElCol", { key: n, class: ["avue-form__row", { "avue--detail avue--detail__column": e.vaildDetail(t) }, t.className], style: { paddingLeft: e.gutter, paddingRight: e.gutter }, attrs: { span: e.getSpan(t), md: e.getSpan(t), sm: t.smSpan || s.smSpan || 12, xs: t.xsSpan || s.xmSpan || 24, offset: t.offset || s.offset, push: t.push || s.push, pull: t.pull || s.pull } }, [r("ElFormItem", { class: `avue-form__item--${t.labelPosition || s.labelPosition || ""}`, attrs: { prop: t.prop, label: t.label, rules: t.rules, "label-position": t.labelPosition || s.labelPosition || e.parentOption.labelPosition, "label-width": e.getLabelWidth(t, s) }, scopedSlots: e._u([e.getSlotName(t, "L", e.$scopedSlots) ? { key: "label", fn: function() {
591
+ return [e._t(e.getSlotName(t, "L"), null, { column: t, value: e.form[t.prop], readonly: t.readonly || e.readonly, disabled: e.getDisabled(t), size: t.size || e.controlSize, dic: e.DIC[t.prop] })];
592
+ }, proxy: !0 } : t.labelTip ? { key: "label", fn: function() {
593
+ return [r("ElTooltip", { staticClass: "item", attrs: { effect: "dark", placement: t.labelTipPlacement || "top-start" }, scopedSlots: e._u([{ key: "content", fn: function() {
594
+ return [r("div", { domProps: { innerHTML: e._s(t.labelTip) } })];
595
+ }, proxy: !0 }], null, !0) }, [r("i", { staticClass: "el-icon-info" })]), r("span", [e._v(" " + e._s(t.label) + e._s(e.labelSuffix))])];
596
+ }, proxy: !0 } : null, e.getSlotName(t, "E", e.$scopedSlots) ? { key: "error", fn: function(o) {
597
+ return [e._t(
598
+ e.getSlotName(t, "E"),
599
+ null,
600
+ null,
601
+ Object.assign(o, {
602
+ column: t,
603
+ value: e.form[t.prop],
604
+ readonly: e.readonly || t.readonly,
605
+ disabled: e.getDisabled(t),
606
+ size: t.size || e.controlSize,
607
+ dic: e.DIC[t.prop]
608
+ })
609
+ )];
610
+ } } : null], null, !0) }, [r(e.validTip(t) ? "div" : "elTooltip", { tag: "Component", attrs: { disabled: e.validTip(t), content: t.tip || e.getPlaceholder(t), placement: t.tipPlacement } }, [e.$scopedSlots[t.prop] ? e._t(t.prop, null, { value: e.form[t.prop], column: t, label: e.form[`$${t.prop}`], size: t.size || e.controlSize, readonly: e.readonly || t.readonly, disabled: e.getDisabled(t), dic: e.DIC[t.prop] }) : r("FormTemp", e._b({ ref: t.prop, refInFor: !0, attrs: { column: t, dic: e.DIC[t.prop], props: e.parentOption.props, "props-http": e.parentOption.propsHttp, disabled: e.getDisabled(t), readonly: t.readonly || e.readonly, enter: e.parentOption.enter, size: t.size || e.controlSize, "column-slot": e.columnSlot }, on: { enter: e.submit, change: function(o) {
611
+ return e.propChange(s.column, t);
612
+ } }, scopedSlots: e._u([e._l(e.getSlotName(t, "T", e.$scopedSlots) ? [t] : [], function(o) {
613
+ return { key: e.getSlotName(t, "T"), fn: function(l) {
614
+ return [e._t(e.getSlotName(o, "T"), null, null, l)];
615
+ } };
616
+ }), e._l(e.columnSlot, function(o) {
617
+ return { key: o, fn: function(l) {
618
+ return [e._t(o, null, null, l)];
619
+ } };
620
+ })], null, !0), model: { value: e.form[t.prop], callback: function(o) {
621
+ e.$set(e.form, t.prop, o);
622
+ }, expression: "form[column.prop]" } }, "FormTemp", e.uploadFun(t), !1))], 2)], 1)], 1) : e._e(), e.vaildDisplay(t) && t.row && t.span !== 24 && t.count ? r("div", { key: `line${n}`, staticClass: "avue-form__line", style: { width: `${t.count / 24 * 100}%` } }) : e._e()];
623
+ }), !e.isDetail && !e.isMenu ? r("FyFormMenu", { scopedSlots: e._u([{ key: "menuForm", fn: function(t) {
624
+ return [e._t("menuForm", null, null, t)];
625
+ } }], null, !0) }) : e._e()], 2)]);
626
+ }), !e.isDetail && e.isMenu ? r("FyFormMenu", { scopedSlots: e._u([{ key: "menuForm", fn: function(s) {
627
+ return [e._t("menuForm", null, null, s)];
628
+ } }], null, !0) }) : e._e()], 2)], 1)], 1);
629
+ }, ne = [], le = /* @__PURE__ */ $(
630
+ ae,
631
+ oe,
632
+ ne,
633
+ !1,
634
+ null,
635
+ null
636
+ );
637
+ const _e = le.exports;
15
638
  export {
16
- b as default
639
+ _e as default
17
640
  };