@wfrog/vc-ui 1.6.1 → 1.8.0
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/dist/es/chunk/{BL8WhaLp.mjs → 39c07jh1.mjs} +1 -1
- package/dist/es/chunk/{CbYM6R_O.mjs → 3jDcB2xo.mjs} +6 -6
- package/dist/es/chunk/{DhGcJR5p.mjs → B11niAKN.mjs} +1 -1
- package/dist/es/chunk/{fueZ9sVu.mjs → B7FqhrtI.mjs} +4 -4
- package/dist/es/chunk/{B3GxuXVE.mjs → BAqSLB3Y.mjs} +1 -1
- package/dist/es/chunk/{CGhekNBa.mjs → BBXZ8dk4.mjs} +1 -1
- package/dist/es/chunk/{DYKOYbzT.mjs → BL-J8gO7.mjs} +5 -5
- package/dist/es/chunk/{Cg-Krnly.mjs → BQVjODp4.mjs} +1 -1
- package/dist/es/chunk/{D6nWUATi.mjs → B_RyUSJF.mjs} +13 -13
- package/dist/es/chunk/{DSt2uDNE.mjs → BqMf3xBl.mjs} +2 -2
- package/dist/es/chunk/{DQK0ezHm.mjs → BzqDqZOf.mjs} +3 -3
- package/dist/es/chunk/{BxibBO68.mjs → C-HMX6-e.mjs} +6 -6
- package/dist/es/chunk/{CboHfRXN.mjs → C2kaTl08.mjs} +2 -2
- package/dist/es/chunk/{D1MHFKtN.mjs → C6xZotC7.mjs} +1 -1
- package/dist/es/chunk/{F2ph6lWu.mjs → CFYABm3t.mjs} +6 -6
- package/dist/es/chunk/{DQi1QPak.mjs → CPW-P7zz.mjs} +8 -8
- package/dist/es/chunk/{DViraU6I.mjs → CROtrCmM.mjs} +1 -1
- package/dist/es/chunk/{CqTa_Vd-.mjs → CSZw6Ko2.mjs} +2 -2
- package/dist/es/chunk/{CwXV7M2F.mjs → CaA5lDme.mjs} +2 -2
- package/dist/es/chunk/Cb0n0U19.mjs +2199 -0
- package/dist/es/chunk/{CKZGL4_3.mjs → CdG7Eqv2.mjs} +3 -3
- package/dist/es/chunk/{BfjuZmry.mjs → D1Ki7NcP.mjs} +2 -2
- package/dist/es/chunk/{DTbnchOm.mjs → D5u7KBz_.mjs} +1 -1
- package/dist/es/chunk/{DX84QR5M.mjs → DYhJTpil.mjs} +3 -3
- package/dist/es/chunk/{D_Mvdscy.mjs → Dh_zpmSz.mjs} +2 -2
- package/dist/es/chunk/{D6m3vWpc.mjs → DrC4SmEj.mjs} +1 -1
- package/dist/es/chunk/{DAIuzoFs.mjs → DutTJaGc.mjs} +1 -1
- package/dist/es/chunk/{w7VqVeWU.mjs → RgWmId3R.mjs} +1 -1
- package/dist/es/chunk/{CQz3lhyS.mjs → UUVoNfr4.mjs} +1 -1
- package/dist/es/chunk/{D7CQDxqy.mjs → tJuysXfp.mjs} +2 -2
- package/dist/es/components/backbottom/backbottom.mjs +1 -1
- package/dist/es/components/button/button.mjs +4 -4
- package/dist/es/components/choice/choice.mjs +2 -2
- package/dist/es/components/color-switcher/color-switcher.mjs +5 -5
- package/dist/es/components/cropper/cropper.mjs +6 -6
- package/dist/es/components/currency/currency.mjs +3 -3
- package/dist/es/components/daterange-picker/daterange-picker.mjs +9 -9
- package/dist/es/components/dialog/dialog.d.ts +1 -0
- package/dist/es/components/dialog/dialog.mjs +23 -17
- package/dist/es/components/dialog/dialog.vue.d.ts +3 -1
- package/dist/es/components/dialog/index.css +22 -17
- package/dist/es/components/dialog-camera-upload/dialog-camera-upload.mjs +8 -8
- package/dist/es/components/dialog-map-point/dialog-map-point.mjs +2 -2
- package/dist/es/components/dialog-upload-images/dialog-upload-images.mjs +4 -4
- package/dist/es/components/drag-verify/drag-verify.mjs +1 -1
- package/dist/es/components/drawer/drawer.d.ts +7 -0
- package/dist/es/components/drawer/drawer.mjs +76 -28
- package/dist/es/components/drawer/drawer.vue.d.ts +9 -3
- package/dist/es/components/drawer/index.css +39 -18
- package/dist/es/components/easy-pagination/easy-pagination.mjs +1 -1
- package/dist/es/components/explorer/explorer.mjs +2 -2
- package/dist/es/components/explorer-column-table/explorer-column-table.mjs +4 -4
- package/dist/es/components/explorer-container/explorer-container.mjs +1 -1
- package/dist/es/components/explorer-filter/explorer-filter.mjs +2 -2
- package/dist/es/components/explorer-footer/explorer-footer.d.ts +1 -0
- package/dist/es/components/explorer-footer/explorer-footer.mjs +26 -13
- package/dist/es/components/explorer-footer/explorer-footer.vue.d.ts +2 -0
- package/dist/es/components/explorer-footer/index.css +3 -3
- package/dist/es/components/explorer-form/explorer-form.d.ts +7 -6
- package/dist/es/components/explorer-form/explorer-form.mjs +31 -56
- package/dist/es/components/explorer-form/explorer-form.vue.d.ts +192 -6
- package/dist/es/components/explorer-form/index.css +7 -7
- package/dist/es/components/explorer-list/explorer-list.d.ts +1 -0
- package/dist/es/components/explorer-list/explorer-list.mjs +3 -2
- package/dist/es/components/explorer-modal-form/explorer-modal-form.d.ts +24 -0
- package/dist/es/components/explorer-modal-form/explorer-modal-form.mjs +160 -0
- package/dist/es/components/explorer-modal-form/explorer-modal-form.vue.d.ts +584 -0
- package/dist/es/components/explorer-modal-form/index.css +6 -0
- package/dist/es/components/explorer-modal-form/index.d.ts +4 -0
- package/dist/es/components/explorer-modal-form/index.mjs +6 -0
- package/dist/es/components/explorer-panel/explorer-panel.mjs +5 -5
- package/dist/es/components/explorer-panel/index.css +6 -3
- package/dist/es/components/explorer-query/explorer-query.mjs +13 -2206
- package/dist/es/components/explorer-query/index.css +3 -3
- package/dist/es/components/explorer-table/explorer-table.d.ts +4 -0
- package/dist/es/components/explorer-table/explorer-table.mjs +22 -9
- package/dist/es/components/explorer-table/explorer-table.vue.d.ts +3 -0
- package/dist/es/components/explorer-tools/explorer-tools.mjs +13 -13
- package/dist/es/components/explorer-tools/index.css +8 -8
- package/dist/es/components/explorer-tree/explorer-tree.d.ts +1 -0
- package/dist/es/components/explorer-tree/explorer-tree.mjs +15 -14
- package/dist/es/components/explorer-tree/index.css +17 -14
- package/dist/es/components/icon-picker/icon-picker.mjs +9 -9
- package/dist/es/components/iconify-icon/iconify-icon.mjs +2 -2
- package/dist/es/components/image/image.mjs +4 -4
- package/dist/es/components/input/input.mjs +3 -3
- package/dist/es/components/input-number/input-number.mjs +4 -4
- package/dist/es/components/pca-picker/pca-picker.mjs +12 -12
- package/dist/es/components/screenfull/screenfull.mjs +3 -3
- package/dist/es/components/scrollbar/scrollbar.mjs +3 -3
- package/dist/es/components/select/select.mjs +5 -5
- package/dist/es/components/single-player/single-player.mjs +6 -6
- package/dist/es/components/splitter-panel/splitter-panel.mjs +2 -2
- package/dist/es/components/svg-icon/svg-icon.mjs +2 -2
- package/dist/es/components/switch/switch.mjs +2 -2
- package/dist/es/components/sync-scroll-container/sync-scroll-container.mjs +2 -2
- package/dist/es/components/tags/tags.mjs +8 -8
- package/dist/es/components/text-ellipsis/text-ellipsis.mjs +3 -3
- package/dist/es/components/thousand-input/thousand-input.mjs +2 -2
- package/dist/es/components/tinymce/tinymce.mjs +3 -3
- package/dist/es/components/tree-picker/tree-picker.mjs +9 -9
- package/dist/es/components/upload-file/upload-file.mjs +2 -2
- package/dist/es/index.d.ts +1 -0
- package/dist/es/index.mjs +34 -32
- package/dist/global.d.ts +1 -0
- package/dist/index.css +112 -73
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import './index.css'
|
|
2
2
|
import '../../chunk/By7FMB3I.mjs';
|
|
3
|
-
import { v as vLoading } from '../../chunk/
|
|
4
|
-
import { defineComponent, ref, useTemplateRef,
|
|
3
|
+
import { v as vLoading } from '../../chunk/CaA5lDme.mjs';
|
|
4
|
+
import { defineComponent, ref, useTemplateRef, withDirectives, createElementBlock, openBlock, normalizeClass, createElementVNode, createVNode, createBlock, createCommentVNode, renderSlot, createTextVNode, toDisplayString, unref, withCtx, mergeProps } from 'vue';
|
|
5
5
|
import { ElForm } from 'element-plus';
|
|
6
6
|
import { C as Component$2 } from '../button/button.mjs';
|
|
7
7
|
import { C as Component$1 } from '../iconify-icon/iconify-icon.mjs';
|
|
@@ -15,67 +15,42 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
15
15
|
icon: { default: "fluent:form-48-regular" },
|
|
16
16
|
form: {},
|
|
17
17
|
formProps: {},
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
} },
|
|
24
|
-
onSave: { type: Function, default: () => {
|
|
25
|
-
} }
|
|
18
|
+
disabled: { type: Boolean },
|
|
19
|
+
editable: { type: Boolean, default: true },
|
|
20
|
+
editing: { type: Boolean, default: true },
|
|
21
|
+
loading: { type: Boolean, default: false },
|
|
22
|
+
labelPosition: { default: "top" }
|
|
26
23
|
},
|
|
27
|
-
emits: ["
|
|
24
|
+
emits: ["cancel", "edit", "save"],
|
|
28
25
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
29
26
|
const props = __props;
|
|
30
27
|
const emits = __emit;
|
|
31
|
-
const isEditing = ref(
|
|
32
|
-
const loading = ref(false);
|
|
28
|
+
const isEditing = ref(props.editing ?? true);
|
|
33
29
|
const formRef = useTemplateRef("formRef");
|
|
34
30
|
function handleEdit() {
|
|
35
|
-
emits("
|
|
31
|
+
emits("edit");
|
|
36
32
|
isEditing.value = true;
|
|
37
33
|
}
|
|
38
34
|
async function handleCancel() {
|
|
39
35
|
formRef.value.resetFields();
|
|
40
|
-
const cb = await props.onCancel();
|
|
41
36
|
isEditing.value = false;
|
|
42
|
-
typeof cb === "function" && await cb();
|
|
43
37
|
}
|
|
44
38
|
async function handleSave() {
|
|
45
39
|
const valid = await formRef.value.validate();
|
|
46
40
|
if (!valid) {
|
|
47
41
|
return;
|
|
48
42
|
}
|
|
49
|
-
|
|
50
|
-
try {
|
|
51
|
-
loading.value = true;
|
|
52
|
-
cb = await props.onSave(props.form.fields);
|
|
53
|
-
formRef.value?.setInitialValues(props.form.fields);
|
|
54
|
-
isEditing.value = false;
|
|
55
|
-
} finally {
|
|
56
|
-
loading.value = false;
|
|
57
|
-
}
|
|
58
|
-
typeof cb === "function" && await cb();
|
|
43
|
+
emits("save", props.form.fields);
|
|
59
44
|
}
|
|
60
|
-
const editingWatch = watch(() => props.defaultEditing, (val) => {
|
|
61
|
-
isEditing.value = val;
|
|
62
|
-
}, { immediate: true });
|
|
63
|
-
const autoInitialWatch = watch(() => props.form.fields, (val) => {
|
|
64
|
-
props.autoInitial && formRef.value?.setInitialValues(val);
|
|
65
|
-
}, { immediate: true });
|
|
66
|
-
const initialValuesWatch = watch(() => props.initialValues, () => {
|
|
67
|
-
props.initialValues && formRef.value?.setInitialValues(props.initialValues);
|
|
68
|
-
}, { immediate: true, deep: true });
|
|
69
45
|
__expose({
|
|
70
|
-
|
|
46
|
+
formRef,
|
|
47
|
+
update: (data) => {
|
|
48
|
+
formRef.value?.setInitialValues(data || props.form.fields);
|
|
49
|
+
},
|
|
50
|
+
toggleEditing: (val) => {
|
|
71
51
|
isEditing.value = val ?? !isEditing.value;
|
|
72
52
|
}
|
|
73
53
|
});
|
|
74
|
-
onBeforeUnmount(() => {
|
|
75
|
-
initialValuesWatch.stop();
|
|
76
|
-
autoInitialWatch.stop();
|
|
77
|
-
editingWatch.stop();
|
|
78
|
-
});
|
|
79
54
|
return (_ctx, _cache) => {
|
|
80
55
|
const _directive_loading = vLoading;
|
|
81
56
|
return withDirectives((openBlock(), createElementBlock("div", {
|
|
@@ -99,9 +74,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
99
74
|
createElementVNode("div", {
|
|
100
75
|
class: normalizeClass(_ctx.$style.actions)
|
|
101
76
|
}, [
|
|
102
|
-
|
|
77
|
+
renderSlot(_ctx.$slots, "action"),
|
|
78
|
+
__props.editable && unref(isEditing) ? (openBlock(), createBlock(Component$2, {
|
|
103
79
|
key: 0,
|
|
104
|
-
icon: {
|
|
80
|
+
icon: { name: "Close" },
|
|
105
81
|
onClick: handleCancel
|
|
106
82
|
}, {
|
|
107
83
|
default: withCtx(() => [..._cache[0] || (_cache[0] = [
|
|
@@ -109,10 +85,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
109
85
|
])]),
|
|
110
86
|
_: 1
|
|
111
87
|
})) : createCommentVNode("", true),
|
|
112
|
-
unref(isEditing) ? (openBlock(), createBlock(Component$2, {
|
|
88
|
+
__props.editable && unref(isEditing) ? (openBlock(), createBlock(Component$2, {
|
|
113
89
|
key: 1,
|
|
90
|
+
icon: { name: "Check" },
|
|
114
91
|
type: "primary",
|
|
115
|
-
icon: { type: "el", name: "Check" },
|
|
116
92
|
onClick: handleSave
|
|
117
93
|
}, {
|
|
118
94
|
default: withCtx(() => [..._cache[1] || (_cache[1] = [
|
|
@@ -120,18 +96,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
120
96
|
])]),
|
|
121
97
|
_: 1
|
|
122
98
|
})) : createCommentVNode("", true),
|
|
123
|
-
!unref(isEditing) ? (openBlock(), createBlock(Component$2, {
|
|
99
|
+
__props.editable && !unref(isEditing) ? (openBlock(), createBlock(Component$2, {
|
|
124
100
|
key: 2,
|
|
101
|
+
icon: { name: "EditPen" },
|
|
125
102
|
type: "primary",
|
|
126
|
-
icon: { type: "el", name: "Edit" },
|
|
127
103
|
onClick: handleEdit
|
|
128
104
|
}, {
|
|
129
105
|
default: withCtx(() => [..._cache[2] || (_cache[2] = [
|
|
130
106
|
createTextVNode("编辑", -1)
|
|
131
107
|
])]),
|
|
132
108
|
_: 1
|
|
133
|
-
})) : createCommentVNode("", true)
|
|
134
|
-
renderSlot(_ctx.$slots, "action")
|
|
109
|
+
})) : createCommentVNode("", true)
|
|
135
110
|
], 2)
|
|
136
111
|
], 2),
|
|
137
112
|
createVNode(Component$3, { always: "" }, {
|
|
@@ -142,7 +117,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
142
117
|
}, __props.formProps, {
|
|
143
118
|
model: __props.form.fields,
|
|
144
119
|
rules: __props.form.rules,
|
|
145
|
-
disabled: !unref(isEditing),
|
|
120
|
+
disabled: __props.disabled || !unref(isEditing) || !__props.editable,
|
|
146
121
|
"require-asterisk-position": "right",
|
|
147
122
|
"label-position": __props.labelPosition
|
|
148
123
|
}), {
|
|
@@ -155,19 +130,19 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
155
130
|
_: 3
|
|
156
131
|
})
|
|
157
132
|
], 2)), [
|
|
158
|
-
[_directive_loading,
|
|
133
|
+
[_directive_loading, __props.loading]
|
|
159
134
|
]);
|
|
160
135
|
};
|
|
161
136
|
}
|
|
162
137
|
});
|
|
163
138
|
|
|
164
|
-
/* unplugin-vue-components disabled */const header = "
|
|
165
|
-
const icon = "
|
|
166
|
-
const actions = "
|
|
139
|
+
/* unplugin-vue-components disabled */const header = "_header_2wrpk_8";
|
|
140
|
+
const icon = "_icon_2wrpk_25";
|
|
141
|
+
const actions = "_actions_2wrpk_31";
|
|
167
142
|
const style0 = {
|
|
168
|
-
"explorer-form": "_explorer-
|
|
143
|
+
"explorer-form": "_explorer-form_2wrpk_1",
|
|
169
144
|
header: header,
|
|
170
|
-
"header-container": "_header-
|
|
145
|
+
"header-container": "_header-container_2wrpk_21",
|
|
171
146
|
icon: icon,
|
|
172
147
|
actions: actions
|
|
173
148
|
};
|
|
@@ -193,17 +193,203 @@ declare function __VLS_template(): {
|
|
|
193
193
|
};
|
|
194
194
|
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
195
195
|
declare const __VLS_component: import('vue').DefineComponent<IExplorerFormProps, {
|
|
196
|
-
|
|
196
|
+
formRef: Readonly<globalThis.ShallowRef<({
|
|
197
|
+
$: import('vue').ComponentInternalInstance;
|
|
198
|
+
$data: {};
|
|
199
|
+
$props: Partial<{
|
|
200
|
+
readonly disabled: boolean;
|
|
201
|
+
readonly inline: boolean;
|
|
202
|
+
readonly labelWidth: import('element-plus/es/utils/index.mjs').EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
203
|
+
readonly labelPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "left" | "right" | "top", unknown>;
|
|
204
|
+
readonly inlineMessage: boolean;
|
|
205
|
+
readonly showMessage: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
206
|
+
readonly requireAsteriskPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "left" | "right", unknown>;
|
|
207
|
+
readonly labelSuffix: string;
|
|
208
|
+
readonly validateOnRuleChange: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
209
|
+
readonly scrollIntoViewOptions: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions) | ((new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions))[], unknown, unknown>;
|
|
210
|
+
readonly statusIcon: boolean;
|
|
211
|
+
readonly hideRequiredAsterisk: boolean;
|
|
212
|
+
readonly scrollToError: boolean;
|
|
213
|
+
}> & Omit<{
|
|
214
|
+
readonly disabled: boolean;
|
|
215
|
+
readonly inline: boolean;
|
|
216
|
+
readonly labelPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "right" | "top" | "left", unknown>;
|
|
217
|
+
readonly requireAsteriskPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "right" | "left", unknown>;
|
|
218
|
+
readonly labelWidth: import('element-plus/es/utils/index.mjs').EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
219
|
+
readonly labelSuffix: string;
|
|
220
|
+
readonly inlineMessage: boolean;
|
|
221
|
+
readonly statusIcon: boolean;
|
|
222
|
+
readonly showMessage: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
223
|
+
readonly validateOnRuleChange: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
224
|
+
readonly hideRequiredAsterisk: boolean;
|
|
225
|
+
readonly scrollToError: boolean;
|
|
226
|
+
readonly scrollIntoViewOptions: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions) | ((new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions))[], unknown, unknown>;
|
|
227
|
+
readonly size?: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", unknown> | undefined;
|
|
228
|
+
readonly rules?: Partial<Record<string, import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemRule>>> | undefined;
|
|
229
|
+
readonly model?: Record<string, any> | undefined;
|
|
230
|
+
onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined | undefined;
|
|
231
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "disabled" | "inline" | "labelPosition" | "requireAsteriskPosition" | "labelWidth" | "labelSuffix" | "inlineMessage" | "statusIcon" | "showMessage" | "validateOnRuleChange" | "hideRequiredAsterisk" | "scrollToError" | "scrollIntoViewOptions">;
|
|
232
|
+
$attrs: {
|
|
233
|
+
[x: string]: unknown;
|
|
234
|
+
};
|
|
235
|
+
$refs: {
|
|
236
|
+
[x: string]: unknown;
|
|
237
|
+
};
|
|
238
|
+
$slots: Readonly<{
|
|
239
|
+
[name: string]: globalThis.Slot | undefined;
|
|
240
|
+
}>;
|
|
241
|
+
$root: ComponentPublicInstance | null;
|
|
242
|
+
$parent: ComponentPublicInstance | null;
|
|
243
|
+
$host: Element | null;
|
|
244
|
+
$emit: (event: "validate", prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => void;
|
|
245
|
+
$el: any;
|
|
246
|
+
$options: import('vue').ComponentOptionsBase<Readonly<globalThis.ExtractPropTypes<{
|
|
247
|
+
readonly model: ObjectConstructor;
|
|
248
|
+
readonly rules: {
|
|
249
|
+
readonly type: import('vue').PropType<Partial<Record<string, import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemRule>>>>;
|
|
250
|
+
readonly required: false;
|
|
251
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
252
|
+
__epPropKey: true;
|
|
253
|
+
};
|
|
254
|
+
readonly labelPosition: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, "left" | "right" | "top", unknown, "right", boolean>;
|
|
255
|
+
readonly requireAsteriskPosition: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, "left" | "right", unknown, "left", boolean>;
|
|
256
|
+
readonly labelWidth: import('element-plus/es/utils/index.mjs').EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
|
|
257
|
+
readonly labelSuffix: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
258
|
+
readonly inline: BooleanConstructor;
|
|
259
|
+
readonly inlineMessage: BooleanConstructor;
|
|
260
|
+
readonly statusIcon: BooleanConstructor;
|
|
261
|
+
readonly showMessage: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
262
|
+
readonly validateOnRuleChange: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
263
|
+
readonly hideRequiredAsterisk: BooleanConstructor;
|
|
264
|
+
readonly scrollToError: BooleanConstructor;
|
|
265
|
+
readonly scrollIntoViewOptions: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions) | ((new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions))[], unknown, unknown, true, boolean>;
|
|
266
|
+
readonly size: {
|
|
267
|
+
readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", unknown>>;
|
|
268
|
+
readonly required: false;
|
|
269
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
270
|
+
__epPropKey: true;
|
|
271
|
+
};
|
|
272
|
+
readonly disabled: BooleanConstructor;
|
|
273
|
+
}>> & {
|
|
274
|
+
onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined;
|
|
275
|
+
}, {
|
|
276
|
+
validate: (callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
|
|
277
|
+
validateField: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>, callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
|
|
278
|
+
resetFields: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>) => void;
|
|
279
|
+
clearValidate: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>) => void;
|
|
280
|
+
scrollToField: (prop: import('element-plus').FormItemProp) => void;
|
|
281
|
+
getField: (prop: import('element-plus').FormItemProp) => import('element-plus').FormItemContext | undefined;
|
|
282
|
+
fields: import('vue').Reactive<import('element-plus').FormItemContext[]>;
|
|
283
|
+
setInitialValues: (initModel: Record<string, any>) => void;
|
|
284
|
+
}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
285
|
+
validate: (prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => void;
|
|
286
|
+
}, string, {
|
|
287
|
+
readonly disabled: boolean;
|
|
288
|
+
readonly inline: boolean;
|
|
289
|
+
readonly labelWidth: import('element-plus/es/utils/index.mjs').EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
290
|
+
readonly labelPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "left" | "right" | "top", unknown>;
|
|
291
|
+
readonly inlineMessage: boolean;
|
|
292
|
+
readonly showMessage: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
293
|
+
readonly requireAsteriskPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "left" | "right", unknown>;
|
|
294
|
+
readonly labelSuffix: string;
|
|
295
|
+
readonly validateOnRuleChange: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
296
|
+
readonly scrollIntoViewOptions: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions) | ((new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions))[], unknown, unknown>;
|
|
297
|
+
readonly statusIcon: boolean;
|
|
298
|
+
readonly hideRequiredAsterisk: boolean;
|
|
299
|
+
readonly scrollToError: boolean;
|
|
300
|
+
}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
|
|
301
|
+
beforeCreate?: (() => void) | (() => void)[];
|
|
302
|
+
created?: (() => void) | (() => void)[];
|
|
303
|
+
beforeMount?: (() => void) | (() => void)[];
|
|
304
|
+
mounted?: (() => void) | (() => void)[];
|
|
305
|
+
beforeUpdate?: (() => void) | (() => void)[];
|
|
306
|
+
updated?: (() => void) | (() => void)[];
|
|
307
|
+
activated?: (() => void) | (() => void)[];
|
|
308
|
+
deactivated?: (() => void) | (() => void)[];
|
|
309
|
+
beforeDestroy?: (() => void) | (() => void)[];
|
|
310
|
+
beforeUnmount?: (() => void) | (() => void)[];
|
|
311
|
+
destroyed?: (() => void) | (() => void)[];
|
|
312
|
+
unmounted?: (() => void) | (() => void)[];
|
|
313
|
+
renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
|
|
314
|
+
renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
|
|
315
|
+
errorCaptured?: ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void)[];
|
|
316
|
+
};
|
|
317
|
+
$forceUpdate: () => void;
|
|
318
|
+
$nextTick: typeof import('vue').nextTick;
|
|
319
|
+
$watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
|
|
320
|
+
} & Readonly<{
|
|
321
|
+
readonly disabled: boolean;
|
|
322
|
+
readonly inline: boolean;
|
|
323
|
+
readonly labelWidth: import('element-plus/es/utils/index.mjs').EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
324
|
+
readonly labelPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "left" | "right" | "top", unknown>;
|
|
325
|
+
readonly inlineMessage: boolean;
|
|
326
|
+
readonly showMessage: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
327
|
+
readonly requireAsteriskPosition: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "left" | "right", unknown>;
|
|
328
|
+
readonly labelSuffix: string;
|
|
329
|
+
readonly validateOnRuleChange: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
330
|
+
readonly scrollIntoViewOptions: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions) | ((new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions))[], unknown, unknown>;
|
|
331
|
+
readonly statusIcon: boolean;
|
|
332
|
+
readonly hideRequiredAsterisk: boolean;
|
|
333
|
+
readonly scrollToError: boolean;
|
|
334
|
+
}> & Omit<Readonly<globalThis.ExtractPropTypes<{
|
|
335
|
+
readonly model: ObjectConstructor;
|
|
336
|
+
readonly rules: {
|
|
337
|
+
readonly type: import('vue').PropType<Partial<Record<string, import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemRule>>>>;
|
|
338
|
+
readonly required: false;
|
|
339
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
340
|
+
__epPropKey: true;
|
|
341
|
+
};
|
|
342
|
+
readonly labelPosition: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, "left" | "right" | "top", unknown, "right", boolean>;
|
|
343
|
+
readonly requireAsteriskPosition: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, "left" | "right", unknown, "left", boolean>;
|
|
344
|
+
readonly labelWidth: import('element-plus/es/utils/index.mjs').EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
|
|
345
|
+
readonly labelSuffix: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
346
|
+
readonly inline: BooleanConstructor;
|
|
347
|
+
readonly inlineMessage: BooleanConstructor;
|
|
348
|
+
readonly statusIcon: BooleanConstructor;
|
|
349
|
+
readonly showMessage: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
350
|
+
readonly validateOnRuleChange: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
351
|
+
readonly hideRequiredAsterisk: BooleanConstructor;
|
|
352
|
+
readonly scrollToError: BooleanConstructor;
|
|
353
|
+
readonly scrollIntoViewOptions: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions) | ((new (...args: any[]) => boolean | ScrollIntoViewOptions) | (() => boolean | ScrollIntoViewOptions))[], unknown, unknown, true, boolean>;
|
|
354
|
+
readonly size: {
|
|
355
|
+
readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", unknown>>;
|
|
356
|
+
readonly required: false;
|
|
357
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
358
|
+
__epPropKey: true;
|
|
359
|
+
};
|
|
360
|
+
readonly disabled: BooleanConstructor;
|
|
361
|
+
}>> & {
|
|
362
|
+
onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined;
|
|
363
|
+
}, "disabled" | "inline" | "fields" | "labelPosition" | "requireAsteriskPosition" | "labelWidth" | "labelSuffix" | "inlineMessage" | "statusIcon" | "showMessage" | "validateOnRuleChange" | "hideRequiredAsterisk" | "scrollToError" | "scrollIntoViewOptions" | "validate" | "validateField" | "resetFields" | "clearValidate" | "scrollToField" | "getField" | "setInitialValues"> & import('vue').ShallowUnwrapRef<{
|
|
364
|
+
validate: (callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
|
|
365
|
+
validateField: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>, callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
|
|
366
|
+
resetFields: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>) => void;
|
|
367
|
+
clearValidate: (props?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').FormItemProp>) => void;
|
|
368
|
+
scrollToField: (prop: import('element-plus').FormItemProp) => void;
|
|
369
|
+
getField: (prop: import('element-plus').FormItemProp) => import('element-plus').FormItemContext | undefined;
|
|
370
|
+
fields: import('vue').Reactive<import('element-plus').FormItemContext[]>;
|
|
371
|
+
setInitialValues: (initModel: Record<string, any>) => void;
|
|
372
|
+
}> & {} & import('vue').ComponentCustomProperties & {} & {
|
|
373
|
+
$slots: {
|
|
374
|
+
default?: (props: {}) => any;
|
|
375
|
+
};
|
|
376
|
+
}) | null>>;
|
|
377
|
+
update: (data?: Record<string, any>) => void;
|
|
378
|
+
toggleEditing: (val?: boolean) => void;
|
|
197
379
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
198
|
-
|
|
380
|
+
cancel: () => any;
|
|
381
|
+
save: (data: Record<string, any>) => any;
|
|
382
|
+
edit: () => any;
|
|
199
383
|
}, string, import('vue').PublicProps, Readonly<IExplorerFormProps> & Readonly<{
|
|
200
|
-
|
|
384
|
+
onCancel?: (() => any) | undefined;
|
|
385
|
+
onSave?: ((data: Record<string, any>) => any) | undefined;
|
|
386
|
+
onEdit?: (() => any) | undefined;
|
|
201
387
|
}>, {
|
|
202
388
|
icon: string;
|
|
203
|
-
|
|
204
|
-
|
|
389
|
+
loading: boolean;
|
|
390
|
+
editable: boolean;
|
|
205
391
|
labelPosition: import('element-plus').FormProps["labelPosition"];
|
|
206
|
-
|
|
392
|
+
editing: boolean;
|
|
207
393
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
208
394
|
formRef: ({
|
|
209
395
|
$: import('vue').ComponentInternalInstance;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/* source: src/components/explorer-form/explorer-form.vue */
|
|
2
|
-
._explorer-
|
|
2
|
+
._explorer-form_2wrpk_1 {
|
|
3
3
|
display: flex;
|
|
4
4
|
flex-direction: column;
|
|
5
5
|
flex-grow: 1;
|
|
6
6
|
height: 100px;
|
|
7
7
|
}
|
|
8
|
-
.
|
|
8
|
+
._header_2wrpk_8 {
|
|
9
9
|
display: flex;
|
|
10
10
|
align-items: center;
|
|
11
11
|
justify-content: space-between;
|
|
@@ -17,19 +17,19 @@
|
|
|
17
17
|
flex-wrap: wrap;
|
|
18
18
|
row-gap: 8px;
|
|
19
19
|
}
|
|
20
|
-
._header-
|
|
20
|
+
._header-container_2wrpk_21 {
|
|
21
21
|
font-size: var(--el-font-size-medium);
|
|
22
22
|
}
|
|
23
|
-
.
|
|
23
|
+
._icon_2wrpk_25 {
|
|
24
24
|
margin-right: 4px;
|
|
25
|
-
font-size:
|
|
25
|
+
font-size: var(--el-font-size-extra-large);
|
|
26
26
|
transform: translateY(1px);
|
|
27
27
|
}
|
|
28
|
-
.
|
|
28
|
+
._actions_2wrpk_31 {
|
|
29
29
|
display: flex;
|
|
30
30
|
align-items: center;
|
|
31
31
|
gap: 8px;
|
|
32
32
|
}
|
|
33
|
-
.
|
|
33
|
+
._actions_2wrpk_31 .el-button {
|
|
34
34
|
margin-left: 0 !important;
|
|
35
35
|
}
|
|
@@ -10,6 +10,7 @@ export interface IExplorerListProps {
|
|
|
10
10
|
actions?: ('create' | 'modify' | 'remove' | 'up' | 'down' | 'action')[];
|
|
11
11
|
filterMethod?: (keyword: string, item: IExplorerListItem) => boolean;
|
|
12
12
|
emptyText?: string;
|
|
13
|
+
pending?: boolean;
|
|
13
14
|
loading?: boolean;
|
|
14
15
|
loadingText?: string;
|
|
15
16
|
highlightCurrent?: boolean;
|
|
@@ -6,7 +6,7 @@ import { C as Component$3 } from '../button/button.mjs';
|
|
|
6
6
|
import { i as injectExplorerPanelState } from '../explorer-panel/explorer-panel2.mjs';
|
|
7
7
|
import { C as Component$2 } from '../iconify-icon/iconify-icon.mjs';
|
|
8
8
|
import { C as Component$1 } from '../scrollbar/scrollbar.mjs';
|
|
9
|
-
import { E as ElIcon } from '../../chunk/
|
|
9
|
+
import { E as ElIcon } from '../../chunk/C6xZotC7.mjs';
|
|
10
10
|
import { _ as _export_sfc } from '../../chunk/pcqpp-6-.mjs';
|
|
11
11
|
|
|
12
12
|
const _hoisted_1 = ["onClick"];
|
|
@@ -17,6 +17,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
17
17
|
actions: { default: () => [] },
|
|
18
18
|
filterMethod: {},
|
|
19
19
|
emptyText: { default: "没有数据" },
|
|
20
|
+
pending: { type: Boolean },
|
|
20
21
|
loading: { type: Boolean },
|
|
21
22
|
loadingText: { default: "数据加载中..." },
|
|
22
23
|
highlightCurrent: { type: Boolean, default: true },
|
|
@@ -110,7 +111,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
110
111
|
], 512), [
|
|
111
112
|
[vShow, !__props.loading]
|
|
112
113
|
]),
|
|
113
|
-
unref(isEmpty) && !__props.loading ? (openBlock(), createElementBlock("div", {
|
|
114
|
+
unref(isEmpty) && !__props.loading && !__props.pending ? (openBlock(), createElementBlock("div", {
|
|
114
115
|
key: 0,
|
|
115
116
|
class: normalizeClass(_ctx.$style.empty)
|
|
116
117
|
}, toDisplayString(__props.emptyText), 3)) : createCommentVNode("", true),
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { FormProps } from 'element-plus';
|
|
2
|
+
import { Reactive } from 'vue';
|
|
3
|
+
export interface IExplorerModalFormProps {
|
|
4
|
+
modelValue: boolean;
|
|
5
|
+
type: 'dialog' | 'drawer';
|
|
6
|
+
title?: string;
|
|
7
|
+
icon?: string;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
editable?: boolean;
|
|
10
|
+
editing?: boolean;
|
|
11
|
+
loading?: boolean;
|
|
12
|
+
form: Reactive<{
|
|
13
|
+
fields: Record<string, any>;
|
|
14
|
+
rules?: Record<string, any>;
|
|
15
|
+
}>;
|
|
16
|
+
formProps?: Partial<FormProps>;
|
|
17
|
+
labelPosition?: FormProps['labelPosition'];
|
|
18
|
+
}
|
|
19
|
+
export interface IExplorerModalFormEmits {
|
|
20
|
+
(e: 'update:modelValue', value: boolean): void;
|
|
21
|
+
(e: 'cancel'): void;
|
|
22
|
+
(e: 'edit'): void;
|
|
23
|
+
(e: 'save', data: Record<string, any>): void;
|
|
24
|
+
}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import './index.css'
|
|
2
|
+
import '../../chunk/By7FMB3I.mjs';
|
|
3
|
+
import { v as vLoading } from '../../chunk/CaA5lDme.mjs';
|
|
4
|
+
import { E as ElForm } from '../../chunk/Cb0n0U19.mjs';
|
|
5
|
+
import { defineComponent, useTemplateRef, ref, computed, watch, onUnmounted, createBlock, openBlock, resolveDynamicComponent, unref, mergeProps, isRef, withCtx, withDirectives, renderSlot, createCommentVNode, createTextVNode, createElementVNode, normalizeClass, toDisplayString } from 'vue';
|
|
6
|
+
import { C as Component$3 } from '../button/button.mjs';
|
|
7
|
+
import { C as Component$1 } from '../dialog/dialog.mjs';
|
|
8
|
+
import { C as Component$2 } from '../drawer/drawer.mjs';
|
|
9
|
+
import { C as Component$4 } from '../iconify-icon/iconify-icon.mjs';
|
|
10
|
+
import { useVModel } from '@vueuse/core';
|
|
11
|
+
import { _ as _export_sfc } from '../../chunk/pcqpp-6-.mjs';
|
|
12
|
+
|
|
13
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
14
|
+
__name: "explorer-modal-form",
|
|
15
|
+
props: {
|
|
16
|
+
modelValue: { type: Boolean },
|
|
17
|
+
type: {},
|
|
18
|
+
title: {},
|
|
19
|
+
icon: { default: "fluent:form-48-regular" },
|
|
20
|
+
disabled: { type: Boolean },
|
|
21
|
+
editable: { type: Boolean, default: true },
|
|
22
|
+
editing: { type: Boolean, default: true },
|
|
23
|
+
loading: { type: Boolean, default: false },
|
|
24
|
+
form: {},
|
|
25
|
+
formProps: {},
|
|
26
|
+
labelPosition: { default: "top" }
|
|
27
|
+
},
|
|
28
|
+
emits: ["update:modelValue", "cancel", "edit", "save"],
|
|
29
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
30
|
+
const props = __props;
|
|
31
|
+
const emits = __emit;
|
|
32
|
+
const modalVisible = useVModel(props, "modelValue", emits);
|
|
33
|
+
const formRef = useTemplateRef("formRef");
|
|
34
|
+
const isEditing = ref(false);
|
|
35
|
+
const component = computed(() => props.type === "dialog" ? Component$1 : Component$2);
|
|
36
|
+
function handleCancel() {
|
|
37
|
+
modalVisible.value = false;
|
|
38
|
+
emits("cancel");
|
|
39
|
+
}
|
|
40
|
+
async function handleSave() {
|
|
41
|
+
const valid = await formRef.value.validate();
|
|
42
|
+
if (!valid) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
emits("save", props.form.fields);
|
|
46
|
+
}
|
|
47
|
+
function handleEdit() {
|
|
48
|
+
isEditing.value = true;
|
|
49
|
+
emits("edit");
|
|
50
|
+
}
|
|
51
|
+
const visibleWatch = watch(modalVisible, (val) => {
|
|
52
|
+
if (!val) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
isEditing.value = props.editing ?? true;
|
|
56
|
+
}, { immediate: true });
|
|
57
|
+
__expose({ formRef });
|
|
58
|
+
onUnmounted(() => {
|
|
59
|
+
visibleWatch.stop();
|
|
60
|
+
});
|
|
61
|
+
return (_ctx, _cache) => {
|
|
62
|
+
const _component_ElForm = ElForm;
|
|
63
|
+
const _directive_loading = vLoading;
|
|
64
|
+
return openBlock(), createBlock(resolveDynamicComponent(unref(component)), mergeProps({
|
|
65
|
+
modelValue: unref(modalVisible),
|
|
66
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(modalVisible) ? modalVisible.value = $event : null)
|
|
67
|
+
}, _ctx.$attrs), {
|
|
68
|
+
title: withCtx(({ close }) => [
|
|
69
|
+
createElementVNode("div", {
|
|
70
|
+
class: normalizeClass(_ctx.$style["header-container"])
|
|
71
|
+
}, [
|
|
72
|
+
__props.icon ? (openBlock(), createBlock(Component$4, {
|
|
73
|
+
key: 0,
|
|
74
|
+
name: __props.icon,
|
|
75
|
+
class: normalizeClass(_ctx.$style.icon)
|
|
76
|
+
}, null, 8, ["name", "class"])) : createCommentVNode("", true),
|
|
77
|
+
renderSlot(_ctx.$slots, "title", { close }, () => [
|
|
78
|
+
createTextVNode(toDisplayString(__props.title), 1)
|
|
79
|
+
])
|
|
80
|
+
], 2)
|
|
81
|
+
]),
|
|
82
|
+
footer: withCtx(() => [
|
|
83
|
+
renderSlot(_ctx.$slots, "action"),
|
|
84
|
+
unref(isEditing) ? (openBlock(), createBlock(Component$3, {
|
|
85
|
+
key: 0,
|
|
86
|
+
loading: __props.loading,
|
|
87
|
+
icon: { name: "Close" },
|
|
88
|
+
onClick: handleCancel
|
|
89
|
+
}, {
|
|
90
|
+
default: withCtx(() => [..._cache[1] || (_cache[1] = [
|
|
91
|
+
createTextVNode("取消", -1)
|
|
92
|
+
])]),
|
|
93
|
+
_: 1
|
|
94
|
+
}, 8, ["loading"])) : createCommentVNode("", true),
|
|
95
|
+
unref(isEditing) ? (openBlock(), createBlock(Component$3, {
|
|
96
|
+
key: 1,
|
|
97
|
+
loading: __props.loading,
|
|
98
|
+
icon: { name: "Check" },
|
|
99
|
+
type: "primary",
|
|
100
|
+
onClick: handleSave
|
|
101
|
+
}, {
|
|
102
|
+
default: withCtx(() => [..._cache[2] || (_cache[2] = [
|
|
103
|
+
createTextVNode("保存", -1)
|
|
104
|
+
])]),
|
|
105
|
+
_: 1
|
|
106
|
+
}, 8, ["loading"])) : createCommentVNode("", true),
|
|
107
|
+
__props.editable && !unref(isEditing) ? (openBlock(), createBlock(Component$3, {
|
|
108
|
+
key: 2,
|
|
109
|
+
loading: __props.loading,
|
|
110
|
+
icon: { name: "EditPen" },
|
|
111
|
+
type: "primary",
|
|
112
|
+
onClick: handleEdit
|
|
113
|
+
}, {
|
|
114
|
+
default: withCtx(() => [..._cache[3] || (_cache[3] = [
|
|
115
|
+
createTextVNode("编辑", -1)
|
|
116
|
+
])]),
|
|
117
|
+
_: 1
|
|
118
|
+
}, 8, ["loading"])) : createCommentVNode("", true)
|
|
119
|
+
]),
|
|
120
|
+
default: withCtx(() => [
|
|
121
|
+
withDirectives((openBlock(), createBlock(_component_ElForm, mergeProps({
|
|
122
|
+
ref_key: "formRef",
|
|
123
|
+
ref: formRef,
|
|
124
|
+
"require-asterisk-position": "right",
|
|
125
|
+
"label-position": __props.labelPosition,
|
|
126
|
+
disabled: __props.disabled || !unref(isEditing)
|
|
127
|
+
}, __props.formProps, {
|
|
128
|
+
model: __props.form.fields,
|
|
129
|
+
rules: __props.form.rules
|
|
130
|
+
}), {
|
|
131
|
+
default: withCtx(() => [
|
|
132
|
+
renderSlot(_ctx.$slots, "default")
|
|
133
|
+
]),
|
|
134
|
+
_: 3
|
|
135
|
+
}, 16, ["label-position", "disabled", "model", "rules"])), [
|
|
136
|
+
[_directive_loading, __props.loading]
|
|
137
|
+
])
|
|
138
|
+
]),
|
|
139
|
+
_: 3
|
|
140
|
+
}, 16, ["modelValue"]);
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
/* unplugin-vue-components disabled */const icon = "_icon_uetpd_1";
|
|
146
|
+
const style0 = {
|
|
147
|
+
icon: icon
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
const cssModules = {
|
|
151
|
+
"$style": style0
|
|
152
|
+
};
|
|
153
|
+
const Component = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
|
|
154
|
+
|
|
155
|
+
const __vite_glob_0_26 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
|
|
156
|
+
__proto__: null,
|
|
157
|
+
default: Component
|
|
158
|
+
}, Symbol.toStringTag, { value: 'Module' }));
|
|
159
|
+
|
|
160
|
+
export { Component as C, __vite_glob_0_26 as _ };
|