@web-utils/form-ui 1.0.0-beta0
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 -0
- package/chunks/B4M_TFeR.mjs +152 -0
- package/chunks/B5BIQCcK.mjs +149 -0
- package/chunks/BHNKrW1j.mjs +61 -0
- package/chunks/BO9jWhBl.mjs +46 -0
- package/chunks/BZ8aOa78.mjs +35 -0
- package/chunks/Bsz7y4Xp.mjs +73 -0
- package/chunks/Bxj372sF.mjs +53 -0
- package/chunks/C33EmJN8.mjs +32 -0
- package/chunks/C6Li3-l7.mjs +28 -0
- package/chunks/CBcdalMX.mjs +35 -0
- package/chunks/CdRsyF0n.mjs +43 -0
- package/chunks/ClNahmiU.mjs +23 -0
- package/chunks/CstztYMu.mjs +28 -0
- package/chunks/D61GMx8I.mjs +8 -0
- package/chunks/DC9b53M6.mjs +32 -0
- package/chunks/DDVAgRED.mjs +36 -0
- package/chunks/DpJQABVD.mjs +91 -0
- package/chunks/ZsLNWI9x.mjs +46 -0
- package/chunks/jn_iQrVZ.mjs +28 -0
- package/constants.mjs +4 -0
- package/element-dialog/index.mjs +77 -0
- package/element-dialog/style.css +1 -0
- package/empty-view/index.mjs +46 -0
- package/empty-view/style.css +1 -0
- package/flex-scroll-area/index.mjs +32 -0
- package/flex-scroll-area/style.css +1 -0
- package/form-advice/index.mjs +28 -0
- package/form-cell/index.mjs +23 -0
- package/form-cell/style.css +1 -0
- package/form-check-box-group/index.mjs +2 -0
- package/form-checkbox/index.mjs +2 -0
- package/form-date-picker/index.mjs +2 -0
- package/form-holder/index.mjs +2 -0
- package/form-holder/style.css +1 -0
- package/form-image/index.mjs +2 -0
- package/form-input/index.mjs +2 -0
- package/form-input-email/index.mjs +2 -0
- package/form-input-id-card/index.mjs +2 -0
- package/form-input-number/index.mjs +2 -0
- package/form-input-phone-number/index.mjs +2 -0
- package/form-input-tag/index.mjs +4 -0
- package/form-input-time/index.mjs +4 -0
- package/form-item-group/index.mjs +78 -0
- package/form-item-group/style.css +1 -0
- package/form-item-x/index.mjs +2 -0
- package/form-radio-group/index.mjs +2 -0
- package/form-rate/index.mjs +2 -0
- package/form-red-table/index.mjs +64 -0
- package/form-red-table/style.css +1 -0
- package/form-row/index.mjs +2 -0
- package/form-row/style.css +1 -0
- package/form-select/index.mjs +2 -0
- package/form-slider/index.mjs +2 -0
- package/form-switch/index.mjs +2 -0
- package/form-text/index.mjs +2 -0
- package/form-view/index.mjs +9 -0
- package/index.mjs +38 -0
- package/input/style.css +1 -0
- package/package.json +32 -0
- package/table-view/index.mjs +9 -0
- package/toolbar/index.mjs +9 -0
- package/toolbar-button/index.mjs +9 -0
- package/web-types.json +1 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { a as e, n as t, t as n } from "./B4M_TFeR.mjs";
|
|
2
|
+
import { ElInputNumber as r } from "element-plus/es";
|
|
3
|
+
import { createVNode as i } from "vue";
|
|
4
|
+
//#endregion
|
|
5
|
+
//#region src/components/form/FormInputNumber.vue
|
|
6
|
+
var a = {
|
|
7
|
+
name: "FormInputNumber",
|
|
8
|
+
inheritAttrs: !1,
|
|
9
|
+
props: {
|
|
10
|
+
...t,
|
|
11
|
+
modelValue: Number,
|
|
12
|
+
controls: Boolean,
|
|
13
|
+
align: {
|
|
14
|
+
type: String,
|
|
15
|
+
default: "left"
|
|
16
|
+
},
|
|
17
|
+
prefix: String,
|
|
18
|
+
suffix: String
|
|
19
|
+
},
|
|
20
|
+
emits: [...n],
|
|
21
|
+
setup(t, { emit: n, slots: a }) {
|
|
22
|
+
let { emitInput: o, render: s, placeholder: c, disabled: l } = e(t, {
|
|
23
|
+
emit: n,
|
|
24
|
+
slots: a
|
|
25
|
+
});
|
|
26
|
+
return () => s({ vNodes: i(r, {
|
|
27
|
+
style: "width: 100%",
|
|
28
|
+
align: t.align,
|
|
29
|
+
modelValue: t.modelValue,
|
|
30
|
+
disabled: l.value,
|
|
31
|
+
controls: t.controls,
|
|
32
|
+
"onUpdate:modelValue": o,
|
|
33
|
+
placeholder: c.value
|
|
34
|
+
}, {
|
|
35
|
+
prefix: a.prefix || t.prefix ? () => t.prefix : null,
|
|
36
|
+
suffix: a.suffix || t.suffix ? () => t.suffix : null,
|
|
37
|
+
"decrease-icon": a["decrease-icon"],
|
|
38
|
+
"increase-icon": a["increase-icon"]
|
|
39
|
+
}) });
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
//#endregion
|
|
43
|
+
export { a as t };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { n as e, r as t, s as n } from "./B4M_TFeR.mjs";
|
|
2
|
+
import { ElText as r } from "element-plus/es";
|
|
3
|
+
import { createVNode as i } from "vue";
|
|
4
|
+
//#endregion
|
|
5
|
+
//#region src/components/form/FormText.vue
|
|
6
|
+
var a = {
|
|
7
|
+
name: "FormText",
|
|
8
|
+
inheritAttrs: !1,
|
|
9
|
+
props: {
|
|
10
|
+
...e,
|
|
11
|
+
text: String
|
|
12
|
+
},
|
|
13
|
+
setup(e, { slots: a }) {
|
|
14
|
+
let o = n(e);
|
|
15
|
+
return () => t(e, {
|
|
16
|
+
vNodes: i(r, null, { default: a.default || (() => e.text) }),
|
|
17
|
+
formItemProps: o,
|
|
18
|
+
slots: a
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
//#endregion
|
|
23
|
+
export { a as t };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { i as e, n as t, t as n } from "./B4M_TFeR.mjs";
|
|
2
|
+
import { t as r } from "./BHNKrW1j.mjs";
|
|
3
|
+
import { createVNode as i, isVNode as a, mergeProps as o } from "vue";
|
|
4
|
+
//#region src/components/form/FormInputIdCard.vue?vue&type=script&lang.jsx
|
|
5
|
+
function s(e) {
|
|
6
|
+
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !a(e);
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
//#region src/components/form/FormInputIdCard.vue
|
|
10
|
+
var c = {
|
|
11
|
+
name: "FormInputIdCard",
|
|
12
|
+
inheritAttrs: !1,
|
|
13
|
+
props: {
|
|
14
|
+
...t,
|
|
15
|
+
modelValue: String
|
|
16
|
+
},
|
|
17
|
+
emits: [...n],
|
|
18
|
+
setup(t, { emit: n, slots: a }) {
|
|
19
|
+
let c = (t) => e(n, t);
|
|
20
|
+
return () => i(r, o(t, {
|
|
21
|
+
modelValue: t.modelValue,
|
|
22
|
+
type: "idcard",
|
|
23
|
+
"onUpdate:modelValue": c
|
|
24
|
+
}), s(a) ? a : { default: () => [a] });
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
//#endregion
|
|
28
|
+
export { c as t };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { a as e, n as t, t as n } from "./B4M_TFeR.mjs";
|
|
2
|
+
import { ElRate as r } from "element-plus/es";
|
|
3
|
+
import { createVNode as i, isVNode as a } from "vue";
|
|
4
|
+
//#region src/components/form/FormRate.vue?vue&type=script&lang.jsx
|
|
5
|
+
function o(e) {
|
|
6
|
+
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !a(e);
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
//#region src/components/form/FormRate.vue
|
|
10
|
+
var s = {
|
|
11
|
+
name: "FormRate",
|
|
12
|
+
inheritAttrs: !1,
|
|
13
|
+
props: {
|
|
14
|
+
...t,
|
|
15
|
+
modelValue: Number
|
|
16
|
+
},
|
|
17
|
+
emits: [...n],
|
|
18
|
+
setup(t, { emit: n, slots: a }) {
|
|
19
|
+
let { emitInput: s, render: c, disabled: l } = e(t, {
|
|
20
|
+
emit: n,
|
|
21
|
+
slots: a
|
|
22
|
+
});
|
|
23
|
+
return () => c({ vNodes: i(r, {
|
|
24
|
+
modelValue: t.modelValue,
|
|
25
|
+
clearable: !0,
|
|
26
|
+
disabled: l.value,
|
|
27
|
+
"onUpdate:modelValue": s
|
|
28
|
+
}, o(a) ? a : { default: () => [a] }) });
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
//#endregion
|
|
32
|
+
export { s as t };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { a as e, n as t, t as n } from "./B4M_TFeR.mjs";
|
|
2
|
+
import { ElSwitch as r } from "element-plus/es";
|
|
3
|
+
import { createVNode as i, isVNode as a } from "vue";
|
|
4
|
+
//#region src/components/form/FormSwitch.vue?vue&type=script&lang.jsx
|
|
5
|
+
function o(e) {
|
|
6
|
+
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !a(e);
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
//#region src/components/form/FormSwitch.vue
|
|
10
|
+
var s = {
|
|
11
|
+
name: "FormSwitch",
|
|
12
|
+
inheritAttrs: !1,
|
|
13
|
+
props: {
|
|
14
|
+
...t,
|
|
15
|
+
modelValue: [
|
|
16
|
+
Boolean,
|
|
17
|
+
String,
|
|
18
|
+
Number
|
|
19
|
+
]
|
|
20
|
+
},
|
|
21
|
+
emits: [...n],
|
|
22
|
+
setup(t, { emit: n, slots: a }) {
|
|
23
|
+
let { emitInput: s, render: c, disabled: l } = e(t, {
|
|
24
|
+
emit: n,
|
|
25
|
+
slots: a
|
|
26
|
+
});
|
|
27
|
+
return () => c({ vNodes: i(r, {
|
|
28
|
+
modelValue: t.modelValue,
|
|
29
|
+
clearable: !0,
|
|
30
|
+
disabled: l.value,
|
|
31
|
+
"onUpdate:modelValue": s
|
|
32
|
+
}, o(a) ? a : { default: () => [a] }) });
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
//#endregion
|
|
36
|
+
export { s as t };
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import e from "../form-cell/index.mjs";
|
|
2
|
+
import { ElTooltip as t } from "element-plus/es";
|
|
3
|
+
import { Comment as n, Fragment as r, Text as i, createVNode as a, inject as o, isVNode as s } from "vue";
|
|
4
|
+
import { camelize as c, isDef as l, isString as u } from "@web-utils/core";
|
|
5
|
+
//#region src/components/red-form/FormRow.vue?vue&type=script&lang.jsx
|
|
6
|
+
function d(e) {
|
|
7
|
+
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !s(e);
|
|
8
|
+
}
|
|
9
|
+
var f = (e) => {
|
|
10
|
+
let t = Object.keys({});
|
|
11
|
+
for (let n in e) t[c(n)] = e[n];
|
|
12
|
+
return t;
|
|
13
|
+
}, p = (e, { columnSize: o }) => {
|
|
14
|
+
if (!e || !e.length) return null;
|
|
15
|
+
e = e.filter((e) => e.type !== n);
|
|
16
|
+
let s = [], c = e.length === 1;
|
|
17
|
+
for (let n = 0; n < e.length; n++) {
|
|
18
|
+
let g = e[n], { name: _ } = g.type;
|
|
19
|
+
if (g.type === i) s.push({
|
|
20
|
+
tag: _,
|
|
21
|
+
type: "text",
|
|
22
|
+
content: g,
|
|
23
|
+
colspan: c ? o : 0
|
|
24
|
+
});
|
|
25
|
+
else if (g.type === r) s.push(...p(g.children, { columnSize: o }));
|
|
26
|
+
else if (u(g.type) && g.type === "td") s.push({
|
|
27
|
+
tag: g.type,
|
|
28
|
+
type: "td",
|
|
29
|
+
content: g
|
|
30
|
+
});
|
|
31
|
+
else if (_ === "FormCell") s.push({
|
|
32
|
+
tag: _,
|
|
33
|
+
type: "FormCell",
|
|
34
|
+
content: g
|
|
35
|
+
});
|
|
36
|
+
else if (typeof g.type == "object") {
|
|
37
|
+
let { label: e, hideLabel: n, labelColspan: r, inputColspan: i, labelRowspan: u, inputRowspan: p, tipsAfterLabel: v, tips: y } = f(g.props);
|
|
38
|
+
if (!l(n)) {
|
|
39
|
+
var d, m, h;
|
|
40
|
+
let n = (d = g.children) == null ? void 0 : d.tips, i = n || y ? a(t, {
|
|
41
|
+
effect: "light",
|
|
42
|
+
content: y,
|
|
43
|
+
offset: 4
|
|
44
|
+
}, {
|
|
45
|
+
default: () => a("i", { class: "el-icon-info form-item-input-info" }, null),
|
|
46
|
+
content: n || null
|
|
47
|
+
}) : null;
|
|
48
|
+
s.push({
|
|
49
|
+
tag: _,
|
|
50
|
+
type: "label",
|
|
51
|
+
colspan: r,
|
|
52
|
+
rowspan: u,
|
|
53
|
+
content: [((m = g.children) == null || (h = m.label) == null ? void 0 : h.call(m)) || e, v === "" ? i : null]
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
let b;
|
|
57
|
+
b = c && l(n) ? o : l(i) ? i : c ? o - 1 : 0, s.push({
|
|
58
|
+
tag: _,
|
|
59
|
+
type: "input",
|
|
60
|
+
colspan: b,
|
|
61
|
+
rowspan: p,
|
|
62
|
+
content: g
|
|
63
|
+
});
|
|
64
|
+
} else console.error("未知节点");
|
|
65
|
+
}
|
|
66
|
+
return s;
|
|
67
|
+
}, m = {
|
|
68
|
+
name: "FormRow",
|
|
69
|
+
props: {
|
|
70
|
+
isLabel: Boolean,
|
|
71
|
+
alignCenter: Boolean
|
|
72
|
+
},
|
|
73
|
+
setup(t, { slots: n }) {
|
|
74
|
+
let r = o("setColumnSize", null), i = o("columnSize", null);
|
|
75
|
+
return () => {
|
|
76
|
+
var o;
|
|
77
|
+
let s = (o = n.default) == null ? void 0 : o.call(n), c = [];
|
|
78
|
+
return c.push(...p(s, { columnSize: (i == null ? void 0 : i.value) ?? 0 })), ((i == null ? void 0 : i.value) ?? 0) < c.length && (r == null || r(c.length)), a("tr", null, [c.map(({ tag: n, type: r, colspan: i, rowspan: o, content: s }) => n === "td" || r === "FormCell" ? s : r === "text" ? a(e, {
|
|
79
|
+
isLabel: t.isLabel,
|
|
80
|
+
alignCenter: t.alignCenter,
|
|
81
|
+
colspan: i
|
|
82
|
+
}, d(s) ? s : { default: () => [s] }) : a("td", {
|
|
83
|
+
class: r,
|
|
84
|
+
colspan: i,
|
|
85
|
+
rowspan: o
|
|
86
|
+
}, [s]))]);
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
//#endregion
|
|
91
|
+
export { m as t };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { a as e, n as t, t as n } from "./B4M_TFeR.mjs";
|
|
2
|
+
import { ElOption as r, ElSelect as i } from "element-plus/es";
|
|
3
|
+
import { createVNode as a } from "vue";
|
|
4
|
+
//#endregion
|
|
5
|
+
//#region src/components/form/FormSelect.vue
|
|
6
|
+
var o = {
|
|
7
|
+
name: "FormSelect",
|
|
8
|
+
inheritAttrs: !1,
|
|
9
|
+
props: {
|
|
10
|
+
...t,
|
|
11
|
+
modelValue: String,
|
|
12
|
+
options: [
|
|
13
|
+
String,
|
|
14
|
+
Number,
|
|
15
|
+
Boolean,
|
|
16
|
+
Object,
|
|
17
|
+
Array
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
emits: [...n],
|
|
21
|
+
setup(t, { emit: n, slots: o }) {
|
|
22
|
+
let { emitInput: s, render: c, placeholder: l, disabled: u } = e(t, {
|
|
23
|
+
emit: n,
|
|
24
|
+
slots: o
|
|
25
|
+
});
|
|
26
|
+
return () => c({ vNodes: a(i, {
|
|
27
|
+
modelValue: t.modelValue,
|
|
28
|
+
clearable: !0,
|
|
29
|
+
disabled: u.value,
|
|
30
|
+
"onUpdate:modelValue": s,
|
|
31
|
+
placeholder: l.value
|
|
32
|
+
}, {
|
|
33
|
+
...o,
|
|
34
|
+
default: o.default || (() => {
|
|
35
|
+
var e;
|
|
36
|
+
return (e = t.options) == null ? void 0 : e.map(({ value: e, label: t }) => a(r, {
|
|
37
|
+
key: e,
|
|
38
|
+
label: t,
|
|
39
|
+
value: e
|
|
40
|
+
}, null));
|
|
41
|
+
})
|
|
42
|
+
}) });
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
//#endregion
|
|
46
|
+
export { o as t };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { i as e, n as t, t as n } from "./B4M_TFeR.mjs";
|
|
2
|
+
import { t as r } from "./BHNKrW1j.mjs";
|
|
3
|
+
import { createVNode as i, isVNode as a, mergeProps as o } from "vue";
|
|
4
|
+
//#region src/components/form/FormInputPhoneNumber.vue?vue&type=script&lang.jsx
|
|
5
|
+
function s(e) {
|
|
6
|
+
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !a(e);
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
//#region src/components/form/FormInputPhoneNumber.vue
|
|
10
|
+
var c = {
|
|
11
|
+
name: "FormInputPhoneNumber",
|
|
12
|
+
inheritAttrs: !1,
|
|
13
|
+
props: {
|
|
14
|
+
...t,
|
|
15
|
+
modelValue: String
|
|
16
|
+
},
|
|
17
|
+
emits: [...n],
|
|
18
|
+
setup(t, { emit: n, slots: a }) {
|
|
19
|
+
let c = (t) => e(n, t);
|
|
20
|
+
return () => i(r, o(t, {
|
|
21
|
+
modelValue: t.modelValue,
|
|
22
|
+
type: "phone",
|
|
23
|
+
"onUpdate:modelValue": c
|
|
24
|
+
}), s(a) ? a : { default: () => [a] });
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
//#endregion
|
|
28
|
+
export { c as t };
|
package/constants.mjs
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { ElDialog as e } from "element-plus/es";
|
|
2
|
+
import { computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createSlots as o, mergeModels as s, normalizeClass as c, openBlock as l, ref as u, renderSlot as d, toDisplayString as f, unref as p, useCssVars as m, useModel as h, useTemplateRef as g, withCtx as _, withModifiers as v } from "vue";
|
|
3
|
+
//#region src/components/ElementDialog.vue
|
|
4
|
+
var y = { class: "dialog-title" }, b = { class: "dialog-header-buttons" }, x = {
|
|
5
|
+
__name: "ElementDialog",
|
|
6
|
+
props: /* @__PURE__ */ s({
|
|
7
|
+
height: String,
|
|
8
|
+
width: String,
|
|
9
|
+
title: String,
|
|
10
|
+
showClose: Boolean,
|
|
11
|
+
overflow: Boolean,
|
|
12
|
+
closeOnClickModal: Boolean,
|
|
13
|
+
destroyOnClose: Boolean,
|
|
14
|
+
draggable: {
|
|
15
|
+
type: Boolean,
|
|
16
|
+
default: !0
|
|
17
|
+
},
|
|
18
|
+
showFullscreen: Boolean,
|
|
19
|
+
alignCenter: Boolean
|
|
20
|
+
}, {
|
|
21
|
+
modelValue: { type: Boolean },
|
|
22
|
+
modelModifiers: {}
|
|
23
|
+
}),
|
|
24
|
+
emits: ["update:modelValue"],
|
|
25
|
+
setup(s) {
|
|
26
|
+
m((e) => ({ v3443e0e2: p(T) }));
|
|
27
|
+
let x = h(s, "modelValue"), S = s, C = g("dialog"), w = u(!1), T = t(() => w.value ? "100%" : S.height), E = () => {
|
|
28
|
+
C.value.handleClose();
|
|
29
|
+
};
|
|
30
|
+
return (t, u) => {
|
|
31
|
+
let m = e;
|
|
32
|
+
return l(), n(m, {
|
|
33
|
+
ref: "dialog",
|
|
34
|
+
modelValue: x.value,
|
|
35
|
+
"onUpdate:modelValue": u[1] || (u[1] = (e) => x.value = e),
|
|
36
|
+
fullscreen: p(w),
|
|
37
|
+
"show-close": s.showClose,
|
|
38
|
+
"destroy-on-close": s.destroyOnClose,
|
|
39
|
+
draggable: s.draggable,
|
|
40
|
+
overflow: s.overflow,
|
|
41
|
+
"align-center": s.alignCenter,
|
|
42
|
+
width: s.width,
|
|
43
|
+
"close-on-click-modal": s.closeOnClickModal
|
|
44
|
+
}, o({
|
|
45
|
+
header: _(() => [a("div", y, f(s.title), 1), a("div", b, [s.showFullscreen ? (l(), i("i", {
|
|
46
|
+
key: 0,
|
|
47
|
+
class: c(["dialog-header-button", {
|
|
48
|
+
"el-icon-full-screen": !p(w),
|
|
49
|
+
"el-icon-copy-document": p(w)
|
|
50
|
+
}]),
|
|
51
|
+
onClick: u[0] || (u[0] = v((e) => w.value = !p(w), ["stop"]))
|
|
52
|
+
}, null, 2)) : r("v-if", !0), a("i", {
|
|
53
|
+
class: "dialog-header-button el-icon-close",
|
|
54
|
+
onClick: v(E, ["stop"])
|
|
55
|
+
})])]),
|
|
56
|
+
default: _(() => [d(t.$slots, "default")]),
|
|
57
|
+
_: 2
|
|
58
|
+
}, [t.$slots.footer ? {
|
|
59
|
+
name: "footer",
|
|
60
|
+
fn: _(() => [d(t.$slots, "footer", { close: E })]),
|
|
61
|
+
key: "0"
|
|
62
|
+
} : void 0]), 1032, [
|
|
63
|
+
"modelValue",
|
|
64
|
+
"fullscreen",
|
|
65
|
+
"show-close",
|
|
66
|
+
"destroy-on-close",
|
|
67
|
+
"draggable",
|
|
68
|
+
"overflow",
|
|
69
|
+
"align-center",
|
|
70
|
+
"width",
|
|
71
|
+
"close-on-click-modal"
|
|
72
|
+
]);
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
//#endregion
|
|
77
|
+
export { x as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.el-dialog{border-radius:4px 4px 0 0;flex-direction:column;padding:0;display:flex}.el-dialog .dialog-title{min-height:20px}.el-dialog .el-dialog__header{color:#fff;background-color:#025cde;border-radius:4px 4px 0 0;justify-content:center;align-items:center;padding:6px 10px;display:flex;position:relative}.el-dialog .dialog-header-buttons{display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.el-dialog .dialog-header-button{cursor:pointer;padding:2px;font-size:14px}.el-dialog .dialog-header-button+.dialog-header-button{margin-left:10px}.el-dialog .dialog-header-button:hover{background-color:#0000004d;border-radius:2px}.el-dialog .dialog-header-button.el-icon-close:hover{background-color:#e34e55;border-radius:2px}.el-dialog .el-dialog__body{height:var(--v3443e0e2);flex:auto;min-height:40vh;padding:10px}.el-dialog .el-dialog__footer{border-top:1px solid #dddee3;padding:10px}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { createCommentVNode as e, createElementBlock as t, createElementVNode as n, normalizeClass as r, normalizeStyle as i, openBlock as a, renderSlot as o, toDisplayString as s } from "vue";
|
|
2
|
+
//#region src/components/EmptyView.vue
|
|
3
|
+
var c = { class: "flex-column horizon-center" }, l = {
|
|
4
|
+
__name: "EmptyView",
|
|
5
|
+
props: {
|
|
6
|
+
emptyTips: {
|
|
7
|
+
type: String,
|
|
8
|
+
default: "暂无数据"
|
|
9
|
+
},
|
|
10
|
+
fontSize: {
|
|
11
|
+
type: String,
|
|
12
|
+
default: "20px"
|
|
13
|
+
},
|
|
14
|
+
icon: {
|
|
15
|
+
type: String,
|
|
16
|
+
default: "fa fa-dropbox"
|
|
17
|
+
},
|
|
18
|
+
iconSize: {
|
|
19
|
+
type: String,
|
|
20
|
+
default: "20px"
|
|
21
|
+
},
|
|
22
|
+
showIcon: {
|
|
23
|
+
type: Boolean,
|
|
24
|
+
default: !1
|
|
25
|
+
},
|
|
26
|
+
height: {
|
|
27
|
+
type: String,
|
|
28
|
+
default: "100%"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
setup(l) {
|
|
32
|
+
return (u, d) => (a(), t("div", {
|
|
33
|
+
class: "empty-view",
|
|
34
|
+
style: i({
|
|
35
|
+
fontSize: l.fontSize,
|
|
36
|
+
height: l.height
|
|
37
|
+
})
|
|
38
|
+
}, [o(u.$slots, "default", {}, () => [n("div", c, [l.showIcon ? (a(), t("i", {
|
|
39
|
+
key: 0,
|
|
40
|
+
class: r(l.icon),
|
|
41
|
+
style: i({ fontSize: l.iconSize })
|
|
42
|
+
}, null, 6)) : e("v-if", !0), n("p", null, s(l.emptyTips), 1)])])], 4));
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
//#endregion
|
|
46
|
+
export { l as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.empty-view{color:#909399;background-color:#fff;justify-content:center;align-items:center;width:100%;height:100%;font-size:20px;display:flex;position:relative}.empty-view .flex-column{flex-direction:column;display:flex}.empty-view .flex-column.vertical-center{justify-content:center}.empty-view .flex-column.horizon-center{align-items:center}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { createElementBlock as e, createElementVNode as t, onMounted as n, onUnmounted as r, openBlock as i, renderSlot as a, useTemplateRef as o } from "vue";
|
|
2
|
+
//#region src/components/FlexScrollArea.vue
|
|
3
|
+
var s = { class: "flex-item-relative" }, c = {
|
|
4
|
+
__name: "FlexScrollArea",
|
|
5
|
+
emits: ["scrollbar", "scroll"],
|
|
6
|
+
setup(c, { expose: l, emit: u }) {
|
|
7
|
+
let d = u, f = (e) => e.scrollHeight > e.clientHeight, p = o("scroller"), m = () => {
|
|
8
|
+
d("scrollbar", f(p.value));
|
|
9
|
+
}, h = (e) => {
|
|
10
|
+
d("scroll", {
|
|
11
|
+
e,
|
|
12
|
+
scrollTop: e.target.scrollTop,
|
|
13
|
+
scrollLeft: e.target.scrollLeft
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
return n(() => {
|
|
17
|
+
window.addEventListener("resize", m), m();
|
|
18
|
+
}), r(() => {
|
|
19
|
+
window.removeEventListener("resize", m);
|
|
20
|
+
}), l({
|
|
21
|
+
scroller: p,
|
|
22
|
+
computeScrollbar: m
|
|
23
|
+
}), (n, r) => (i(), e("div", s, [t("div", {
|
|
24
|
+
ref_key: "scroller",
|
|
25
|
+
ref: p,
|
|
26
|
+
class: "flex-scroller",
|
|
27
|
+
onScroll: h
|
|
28
|
+
}, [a(n.$slots, "default")], 544)]));
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
//#endregion
|
|
32
|
+
export { c as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.flex-item-relative{flex:1;position:relative;overflow:hidden}.flex-scroller{position:absolute;top:0;bottom:0;left:0;right:0;overflow:auto}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Fragment as e, computed as t, createCommentVNode as n, createElementBlock as r, createElementVNode as i, createTextVNode as a, inject as o, openBlock as s, renderList as c, toDisplayString as l, unref as u } from "vue";
|
|
2
|
+
//#region src/components/red-form/FormAdvice.vue
|
|
3
|
+
var d = ["colspan"], f = ["colspan"], p = { style: { "text-align": "right" } }, m = { style: { "margin-left": "20px" } }, h = {
|
|
4
|
+
__name: "FormAdvice",
|
|
5
|
+
props: {
|
|
6
|
+
valueColspan: Number,
|
|
7
|
+
labelColspan: Number
|
|
8
|
+
},
|
|
9
|
+
setup(h) {
|
|
10
|
+
let g = h, _ = o("columnSize", 0), v = o("flowContext", null), y = t(() => g.labelColspan && g.valueColspan || g.labelColspan && !g.valueColspan ? g.labelColspan : !g.labelColspan && g.valueColspan && _.value ? _.value - g.valueColspan : 0), b = t(() => g.labelColspan && g.valueColspan ? g.valueColspan : g.labelColspan && !g.valueColspan ? _.value ? _.value - g.labelColspan : 0 : !g.labelColspan && g.valueColspan ? g.valueColspan : _.value ? _.value - 1 : 0);
|
|
11
|
+
return (t, o) => {
|
|
12
|
+
var h;
|
|
13
|
+
return s(), r("tbody", null, [(s(!0), r(e, null, c((h = u(v)) == null ? void 0 : h.formComments, (t) => (s(), r(e, null, [t.comments.length ? (s(), r("tr", { key: t.id }, [i("td", {
|
|
14
|
+
class: "label",
|
|
15
|
+
style: {
|
|
16
|
+
height: "100px",
|
|
17
|
+
"line-height": "24px"
|
|
18
|
+
},
|
|
19
|
+
colspan: y.value
|
|
20
|
+
}, l(t.name), 9, d), i("td", {
|
|
21
|
+
class: "input",
|
|
22
|
+
colspan: b.value
|
|
23
|
+
}, [i("ul", null, [(s(!0), r(e, null, c(t.comments, (e) => (s(), r("li", { key: e.id }, [i("p", null, l(e.message), 1), i("p", p, [a(l(e.personalName) + " ", 1), i("span", m, l(e.time.substring(0, 10)), 1)])]))), 128))])], 8, f)])) : n("v-if", !0)], 64))), 256))]);
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
//#endregion
|
|
28
|
+
export { h as default };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { createElementBlock as e, normalizeClass as t, openBlock as n, renderSlot as r } from "vue";
|
|
2
|
+
//#region src/components/red-form/FormCell.vue
|
|
3
|
+
var i = ["colspan", "rowspan"], a = /* @__PURE__ */ Object.assign({ name: "FormCell" }, {
|
|
4
|
+
__name: "FormCell",
|
|
5
|
+
props: {
|
|
6
|
+
colspan: [String, Number],
|
|
7
|
+
rowspan: [String, Number],
|
|
8
|
+
isLabel: Boolean,
|
|
9
|
+
alignCenter: Boolean
|
|
10
|
+
},
|
|
11
|
+
setup(a) {
|
|
12
|
+
return (o, s) => (n(), e("td", {
|
|
13
|
+
colspan: a.colspan,
|
|
14
|
+
rowspan: a.rowspan,
|
|
15
|
+
class: t({
|
|
16
|
+
"red-form-cell-label": a.isLabel,
|
|
17
|
+
"red-form-cell-align-center": a.alignCenter
|
|
18
|
+
})
|
|
19
|
+
}, [r(o.$slots, "default")], 10, i));
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
//#endregion
|
|
23
|
+
export { a as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.red-form-cell-label{width:20%;color:var(--table-form-color);letter-spacing:1.5px;font-size:16px}.red-form-cell-align-center{text-align:center}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@keyframes breathe{0%{box-shadow:0 0 #ff7a7a}to{box-shadow:0 0 10px 1px #ff7a7a}}.breathe-animation{border-radius:4px;animation-name:breathe;animation-duration:.3s;animation-timing-function:ease-in-out;animation-iteration-count:6;animation-direction:alternate;animation-delay:.1s}
|