@web-utils/component 4.0.0 → 4.0.2
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/awesome-button/index.mjs +25 -55
- package/base.css +1 -1
- package/card/style.css +1 -1
- package/carousel/style.css +1 -1
- package/chat/style.css +1 -1
- package/chunks/{ElementForm.8w6UkiuU.mjs → ElementForm.CQ3PN5qj.mjs} +17 -35
- package/chunks/{ElementListeners.DOy8wyD2.mjs → ElementListeners.De_PRuIm.mjs} +56 -95
- package/chunks/{ElementMultiInstance.3Z28ewuh.mjs → ElementMultiInstance.DQo2wuAQ.mjs} +16 -26
- package/chunks/{ElementProperties.B2I48muA.mjs → ElementProperties.CosfDrlW.mjs} +16 -16
- package/chunks/{ElementTaskConfig.MBbkLrth.mjs → ElementTaskConfig.Bko0kgTp.mjs} +104 -113
- package/chunks/{FlowCondition.BfU9kw6h.mjs → FlowCondition.Y6qEYi1T.mjs} +36 -66
- package/chunks/{SignalAndMessage.CH6L7cYu.mjs → SignalAndMessage.Bb5PFX0N.mjs} +11 -22
- package/chunks/{UserTaskListeners.XXe5dC5I.mjs → UserTaskListeners.Bv3BDfEI.mjs} +45 -86
- package/chunks/configComponents.BDhlZU8F.mjs +23 -0
- package/chunks/confirmable-mixin.D9aKzKZ9.mjs +85 -0
- package/chunks/core.DJEgjQW6.mjs +54 -0
- package/chunks/dictionary.DqiP9x2m.mjs +25 -0
- package/chunks/dictionary.DsN-2ukC.mjs +70 -0
- package/chunks/form-input.B8z37eqj.mjs +31 -0
- package/chunks/form-item.D-H-wCPE.mjs +233 -0
- package/chunks/form-validate.CVarNHKX.mjs +12 -0
- package/chunks/helper.BiMLcEEk.mjs +41 -0
- package/chunks/index.9OxHjTIE.mjs +16 -0
- package/chunks/{index.MAFc4eFi.mjs → index.d3MV3Wq2.mjs} +43 -47
- package/chunks/sub-table-plus-props.BVsD71hT.mjs +30 -0
- package/chunks/{tab-mixin.CVr9bZtn.mjs → tab-mixin.BNK6dxLN.mjs} +1 -1
- package/chunks/utilSelf.Csq1766E.mjs +48 -0
- package/color-picker/index.mjs +19 -37
- package/comment/style.css +1 -1
- package/confirm-button/index.mjs +1 -1
- package/confirmable/index.mjs +1 -1
- package/context-menu/style.css +1 -1
- package/count-up/index.mjs +13 -24
- package/custom-scrollbar/index.mjs +1 -2
- package/data-operatext/style.css +1 -1
- package/data-panel/style.css +1 -1
- package/data-pay/style.css +1 -1
- package/data-price/style.css +1 -1
- package/data-rotate/style.css +1 -1
- package/data-table-picker/index.mjs +1 -1
- package/data-tabs/style.css +1 -1
- package/dialog-form/index.mjs +16 -28
- package/dynamic-table/style.css +1 -1
- package/easy-popup/index.mjs +22 -40
- package/easy-popup/style.css +1 -1
- package/editable-tree/index.mjs +203 -250
- package/editable-tree/style.css +1 -1
- package/element-dialog/index.mjs +30 -52
- package/element-dialog/style.css +1 -1
- package/flex-column/index.mjs +13 -25
- package/flex-item/index.mjs +15 -27
- package/flex-row/index.mjs +13 -25
- package/flow-designer/index.mjs +343 -374
- package/flow-designer/style.css +1 -1
- package/flow-viewer/index.mjs +64 -91
- package/form-block/index.mjs +33 -26
- package/form-card/index.mjs +25 -0
- package/form-cascader/index.mjs +70 -67
- package/form-checkbox/index.mjs +71 -0
- package/form-checkbox-group/index.mjs +33 -53
- package/form-date-picker/index.mjs +44 -73
- package/form-holder/index.mjs +54 -40
- package/form-holder/style.css +1 -0
- package/form-input/index.mjs +62 -40
- package/form-input-cron-expression/index.mjs +77 -0
- package/form-input-cron-expression/style.css +1 -0
- package/form-input-email/index.mjs +21 -33
- package/form-input-id-card/index.mjs +25 -38
- package/form-input-number/index.mjs +39 -42
- package/form-input-number/style.css +1 -1
- package/form-input-phone-number/index.mjs +26 -37
- package/form-input-tag/index.mjs +32 -34
- package/form-input-time/index.mjs +22 -37
- package/form-item/index.mjs +109 -101
- package/form-item/style.css +1 -1
- package/form-item-config-provider/index.mjs +18 -10
- package/form-item-group/index.mjs +73 -69
- package/form-item-group/style.css +1 -1
- package/form-radio-group/index.mjs +41 -36
- package/form-radio-group/style.css +1 -1
- package/form-select/index.mjs +142 -75
- package/form-select/style.css +1 -0
- package/form-switch/index.mjs +29 -34
- package/form-table/index.mjs +85 -0
- package/form-table-plus/index.mjs +109 -0
- package/form-textarea/index.mjs +23 -35
- package/form-tree-select/index.mjs +72 -0
- package/form-tree-select/style.css +1 -0
- package/form-tree-select-multiple/index.mjs +78 -0
- package/form-view/index.mjs +37 -69
- package/form-view/style.css +1 -1
- package/fy-curd/index.mjs +131 -140
- package/fy-curd/style.css +1 -1
- package/fy-draggable/index.mjs +16 -26
- package/fy-draggable/style.css +1 -1
- package/fy-dynamic/index.mjs +48 -57
- package/fy-empty/style.css +1 -1
- package/fy-form/style.css +1 -1
- package/fy-form-design/index.mjs +314 -339
- package/fy-form-design/style.css +1 -1
- package/fy-input-map/index.mjs +40 -50
- package/fy-input-map/style.css +1 -1
- package/fy-input-table/index.mjs +31 -41
- package/fy-u-editor/index.mjs +77 -103
- package/fy-upload/style.css +1 -1
- package/highlight-j-s/style.css +1 -1
- package/image-cropper/index.mjs +14 -65
- package/image-preview/index.mjs +17 -45
- package/image-preview/style.css +1 -1
- package/image-viewer/style.css +1 -1
- package/index.mjs +666 -496
- package/input-number/index.mjs +64 -9
- package/keyboard/style.css +1 -1
- package/monaco-editor/index.mjs +43 -71
- package/name-avatar/style.css +1 -1
- package/package.json +5 -4
- package/page-index/index.mjs +30 -54
- package/page-index-top/index.mjs +25 -47
- package/pageable-table/index.mjs +385 -218
- package/pageable-table/style.css +1 -1
- package/pageable-view/index.mjs +56 -95
- package/photo-swipe/index.mjs +51 -74
- package/picker-table-view/index.mjs +117 -0
- package/present-view/index.mjs +43 -77
- package/present-view/style.css +1 -1
- package/resize-observer/index.mjs +1 -1
- package/resize-observer/style.css +1 -1
- package/search/style.css +1 -1
- package/search-popover/index.mjs +28 -48
- package/search-popover/style.css +1 -1
- package/sign/index.mjs +1 -1
- package/sign-panel/style.css +1 -1
- package/skeleton-panel/index.mjs +38 -0
- package/skeleton-panel/style.css +1 -0
- package/split-pane/index.mjs +31 -49
- package/split-pane/style.css +1 -1
- package/sub-table/index.mjs +206 -0
- package/sub-table/style.css +1 -0
- package/sub-table-plus/index.mjs +231 -0
- package/sub-table-plus/style.css +1 -0
- package/swiper/index.mjs +18 -38
- package/swiper/style.css +1 -1
- package/tab/index.mjs +1 -1
- package/tab/style.css +1 -1
- package/tab-item/index.mjs +2 -2
- package/table-column/index.mjs +166 -37
- package/table-column/style.css +1 -0
- package/table-view/index.mjs +177 -132
- package/table-view/style.css +1 -1
- package/tabs-view/index.mjs +104 -0
- package/tabs-view/style.css +1 -0
- package/tag-render/index.mjs +13 -24
- package/toolbar/index.mjs +115 -58
- package/toolbar/style.css +1 -1
- package/toolbar-button/index.mjs +92 -48
- package/vue-cron/index.mjs +47 -65
- package/vue-qr-code/index.mjs +14 -32
- package/vue-quill-editor/index.mjs +13 -24
- package/vue-tags-input/index.mjs +10 -21
- package/vue-tree-select/index.mjs +352 -393
- package/vue-tree-select/style.css +1 -1
- package/vue-video-player/index.mjs +34 -63
- package/watermark/index.mjs +21 -31
- package/web-types.json +9240 -3840
- package/x-input-tag/index.mjs +29 -61
- package/chunks/confirmable-mixin.D4LAArE5.mjs +0 -114
- package/chunks/form-input-mixin.BkKiqJhi.mjs +0 -24
- package/chunks/form-item-mixin.CG4ZwzMC.mjs +0 -140
- package/chunks/input-number-mixin.CzjtGf2n.mjs +0 -60
- package/chunks/utilSelf.CRqpl0Cz.mjs +0 -56
- package/toolbar-button/style.css +0 -1
- /package/chunks/{form-pick-mixin.BFTIVn_i.mjs → form-pick.BFTIVn_i.mjs} +0 -0
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { f as p } from "../chunks/form-input.B8z37eqj.mjs";
|
|
2
|
+
import { e as s, c as i, n as h } from "../chunks/index.d3MV3Wq2.mjs";
|
|
3
|
+
import { S as u } from "../chunks/sub-table-plus-props.BVsD71hT.mjs";
|
|
4
|
+
import { isString as a, isArray as m, trace as b, warning as _ } from "@web-utils/core";
|
|
5
|
+
import { a as w } from "../chunks/form-validate.CVarNHKX.mjs";
|
|
6
|
+
import { n as y } from "../chunks/_plugin-vue2_normalizer.CeySl7Fu.mjs";
|
|
7
|
+
const k = Object.keys(u.props).filter((r) => !["value", "placeholder", "disabled"].includes(r)), v = {
|
|
8
|
+
name: "FormTablePlus",
|
|
9
|
+
mixins: [p, u],
|
|
10
|
+
bus: {
|
|
11
|
+
reloadTableView(r) {
|
|
12
|
+
if (this._viewIds)
|
|
13
|
+
if (a(r) || m(r)) {
|
|
14
|
+
let e = r;
|
|
15
|
+
a(e) && (e = e.split(",")), this._viewIds.some((l) => e.includes(l)) && (b.call(this.$parent || {}, "reloadTableView"), this.reloadTable());
|
|
16
|
+
} else
|
|
17
|
+
_.call(this.$parent || {}, "`viewId`的类型必须是字符串或数组");
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
props: {
|
|
21
|
+
viewId: [String, Array],
|
|
22
|
+
rowDbClick: Function,
|
|
23
|
+
showMessage: Boolean,
|
|
24
|
+
block: {
|
|
25
|
+
type: Boolean,
|
|
26
|
+
default: !0
|
|
27
|
+
},
|
|
28
|
+
formPath: [String, Function],
|
|
29
|
+
pageSize: Number
|
|
30
|
+
},
|
|
31
|
+
computed: {
|
|
32
|
+
inputProps() {
|
|
33
|
+
return i({ ...h(this.$attrs), ...this.$props }, k);
|
|
34
|
+
},
|
|
35
|
+
listeners() {
|
|
36
|
+
const r = i(this.$listeners, "input", !1);
|
|
37
|
+
return r["add-row"] || (r["add-row"] = this.addRow), r;
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
created() {
|
|
41
|
+
this._viewIds = [], this.viewId && this._viewIds.push(this.viewId), this._viewIds.includes(this.$parent.$options.name) || this._viewIds.push(this.$parent.$options.name);
|
|
42
|
+
},
|
|
43
|
+
methods: {
|
|
44
|
+
reloadTable() {
|
|
45
|
+
var r;
|
|
46
|
+
(r = this.$refs.table) == null || r.reloadTable();
|
|
47
|
+
},
|
|
48
|
+
async refreshTable() {
|
|
49
|
+
var r;
|
|
50
|
+
await ((r = this.$refs.table) == null ? void 0 : r.refreshTable());
|
|
51
|
+
},
|
|
52
|
+
onRowDbClick(...r) {
|
|
53
|
+
this.rowDbClick ? this.rowDbClick(...r) : this.$router.push(s(this.formPath, r[0]));
|
|
54
|
+
},
|
|
55
|
+
addRow() {
|
|
56
|
+
this.$router.push(s(this.formPath));
|
|
57
|
+
},
|
|
58
|
+
validateRow: w,
|
|
59
|
+
getRequireRule() {
|
|
60
|
+
return this.fetchApi ? {
|
|
61
|
+
required: !0,
|
|
62
|
+
validator: this.validateRow
|
|
63
|
+
} : {
|
|
64
|
+
required: !0
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
var P = function() {
|
|
70
|
+
var e = this, l = e._self._c;
|
|
71
|
+
return l("FormItem", e._b({ attrs: { block: e.block, rules: e.computeRules, "prefix-add": "", disabled: e.inputDisabled }, scopedSlots: e._u([{ key: "default", fn: function() {
|
|
72
|
+
return [l("SubTablePlus", e._g(e._b({ ref: "table", class: { "is-readonly": e.readonly }, attrs: { value: e.value, prop: e.prop, "fetch-api": e.fetchApi, "on-row-db-click": e.onRowDbClick, columns: e.columns, "show-message": e.showMessage, readonly: e.readonly, disabled: e.inputDisabled, "toolbar-menus": e.toolbarMenus, "handle-menus": e.handleMenus, "bottom-add-button": e.bottomAddButton, placeholder: e.computePlaceholder, descs: e.descs, "page-size": e.pageSize }, on: { input: (t) => e.$emit("input", t) }, scopedSlots: e._u([e._l(e.columns, function(t) {
|
|
73
|
+
return { key: t.prop, fn: function({ row: o, column: n, index: d, prop: c, required: f }) {
|
|
74
|
+
return [e._t(t.prop, null, { row: o, column: n, index: d, prop: c, required: f })];
|
|
75
|
+
} };
|
|
76
|
+
}), { key: "columns", fn: function({ columns: t }) {
|
|
77
|
+
return [e._t("columns", null, { columns: t })];
|
|
78
|
+
} }, { key: "handle", fn: function({ add: t, remove: o }) {
|
|
79
|
+
return [e._t("handle", null, { add: t, remove: o })];
|
|
80
|
+
} }, { key: "tag", fn: function({ column: t, row: o, $index: n }) {
|
|
81
|
+
return [e._t("tag", null, { row: o, column: t, index: n })];
|
|
82
|
+
} }, { key: "handle-column-header", fn: function({ column: t, $index: o }) {
|
|
83
|
+
return [e._t("handle-column-header", null, { column: t, index: o })];
|
|
84
|
+
} }, { key: "toolbar", fn: function() {
|
|
85
|
+
return [e._t("toolbar")];
|
|
86
|
+
}, proxy: !0 }, { key: "toolbar-left", fn: function({ addRow: t, delRow: o, refresh: n }) {
|
|
87
|
+
return [e._t("toolbar-left", null, { addRow: t, delRow: o, refresh: n })];
|
|
88
|
+
} }, { key: "toolbar-left-append", fn: function({ addRow: t, delRow: o, refresh: n }) {
|
|
89
|
+
return [e._t("toolbar-left-append", null, { addRow: t, delRow: o, refresh: n })];
|
|
90
|
+
} }, { key: "toolbar-right", fn: function({ selectedRows: t, removeSelectedRows: o }) {
|
|
91
|
+
return [e._t("toolbar-right", null, { selectedRows: t, removeSelectedRows: o })];
|
|
92
|
+
} }], null, !0) }, "SubTablePlus", e.inputProps, !1), e.listeners))];
|
|
93
|
+
}, proxy: !0 }, { key: "error", fn: function({ error: t }) {
|
|
94
|
+
return [e._t("error", null, { error: t })];
|
|
95
|
+
} }, { key: "label", fn: function() {
|
|
96
|
+
return [e._t("label")];
|
|
97
|
+
}, proxy: !0 }], null, !0) }, "FormItem", e.formItemProps, !1));
|
|
98
|
+
}, R = [], g = /* @__PURE__ */ y(
|
|
99
|
+
v,
|
|
100
|
+
P,
|
|
101
|
+
R,
|
|
102
|
+
!1,
|
|
103
|
+
null,
|
|
104
|
+
null
|
|
105
|
+
);
|
|
106
|
+
const F = g.exports;
|
|
107
|
+
export {
|
|
108
|
+
F as default
|
|
109
|
+
};
|
package/form-textarea/index.mjs
CHANGED
|
@@ -1,31 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
for (var r of l(e))
|
|
9
|
-
p.call(e, r) && s(t, r, e[r]);
|
|
10
|
-
return t;
|
|
11
|
-
};
|
|
12
|
-
import { f as m } from "../chunks/form-input-mixin.BkKiqJhi.mjs";
|
|
13
|
-
import { d as f, n as d } from "../chunks/index.MAFc4eFi.mjs";
|
|
14
|
-
import a from "element-ui/lib/input";
|
|
15
|
-
import { n as c } from "../chunks/_plugin-vue2_normalizer.CeySl7Fu.mjs";
|
|
16
|
-
const _ = Object.keys(a.props || a.default.props).filter(
|
|
17
|
-
(t) => !["value", "placeholder", "type", "rows", "resize", "showWordLimit", "maxLength", "maxlength"].includes(t)
|
|
18
|
-
), h = {
|
|
1
|
+
import { f as n } from "../chunks/form-input.B8z37eqj.mjs";
|
|
2
|
+
import { c as s, n as a } from "../chunks/index.d3MV3Wq2.mjs";
|
|
3
|
+
import l from "element-ui/lib/input";
|
|
4
|
+
import { n as i } from "../chunks/_plugin-vue2_normalizer.CeySl7Fu.mjs";
|
|
5
|
+
const u = Object.keys(l.props).filter(
|
|
6
|
+
(o) => !["value", "placeholder", "type", "rows", "resize", "showWordLimit", "maxLength", "maxlength"].includes(o)
|
|
7
|
+
), p = {
|
|
19
8
|
name: "FormTextarea",
|
|
20
|
-
mixins: [
|
|
9
|
+
mixins: [n],
|
|
21
10
|
props: {
|
|
22
|
-
value:
|
|
23
|
-
type: [String, Number]
|
|
24
|
-
},
|
|
11
|
+
value: [String, Number],
|
|
25
12
|
rows: {
|
|
26
13
|
type: String,
|
|
27
14
|
default: "4"
|
|
28
15
|
},
|
|
16
|
+
autosize: [Boolean, Object],
|
|
29
17
|
resize: Boolean,
|
|
30
18
|
showWordLimit: {
|
|
31
19
|
type: Boolean,
|
|
@@ -42,28 +30,28 @@ const _ = Object.keys(a.props || a.default.props).filter(
|
|
|
42
30
|
},
|
|
43
31
|
computed: {
|
|
44
32
|
inputProps() {
|
|
45
|
-
return
|
|
33
|
+
return s({ ...a(this.$attrs), ...this.$props }, u);
|
|
46
34
|
}
|
|
47
35
|
}
|
|
48
36
|
};
|
|
49
|
-
var
|
|
50
|
-
var e = this,
|
|
51
|
-
return
|
|
52
|
-
return [
|
|
53
|
-
}, proxy: !0 }, { key: "error", fn: function({ error:
|
|
54
|
-
return [e._t("error", null, { error:
|
|
37
|
+
var m = function() {
|
|
38
|
+
var e = this, t = e._self._c;
|
|
39
|
+
return t("FormItem", e._b({ attrs: { block: e.block, rules: e.computeRules, disabled: e.inputDisabled }, scopedSlots: e._u([{ key: "default", fn: function() {
|
|
40
|
+
return [e.formView.printing ? t("div", { staticStyle: { "line-height": "1.5" } }, [e._v(" " + e._s(e.value) + " ")]) : t("ElInput", e._g(e._b({ ref: "textarea", attrs: { value: e.value, type: "textarea", rows: e.rows, autosize: e.autosize, resize: e.resize ? null : "none", "show-word-limit": e.showWordLimit, disabled: e.inputDisabled, maxlength: e.maxLength, placeholder: e.computePlaceholder }, on: { input: (r) => e.$emit("input", r) } }, "ElInput", e.inputProps, !1), e.listeners))];
|
|
41
|
+
}, proxy: !0 }, { key: "error", fn: function({ error: r }) {
|
|
42
|
+
return [e._t("error", null, { error: r })];
|
|
55
43
|
} }, { key: "label", fn: function() {
|
|
56
44
|
return [e._t("label")];
|
|
57
45
|
}, proxy: !0 }], null, !0) }, "FormItem", e.formItemProps, !1));
|
|
58
|
-
},
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
46
|
+
}, f = [], c = /* @__PURE__ */ i(
|
|
47
|
+
p,
|
|
48
|
+
m,
|
|
49
|
+
f,
|
|
62
50
|
!1,
|
|
63
51
|
null,
|
|
64
52
|
null
|
|
65
53
|
);
|
|
66
|
-
const
|
|
54
|
+
const x = c.exports;
|
|
67
55
|
export {
|
|
68
|
-
|
|
56
|
+
x as default
|
|
69
57
|
};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { f as n } from "../chunks/form-input.B8z37eqj.mjs";
|
|
2
|
+
import { v as s, c as a, n as i } from "../chunks/index.d3MV3Wq2.mjs";
|
|
3
|
+
import o from "../vue-tree-select/index.mjs";
|
|
4
|
+
import { n as u } from "../chunks/_plugin-vue2_normalizer.CeySl7Fu.mjs";
|
|
5
|
+
const p = Object.keys(o.mixins[0].props).filter((r) => !["value", "placeholder", "disabled"].includes(r)), c = {
|
|
6
|
+
name: "FormTreeSelect",
|
|
7
|
+
mixins: [n],
|
|
8
|
+
props: {
|
|
9
|
+
value: [String, Number, Array],
|
|
10
|
+
multiple: Boolean,
|
|
11
|
+
transformer: Function
|
|
12
|
+
},
|
|
13
|
+
data() {
|
|
14
|
+
return {
|
|
15
|
+
isValidValue: !1
|
|
16
|
+
};
|
|
17
|
+
},
|
|
18
|
+
computed: {
|
|
19
|
+
inputProps() {
|
|
20
|
+
return a({ ...i(this.$attrs), ...this.$props }, p);
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
watch: {
|
|
24
|
+
async value(r) {
|
|
25
|
+
this.isValidValue = await s(this.prop, r, this.computeRules);
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
methods: {
|
|
29
|
+
normalizer(r) {
|
|
30
|
+
return r.children && !r.children.length && delete r.children, this.transformer ? this.transformer(r) : {
|
|
31
|
+
id: r.id,
|
|
32
|
+
label: r.name,
|
|
33
|
+
isDisabled: !1,
|
|
34
|
+
children: r.children
|
|
35
|
+
};
|
|
36
|
+
},
|
|
37
|
+
emitInput(r) {
|
|
38
|
+
this.$emit("input", r);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
var m = function() {
|
|
43
|
+
var e = this, l = e._self._c;
|
|
44
|
+
return l("FormItem", e._b({ attrs: { rules: e.computeRules, disabled: e.inputDisabled }, scopedSlots: e._u([{ key: "default", fn: function() {
|
|
45
|
+
return [e._t("default", function() {
|
|
46
|
+
return [l("VueTreeSelect", e._g(e._b({ class: ["form-tree-select", { "is-readonly": e.readonly }], attrs: { value: e.value, readonly: e.readonly, disabled: e.inputDisabled, multiple: e.multiple, "default-expand-level": 1, placeholder: e.inputDisabled ? "" : e.computePlaceholder, normalizer: e.normalizer }, on: { input: e.emitInput }, scopedSlots: e._u([{ key: "value-label", fn: function({ node: t }) {
|
|
47
|
+
return [e._t("value-label", function() {
|
|
48
|
+
return [e._v(e._s(t.label))];
|
|
49
|
+
}, { node: t })];
|
|
50
|
+
} }], null, !0) }, "VueTreeSelect", e.inputProps, !1), e.listeners)), e.isValidValue && e.$slots.warn ? l("div", { staticClass: "el-form-item__warn" }, [e._t("warn")], 2) : e._e()];
|
|
51
|
+
})];
|
|
52
|
+
}, proxy: !0 }, { key: "error", fn: function({ error: t }) {
|
|
53
|
+
return [e.$scopedSlots.error && e.$scopedSlots.error(t) ? l("div", { staticClass: "el-form-item__error" }, [e._t("error", function() {
|
|
54
|
+
return [e._v(e._s(t))];
|
|
55
|
+
}, { error: t })], 2) : e._e()];
|
|
56
|
+
} }, { key: "label", fn: function() {
|
|
57
|
+
return [e._t("label")];
|
|
58
|
+
}, proxy: !0 }, { key: "tips", fn: function() {
|
|
59
|
+
return [e._t("tips")];
|
|
60
|
+
}, proxy: !0 }], null, !0) }, "FormItem", e.formItemProps, !1));
|
|
61
|
+
}, f = [], d = /* @__PURE__ */ u(
|
|
62
|
+
c,
|
|
63
|
+
m,
|
|
64
|
+
f,
|
|
65
|
+
!1,
|
|
66
|
+
null,
|
|
67
|
+
null
|
|
68
|
+
);
|
|
69
|
+
const y = d.exports;
|
|
70
|
+
export {
|
|
71
|
+
y as default
|
|
72
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { f as n } from "../chunks/form-input.B8z37eqj.mjs";
|
|
2
|
+
import { v as s, c as a, n as i } from "../chunks/index.d3MV3Wq2.mjs";
|
|
3
|
+
import o from "../vue-tree-select/index.mjs";
|
|
4
|
+
import { n as u } from "../chunks/_plugin-vue2_normalizer.CeySl7Fu.mjs";
|
|
5
|
+
const c = Object.keys(o.mixins[0].props).filter((t) => !["value", "placeholder", "disabled"].includes(t)), d = {
|
|
6
|
+
name: "FormTreeSelectMultiple",
|
|
7
|
+
mixins: [n],
|
|
8
|
+
props: {
|
|
9
|
+
value: Array
|
|
10
|
+
},
|
|
11
|
+
data() {
|
|
12
|
+
return {
|
|
13
|
+
isValidValue: !1
|
|
14
|
+
};
|
|
15
|
+
},
|
|
16
|
+
computed: {
|
|
17
|
+
inputProps() {
|
|
18
|
+
return a({ ...i(this.$attrs), ...this.$props }, c);
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
watch: {
|
|
22
|
+
async value(t) {
|
|
23
|
+
this.isValidValue = await s(this.prop, t, this.computeRules);
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
methods: {
|
|
27
|
+
normalizer(t) {
|
|
28
|
+
return t.children && !t.children.length && delete t.children, {
|
|
29
|
+
id: t.id,
|
|
30
|
+
label: t.name,
|
|
31
|
+
isDisabled: !1,
|
|
32
|
+
children: []
|
|
33
|
+
};
|
|
34
|
+
},
|
|
35
|
+
emitInput(t) {
|
|
36
|
+
this.$emit("input", t);
|
|
37
|
+
},
|
|
38
|
+
nodeSelect(t, e) {
|
|
39
|
+
this.value.push(t.id);
|
|
40
|
+
},
|
|
41
|
+
nodeCancelSelect(t, e) {
|
|
42
|
+
const l = this.value;
|
|
43
|
+
for (let r = 0; r < l.length; r++)
|
|
44
|
+
t.id === l[r] && delete this.value[r];
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
var p = function() {
|
|
49
|
+
var e = this, l = e._self._c;
|
|
50
|
+
return l("FormItem", e._b({ attrs: { rules: e.computeRules, disabled: e.inputDisabled }, scopedSlots: e._u([{ key: "default", fn: function() {
|
|
51
|
+
return [e._t("default", function() {
|
|
52
|
+
return [l("VueTreeSelect", e._g(e._b({ class: ["form-tree-select", { "is-readonly": e.readonly }], attrs: { value: e.value, readonly: e.readonly, disabled: e.inputDisabled, "default-expand-level": 0, placeholder: e.inputDisabled ? "" : e.computePlaceholder, normalizer: e.normalizer }, on: { input: e.emitInput, select: e.nodeSelect, deselect: e.nodeCancelSelect }, scopedSlots: e._u([{ key: "value-label", fn: function({ node: r }) {
|
|
53
|
+
return [e._t("value-label", function() {
|
|
54
|
+
return [e._v(e._s(r.label))];
|
|
55
|
+
}, { node: r })];
|
|
56
|
+
} }], null, !0) }, "VueTreeSelect", e.inputProps, !1), e.listeners)), e.isValidValue && e.$slots.warn ? l("div", { staticClass: "el-form-item__warn" }, [e._t("warn")], 2) : e._e()];
|
|
57
|
+
})];
|
|
58
|
+
}, proxy: !0 }, { key: "error", fn: function({ error: r }) {
|
|
59
|
+
return [e.$scopedSlots.error && e.$scopedSlots.error(r) ? l("div", { staticClass: "el-form-item__error" }, [e._t("error", function() {
|
|
60
|
+
return [e._v(e._s(r))];
|
|
61
|
+
}, { error: r })], 2) : e._e()];
|
|
62
|
+
} }, { key: "label", fn: function() {
|
|
63
|
+
return [e._t("label")];
|
|
64
|
+
}, proxy: !0 }, { key: "tips", fn: function() {
|
|
65
|
+
return [e._t("tips")];
|
|
66
|
+
}, proxy: !0 }], null, !0) }, "FormItem", e.formItemProps, !1));
|
|
67
|
+
}, m = [], f = /* @__PURE__ */ u(
|
|
68
|
+
d,
|
|
69
|
+
p,
|
|
70
|
+
m,
|
|
71
|
+
!1,
|
|
72
|
+
null,
|
|
73
|
+
null
|
|
74
|
+
);
|
|
75
|
+
const y = f.exports;
|
|
76
|
+
export {
|
|
77
|
+
y as default
|
|
78
|
+
};
|
package/form-view/index.mjs
CHANGED
|
@@ -1,37 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var x = Object.prototype.hasOwnProperty, $ = Object.prototype.propertyIsEnumerable;
|
|
5
|
-
var p = (o, t, e) => t in o ? g(o, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[t] = e, c = (o, t) => {
|
|
6
|
-
for (var e in t || (t = {}))
|
|
7
|
-
x.call(t, e) && p(o, e, t[e]);
|
|
8
|
-
if (h)
|
|
9
|
-
for (var e of h(t))
|
|
10
|
-
$.call(t, e) && p(o, e, t[e]);
|
|
11
|
-
return o;
|
|
12
|
-
}, f = (o, t) => w(o, y(t));
|
|
13
|
-
var d = (o, t, e) => new Promise((r, s) => {
|
|
14
|
-
var i = (n) => {
|
|
15
|
-
try {
|
|
16
|
-
a(e.next(n));
|
|
17
|
-
} catch (u) {
|
|
18
|
-
s(u);
|
|
19
|
-
}
|
|
20
|
-
}, l = (n) => {
|
|
21
|
-
try {
|
|
22
|
-
a(e.throw(n));
|
|
23
|
-
} catch (u) {
|
|
24
|
-
s(u);
|
|
25
|
-
}
|
|
26
|
-
}, a = (n) => n.done ? r(n.value) : Promise.resolve(n.value).then(i, l);
|
|
27
|
-
a((e = e.apply(o, t)).next());
|
|
28
|
-
});
|
|
29
|
-
import { isInContainer as S, animate as F, hasOwn as b, toStringArray as k } from "@web-utils/core";
|
|
30
|
-
import { merge as B } from "@web-utils/integrations/lodash";
|
|
31
|
-
import C from "../resize-observer/index.mjs";
|
|
1
|
+
import { isInContainer as d, animate as m, hasOwn as a, toStringArray as h } from "@web-utils/core";
|
|
2
|
+
import { merge as p } from "@web-utils/integrations/lodash";
|
|
3
|
+
import b from "../resize-observer/index.mjs";
|
|
32
4
|
import "../resize-observer/style.css";
|
|
33
|
-
import { n as
|
|
34
|
-
const
|
|
5
|
+
import { n as v } from "../chunks/_plugin-vue2_normalizer.CeySl7Fu.mjs";
|
|
6
|
+
const f = [
|
|
35
7
|
"back",
|
|
36
8
|
"create",
|
|
37
9
|
"save",
|
|
@@ -51,17 +23,17 @@ const _ = [
|
|
|
51
23
|
"disabled",
|
|
52
24
|
"reload",
|
|
53
25
|
"slot"
|
|
54
|
-
],
|
|
26
|
+
], _ = f.map((o) => `${o}-down`), g = ["back", "withdraw", "edit"], c = ["save", "submit", "", "publish", "agree", "disagree", "reject", "finish", "cancel"], l = (o, t) => {
|
|
55
27
|
if (o.classList.contains(t))
|
|
56
28
|
return o;
|
|
57
29
|
let e = o.parentNode;
|
|
58
30
|
for (; e && !e.classList.contains(t); )
|
|
59
31
|
e = e.parentNode;
|
|
60
32
|
return e.classList.contains(t) ? e : null;
|
|
61
|
-
},
|
|
33
|
+
}, w = {
|
|
62
34
|
name: "FormView",
|
|
63
35
|
components: {
|
|
64
|
-
ResizeObserver:
|
|
36
|
+
ResizeObserver: b
|
|
65
37
|
},
|
|
66
38
|
inject: {
|
|
67
39
|
flowContext: {
|
|
@@ -112,31 +84,31 @@ const _ = [
|
|
|
112
84
|
},
|
|
113
85
|
computed: {
|
|
114
86
|
isFormLoading() {
|
|
115
|
-
return this.loading ||
|
|
87
|
+
return this.loading || a(this.$parent, "isFormLoaded") ? !this.$parent.isFormLoaded : !1;
|
|
116
88
|
},
|
|
117
89
|
toolbarProps() {
|
|
118
90
|
var r;
|
|
119
|
-
const o = {}, t = ((r = this.toolbarAttrs) == null ? void 0 : r.buttons) || this.$parent.buttons, e =
|
|
120
|
-
return e.buttons = t || ["back"], e.buttons =
|
|
91
|
+
const o = {}, t = ((r = this.toolbarAttrs) == null ? void 0 : r.buttons) || this.$parent.buttons, e = p({}, this.toolbarAttrs, o);
|
|
92
|
+
return e.buttons = t || ["back"], e.buttons = h(e.buttons), e;
|
|
121
93
|
},
|
|
122
94
|
toolbarButtons() {
|
|
123
|
-
return this.toolbarProps.buttons.filter((o) => !
|
|
95
|
+
return this.toolbarProps.buttons.filter((o) => !c.includes(o) && o.indexOf(":down") < 0).map((o) => o.replace(":up", ""));
|
|
124
96
|
},
|
|
125
97
|
footerBarButtons() {
|
|
126
|
-
let o = this.toolbarProps.buttons.filter((t) => !
|
|
98
|
+
let o = this.toolbarProps.buttons.filter((t) => !g.includes(t) && (c.includes(t) || t.indexOf(":down") > -1)).map((t) => t.replace(":down", ""));
|
|
127
99
|
return o = o || [], this.$parent.isEnabled && !o.includes("cancel") && o.push("cancel"), o;
|
|
128
100
|
}
|
|
129
101
|
},
|
|
130
102
|
created() {
|
|
131
103
|
this.$on("FormView.addGroup", (o) => {
|
|
132
104
|
o && (this.activeIndex === -1 && (this.activeIndex = 0), this.groups.push(o), this.groups = this.groups.sort((t, e) => {
|
|
133
|
-
const r =
|
|
105
|
+
const r = l(t.$el, "form-card"), s = l(e.$el, "form-card");
|
|
134
106
|
if (r === s) {
|
|
135
|
-
const i = [].indexOf.call(t.$el.parentNode.children, t.$el),
|
|
136
|
-
return i -
|
|
107
|
+
const i = [].indexOf.call(t.$el.parentNode.children, t.$el), n = [].indexOf.call(e.$el.parentNode.children, e.$el);
|
|
108
|
+
return i - n;
|
|
137
109
|
} else {
|
|
138
|
-
const i =
|
|
139
|
-
return
|
|
110
|
+
const i = l(r, "form-scroller"), n = [].indexOf.call(i.children, r), u = [].indexOf.call(i.children, s);
|
|
111
|
+
return n - u;
|
|
140
112
|
}
|
|
141
113
|
}), o.active && (this.activeIndex = this.groups.indexOf(o), this.navItemClick(o, this.activeIndex)));
|
|
142
114
|
}), this.$on("FormView.removeGroup", (o) => {
|
|
@@ -146,17 +118,15 @@ const _ = [
|
|
|
146
118
|
}
|
|
147
119
|
}), this.onFormResize({ width: window.document.body.clientWidth });
|
|
148
120
|
},
|
|
149
|
-
activated() {
|
|
150
|
-
|
|
151
|
-
this.$refs.formScroller && (yield this.$nextTick(), this.scrollTo(this.formScrollTop, this.formScrollLeft));
|
|
152
|
-
});
|
|
121
|
+
async activated() {
|
|
122
|
+
this.$refs.formScroller && (await this.$nextTick(), this.scrollTo(this.formScrollTop, this.formScrollLeft));
|
|
153
123
|
},
|
|
154
124
|
methods: {
|
|
155
125
|
getToolbarSlotKeys() {
|
|
156
|
-
return Object.keys(this.$scopedSlots).filter((o) =>
|
|
126
|
+
return Object.keys(this.$scopedSlots).filter((o) => f.includes(o));
|
|
157
127
|
},
|
|
158
128
|
getFooterSlotKeys() {
|
|
159
|
-
return Object.keys(this.$scopedSlots).filter((o) =>
|
|
129
|
+
return Object.keys(this.$scopedSlots).filter((o) => _.includes(o));
|
|
160
130
|
},
|
|
161
131
|
getFooterSlotKey(o) {
|
|
162
132
|
return o.replace("-down", "");
|
|
@@ -165,20 +135,18 @@ const _ = [
|
|
|
165
135
|
this.showNav = o > 1500;
|
|
166
136
|
},
|
|
167
137
|
onEdit() {
|
|
168
|
-
!this.toolbarListeners.edit &&
|
|
138
|
+
!this.toolbarListeners.edit && a(this.$parent, "disabled") && (this.$parent.disabled = !1);
|
|
169
139
|
},
|
|
170
|
-
navItemClick(o, t) {
|
|
171
|
-
|
|
172
|
-
this.showNav && (yield this.$nextTick(), this.activeFormItemGroup(o, t), o.expand || o.open());
|
|
173
|
-
});
|
|
140
|
+
async navItemClick(o, t) {
|
|
141
|
+
this.showNav && (await this.$nextTick(), this.activeFormItemGroup(o, t), o.expand || o.open());
|
|
174
142
|
},
|
|
175
143
|
activeFormItemGroup(o, t) {
|
|
176
|
-
this.$refs.formScroller.scrollTop = o.$el.offsetTop - 10,
|
|
144
|
+
this.$refs.formScroller.scrollTop = o.$el.offsetTop - 10, m(o.$el, "breathe-indicator-animation"), this.tryByClick = !0, this.activeIndex = t;
|
|
177
145
|
},
|
|
178
146
|
tryActive() {
|
|
179
147
|
if (this.showNav) {
|
|
180
148
|
for (let o = 0; o < this.groups.length; o++)
|
|
181
|
-
if (
|
|
149
|
+
if (d(this.groups[o].$el, this.$refs.formScroller, { bottomOffset: 10 })) {
|
|
182
150
|
this.activeIndex = o;
|
|
183
151
|
break;
|
|
184
152
|
}
|
|
@@ -192,7 +160,7 @@ const _ = [
|
|
|
192
160
|
}
|
|
193
161
|
}
|
|
194
162
|
};
|
|
195
|
-
var
|
|
163
|
+
var y = function() {
|
|
196
164
|
var t = this, e = t._self._c;
|
|
197
165
|
return e("div", { class: ["form-view", t.className] }, [t.showToolbar ? e("div", { directives: [{ name: "show", rawName: "v-show", value: !t.isFormLoading, expression: "!isFormLoading" }], staticClass: "form-view-toolbar" }, [t._t("form-view-toolbar", function() {
|
|
198
166
|
return [e("Toolbar", t._g(t._b({ on: { edit: t.onEdit }, scopedSlots: t._u([{ key: "default", fn: function({ buttons: r }) {
|
|
@@ -203,7 +171,7 @@ var N = function() {
|
|
|
203
171
|
}, proxy: !0 };
|
|
204
172
|
}), { key: "toolbar-right", fn: function() {
|
|
205
173
|
return [t._t("toolbar-right")];
|
|
206
|
-
}, proxy: !0 }], null, !0) }, "Toolbar",
|
|
174
|
+
}, proxy: !0 }], null, !0) }, "Toolbar", { ...t.toolbarProps, buttons: t.toolbarButtons }, !1), t.toolbarListeners))];
|
|
207
175
|
})], 2) : t._e(), e("div", { directives: [{ name: "show", rawName: "v-show", value: !t.isFormLoading, expression: "!isFormLoading" }], staticClass: "form-scroller-wrapper" }, [e("div", { ref: "formScroller", class: ["form-scroller", t.contentClass], on: { scroll: t.onFormScroll } }, [t.notForm ? e("div", { staticClass: "not-form", style: { width: t.formWidth } }, [t.title ? e("div", { staticClass: "form-view-title" }, [t._v(" " + t._s(t.title) + " ")]) : t._e(), t._t("default", function() {
|
|
208
176
|
return [e("EmptyView", { attrs: { "empty-tips": "请添加表单内容" } })];
|
|
209
177
|
}), t.footerBarButtons.length ? e("Toolbar", t._g(t._b({ attrs: { footer: "" }, scopedSlots: t._u([{ key: "default", fn: function({ buttons: r, footer: s }) {
|
|
@@ -212,7 +180,7 @@ var N = function() {
|
|
|
212
180
|
return { key: t.getFooterSlotKey(r), fn: function() {
|
|
213
181
|
return [t._t(r)];
|
|
214
182
|
}, proxy: !0 };
|
|
215
|
-
})], null, !0) }, "Toolbar",
|
|
183
|
+
})], null, !0) }, "Toolbar", { ...t.toolbarProps, buttons: t.footerBarButtons }, !1), t.toolbarListeners)) : t._e(), t.$scopedSlots["form-bottom"] ? t._t("form-bottom") : t._e()], 2) : e("div", { class: ["form-card", { "un-limit": t.unLimit }], style: { width: `calc(${t.formWidth} + 40px)` } }, [e("div", { staticClass: "form-content" }, [t.title ? e("div", { staticClass: "form-view-title" }, [t._v(" " + t._s(t.title) + " ")]) : t._e(), t._t("default", function() {
|
|
216
184
|
return [e("EmptyView", { attrs: { "empty-tips": "请添加表单内容" } })];
|
|
217
185
|
}), t.footerBarButtons.length ? e("Toolbar", t._g(t._b({ attrs: { footer: "" }, scopedSlots: t._u([{ key: "default", fn: function({ buttons: r, footer: s }) {
|
|
218
186
|
return [t._t("footer-button", null, { buttons: r, footer: s })];
|
|
@@ -220,20 +188,20 @@ var N = function() {
|
|
|
220
188
|
return { key: t.getFooterSlotKey(r), fn: function() {
|
|
221
189
|
return [t._t(r)];
|
|
222
190
|
}, proxy: !0 };
|
|
223
|
-
})], null, !0) }, "Toolbar",
|
|
191
|
+
})], null, !0) }, "Toolbar", { ...t.toolbarProps, buttons: t.footerBarButtons }, !1), t.toolbarListeners)) : t._e()], 2)]), t.$scopedSlots["form-bottom"] || t.$parent.$options.flowForm && t.flowContext.logs.length ? e("div", { class: ["form-card", { "un-limit": t.unLimit }], staticStyle: { "min-height": "0" }, style: { width: `calc(${t.formWidth} + 40px)` } }, [e("div", { staticClass: "form-content" }, [t.$parent.$options.flowForm && t.flowContext.logs.length ? e("FormItemGroup", { attrs: { "block-title": "流程日志" } }, [e("FlowLog", { staticClass: "flow-log", attrs: { fetch: !1, "show-title": !1, "business-key": t.$parent.bizKey } })], 1) : t._e(), t._t("form-bottom")], 2)]) : t._e()]), e("ResizeObserver", { on: { notify: t.onFormResize } })], 1), t.formNav && !t.isFormLoading && t.showNav && t.groups.length ? e("div", { staticClass: "form-nav" }, [e("div", { staticClass: "form-nav-header" }, [t._v("表单导航")]), e("ul", { staticClass: "form-nav-list" }, t._l(t.groups, function(r, s) {
|
|
224
192
|
return e("li", { key: r.blockTitle, class: ["form-nav-item", { active: t.activeIndex === s }], on: { click: function(i) {
|
|
225
193
|
return t.navItemClick(r, s);
|
|
226
194
|
} } }, [t._v(" " + t._s(r.blockTitle) + " ")]);
|
|
227
195
|
}), 0)]) : t._e(), t.isFormLoading ? e("LoadingView", { attrs: { "icon-size": "34px", "font-size": "16px" } }) : t._e()], 1);
|
|
228
|
-
},
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
196
|
+
}, x = [], $ = /* @__PURE__ */ v(
|
|
197
|
+
w,
|
|
198
|
+
y,
|
|
199
|
+
x,
|
|
232
200
|
!1,
|
|
233
201
|
null,
|
|
234
202
|
null
|
|
235
203
|
);
|
|
236
|
-
const
|
|
204
|
+
const L = $.exports;
|
|
237
205
|
export {
|
|
238
|
-
|
|
206
|
+
L as default
|
|
239
207
|
};
|
package/form-view/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.form-view{flex-direction:column;height:100%;display:flex}.form-view .form-scroller-wrapper{flex:1;position:relative}.form-view .not-form{margin:0 auto}.form-view .form-view-toolbar{overflow:hidden}.form-view .form-scroller{flex:1;position:absolute;top:0;bottom:0;left:0;right:0;overflow:auto}.form-view .form-scroller .el-row{position:static}.form-view .form-content .el-form .el-row{padding-right:2rem}.form-view .form-content .el-form .el-row .el-row{padding-right:0}.form-view .form-card{color:#303133;background-color:#fff;border:1px solid #ebeef5;border-radius:4px;max-width:1000px;margin:14px auto;padding:20px;transition:all .3s;overflow:hidden;box-shadow:0 2px 12px
|
|
1
|
+
.form-view{flex-direction:column;height:100%;display:flex}.form-view .form-scroller-wrapper{flex:1;position:relative}.form-view .not-form{margin:0 auto}.form-view .form-view-toolbar{overflow:hidden}.form-view .form-scroller{flex:1;position:absolute;top:0;bottom:0;left:0;right:0;overflow:auto}.form-view .form-scroller .el-row{position:static}.form-view .form-content .el-form .el-row{padding-right:2rem}.form-view .form-content .el-form .el-row .el-row{padding-right:0}.form-view .form-card{color:#303133;background-color:#fff;border:1px solid #ebeef5;border-radius:4px;max-width:1000px;margin:14px auto;padding:20px;transition:all .3s;overflow:hidden;box-shadow:0 2px 12px #0000001a}.form-view .form-card.un-limit{max-width:100%}.form-view .form-nav{background-color:#fff;position:absolute;top:55px;left:20px;box-shadow:0 2px 12px #0000001a}.form-view .form-nav-list{min-width:180px;padding:10px 20px}.form-view .form-nav-header{color:#e34e55;background-color:#f3f5fb;padding:5px 20px;font-size:15px;font-weight:700;position:relative}.form-view .form-nav-item{cursor:pointer;padding:5px 0;font-family:element-icons,serif;font-size:14px;list-style:none;position:relative}.form-view .form-nav-item.active,.form-view .form-nav-item:hover{color:#e34e55;font-weight:700}.form-view .form-nav-item.active:before{content:"";position:absolute;left:-14px}.form-view .form-view-title{color:#333;text-align:center;background-color:#fff;width:100%;height:36px;margin-bottom:10px;font-size:22px;line-height:36px}.form-view .tip{background-color:#ecf8ff;border-left:5px solid #50bfff;border-radius:4px;margin:20px 0;padding:8px 16px}.form-view .tip p{color:#5e6d82;font-size:14px;line-height:1.5em}.form-view .tip.danger{background-color:#fde2e2;border-left-color:#f56c6c}.form-view .tip.danger p{color:#564646}.form-view .tip.warning{background-color:#f7efe2;border-left-color:#e6a23c}.form-view .tip.warning p{color:#5d564b}.form-view .select-num{color:#898989;font-size:12px}.form-view .select-num .num{font-family:impact,Constantia,Georgia,serif;font-size:19px}.form-view .el-table .el-table__header th{color:#595959;background:#fff;font-weight:400}.form-view .el-table td{padding:4px 0}.form-view .el-table td .cell .el-input .el-input__inner{padding-left:4px}.form-view .el-table td .cell .el-input.el-input--prefix .el-input__inner{padding-left:30px}.form-view .el-table td .cell .el-input.is-disabled .el-input__suffix{display:none}.form-view .el-table td .cell .el-input.is-disabled .el-input__inner{white-space:normal;word-break:break-word;background:0 0;border:0;padding:0 0 0 4px;line-height:1.6}@keyframes breathe-indicator{0%{box-shadow:0 0 0 0 var(--color-primary,red)}to{box-shadow:0 0 4px 1px var(--color-primary,red)}}.form-view .breathe-indicator-animation{animation-name:breathe-indicator;animation-duration:.3s;animation-timing-function:ease-in-out;animation-iteration-count:4;animation-direction:alternate;animation-delay:.1s}@media screen and (min-width:1700px){.form-view.form-view__lg .form-card{position:relative;left:60px}}
|