@web-utils/component 4.0.13 → 4.0.15

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