@web-utils/form-ui 1.0.0-beta2 → 1.0.0-beta21
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.
- package/base.css +1 -1
- package/chunks/1chbbDUh.mjs +98 -0
- package/chunks/5HLN3g1u.mjs +51 -0
- package/chunks/B5B9au3z.mjs +180 -0
- package/chunks/BI2XOQW3.mjs +226 -0
- package/chunks/BLpnMrum.mjs +189 -0
- package/chunks/BNpqILFO.mjs +95 -0
- package/chunks/Bb43eI1f.mjs +93 -0
- package/chunks/BbrVRWUo.mjs +73 -0
- package/chunks/Bd1I-R29.mjs +53 -0
- package/chunks/Bh_CMUlo.mjs +12 -0
- package/chunks/Bv-Gn_Jd.mjs +42 -0
- package/chunks/C4MTLHn4.mjs +26 -0
- package/chunks/CI4RZnNc.mjs +26 -0
- package/chunks/CnsFNU2A.mjs +17 -0
- package/chunks/Cw8pz9hK.mjs +222 -0
- package/chunks/D4v0MyB_.mjs +106 -0
- package/chunks/D9GcEl6r.mjs +8 -0
- package/chunks/DGhMkri0.mjs +88 -0
- package/chunks/DOI7ju3i.mjs +108 -0
- package/chunks/DRDj0e_k.mjs +171 -0
- package/chunks/Dq3yxEPg.mjs +106 -0
- package/chunks/Dy5-h_Tx.mjs +108 -0
- package/chunks/RcygoTkQ.mjs +26 -0
- package/chunks/iWlTrkaC.mjs +76 -0
- package/chunks/lTFu0zgR.mjs +106 -0
- package/chunks/wfL1FAwc.mjs +1360 -0
- package/constants.d.ts +42 -0
- package/constants.mjs +3 -3
- package/element-dialog/index.d.ts +96 -0
- package/element-dialog/index.mjs +2 -92
- package/element-dialog/style.css +1 -1
- package/empty-view/index.d.ts +29 -0
- package/flex-scroll-area/index.d.ts +22 -0
- package/form-advice/index.d.ts +9 -0
- package/form-advice/index.mjs +13 -12
- package/form-cascader/index.d.ts +2 -0
- package/form-cascader/index.mjs +10 -0
- package/form-cell/index.d.ts +25 -0
- package/form-check-box-group/index.d.ts +293 -0
- package/form-check-box-group/index.mjs +1 -1
- package/form-checkbox/index.d.ts +271 -0
- package/form-checkbox/index.mjs +1 -1
- package/form-date-picker/index.d.ts +421 -0
- package/form-date-picker/index.mjs +1 -1
- package/form-holder/index.d.ts +166 -0
- package/form-holder/index.mjs +1 -1
- package/form-holder/style.css +1 -1
- package/form-image/index.d.ts +224 -0
- package/form-image/index.mjs +1 -1
- package/form-input/index.d.ts +387 -0
- package/form-input/index.mjs +1 -1
- package/form-input/style.css +1 -0
- package/form-input-cron-expression/index.d.ts +215 -0
- package/form-input-cron-expression/index.mjs +2 -0
- package/form-input-cron-expression/style.css +1 -0
- package/form-input-email/index.d.ts +363 -0
- package/form-input-email/index.mjs +1 -1
- package/form-input-id-card/index.d.ts +363 -0
- package/form-input-id-card/index.mjs +1 -1
- package/form-input-number/index.d.ts +325 -0
- package/form-input-number/index.mjs +1 -1
- package/form-input-phone-number/index.d.ts +363 -0
- package/form-input-phone-number/index.mjs +1 -1
- package/form-input-tag/index.d.ts +2 -0
- package/form-input-time/index.d.ts +2 -0
- package/form-item-config-provider/index.d.ts +22 -0
- package/form-item-config-provider/index.mjs +24 -0
- package/form-item-group/index.d.ts +92 -0
- package/form-item-group/index.mjs +2 -78
- package/form-item-group/style.css +1 -1
- package/form-item-x/index.d.ts +184 -0
- package/form-item-x/index.mjs +1 -1
- package/form-item-x/style.css +1 -0
- package/form-radio-group/index.d.ts +281 -0
- package/form-radio-group/index.mjs +1 -1
- package/form-rate/index.d.ts +319 -0
- package/form-rate/index.mjs +1 -1
- package/form-red-table/index.d.ts +21 -0
- package/form-red-table/index.mjs +27 -26
- package/form-row/index.d.ts +11 -0
- package/form-row/index.mjs +1 -1
- package/form-select/index.d.ts +540 -0
- package/form-select/index.mjs +1 -1
- package/form-slider/index.d.ts +348 -0
- package/form-slider/index.mjs +1 -1
- package/form-switch/index.d.ts +337 -0
- package/form-switch/index.mjs +1 -1
- package/form-text/index.d.ts +227 -0
- package/form-text/index.mjs +1 -1
- package/form-view/index.d.ts +2 -0
- package/index.d.ts +42 -0
- package/index.mjs +39 -34
- package/month-calendar/index.d.ts +80 -0
- package/month-calendar/index.mjs +312 -0
- package/month-calendar/style.css +1 -0
- package/package.json +10 -7
- package/resolver.d.ts +9 -0
- package/resolver.mjs +29 -0
- package/table-view/index.d.ts +2 -0
- package/toolbar/index.d.ts +2 -0
- package/toolbar-button/index.d.ts +2 -0
- package/vue-cron/index.d.ts +191 -0
- package/vue-cron/index.mjs +2 -0
- package/vue-cron/style.css +1 -0
- package/web-types.json +1 -1
- package/year-calendar/index.d.ts +99 -0
- package/year-calendar/index.mjs +174 -0
- package/year-calendar/style.css +1 -0
- package/chunks/B4M_TFeR.mjs +0 -152
- package/chunks/B5BIQCcK.mjs +0 -149
- package/chunks/BHNKrW1j.mjs +0 -61
- package/chunks/BO9jWhBl.mjs +0 -46
- package/chunks/BZ8aOa78.mjs +0 -35
- package/chunks/Bsz7y4Xp.mjs +0 -73
- package/chunks/Bxj372sF.mjs +0 -53
- package/chunks/C33EmJN8.mjs +0 -32
- package/chunks/C6Li3-l7.mjs +0 -28
- package/chunks/CBcdalMX.mjs +0 -35
- package/chunks/CdRsyF0n.mjs +0 -43
- package/chunks/ClNahmiU.mjs +0 -23
- package/chunks/CstztYMu.mjs +0 -28
- package/chunks/DC9b53M6.mjs +0 -32
- package/chunks/DDVAgRED.mjs +0 -36
- package/chunks/DpJQABVD.mjs +0 -91
- package/chunks/ZsLNWI9x.mjs +0 -46
- package/chunks/jn_iQrVZ.mjs +0 -28
- package/input/style.css +0 -1
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { formHolderContextKey as e, formViewContextKey as t } from "../constants.mjs";
|
|
2
|
+
import { n } from "./Bh_CMUlo.mjs";
|
|
3
|
+
import r from "../form-advice/index.mjs";
|
|
4
|
+
import i from "../form-red-table/index.mjs";
|
|
5
|
+
import { ElForm as a, ElRow as o } from "element-plus/es";
|
|
6
|
+
import { computed as s, createVNode as c, inject as l, mergeProps as u, nextTick as d, provide as f, reactive as p, toRef as m, useTemplateRef as h } from "vue";
|
|
7
|
+
import { animate as g } from "@web-utils/core";
|
|
8
|
+
//#region src/components/form/props/form.js
|
|
9
|
+
var _ = {
|
|
10
|
+
model: Object,
|
|
11
|
+
rules: Object,
|
|
12
|
+
inline: {
|
|
13
|
+
type: Boolean,
|
|
14
|
+
default: !1
|
|
15
|
+
},
|
|
16
|
+
labelPosition: {
|
|
17
|
+
type: String,
|
|
18
|
+
default: "right"
|
|
19
|
+
},
|
|
20
|
+
labelWidth: {
|
|
21
|
+
type: [String, Number],
|
|
22
|
+
default: "auto"
|
|
23
|
+
},
|
|
24
|
+
labelSuffix: {
|
|
25
|
+
type: String,
|
|
26
|
+
default: ""
|
|
27
|
+
},
|
|
28
|
+
hideRequiredAsterisk: {
|
|
29
|
+
type: Boolean,
|
|
30
|
+
default: !1
|
|
31
|
+
},
|
|
32
|
+
requireAsteriskPosition: {
|
|
33
|
+
type: String,
|
|
34
|
+
default: "left"
|
|
35
|
+
},
|
|
36
|
+
showMessage: {
|
|
37
|
+
type: Boolean,
|
|
38
|
+
default: !0
|
|
39
|
+
},
|
|
40
|
+
inlineMessage: {
|
|
41
|
+
type: Boolean,
|
|
42
|
+
default: !1
|
|
43
|
+
},
|
|
44
|
+
statusIcon: {
|
|
45
|
+
type: Boolean,
|
|
46
|
+
default: !1
|
|
47
|
+
},
|
|
48
|
+
validateOnRuleChange: {
|
|
49
|
+
type: Boolean,
|
|
50
|
+
default: !0
|
|
51
|
+
},
|
|
52
|
+
size: String,
|
|
53
|
+
disabled: {
|
|
54
|
+
type: Boolean,
|
|
55
|
+
default: void 0
|
|
56
|
+
},
|
|
57
|
+
scrollToError: {
|
|
58
|
+
type: Boolean,
|
|
59
|
+
default: !1
|
|
60
|
+
},
|
|
61
|
+
scrollIntoViewOptions: [Object, Boolean],
|
|
62
|
+
requiredFields: Array,
|
|
63
|
+
disabledFields: Array,
|
|
64
|
+
enabledFields: Array,
|
|
65
|
+
showAdvice: {
|
|
66
|
+
type: Boolean,
|
|
67
|
+
default: !0
|
|
68
|
+
},
|
|
69
|
+
columns: [Array, Object],
|
|
70
|
+
colCount: Number,
|
|
71
|
+
notTableForm: {
|
|
72
|
+
type: Boolean,
|
|
73
|
+
default: void 0
|
|
74
|
+
},
|
|
75
|
+
commentValueColspan: Number,
|
|
76
|
+
commentLabelColspan: Number,
|
|
77
|
+
wrapRow: {
|
|
78
|
+
type: Boolean,
|
|
79
|
+
default: !0
|
|
80
|
+
}
|
|
81
|
+
}, v = {
|
|
82
|
+
showMessage: !0,
|
|
83
|
+
required: !0,
|
|
84
|
+
requiredFields: !0,
|
|
85
|
+
disabledFields: !0,
|
|
86
|
+
enabledFields: !0,
|
|
87
|
+
showAdvice: !0,
|
|
88
|
+
columns: !0,
|
|
89
|
+
colCount: !0,
|
|
90
|
+
notTableForm: !0,
|
|
91
|
+
commentValueColspan: !0,
|
|
92
|
+
commentLabelColspan: !0,
|
|
93
|
+
wrapRow: !0
|
|
94
|
+
}, y = ["validate"], b = (e) => v[e] !== !0, x = {
|
|
95
|
+
name: "FormHolder",
|
|
96
|
+
inheritAttrs: !1,
|
|
97
|
+
props: { ..._ },
|
|
98
|
+
emits: { validate: null },
|
|
99
|
+
setup(_, { slots: v, expose: x, emit: S }) {
|
|
100
|
+
let C = n(_, {
|
|
101
|
+
emit: S,
|
|
102
|
+
events: y,
|
|
103
|
+
predicate: b
|
|
104
|
+
}), w = l(t, null), T = h("form"), E = s(() => _.notTableForm === void 0 ? (w == null ? void 0 : w.tableForm) === void 0 ? !1 : w == null ? void 0 : w.tableForm : !_.notTableForm), D = s(() => E.value ? !1 : _.showMessage), O = s(() => {
|
|
105
|
+
let e = {};
|
|
106
|
+
return _.disabledFields && _.disabledFields.forEach((t) => {
|
|
107
|
+
e[t] = !0;
|
|
108
|
+
}), e;
|
|
109
|
+
}), k = s(() => {
|
|
110
|
+
let e = {};
|
|
111
|
+
return _.enabledFields && _.enabledFields.length && _.enabledFields.forEach((t) => {
|
|
112
|
+
e[t] = !0;
|
|
113
|
+
}), e;
|
|
114
|
+
}), A = s(() => {
|
|
115
|
+
let e = {};
|
|
116
|
+
return _.requiredFields && _.requiredFields.length && _.requiredFields.forEach((t) => {
|
|
117
|
+
e[t] = !0;
|
|
118
|
+
}), e;
|
|
119
|
+
}), j = s(() => _.disabled === !0 ? !0 : _.disabled), M = m(() => _.enabledFields), N = m(() => _.requiredFields), P = m(() => _.disabledFields), F = async () => {
|
|
120
|
+
await d();
|
|
121
|
+
let e = T.value.$el.querySelector(".el-form-item.is-error");
|
|
122
|
+
e && e.scrollIntoView({
|
|
123
|
+
block: "center",
|
|
124
|
+
inline: "center",
|
|
125
|
+
behavior: "smooth"
|
|
126
|
+
});
|
|
127
|
+
}, I = p({
|
|
128
|
+
tableForm: E,
|
|
129
|
+
disabled: j,
|
|
130
|
+
enabledFields: M,
|
|
131
|
+
requiredFields: N,
|
|
132
|
+
enabledFieldsMap: k,
|
|
133
|
+
disabledFieldsMap: O,
|
|
134
|
+
requiredFieldsMap: A,
|
|
135
|
+
disabledFields: P,
|
|
136
|
+
scrollIntoRequiredField: F,
|
|
137
|
+
formRef: T,
|
|
138
|
+
validate: async () => {
|
|
139
|
+
try {
|
|
140
|
+
return await T.value.validate();
|
|
141
|
+
} catch {
|
|
142
|
+
throw await F(), T.value.$el.querySelectorAll(".el-form-item.is-error .el-form-item__content > :first-child").forEach((e) => {
|
|
143
|
+
g(e, "breathe-animation");
|
|
144
|
+
}), Error("表单验证不通过!");
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
validateField: (e) => T.value.validateField(e),
|
|
148
|
+
resetFields: (e) => T.value.resetFields(e),
|
|
149
|
+
scrollToField: (e) => T.value.scrollToField(e),
|
|
150
|
+
clearValidate: (e) => T.value.clearValidate(e),
|
|
151
|
+
getField: () => T.value.getField(),
|
|
152
|
+
setInitialValues: (e) => T.value.setInitialValues(e),
|
|
153
|
+
getFields: () => T.value.fields
|
|
154
|
+
});
|
|
155
|
+
return f(e, I), x(I), () => c(a, u({
|
|
156
|
+
ref: "form",
|
|
157
|
+
class: "form-holder",
|
|
158
|
+
"show-message": D.value
|
|
159
|
+
}, C.value), { default: () => {
|
|
160
|
+
if (E.value) {
|
|
161
|
+
var e, t, n;
|
|
162
|
+
return [
|
|
163
|
+
(e = v.top) == null ? void 0 : e.call(v),
|
|
164
|
+
c(i, {
|
|
165
|
+
class: { "hide-error-message": E.value },
|
|
166
|
+
columns: _.columns,
|
|
167
|
+
"col-count": _.colCount
|
|
168
|
+
}, { default: () => {
|
|
169
|
+
var e;
|
|
170
|
+
return [(e = v.default) == null ? void 0 : e.call(v), _.showAdvice ? c(r, {
|
|
171
|
+
"label-colspan": _.commentLabelColspan,
|
|
172
|
+
"value-colspan": _.commentValueColspan
|
|
173
|
+
}, null) : null];
|
|
174
|
+
} }),
|
|
175
|
+
(t = v.bottom) == null ? void 0 : t.call(v),
|
|
176
|
+
c("div", { class: "red-form-footer" }, [(n = v.footer) == null ? void 0 : n.call(v)])
|
|
177
|
+
];
|
|
178
|
+
} else {
|
|
179
|
+
var a;
|
|
180
|
+
return _.wrapRow ? c(o, null, { default: () => {
|
|
181
|
+
var e;
|
|
182
|
+
return [(e = v.default) == null ? void 0 : e.call(v)];
|
|
183
|
+
} }) : (a = v.default) == null ? void 0 : a.call(v);
|
|
184
|
+
}
|
|
185
|
+
} });
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
//#endregion
|
|
189
|
+
export { x as t };
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { i as e, n as t } from "./Cw8pz9hK.mjs";
|
|
2
|
+
import { n } from "./CnsFNU2A.mjs";
|
|
3
|
+
import { ElSlider as r } from "element-plus/es";
|
|
4
|
+
import { createVNode as i, mergeProps as a, useModel as o } from "vue";
|
|
5
|
+
//#region src/components/form/props/slide.js
|
|
6
|
+
var s = {
|
|
7
|
+
...n,
|
|
8
|
+
modelValue: [Number, Array],
|
|
9
|
+
min: {
|
|
10
|
+
type: Number,
|
|
11
|
+
default: 0
|
|
12
|
+
},
|
|
13
|
+
max: {
|
|
14
|
+
type: Number,
|
|
15
|
+
default: 100
|
|
16
|
+
},
|
|
17
|
+
step: [Number, String],
|
|
18
|
+
showInput: {
|
|
19
|
+
type: Boolean,
|
|
20
|
+
default: !1
|
|
21
|
+
},
|
|
22
|
+
showInputControls: {
|
|
23
|
+
type: Boolean,
|
|
24
|
+
default: !0
|
|
25
|
+
},
|
|
26
|
+
size: {
|
|
27
|
+
type: String,
|
|
28
|
+
default: "default"
|
|
29
|
+
},
|
|
30
|
+
inputSize: {
|
|
31
|
+
type: String,
|
|
32
|
+
default: "default"
|
|
33
|
+
},
|
|
34
|
+
showStops: {
|
|
35
|
+
type: Boolean,
|
|
36
|
+
default: !1
|
|
37
|
+
},
|
|
38
|
+
showTooltip: {
|
|
39
|
+
type: Boolean,
|
|
40
|
+
default: !0
|
|
41
|
+
},
|
|
42
|
+
formatTooltip: Function,
|
|
43
|
+
range: {
|
|
44
|
+
type: Boolean,
|
|
45
|
+
default: !1
|
|
46
|
+
},
|
|
47
|
+
vertical: {
|
|
48
|
+
type: Boolean,
|
|
49
|
+
default: !1
|
|
50
|
+
},
|
|
51
|
+
height: String,
|
|
52
|
+
ariaLabel: String,
|
|
53
|
+
rangeStartLabel: String,
|
|
54
|
+
rangeEndLabel: String,
|
|
55
|
+
formatValueText: Function,
|
|
56
|
+
tooltipClass: String,
|
|
57
|
+
placement: {
|
|
58
|
+
type: String,
|
|
59
|
+
default: "top"
|
|
60
|
+
},
|
|
61
|
+
marks: Object,
|
|
62
|
+
validateEvent: {
|
|
63
|
+
type: Boolean,
|
|
64
|
+
default: !0
|
|
65
|
+
},
|
|
66
|
+
persistent: {
|
|
67
|
+
type: Boolean,
|
|
68
|
+
default: !0
|
|
69
|
+
}
|
|
70
|
+
}, c = { modelValue: !0 }, l = ["change", "input"], u = (e) => n[e] === void 0 && c[e] !== !0, d = {
|
|
71
|
+
name: "FormSlider",
|
|
72
|
+
inheritAttrs: !1,
|
|
73
|
+
props: { ...s },
|
|
74
|
+
emits: {
|
|
75
|
+
...t,
|
|
76
|
+
change: null,
|
|
77
|
+
input: null
|
|
78
|
+
},
|
|
79
|
+
setup(t, { emit: n, slots: s, attrs: c }) {
|
|
80
|
+
let d = o(t, "modelValue"), { render: f, disabled: p, autoBind: m } = e(t, {
|
|
81
|
+
emit: n,
|
|
82
|
+
slots: s,
|
|
83
|
+
events: l,
|
|
84
|
+
predicate: u,
|
|
85
|
+
attrs: c
|
|
86
|
+
});
|
|
87
|
+
return () => f({ vNodes: i(r, a(m.value, {
|
|
88
|
+
modelValue: d.value,
|
|
89
|
+
"onUpdate:modelValue": (e) => d.value = e,
|
|
90
|
+
disabled: p.value
|
|
91
|
+
}), null) });
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
//#endregion
|
|
95
|
+
export { d as t };
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { columnSizeContextKey as e, setColumnSizeContextKey as t } from "../constants.mjs";
|
|
2
|
+
import n from "../form-cell/index.mjs";
|
|
3
|
+
import { ElTooltip as r } from "element-plus/es";
|
|
4
|
+
import { Comment as i, Fragment as a, Text as o, createVNode as s, inject as c, isVNode as l } from "vue";
|
|
5
|
+
import { camelize as u, isDef as d, isString as f } from "@web-utils/core";
|
|
6
|
+
//#region src/components/red-form/FormRow.vue?vue&type=script&lang.jsx
|
|
7
|
+
function p(e) {
|
|
8
|
+
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !l(e);
|
|
9
|
+
}
|
|
10
|
+
var m = (e) => {
|
|
11
|
+
let t = Object.keys({});
|
|
12
|
+
for (let n in e) t[u(n)] = e[n];
|
|
13
|
+
return t;
|
|
14
|
+
}, h = (e, { columnSize: t }) => {
|
|
15
|
+
if (!e || !e.length) return null;
|
|
16
|
+
e = e.filter((e) => e.type !== i);
|
|
17
|
+
let n = [], c = e.length === 1;
|
|
18
|
+
for (let i = 0; i < e.length; i++) {
|
|
19
|
+
let v = e[i], { name: y } = v.type;
|
|
20
|
+
if (v.type === o) n.push({
|
|
21
|
+
tag: y,
|
|
22
|
+
type: "text",
|
|
23
|
+
content: v,
|
|
24
|
+
colspan: c ? t : 0
|
|
25
|
+
});
|
|
26
|
+
else if (v.type === a) n.push(...h(v.children, { columnSize: t }));
|
|
27
|
+
else if (f(v.type) && v.type === "td") n.push({
|
|
28
|
+
tag: v.type,
|
|
29
|
+
type: "td",
|
|
30
|
+
content: v
|
|
31
|
+
});
|
|
32
|
+
else if (y === "FormCell") n.push({
|
|
33
|
+
tag: y,
|
|
34
|
+
type: "FormCell",
|
|
35
|
+
content: v
|
|
36
|
+
});
|
|
37
|
+
else if (typeof v.type == "object") {
|
|
38
|
+
var l, u;
|
|
39
|
+
let { label: e, hideLabel: i, labelColspan: a, inputColspan: o, labelRowspan: f, inputRowspan: h, tipsAfterLabel: b, tips: x } = m(v.props);
|
|
40
|
+
if (!d(i)) {
|
|
41
|
+
var p, g, _;
|
|
42
|
+
let t = (p = v.children) == null ? void 0 : p.tips, i = t || x ? s(r, {
|
|
43
|
+
effect: "light",
|
|
44
|
+
content: x,
|
|
45
|
+
offset: 4
|
|
46
|
+
}, {
|
|
47
|
+
default: () => s("i", { class: "el-icon-info form-item-input-info" }, null),
|
|
48
|
+
content: t || null
|
|
49
|
+
}) : null;
|
|
50
|
+
n.push({
|
|
51
|
+
tag: y,
|
|
52
|
+
type: "label",
|
|
53
|
+
colspan: a,
|
|
54
|
+
rowspan: f,
|
|
55
|
+
content: [((g = v.children) == null || (_ = g.label) == null ? void 0 : _.call(g)) || e, b === "" ? i : null]
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
let S;
|
|
59
|
+
S = c && d(i) ? t : d(o) ? o : c ? t - 1 : 0, n.push({
|
|
60
|
+
tag: y,
|
|
61
|
+
type: "input",
|
|
62
|
+
colspan: S,
|
|
63
|
+
rowspan: h,
|
|
64
|
+
content: [v, (l = v.children) == null || (u = l.below) == null ? void 0 : u.call(l)]
|
|
65
|
+
});
|
|
66
|
+
} else console.error("未知节点");
|
|
67
|
+
}
|
|
68
|
+
return n;
|
|
69
|
+
}, g = {
|
|
70
|
+
name: "FormRow",
|
|
71
|
+
props: {
|
|
72
|
+
isLabel: Boolean,
|
|
73
|
+
alignCenter: Boolean
|
|
74
|
+
},
|
|
75
|
+
setup(r, { slots: i }) {
|
|
76
|
+
let a = c(t, null), o = c(e, null);
|
|
77
|
+
return () => {
|
|
78
|
+
var e;
|
|
79
|
+
let t = (e = i.default) == null ? void 0 : e.call(i), c = [];
|
|
80
|
+
return c.push(...h(t, { columnSize: (o == null ? void 0 : o.value) ?? 0 })), ((o == null ? void 0 : o.value) ?? 0) < c.length && (a == null || a(c.length)), s("tr", null, [c.map(({ tag: e, type: t, colspan: i, rowspan: a, content: o }) => e === "td" || t === "FormCell" ? o : t === "text" ? s(n, {
|
|
81
|
+
isLabel: r.isLabel,
|
|
82
|
+
alignCenter: r.alignCenter,
|
|
83
|
+
colspan: i
|
|
84
|
+
}, p(o) ? o : { default: () => [o] }) : s("td", {
|
|
85
|
+
class: t,
|
|
86
|
+
colspan: i,
|
|
87
|
+
rowspan: a
|
|
88
|
+
}, [o]))]);
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
//#endregion
|
|
93
|
+
export { g as t };
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { i as e, n as t, t as n } from "./Cw8pz9hK.mjs";
|
|
2
|
+
import { n as r, r as i, t as a } from "./Dq3yxEPg.mjs";
|
|
3
|
+
import { ElInput as o } from "element-plus/es";
|
|
4
|
+
import { computed as s, createVNode as c, mergeProps as l, useModel as u } from "vue";
|
|
5
|
+
import { validatePhoneNum as d } from "@web-utils/core";
|
|
6
|
+
//#region src/util/form-validate.js
|
|
7
|
+
var f = (e, t, n) => t && !/^[A-Za-z0-9\u4e00-\u9fa5_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/.test(t) ? n(/* @__PURE__ */ Error("invalid")) : n();
|
|
8
|
+
function p(e, t, n) {
|
|
9
|
+
t && !/^[1-9][0-9]{5}(18|19|(2[0-9]))[0-9]{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)[0-9]{3}[0-9Xx]$/.test(t) ? n(/* @__PURE__ */ Error("invalid")) : n();
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
//#region src/components/form/FormInput.vue
|
|
13
|
+
var m = {
|
|
14
|
+
name: "FormInput",
|
|
15
|
+
inheritAttrs: !1,
|
|
16
|
+
props: { ...a },
|
|
17
|
+
emits: {
|
|
18
|
+
...t,
|
|
19
|
+
click: null,
|
|
20
|
+
blur: null,
|
|
21
|
+
focus: null,
|
|
22
|
+
change: null,
|
|
23
|
+
input: null,
|
|
24
|
+
clear: null,
|
|
25
|
+
keydown: null,
|
|
26
|
+
mouseleave: null,
|
|
27
|
+
mouseenter: null,
|
|
28
|
+
compositionstart: null,
|
|
29
|
+
compositionupdate: null,
|
|
30
|
+
compositionend: null
|
|
31
|
+
},
|
|
32
|
+
setup(t, { emit: a, slots: m, attrs: h }) {
|
|
33
|
+
let g = u(t, "modelValue"), _ = `请输入正确的${t.label}!`, { render: v, placeholder: y, disabled: b, autoBind: x } = e(t, {
|
|
34
|
+
emit: a,
|
|
35
|
+
slots: m,
|
|
36
|
+
attrs: h,
|
|
37
|
+
rules: s(() => {
|
|
38
|
+
if (!t.type || t.type === "textarea") return null;
|
|
39
|
+
let e = {
|
|
40
|
+
message: _,
|
|
41
|
+
trigger: "blur"
|
|
42
|
+
};
|
|
43
|
+
if (t.type === "email") e.validator = f;
|
|
44
|
+
else if (t.type === "idcard") e.validator = p;
|
|
45
|
+
else if (t.type === "phone") e.validator = d;
|
|
46
|
+
else return null;
|
|
47
|
+
return [e];
|
|
48
|
+
}),
|
|
49
|
+
events: r,
|
|
50
|
+
predicate: i
|
|
51
|
+
});
|
|
52
|
+
return () => v({ vNodes: c(o, l({ class: ["form-input", {
|
|
53
|
+
"is-readonly": t.readonlyGrey && t.readonly && !t.picker,
|
|
54
|
+
"el-input-cursor-pointer": t.picker && !b.value
|
|
55
|
+
}] }, x.value, {
|
|
56
|
+
modelValue: g.value,
|
|
57
|
+
"onUpdate:modelValue": (e) => g.value = e,
|
|
58
|
+
disabled: b.value,
|
|
59
|
+
placeholder: y.value,
|
|
60
|
+
readonly: t.readonly || t.picker,
|
|
61
|
+
"prefix-icon": n({ icon: t.picker ? "el-icon-search" : t.prefixIcon }),
|
|
62
|
+
"suffix-icon": n({ icon: t.suffixIcon })
|
|
63
|
+
}), {
|
|
64
|
+
prefix: m.prefix || t.prefix ? () => t.prefix : null,
|
|
65
|
+
suffix: m.suffix || t.suffix ? () => t.suffix : null,
|
|
66
|
+
"password-icon": m["password-icon"],
|
|
67
|
+
prepend: m.prepend || t.prepend ? () => t.prepend : null,
|
|
68
|
+
append: m.append || t.append ? () => t.append : null
|
|
69
|
+
}) });
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
//#endregion
|
|
73
|
+
export { m as t };
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { i as e, n as t } from "./Cw8pz9hK.mjs";
|
|
2
|
+
import { n, t as r } from "./CnsFNU2A.mjs";
|
|
3
|
+
import { n as i, r as a } from "./Dq3yxEPg.mjs";
|
|
4
|
+
import { t as o } from "./wfL1FAwc.mjs";
|
|
5
|
+
import { ElInput as s, ElPopover as c } from "element-plus/es";
|
|
6
|
+
import { createVNode as l, mergeProps as u, ref as d } from "vue";
|
|
7
|
+
//#endregion
|
|
8
|
+
//#region src/components/form/FormInputCronExpression.vue
|
|
9
|
+
var f = {
|
|
10
|
+
name: "FormInputCronExpression",
|
|
11
|
+
props: {
|
|
12
|
+
...n,
|
|
13
|
+
...r,
|
|
14
|
+
modelValue: [String, Number]
|
|
15
|
+
},
|
|
16
|
+
emits: { ...t },
|
|
17
|
+
setup(t, { emit: n, slots: r, attrs: f }) {
|
|
18
|
+
let p = d(!1), { emitInput: m, render: h, placeholder: g, disabled: _, autoBind: v } = e(t, {
|
|
19
|
+
emit: n,
|
|
20
|
+
slots: r,
|
|
21
|
+
attrs: f,
|
|
22
|
+
events: i,
|
|
23
|
+
predicate: a
|
|
24
|
+
}), y = () => {
|
|
25
|
+
p.value = !0;
|
|
26
|
+
}, b = () => {
|
|
27
|
+
p.value = !1;
|
|
28
|
+
};
|
|
29
|
+
return () => h({ vNodes: l("div", { class: "cron" }, [l(c, {
|
|
30
|
+
placement: "bottom-start",
|
|
31
|
+
disabled: _.value,
|
|
32
|
+
modelValue: p.value,
|
|
33
|
+
"onUpdate:modelValue": (e) => p.value = e,
|
|
34
|
+
"popper-class": "cron-popover"
|
|
35
|
+
}, {
|
|
36
|
+
default: () => l(o, u(v.value, {
|
|
37
|
+
i18n: "cn",
|
|
38
|
+
expression: t.modelValue,
|
|
39
|
+
onChange: m,
|
|
40
|
+
onClose: b
|
|
41
|
+
}), null),
|
|
42
|
+
reference: () => l(s, {
|
|
43
|
+
modelValue: t.modelValue,
|
|
44
|
+
readonly: !0,
|
|
45
|
+
disabled: _.value,
|
|
46
|
+
placeholder: g.value,
|
|
47
|
+
onClick: y
|
|
48
|
+
}, null)
|
|
49
|
+
})]) });
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
//#endregion
|
|
53
|
+
export { f as t };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { computed as e } from "vue";
|
|
2
|
+
import { capitalize as t } from "@web-utils/core";
|
|
3
|
+
//#region src/util/index.js
|
|
4
|
+
var n = (e, n, r, i) => {
|
|
5
|
+
let a = {};
|
|
6
|
+
if (n) for (let t in e) n(t) && (a[t] = e[t]);
|
|
7
|
+
return r && r.forEach((e) => {
|
|
8
|
+
a[`on${t(e)}`] = (...t) => i(e, ...t);
|
|
9
|
+
}), a;
|
|
10
|
+
}, r = (t, { emit: r, events: i, predicate: a }) => e(() => n(t, a, i, r));
|
|
11
|
+
//#endregion
|
|
12
|
+
export { r as n, n as t };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { n as e } from "./Bh_CMUlo.mjs";
|
|
2
|
+
import { o as t, r as n } from "./Cw8pz9hK.mjs";
|
|
3
|
+
import { n as r } from "./CnsFNU2A.mjs";
|
|
4
|
+
import { ElText as i } from "element-plus/es";
|
|
5
|
+
import { createVNode as a, mergeProps as o } from "vue";
|
|
6
|
+
//#region src/components/form/props/text.js
|
|
7
|
+
var s = {
|
|
8
|
+
...r,
|
|
9
|
+
type: String,
|
|
10
|
+
size: {
|
|
11
|
+
type: String,
|
|
12
|
+
default: "default"
|
|
13
|
+
},
|
|
14
|
+
truncated: {
|
|
15
|
+
type: Boolean,
|
|
16
|
+
default: !1
|
|
17
|
+
},
|
|
18
|
+
lineClamp: [String, Number],
|
|
19
|
+
tag: {
|
|
20
|
+
type: String,
|
|
21
|
+
default: "span"
|
|
22
|
+
},
|
|
23
|
+
text: String
|
|
24
|
+
}, c = { modelValue: !0 }, l = ["change"], u = (e) => r[e] === void 0 && c[e] !== !0, d = {
|
|
25
|
+
name: "FormText",
|
|
26
|
+
inheritAttrs: !1,
|
|
27
|
+
props: { ...s },
|
|
28
|
+
setup(r, { slots: s, emit: c, attrs: d }) {
|
|
29
|
+
let f = t(r, { attrs: d }), p = e(r, {
|
|
30
|
+
events: l,
|
|
31
|
+
predicate: u,
|
|
32
|
+
emit: c
|
|
33
|
+
});
|
|
34
|
+
return () => n(r, {
|
|
35
|
+
vNodes: a(i, o(p.value, d), { default: s.default || (() => r.text) }),
|
|
36
|
+
formItemProps: f,
|
|
37
|
+
slots: s
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
//#endregion
|
|
42
|
+
export { d as t };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { n as e } from "./Cw8pz9hK.mjs";
|
|
2
|
+
import { t } from "./BbrVRWUo.mjs";
|
|
3
|
+
import { t as n } from "./Dq3yxEPg.mjs";
|
|
4
|
+
import { createVNode as r, isVNode as i, mergeProps as a, useModel as o } from "vue";
|
|
5
|
+
//#region src/components/form/FormInputEmail.vue?vue&type=script&lang.jsx
|
|
6
|
+
function s(e) {
|
|
7
|
+
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !i(e);
|
|
8
|
+
}
|
|
9
|
+
//#endregion
|
|
10
|
+
//#region src/components/form/FormInputEmail.vue
|
|
11
|
+
var c = {
|
|
12
|
+
name: "FormInputEmail",
|
|
13
|
+
inheritAttrs: !1,
|
|
14
|
+
props: { ...n },
|
|
15
|
+
emits: { ...e },
|
|
16
|
+
setup(e, { slots: n, attrs: i }) {
|
|
17
|
+
let c = o(e, "modelValue");
|
|
18
|
+
return () => r(t, a(e, i, {
|
|
19
|
+
modelValue: c.value,
|
|
20
|
+
"onUpdate:modelValue": (e) => c.value = e,
|
|
21
|
+
type: "email"
|
|
22
|
+
}), s(n) ? n : { default: () => [n] });
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
//#endregion
|
|
26
|
+
export { c as t };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { n as e } from "./Cw8pz9hK.mjs";
|
|
2
|
+
import { t } from "./BbrVRWUo.mjs";
|
|
3
|
+
import { t as n } from "./Dq3yxEPg.mjs";
|
|
4
|
+
import { createVNode as r, isVNode as i, mergeProps as a, useModel as o } from "vue";
|
|
5
|
+
//#region src/components/form/FormInputPhoneNumber.vue?vue&type=script&lang.jsx
|
|
6
|
+
function s(e) {
|
|
7
|
+
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !i(e);
|
|
8
|
+
}
|
|
9
|
+
//#endregion
|
|
10
|
+
//#region src/components/form/FormInputPhoneNumber.vue
|
|
11
|
+
var c = {
|
|
12
|
+
name: "FormInputPhoneNumber",
|
|
13
|
+
inheritAttrs: !1,
|
|
14
|
+
props: { ...n },
|
|
15
|
+
emits: { ...e },
|
|
16
|
+
setup(e, { slots: n, attrs: i }) {
|
|
17
|
+
let c = o(e, "modelValue");
|
|
18
|
+
return () => r(t, a(e, i, {
|
|
19
|
+
modelValue: c.value,
|
|
20
|
+
"onUpdate:modelValue": (e) => c.value = e,
|
|
21
|
+
type: "phone"
|
|
22
|
+
}), s(n) ? n : { default: () => [n] });
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
//#endregion
|
|
26
|
+
export { c as t };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { c as e, s as t } from "./Cw8pz9hK.mjs";
|
|
2
|
+
//#region src/components/form/props/common.js
|
|
3
|
+
var n = {
|
|
4
|
+
...e,
|
|
5
|
+
...t,
|
|
6
|
+
wrapFormItem: {
|
|
7
|
+
type: Boolean,
|
|
8
|
+
default: !0
|
|
9
|
+
},
|
|
10
|
+
disabled: {
|
|
11
|
+
type: Boolean,
|
|
12
|
+
default: void 0
|
|
13
|
+
},
|
|
14
|
+
col: Boolean
|
|
15
|
+
}, r = { size: { type: String } };
|
|
16
|
+
//#endregion
|
|
17
|
+
export { n, r as t };
|