el-plus 0.0.21 → 0.0.23
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/CHANGELOG.md +12 -0
- package/dist/index.css +1 -1
- package/dist/index.full.js +27 -10
- package/dist/index.full.min.js +1 -1
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +1 -1
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +28 -11
- package/es/components/date-picker-range/index.d.ts +3 -3
- package/es/components/date-picker-range/src/date-picker-range.vue.d.ts +1 -1
- package/es/components/form/index.d.ts +3 -3
- package/es/components/form/src/form.d.ts +1 -1
- package/es/components/form/src/form.mjs +1 -1
- package/es/components/form/src/form.mjs.map +1 -1
- package/es/components/form/src/form.vue.d.ts +2 -2
- package/es/components/header/src/use-header.mjs +1 -1
- package/es/components/header/src/use-header.mjs.map +1 -1
- package/es/components/search-list-page/index.d.ts +6 -6
- package/es/components/search-list-page/src/search-list-page.vue.d.ts +2 -2
- package/es/components/search-list-page/src/use-search-list-page.d.ts +2 -2
- package/es/components/select/index.d.ts +3 -3
- package/es/components/select/src/select.vue.d.ts +1 -1
- package/es/components/table/src/use-table.mjs +9 -1
- package/es/components/table/src/use-table.mjs.map +1 -1
- package/es/components/title/index.d.ts +12 -3
- package/es/components/title/src/title.d.ts +4 -1
- package/es/components/title/src/title.mjs +4 -1
- package/es/components/title/src/title.mjs.map +1 -1
- package/es/components/title/src/title.vue.d.ts +8 -2
- package/es/components/title/src/title.vue2.mjs +4 -3
- package/es/components/title/src/title.vue2.mjs.map +1 -1
- package/es/hooks/dialog/use-choose-dialog.mjs +3 -3
- package/es/hooks/dialog/use-choose-dialog.mjs.map +1 -1
- package/es/hooks/dialog/use-dialog.mjs +8 -3
- package/es/hooks/dialog/use-dialog.mjs.map +1 -1
- package/es/package.json.mjs +1 -1
- package/lib/components/date-picker-range/index.d.ts +3 -3
- package/lib/components/date-picker-range/src/date-picker-range.vue.d.ts +1 -1
- package/lib/components/form/index.d.ts +3 -3
- package/lib/components/form/src/form.d.ts +1 -1
- package/lib/components/form/src/form.js +1 -1
- package/lib/components/form/src/form.js.map +1 -1
- package/lib/components/form/src/form.vue.d.ts +2 -2
- package/lib/components/header/src/use-header.js +1 -1
- package/lib/components/header/src/use-header.js.map +1 -1
- package/lib/components/search-list-page/index.d.ts +6 -6
- package/lib/components/search-list-page/src/search-list-page.vue.d.ts +2 -2
- package/lib/components/search-list-page/src/use-search-list-page.d.ts +2 -2
- package/lib/components/select/index.d.ts +3 -3
- package/lib/components/select/src/select.vue.d.ts +1 -1
- package/lib/components/table/src/use-table.js +8 -0
- package/lib/components/table/src/use-table.js.map +1 -1
- package/lib/components/title/index.d.ts +12 -3
- package/lib/components/title/src/title.d.ts +4 -1
- package/lib/components/title/src/title.js +4 -1
- package/lib/components/title/src/title.js.map +1 -1
- package/lib/components/title/src/title.vue.d.ts +8 -2
- package/lib/components/title/src/title.vue2.js +3 -2
- package/lib/components/title/src/title.vue2.js.map +1 -1
- package/lib/hooks/dialog/use-choose-dialog.js +2 -2
- package/lib/hooks/dialog/use-choose-dialog.js.map +1 -1
- package/lib/hooks/dialog/use-dialog.js +6 -1
- package/lib/hooks/dialog/use-dialog.js.map +1 -1
- package/lib/package.json.js +1 -1
- package/package.json +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/title.scss +15 -8
- package/theme-chalk/title.css +1 -1
package/dist/index.full.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/*! ElPlus v0.0.
|
|
1
|
+
/*! ElPlus v0.0.23 */
|
|
2
2
|
|
|
3
3
|
import { useAttrs, getCurrentInstance, inject, provide, ref, nextTick, defineComponent, computed, createVNode, Fragment, withDirectives, resolveComponent, mergeProps, resolveDirective, useTemplateRef, createTextVNode, h, mergeModels, useModel, createElementBlock, openBlock, normalizeStyle, normalizeClass, unref, createCommentVNode, withCtx, renderSlot, renderList, createBlock, vShow, toDisplayString, reactive, useSlots, watch, onMounted, createSlots, normalizeProps, guardReactiveProps, markRaw, Transition, shallowReactive, isVNode, render, createElementVNode, toRaw } from 'vue';
|
|
4
|
-
import { buttonProps, useLocale as useLocale$1, ElLoading, ElMessage, ElMessageBox, formProps as formProps$1, formEmits as formEmits$1, ElTooltip, formItemProps as formItemProps$1, ElFormItem, ElForm, ElRow, ElCol, inputProps as inputProps$1, inputEmits as inputEmits$1, ElDialog, ElButton, ElTable, ElIcon, selectProps as selectProps$1, selectEmits as selectEmits$1, ElPageHeader, datePickerProps, linkProps as linkProps$1 } from 'element-plus';
|
|
4
|
+
import { buttonProps, useLocale as useLocale$1, ElLoading, ElMessage, ElMessageBox, formProps as formProps$1, formEmits as formEmits$1, ElTooltip, formItemProps as formItemProps$1, ElFormItem, ElForm, ElRow, ElCol, inputProps as inputProps$1, inputEmits as inputEmits$1, configProviderContextKey, ElConfigProvider, ElDialog, ElButton, ElTable, ElIcon, selectProps as selectProps$1, selectEmits as selectEmits$1, ElPageHeader, datePickerProps, linkProps as linkProps$1 } from 'element-plus';
|
|
5
5
|
import { isFunction } from '@vue/shared';
|
|
6
6
|
import axios from 'axios';
|
|
7
7
|
import Cookies from 'js-cookie';
|
|
@@ -807,7 +807,7 @@ const formProps = {
|
|
|
807
807
|
// 标签的长度
|
|
808
808
|
labelWidth: {
|
|
809
809
|
...formProps$1.labelWidth,
|
|
810
|
-
default:
|
|
810
|
+
default: 100
|
|
811
811
|
},
|
|
812
812
|
scrollIntoViewOptions: {
|
|
813
813
|
...formProps$1.scrollIntoViewOptions,
|
|
@@ -1476,7 +1476,12 @@ const useDialog = (options = {}) => {
|
|
|
1476
1476
|
if (render$1) {
|
|
1477
1477
|
const container = document.createElement("div");
|
|
1478
1478
|
const newInstance = instance || getCurrentInstance();
|
|
1479
|
-
const
|
|
1479
|
+
const config = inject(configProviderContextKey);
|
|
1480
|
+
const vnode = h(ElConfigProvider, {
|
|
1481
|
+
locale: config?.locale
|
|
1482
|
+
}, {
|
|
1483
|
+
default: () => h(Dialog)
|
|
1484
|
+
});
|
|
1480
1485
|
if (newInstance && newInstance.appContext) {
|
|
1481
1486
|
vnode.appContext = newInstance.appContext;
|
|
1482
1487
|
}
|
|
@@ -2001,6 +2006,7 @@ const useTable$1 = (props) => {
|
|
|
2001
2006
|
const search = async (init = false, isPagination = false) => {
|
|
2002
2007
|
const beforeSearch = attrs["before-search"];
|
|
2003
2008
|
if (typeof beforeSearch === "function") {
|
|
2009
|
+
await nextTick();
|
|
2004
2010
|
await beforeSearch?.();
|
|
2005
2011
|
}
|
|
2006
2012
|
if (init) {
|
|
@@ -2027,6 +2033,13 @@ const useTable$1 = (props) => {
|
|
|
2027
2033
|
}
|
|
2028
2034
|
}
|
|
2029
2035
|
};
|
|
2036
|
+
if (!props.api) {
|
|
2037
|
+
watch(() => props.data, (newValue) => {
|
|
2038
|
+
customData.value = newValue;
|
|
2039
|
+
}, {
|
|
2040
|
+
deep: true
|
|
2041
|
+
});
|
|
2042
|
+
}
|
|
2030
2043
|
const {
|
|
2031
2044
|
pagination,
|
|
2032
2045
|
paginationProps
|
|
@@ -2992,7 +3005,10 @@ const titleProps = {
|
|
|
2992
3005
|
// 标题名称
|
|
2993
3006
|
title: String,
|
|
2994
3007
|
// 是否显示展开折叠
|
|
2995
|
-
showDownUp:
|
|
3008
|
+
showDownUp: {
|
|
3009
|
+
type: Boolean,
|
|
3010
|
+
default: false
|
|
3011
|
+
}
|
|
2996
3012
|
};
|
|
2997
3013
|
const titleEmits = {
|
|
2998
3014
|
toggle: (expanded) => true
|
|
@@ -3068,7 +3084,8 @@ var _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
3068
3084
|
renderSlot(_ctx.$slots, "title", { title: _ctx.title }, () => [
|
|
3069
3085
|
createTextVNode(toDisplayString(_ctx.title), 1)
|
|
3070
3086
|
]),
|
|
3071
|
-
|
|
3087
|
+
_ctx.showDownUp ? (openBlock(), createElementBlock("div", {
|
|
3088
|
+
key: 0,
|
|
3072
3089
|
class: normalizeClass(unref(bem).e("toggle")),
|
|
3073
3090
|
onClick: unref(toggleState)
|
|
3074
3091
|
}, [
|
|
@@ -3079,7 +3096,7 @@ var _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
3079
3096
|
]),
|
|
3080
3097
|
_: 1
|
|
3081
3098
|
})
|
|
3082
|
-
], 10, ["onClick"]),
|
|
3099
|
+
], 10, ["onClick"])) : createCommentVNode("", true),
|
|
3083
3100
|
renderSlot(_ctx.$slots, "title-append")
|
|
3084
3101
|
], 2),
|
|
3085
3102
|
createElementVNode("div", {
|
|
@@ -3225,7 +3242,7 @@ const useButtons = (props, emit) => {
|
|
|
3225
3242
|
const { t } = useLocale();
|
|
3226
3243
|
const { mode: defaultMode } = useNavigation();
|
|
3227
3244
|
const mode = computed(() => {
|
|
3228
|
-
return props.mode || defaultMode;
|
|
3245
|
+
return props.mode || defaultMode.value;
|
|
3229
3246
|
});
|
|
3230
3247
|
let defaultButtons = [
|
|
3231
3248
|
{
|
|
@@ -3519,7 +3536,7 @@ var components = [
|
|
|
3519
3536
|
EpLink
|
|
3520
3537
|
];
|
|
3521
3538
|
|
|
3522
|
-
var version = "0.0.
|
|
3539
|
+
var version = "0.0.23";
|
|
3523
3540
|
|
|
3524
3541
|
var globalProperties = {
|
|
3525
3542
|
install(app) {
|
|
@@ -3560,7 +3577,7 @@ const useChooseDialog = (options = {}) => {
|
|
|
3560
3577
|
scopedSlots,
|
|
3561
3578
|
title,
|
|
3562
3579
|
onConfirm: (resolve) => {
|
|
3563
|
-
resolve(selections);
|
|
3580
|
+
resolve(toRaw(selections));
|
|
3564
3581
|
},
|
|
3565
3582
|
render: ({
|
|
3566
3583
|
resolve
|
|
@@ -3582,7 +3599,7 @@ const useChooseDialog = (options = {}) => {
|
|
|
3582
3599
|
},
|
|
3583
3600
|
onSingleSelectionChange: (newSel) => {
|
|
3584
3601
|
selections = newSel;
|
|
3585
|
-
resolve(selections);
|
|
3602
|
+
resolve(toRaw(selections));
|
|
3586
3603
|
}
|
|
3587
3604
|
}
|
|
3588
3605
|
}, null);
|
|
@@ -276,13 +276,13 @@ export declare const EpDatePickerRange: {
|
|
|
276
276
|
fallbackPlacements: import("element-plus").Placement[];
|
|
277
277
|
popperOptions: Partial<import("element-plus").Options>;
|
|
278
278
|
showFooter: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
279
|
+
valueOnClear: import("element-plus/es/utils/index.js").EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown>;
|
|
279
280
|
editable: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
280
281
|
placeholder: string;
|
|
281
282
|
readonly: boolean;
|
|
282
283
|
prefixIcon: import("element-plus/es/utils/index.js").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | ((new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component))[], unknown, unknown>;
|
|
283
284
|
tabindex: import("element-plus/es/utils/index.js").EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown>;
|
|
284
285
|
validateEvent: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
285
|
-
valueOnClear: import("element-plus/es/utils/index.js").EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown>;
|
|
286
286
|
automaticDropdown: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
287
287
|
valueFormat: "x";
|
|
288
288
|
shortcuts: unknown[];
|
|
@@ -575,13 +575,13 @@ export declare const EpDatePickerRange: {
|
|
|
575
575
|
fallbackPlacements: import("element-plus").Placement[];
|
|
576
576
|
popperOptions: Partial<import("element-plus").Options>;
|
|
577
577
|
showFooter: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
578
|
+
valueOnClear: import("element-plus/es/utils/index.js").EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown>;
|
|
578
579
|
editable: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
579
580
|
placeholder: string;
|
|
580
581
|
readonly: boolean;
|
|
581
582
|
prefixIcon: import("element-plus/es/utils/index.js").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | ((new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component))[], unknown, unknown>;
|
|
582
583
|
tabindex: import("element-plus/es/utils/index.js").EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown>;
|
|
583
584
|
validateEvent: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
584
|
-
valueOnClear: import("element-plus/es/utils/index.js").EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown>;
|
|
585
585
|
automaticDropdown: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
586
586
|
valueFormat: "x";
|
|
587
587
|
shortcuts: unknown[];
|
|
@@ -875,13 +875,13 @@ export declare const EpDatePickerRange: {
|
|
|
875
875
|
fallbackPlacements: import("element-plus").Placement[];
|
|
876
876
|
popperOptions: Partial<import("element-plus").Options>;
|
|
877
877
|
showFooter: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
878
|
+
valueOnClear: import("element-plus/es/utils/index.js").EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown>;
|
|
878
879
|
editable: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
879
880
|
placeholder: string;
|
|
880
881
|
readonly: boolean;
|
|
881
882
|
prefixIcon: import("element-plus/es/utils/index.js").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | ((new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component))[], unknown, unknown>;
|
|
882
883
|
tabindex: import("element-plus/es/utils/index.js").EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown>;
|
|
883
884
|
validateEvent: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
884
|
-
valueOnClear: import("element-plus/es/utils/index.js").EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown>;
|
|
885
885
|
automaticDropdown: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
886
886
|
valueFormat: "x";
|
|
887
887
|
shortcuts: unknown[];
|
|
@@ -534,13 +534,13 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
534
534
|
fallbackPlacements: import("element-plus").Placement[];
|
|
535
535
|
popperOptions: Partial<import("element-plus").Options>;
|
|
536
536
|
showFooter: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
537
|
+
valueOnClear: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown>;
|
|
537
538
|
editable: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
538
539
|
placeholder: string;
|
|
539
540
|
readonly: boolean;
|
|
540
541
|
prefixIcon: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | ((new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component))[], unknown, unknown>;
|
|
541
542
|
tabindex: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown>;
|
|
542
543
|
validateEvent: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
543
|
-
valueOnClear: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown>;
|
|
544
544
|
automaticDropdown: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
545
545
|
valueFormat: "x";
|
|
546
546
|
shortcuts: unknown[];
|
|
@@ -10,7 +10,7 @@ export declare const EpForm: {
|
|
|
10
10
|
readonly __epPropKey: true;
|
|
11
11
|
};
|
|
12
12
|
labelWidth: {
|
|
13
|
-
readonly default:
|
|
13
|
+
readonly default: 100;
|
|
14
14
|
readonly type: import("vue").PropType<import("element-plus/es/utils/index.js").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
|
|
15
15
|
readonly required: false;
|
|
16
16
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
@@ -107,7 +107,7 @@ export declare const EpForm: {
|
|
|
107
107
|
readonly __epPropKey: true;
|
|
108
108
|
};
|
|
109
109
|
labelWidth: {
|
|
110
|
-
readonly default:
|
|
110
|
+
readonly default: 100;
|
|
111
111
|
readonly type: import("vue").PropType<import("element-plus/es/utils/index.js").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
|
|
112
112
|
readonly required: false;
|
|
113
113
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
@@ -197,7 +197,7 @@ export declare const EpForm: {
|
|
|
197
197
|
readonly __epPropKey: true;
|
|
198
198
|
};
|
|
199
199
|
labelWidth: {
|
|
200
|
-
readonly default:
|
|
200
|
+
readonly default: 100;
|
|
201
201
|
readonly type: import("vue").PropType<import("element-plus/es/utils/index.js").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
|
|
202
202
|
readonly required: false;
|
|
203
203
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
@@ -9,7 +9,7 @@ export declare const formProps: {
|
|
|
9
9
|
readonly __epPropKey: true;
|
|
10
10
|
};
|
|
11
11
|
readonly labelWidth: {
|
|
12
|
-
readonly default:
|
|
12
|
+
readonly default: 100;
|
|
13
13
|
readonly type: PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
|
|
14
14
|
readonly required: false;
|
|
15
15
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.mjs","sources":["../../../../../../packages/components/form/src/form.ts"],"sourcesContent":["import type { ExtractPropTypes, PropType, ExtractPublicPropTypes } from 'vue'\nimport {\n formProps as elFormProps,\n formEmits as elFormEmits,\n} from 'element-plus'\nimport type { FormItemProps } from './form-item'\nconst expandFormProps = {\n // 表单列表\n formItemList: {\n type: Array as PropType<FormItemProps[]>,\n default: () => [] as FormItemProps[],\n },\n // 是否显示折叠\n isShowFold: Boolean,\n\n // 最大显示的表单数\n showFieldCount: {\n type: Number,\n default: 8,\n },\n // 每行的列数\n col: {\n type: Number,\n default: 4,\n },\n}\nexport const formProps = {\n ...elFormProps,\n ...expandFormProps,\n size: {\n ...elFormProps.size,\n default: 'small',\n },\n // 标签的长度\n labelWidth: {\n ...elFormProps.labelWidth,\n default:
|
|
1
|
+
{"version":3,"file":"form.mjs","sources":["../../../../../../packages/components/form/src/form.ts"],"sourcesContent":["import type { ExtractPropTypes, PropType, ExtractPublicPropTypes } from 'vue'\nimport {\n formProps as elFormProps,\n formEmits as elFormEmits,\n} from 'element-plus'\nimport type { FormItemProps } from './form-item'\nconst expandFormProps = {\n // 表单列表\n formItemList: {\n type: Array as PropType<FormItemProps[]>,\n default: () => [] as FormItemProps[],\n },\n // 是否显示折叠\n isShowFold: Boolean,\n\n // 最大显示的表单数\n showFieldCount: {\n type: Number,\n default: 8,\n },\n // 每行的列数\n col: {\n type: Number,\n default: 4,\n },\n}\nexport const formProps = {\n ...elFormProps,\n ...expandFormProps,\n size: {\n ...elFormProps.size,\n default: 'small',\n },\n // 标签的长度\n labelWidth: {\n ...elFormProps.labelWidth,\n default: 100,\n },\n scrollIntoViewOptions: {\n ...elFormProps.scrollIntoViewOptions,\n default: () => {\n return { inline: 'center' }\n },\n },\n} as const\nexport type FormProps = ExtractPublicPropTypes<typeof formProps>\nexport const expandFormPropsKeys = Object.keys(expandFormProps)\n/* eslint-disable @typescript-eslint/no-unused-vars */\nexport const formEmits = {\n ...elFormEmits,\n toggleStatus: (status: boolean) => true, // 折叠状态切换时触发\n}\n/* eslint-enable @typescript-eslint/no-unused-vars */\n\nexport type FormEmits = typeof formEmits\nexport const formEmitsKeys = Object.keys(formEmits)\n"],"names":["elFormProps","elFormEmits"],"mappings":";;AAMA,MAAM,eAAA,GAAkB;AAAA;AAAA,EAEtB,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA;AAAA,EAEA,UAAA,EAAY,OAAA;AAAA;AAAA,EAGZ,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,GAAA,EAAK;AAAA,IACH,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb,CAAA;AACO,MAAM,SAAA,GAAY;AAAA,EACvB,GAAGA,WAAA;AAAA,EACH,GAAG,eAAA;AAAA,EACH,IAAA,EAAM;AAAA,IACJ,GAAGA,WAAA,CAAY,IAAA;AAAA,IACf,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,GAAGA,WAAA,CAAY,UAAA;AAAA,IACf,OAAA,EAAS;AAAA,GACX;AAAA,EACA,qBAAA,EAAuB;AAAA,IACrB,GAAGA,WAAA,CAAY,qBAAA;AAAA,IACf,SAAS,MAAM;AACb,MAAA,OAAO,EAAE,QAAQ,QAAA,EAAS;AAAA,IAC5B;AAAA;AAEJ;AAEO,MAAM,mBAAA,GAAsB,MAAA,CAAO,IAAA,CAAK,eAAe;AAEvD,MAAM,SAAA,GAAY;AAAA,EACvB,GAAGC,WAAA;AAAA,EACH,YAAA,EAAc,CAAC,MAAA,KAAoB;AAAA;AACrC;AAIO,MAAM,aAAA,GAAgB,MAAA,CAAO,IAAA,CAAK,SAAS;;;;"}
|
|
@@ -11,7 +11,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
11
11
|
readonly __epPropKey: true;
|
|
12
12
|
};
|
|
13
13
|
labelWidth: {
|
|
14
|
-
readonly default:
|
|
14
|
+
readonly default: 100;
|
|
15
15
|
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
|
|
16
16
|
readonly required: false;
|
|
17
17
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
@@ -78,7 +78,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
78
78
|
readonly __epPropKey: true;
|
|
79
79
|
};
|
|
80
80
|
labelWidth: {
|
|
81
|
-
readonly default:
|
|
81
|
+
readonly default: 100;
|
|
82
82
|
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
|
|
83
83
|
readonly required: false;
|
|
84
84
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
@@ -28,7 +28,7 @@ const useButtons = (props, emit) => {
|
|
|
28
28
|
const { t } = useLocale();
|
|
29
29
|
const { mode: defaultMode } = useNavigation();
|
|
30
30
|
const mode = computed(() => {
|
|
31
|
-
return props.mode || defaultMode;
|
|
31
|
+
return props.mode || defaultMode.value;
|
|
32
32
|
});
|
|
33
33
|
let defaultButtons = [
|
|
34
34
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-header.mjs","sources":["../../../../../../packages/components/header/src/use-header.ts"],"sourcesContent":["import { computed } from 'vue'\nimport { useRouter, useRoute } from 'vue-router'\nimport type { HeaderProps } from '@el-plus/components/header'\nimport type { ButtonsProps } from '@el-plus/components/buttons'\nimport { mergeListByKey, gotoTaskTrace } from '@el-plus/utils'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nimport { useNavigation } from '@el-plus/hooks/use-navigation'\nexport const useHeader = (props, emit) => {\n const router = useRouter()\n const isShowBack = computed(() => {\n if (!props.allowBack) {\n return false\n }\n if (window.parent.openMenuSelect) {\n return false\n }\n return true\n })\n const goBack = () => {\n router?.back()\n }\n return {\n isShowBack,\n goBack,\n }\n}\nexport const useButtons = (props: HeaderProps, emit) => {\n const { t } = useLocale()\n const { mode: defaultMode } = useNavigation()\n const mode = computed(() => {\n return props.mode || defaultMode\n })\n let defaultButtons: ButtonsProps['list'] = [\n {\n name: t('ep.header.edit'),\n prop: 'modify',\n permission: props.name ? `${props.name}:UPDATE` : '',\n disabled: () => {\n return mode.value !== 'browse'\n },\n },\n {\n name: t('ep.header.save'),\n prop: 'save',\n permission: props.name ? `${props.name}:SAVE` : '',\n disabled: () => {\n return !(mode.value === 'edit' || mode.value === 'add')\n },\n },\n {\n name: t('ep.header.cancel'),\n prop: 'cancel',\n disabled: () => {\n return mode.value !== 'edit'\n },\n },\n {\n name: t('ep.header.refresh'),\n prop: 'refresh',\n permission: props.name ? `${props.name}:REFRESH` : '',\n disabled: () => {\n return mode.value !== 'browse'\n },\n },\n {\n name: t('ep.header.approvalLog'),\n prop: 'approvalLog',\n permission: props.name ? `${props.name}:APPROVALLOG` : '',\n show: () => {\n return !!props.workflowId\n },\n onClick: () => {\n gotoTaskTrace(props.workflowId!)\n },\n },\n ]\n // 过滤要显示的\n if (props.defaultButtons.length) {\n defaultButtons = defaultButtons.filter((item) => {\n return props.defaultButtons.some((item1) => item1 === item.prop)\n })\n }\n const buttons = mergeListByKey(defaultButtons, props.buttons)\n\n return {\n buttons,\n }\n}\n"],"names":[],"mappings":";;;;;;;AAOO,MAAM,SAAA,GAAY,CAAC,KAAA,EAAO,IAAA,KAAS;AACxC,EAAA,MAAM,SAAS,SAAA,EAAU;AACzB,EAAA,MAAM,UAAA,GAAa,SAAS,MAAM;AAChC,IAAA,IAAI,CAAC,MAAM,SAAA,EAAW;AACpB,MAAA,OAAO,KAAA;AAAA,IACT;AACA,IAAA,IAAI,MAAA,CAAO,OAAO,cAAA,EAAgB;AAChC,MAAA,OAAO,KAAA;AAAA,IACT;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAC,CAAA;AACD,EAAA,MAAM,SAAS,MAAM;AACnB,IAAA,MAAA,EAAQ,IAAA,EAAK;AAAA,EACf,CAAA;AACA,EAAA,OAAO;AAAA,IACL,UAAA;AAAA,IACA;AAAA,GACF;AACF;AACO,MAAM,UAAA,GAAa,CAAC,KAAA,EAAoB,IAAA,KAAS;AACtD,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,SAAA,EAAU;AACxB,EAAA,MAAM,EAAE,IAAA,EAAM,WAAA,EAAY,GAAI,aAAA,EAAc;AAC5C,EAAA,MAAM,IAAA,GAAO,SAAS,MAAM;AAC1B,IAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"use-header.mjs","sources":["../../../../../../packages/components/header/src/use-header.ts"],"sourcesContent":["import { computed } from 'vue'\nimport { useRouter, useRoute } from 'vue-router'\nimport type { HeaderProps } from '@el-plus/components/header'\nimport type { ButtonsProps } from '@el-plus/components/buttons'\nimport { mergeListByKey, gotoTaskTrace } from '@el-plus/utils'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nimport { useNavigation } from '@el-plus/hooks/use-navigation'\nexport const useHeader = (props, emit) => {\n const router = useRouter()\n const isShowBack = computed(() => {\n if (!props.allowBack) {\n return false\n }\n if (window.parent.openMenuSelect) {\n return false\n }\n return true\n })\n const goBack = () => {\n router?.back()\n }\n return {\n isShowBack,\n goBack,\n }\n}\nexport const useButtons = (props: HeaderProps, emit) => {\n const { t } = useLocale()\n const { mode: defaultMode } = useNavigation()\n const mode = computed(() => {\n return props.mode || defaultMode.value\n })\n let defaultButtons: ButtonsProps['list'] = [\n {\n name: t('ep.header.edit'),\n prop: 'modify',\n permission: props.name ? `${props.name}:UPDATE` : '',\n disabled: () => {\n return mode.value !== 'browse'\n },\n },\n {\n name: t('ep.header.save'),\n prop: 'save',\n permission: props.name ? `${props.name}:SAVE` : '',\n disabled: () => {\n return !(mode.value === 'edit' || mode.value === 'add')\n },\n },\n {\n name: t('ep.header.cancel'),\n prop: 'cancel',\n disabled: () => {\n return mode.value !== 'edit'\n },\n },\n {\n name: t('ep.header.refresh'),\n prop: 'refresh',\n permission: props.name ? `${props.name}:REFRESH` : '',\n disabled: () => {\n return mode.value !== 'browse'\n },\n },\n {\n name: t('ep.header.approvalLog'),\n prop: 'approvalLog',\n permission: props.name ? `${props.name}:APPROVALLOG` : '',\n show: () => {\n return !!props.workflowId\n },\n onClick: () => {\n gotoTaskTrace(props.workflowId!)\n },\n },\n ]\n // 过滤要显示的\n if (props.defaultButtons.length) {\n defaultButtons = defaultButtons.filter((item) => {\n return props.defaultButtons.some((item1) => item1 === item.prop)\n })\n }\n const buttons = mergeListByKey(defaultButtons, props.buttons)\n\n return {\n buttons,\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -2336,7 +2336,7 @@ export declare const EpSearchListPage: {
|
|
|
2336
2336
|
readonly __epPropKey: true;
|
|
2337
2337
|
};
|
|
2338
2338
|
labelWidth: {
|
|
2339
|
-
readonly default:
|
|
2339
|
+
readonly default: 100;
|
|
2340
2340
|
readonly type: import("vue").PropType<import("element-plus/es/utils/index.js").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
|
|
2341
2341
|
readonly required: false;
|
|
2342
2342
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
@@ -2465,7 +2465,7 @@ export declare const EpSearchListPage: {
|
|
|
2465
2465
|
readonly __epPropKey: true;
|
|
2466
2466
|
};
|
|
2467
2467
|
labelWidth: {
|
|
2468
|
-
readonly default:
|
|
2468
|
+
readonly default: 100;
|
|
2469
2469
|
readonly type: import("vue").PropType<import("element-plus/es/utils/index.js").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
|
|
2470
2470
|
readonly required: false;
|
|
2471
2471
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
@@ -4935,7 +4935,7 @@ export declare const EpSearchListPage: {
|
|
|
4935
4935
|
readonly __epPropKey: true;
|
|
4936
4936
|
};
|
|
4937
4937
|
labelWidth: {
|
|
4938
|
-
readonly default:
|
|
4938
|
+
readonly default: 100;
|
|
4939
4939
|
readonly type: import("vue").PropType<import("element-plus/es/utils/index.js").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
|
|
4940
4940
|
readonly required: false;
|
|
4941
4941
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
@@ -5064,7 +5064,7 @@ export declare const EpSearchListPage: {
|
|
|
5064
5064
|
readonly __epPropKey: true;
|
|
5065
5065
|
};
|
|
5066
5066
|
labelWidth: {
|
|
5067
|
-
readonly default:
|
|
5067
|
+
readonly default: 100;
|
|
5068
5068
|
readonly type: import("vue").PropType<import("element-plus/es/utils/index.js").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
|
|
5069
5069
|
readonly required: false;
|
|
5070
5070
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
@@ -7408,7 +7408,7 @@ export declare const EpSearchListPage: {
|
|
|
7408
7408
|
readonly __epPropKey: true;
|
|
7409
7409
|
};
|
|
7410
7410
|
labelWidth: {
|
|
7411
|
-
readonly default:
|
|
7411
|
+
readonly default: 100;
|
|
7412
7412
|
readonly type: import("vue").PropType<import("element-plus/es/utils/index.js").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
|
|
7413
7413
|
readonly required: false;
|
|
7414
7414
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
@@ -7537,7 +7537,7 @@ export declare const EpSearchListPage: {
|
|
|
7537
7537
|
readonly __epPropKey: true;
|
|
7538
7538
|
};
|
|
7539
7539
|
labelWidth: {
|
|
7540
|
-
readonly default:
|
|
7540
|
+
readonly default: 100;
|
|
7541
7541
|
readonly type: import("vue").PropType<import("element-plus/es/utils/index.js").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
|
|
7542
7542
|
readonly required: false;
|
|
7543
7543
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
@@ -2217,7 +2217,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
2217
2217
|
readonly __epPropKey: true;
|
|
2218
2218
|
};
|
|
2219
2219
|
labelWidth: {
|
|
2220
|
-
readonly default:
|
|
2220
|
+
readonly default: 100;
|
|
2221
2221
|
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
|
|
2222
2222
|
readonly required: false;
|
|
2223
2223
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
@@ -2346,7 +2346,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
2346
2346
|
readonly __epPropKey: true;
|
|
2347
2347
|
};
|
|
2348
2348
|
labelWidth: {
|
|
2349
|
-
readonly default:
|
|
2349
|
+
readonly default: 100;
|
|
2350
2350
|
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
|
|
2351
2351
|
readonly required: false;
|
|
2352
2352
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
@@ -2217,7 +2217,7 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
|
|
|
2217
2217
|
readonly __epPropKey: true;
|
|
2218
2218
|
};
|
|
2219
2219
|
labelWidth: {
|
|
2220
|
-
readonly default:
|
|
2220
|
+
readonly default: 100;
|
|
2221
2221
|
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
|
|
2222
2222
|
readonly required: false;
|
|
2223
2223
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
@@ -2346,7 +2346,7 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
|
|
|
2346
2346
|
readonly __epPropKey: true;
|
|
2347
2347
|
};
|
|
2348
2348
|
labelWidth: {
|
|
2349
|
-
readonly default:
|
|
2349
|
+
readonly default: 100;
|
|
2350
2350
|
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
|
|
2351
2351
|
readonly required: false;
|
|
2352
2352
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
@@ -193,12 +193,12 @@ export declare const EpSelect: {
|
|
|
193
193
|
popperOptions: Partial<import("element-plus").Options>;
|
|
194
194
|
multiple: boolean;
|
|
195
195
|
lazy: boolean;
|
|
196
|
+
valueOnClear: import("element-plus/es/utils/index.js").EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown>;
|
|
196
197
|
filterable: boolean;
|
|
197
198
|
disabledOption: (item: import("./src/select").SelectOption) => boolean;
|
|
198
199
|
autocomplete: string;
|
|
199
200
|
tabindex: import("element-plus/es/utils/index.js").EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>;
|
|
200
201
|
validateEvent: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
201
|
-
valueOnClear: import("element-plus/es/utils/index.js").EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown>;
|
|
202
202
|
automaticDropdown: boolean;
|
|
203
203
|
allowCreate: boolean;
|
|
204
204
|
remote: boolean;
|
|
@@ -403,12 +403,12 @@ export declare const EpSelect: {
|
|
|
403
403
|
popperOptions: Partial<import("element-plus").Options>;
|
|
404
404
|
multiple: boolean;
|
|
405
405
|
lazy: boolean;
|
|
406
|
+
valueOnClear: import("element-plus/es/utils/index.js").EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown>;
|
|
406
407
|
filterable: boolean;
|
|
407
408
|
disabledOption: (item: import("./src/select").SelectOption) => boolean;
|
|
408
409
|
autocomplete: string;
|
|
409
410
|
tabindex: import("element-plus/es/utils/index.js").EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>;
|
|
410
411
|
validateEvent: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
411
|
-
valueOnClear: import("element-plus/es/utils/index.js").EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown>;
|
|
412
412
|
automaticDropdown: boolean;
|
|
413
413
|
allowCreate: boolean;
|
|
414
414
|
remote: boolean;
|
|
@@ -623,12 +623,12 @@ export declare const EpSelect: {
|
|
|
623
623
|
popperOptions: Partial<import("element-plus").Options>;
|
|
624
624
|
multiple: boolean;
|
|
625
625
|
lazy: boolean;
|
|
626
|
+
valueOnClear: import("element-plus/es/utils/index.js").EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown>;
|
|
626
627
|
filterable: boolean;
|
|
627
628
|
disabledOption: (item: import("./src/select").SelectOption) => boolean;
|
|
628
629
|
autocomplete: string;
|
|
629
630
|
tabindex: import("element-plus/es/utils/index.js").EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>;
|
|
630
631
|
validateEvent: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
631
|
-
valueOnClear: import("element-plus/es/utils/index.js").EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown>;
|
|
632
632
|
automaticDropdown: boolean;
|
|
633
633
|
allowCreate: boolean;
|
|
634
634
|
remote: boolean;
|
|
@@ -351,12 +351,12 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
351
351
|
popperOptions: Partial<import("element-plus").Options>;
|
|
352
352
|
multiple: boolean;
|
|
353
353
|
lazy: boolean;
|
|
354
|
+
valueOnClear: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown>;
|
|
354
355
|
filterable: boolean;
|
|
355
356
|
disabledOption: (item: import("./select").SelectOption) => boolean;
|
|
356
357
|
autocomplete: string;
|
|
357
358
|
tabindex: import("element-plus/es/utils").EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>;
|
|
358
359
|
validateEvent: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
359
|
-
valueOnClear: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown>;
|
|
360
360
|
automaticDropdown: boolean;
|
|
361
361
|
allowCreate: boolean;
|
|
362
362
|
remote: boolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useTemplateRef, ref, useAttrs, getCurrentInstance, computed, reactive, createVNode, createTextVNode, toRaw } from 'vue';
|
|
1
|
+
import { useTemplateRef, ref, useAttrs, watch, getCurrentInstance, computed, reactive, nextTick, createVNode, createTextVNode, toRaw } from 'vue';
|
|
2
2
|
import { useRequest } from '../../../hooks/use-request.mjs';
|
|
3
3
|
import { prepareProps } from '../../../utils/props.mjs';
|
|
4
4
|
import { cloneDeep } from 'lodash-unified';
|
|
@@ -46,6 +46,7 @@ const useTable = (props) => {
|
|
|
46
46
|
const search = async (init = false, isPagination = false) => {
|
|
47
47
|
const beforeSearch = attrs["before-search"];
|
|
48
48
|
if (typeof beforeSearch === "function") {
|
|
49
|
+
await nextTick();
|
|
49
50
|
await beforeSearch?.();
|
|
50
51
|
}
|
|
51
52
|
if (init) {
|
|
@@ -72,6 +73,13 @@ const useTable = (props) => {
|
|
|
72
73
|
}
|
|
73
74
|
}
|
|
74
75
|
};
|
|
76
|
+
if (!props.api) {
|
|
77
|
+
watch(() => props.data, (newValue) => {
|
|
78
|
+
customData.value = newValue;
|
|
79
|
+
}, {
|
|
80
|
+
deep: true
|
|
81
|
+
});
|
|
82
|
+
}
|
|
75
83
|
const {
|
|
76
84
|
pagination,
|
|
77
85
|
paginationProps
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-table.mjs","sources":["../../../../../../packages/components/table/src/use-table.tsx"],"sourcesContent":["import type { FormInstance, TableInstance, FormItemProp } from 'element-plus'\nimport {\n ref,\n computed,\n type Ref,\n reactive,\n useTemplateRef,\n getCurrentInstance,\n toRaw,\n useAttrs,\n} from 'vue'\nimport { useRequest } from '@el-plus/hooks/use-request'\nimport type { TableColumn, TableProps, TableScope } from './table'\nimport type { ButtonProps } from '@el-plus/components/buttons'\nimport type { FormProps } from '@el-plus/components/form'\nimport { bus } from '@el-plus/utils'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { cloneDeep } from 'lodash-unified'\nimport { EditPen } from '@element-plus/icons-vue'\nimport { ElIcon } from 'element-plus'\nimport { useFormDialog } from '@el-plus/hooks/dialog/use-form-dialog'\n\nexport type ISearch = (init: boolean, isPagination?: boolean) => void\nexport const useTable = (props: TableProps) => {\n const elFormRef = useTemplateRef<FormInstance>('elFormRef')\n const elTableRef = useTemplateRef<TableInstance>('elTableRef')\n const customData = ref<Record<string, unknown>[]>([])\n const { loading, requestFn } = useRequest({\n api: props.api,\n method: props.method,\n reqData: props.reqData,\n reqParams: props.reqParams,\n reqBefore: props.reqBefore,\n reqAfter: props.reqAfter,\n cancelToken: true,\n hooks: {\n success(data) {\n if (Array.isArray(data)) {\n customData.value = data\n } else if (data && typeof data === 'object') {\n const rawData = data as Record<string, any>\n customData.value = rawData?.list || rawData?.data || []\n } else {\n customData.value = []\n }\n if (props.showPagination) {\n pagination.total =\n (props.isFrontPage\n ? customData.value.length\n : (data as { total: number }).total) || 0\n }\n },\n fail(error) {\n console.error(error)\n },\n },\n })\n // 自定义列\n const customColumns = ref<TableColumn[]>([])\n // 加载列表\n const attrs = useAttrs()\n const search: ISearch = async (init = false, isPagination = false) => {\n const beforeSearch = attrs['before-search']\n if (typeof beforeSearch === 'function') {\n await beforeSearch?.()\n }\n if (init) {\n pagination.pageNo = 1\n }\n // 前端分页\n if (isPagination && props.isFrontPage) {\n const { pageNo, pageSize } = pagination\n const data = customData.value.filter((item, index) => {\n return index < pageNo * pageSize && index >= (pageNo - 1) * pageSize\n })\n customData.value = data\n } else {\n if (props.api) {\n requestFn!({\n pageNo: pagination.pageNo,\n pageSize: pagination.pageSize,\n pageNum: pagination.pageNo,\n })\n } else if (props.data?.length) {\n customData.value = props.data\n }\n }\n }\n const { pagination, paginationProps } = usePagination(props, search)\n\n // 初始化加载\n ;(async () => {\n if (props.isInitSearch) {\n if (props.customColumnModule) {\n loading!.value = true\n const columns = await bus.once('loadedCustomColumn')\n loading!.value = false\n customColumns.value = columns\n bus.on('loadedCustomColumn', (columns: TableColumn[]) => {\n customColumns.value = columns\n })\n }\n search(true)\n }\n })()\n\n // 校验\n const validate = () => {\n return elFormRef.value!.validate()\n }\n // 重置校验\n const resetFields = (props: FormItemProp) => {\n return elFormRef.value!.resetFields(props)\n }\n // 清理某个字段的表单验证信息\n const clearValidate = (props: FormItemProp) => {\n return elFormRef.value!.clearValidate(props)\n }\n // 格式化操作按钮\n const formatActionButtons = (list: ButtonProps[], scope: TableScope) => {\n return list.map((item) => {\n if (item.onClick) {\n item.onClick = item.onClick.bind(null, scope)\n }\n return item\n })\n }\n\n return {\n loading,\n data: customData,\n search,\n pagination,\n paginationProps,\n validate,\n resetFields,\n clearValidate,\n elFormRef,\n elTableRef,\n formatActionButtons,\n customColumns: customColumns as unknown as Ref<TableColumn[]>,\n }\n}\nconst usePagination = function (props: TableProps, search: ISearch) {\n const pageSizes = [20, 50, 100, 200]\n const pagination = reactive({\n total: 0,\n pageNo: 1,\n pageSize: pageSizes[0],\n })\n const paginationProps = computed(() => {\n const defaultPaginationProps = props.paginationProps || {}\n const onSizeChange = defaultPaginationProps.onSizeChange\n const onCurrentChange = defaultPaginationProps.onCurrentChange\n return {\n ...defaultPaginationProps,\n pageSizes,\n layout: 'total, sizes, prev, pager, next, jumper',\n onSizeChange: (value: number) => {\n onSizeChange && onSizeChange(value)\n search(true, true)\n },\n onCurrentChange: (value: number) => {\n onCurrentChange && onCurrentChange(value)\n search(false, true)\n },\n }\n })\n return {\n pagination,\n paginationProps,\n }\n}\n\nexport const useTableColumn = (\n props: TableProps,\n tableData: Ref<TableProps['data']>,\n customColumns: Ref<TableColumn[]>,\n) => {\n const instance = getCurrentInstance()\n const columnProps = (column: TableColumn) => {\n const attrs = {\n 'show-overflow-tooltip': true,\n align: column.align || props.align,\n minWidth: column.minWidth || props.minWidth,\n // ...prepareEvents<TableEmits>(emit, tableEmits),\n } as TableColumn\n if (!column.renderHeader) {\n // 必填\n let required = column.required\n if (typeof column.required === 'function') {\n required = column.required()\n }\n // 批量编辑\n const editable = column.editable\n attrs['renderHeader'] = () => {\n return (\n <span>\n {required ? (\n <span style=\"color:var(--el-color-danger)\"> * </span>\n ) : (\n ''\n )}\n <span\n class={{ 'is-edit': editable }}\n onClick={\n editable\n ? async () => {\n const cloneColumn = { ...column }\n delete cloneColumn.editable\n const rawRender = cloneColumn.render\n const formData = reactive({})\n if (rawRender) {\n cloneColumn.render = () => {\n return rawRender({\n row: formData,\n })\n }\n }\n const formDialog = useFormDialog({\n title: cloneColumn.label,\n dialogProps: {\n destroyOnClose: true,\n instance,\n },\n formItemList: [\n cloneColumn,\n ] as FormProps['formItemList'],\n formData,\n // formData: reactive({}),\n })\n const data = (await formDialog.open()) as Record<\n string,\n any\n >\n ;(tableData.value || []).forEach((item) => {\n item[column.prop!] = data![column.prop!]\n })\n if (typeof editable === 'function') {\n editable(toRaw(data))\n }\n }\n : void 0\n }\n >\n {column.label}\n {editable ? (\n <ElIcon>\n <EditPen />\n </ElIcon>\n ) : (\n ''\n )}\n </span>\n </span>\n )\n }\n }\n if (column.filter) {\n const arr = tableData.value!.map((item) => item[column.prop!])\n attrs.filters = [...new Set(arr)].map((item) => {\n return {\n text: item,\n value: item,\n }\n })\n attrs.filterMethod = (value, row) => {\n return row[column.prop!] === value\n }\n }\n if (column.type === 'EpLink') {\n attrs.className = 'table-column-link'\n }\n\n return {\n ...attrs,\n ...prepareProps(column),\n }\n }\n const columnList = computed(() => {\n const columns = props.customColumnModule\n ? customColumns.value\n : props.columns\n return columns!\n .map((column: TableColumn) => {\n let newColumn = { ...column }\n if (props.formatColumns!.length) {\n const formatColumn = props.formatColumns!.find(\n (item) => item.prop === column.prop,\n )\n if (formatColumn) {\n newColumn = { ...newColumn, ...formatColumn }\n }\n }\n return newColumn\n })\n .filter((column) => {\n if ('show' in column) {\n return typeof column.show === 'function'\n ? column.show(column)\n : column.show\n } else if ('hide' in column) {\n return typeof column.hide === 'function'\n ? !column.hide(column)\n : !column.hide\n }\n return true\n })\n })\n return {\n columnProps,\n columnList,\n }\n}\n\nexport const useTableFormItem = (props: TableProps) => {\n const formItemProps = (scope: TableScope, rawItem: TableColumn) => {\n const item = cloneDeep(rawItem)\n let required = item.required\n if (typeof required === 'function') {\n required = required()\n }\n if (item.cellRequired) {\n required = item.cellRequired(scope)\n }\n let disabled = props.disabled\n if ('disabled' in item) {\n if (typeof item.disabled === 'function') {\n disabled = item.disabled(scope)\n } else {\n disabled = item.disabled || false\n }\n }\n if (item.type === 'EpSelect' && item.props) {\n if ('options' in item.props && typeof item.props.options === 'function') {\n item.props.options = item.props.options(scope)\n }\n if (\n 'disabledOption' in item.props &&\n typeof item.props.disabledOption === 'function'\n ) {\n const disabledOption = item.props.disabledOption\n item.props.disabledOption = (...args: unknown[]) =>\n disabledOption(...args, scope)\n }\n }\n\n if (item.type === 'EpButtons' && item.props) {\n item.props.list.forEach((btnItem: ButtonProps) => {\n if (btnItem.prop) {\n btnItem.name = scope.row[btnItem.prop] as string\n }\n if (btnItem.onClick) {\n btnItem.onClick = btnItem.onClick.bind(null, scope)\n }\n })\n }\n if (item.type === 'EpLink') {\n ;(item.props ? item.props : (item.props = {})).content =\n item.props.content || scope.row[item.prop!]\n }\n for (const key in item) {\n if (key.startsWith('on') && typeof item[key] === 'function') {\n const fn = item[key]\n item[key] = (...args: unknown[]) => {\n let event: Event | unknown\n if (args[0] instanceof Event) {\n // 删除 event\n event = args.shift()\n }\n return fn(...args, scope, event)\n }\n }\n }\n return {\n ...prepareProps(item),\n isShowLabel: false,\n required,\n hideRequiredAsterisk: 'cellRequired' in item ? false : required,\n prop: `table.${scope.$index}.${item.prop}`,\n tableProp: item.prop, // table里的表单需要绑定的prop\n props: {\n ...item.props,\n disabled,\n },\n }\n }\n return {\n formItemProps,\n }\n}\n"],"names":["useTable","props","elFormRef","useTemplateRef","elTableRef","customData","ref","loading","requestFn","useRequest","api","method","reqData","reqParams","reqBefore","reqAfter","cancelToken","hooks","success","data","Array","isArray","value","rawData","list","showPagination","pagination","total","isFrontPage","length","fail","error","console","customColumns","attrs","useAttrs","search","init","isPagination","beforeSearch","pageNo","pageSize","filter","item","index","pageNum","paginationProps","usePagination","isInitSearch","customColumnModule","columns","bus","once","on","validate","resetFields","clearValidate","formatActionButtons","scope","map","onClick","bind","pageSizes","reactive","computed","defaultPaginationProps","onSizeChange","onCurrentChange","layout","useTableColumn","tableData","instance","getCurrentInstance","columnProps","column","align","minWidth","renderHeader","required","editable","_createVNode","_createTextVNode","cloneColumn","rawRender","render","formData","row","formDialog","useFormDialog","title","label","dialogProps","destroyOnClose","formItemList","open","forEach","prop","toRaw","ElIcon","default","EditPen","arr","filters","Set","text","filterMethod","type","className","prepareProps","columnList","newColumn","formatColumns","formatColumn","find","show","hide","useTableFormItem","formItemProps","rawItem","cloneDeep","cellRequired","disabled","options","disabledOption","args","btnItem","name","content","key","startsWith","fn","event","Event","shift","isShowLabel","hideRequiredAsterisk","$index","tableProp"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-table.mjs","sources":["../../../../../../packages/components/table/src/use-table.tsx"],"sourcesContent":["import type { FormInstance, TableInstance, FormItemProp } from 'element-plus'\nimport {\n ref,\n computed,\n type Ref,\n reactive,\n useTemplateRef,\n getCurrentInstance,\n toRaw,\n useAttrs,\n nextTick,\n watch,\n} from 'vue'\nimport { useRequest } from '@el-plus/hooks/use-request'\nimport type { TableColumn, TableProps, TableScope } from './table'\nimport type { ButtonProps } from '@el-plus/components/buttons'\nimport type { FormProps } from '@el-plus/components/form'\nimport { bus } from '@el-plus/utils'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { cloneDeep } from 'lodash-unified'\nimport { EditPen } from '@element-plus/icons-vue'\nimport { ElIcon } from 'element-plus'\nimport { useFormDialog } from '@el-plus/hooks/dialog/use-form-dialog'\n\nexport type ISearch = (init: boolean, isPagination?: boolean) => void\nexport const useTable = (props: TableProps) => {\n const elFormRef = useTemplateRef<FormInstance>('elFormRef')\n const elTableRef = useTemplateRef<TableInstance>('elTableRef')\n const customData = ref<Record<string, unknown>[]>([])\n const { loading, requestFn } = useRequest({\n api: props.api,\n method: props.method,\n reqData: props.reqData,\n reqParams: props.reqParams,\n reqBefore: props.reqBefore,\n reqAfter: props.reqAfter,\n cancelToken: true,\n hooks: {\n success(data) {\n if (Array.isArray(data)) {\n customData.value = data\n } else if (data && typeof data === 'object') {\n const rawData = data as Record<string, any>\n customData.value = rawData?.list || rawData?.data || []\n } else {\n customData.value = []\n }\n if (props.showPagination) {\n pagination.total =\n (props.isFrontPage\n ? customData.value.length\n : (data as { total: number }).total) || 0\n }\n },\n fail(error) {\n console.error(error)\n },\n },\n })\n // 自定义列\n const customColumns = ref<TableColumn[]>([])\n // 加载列表\n const attrs = useAttrs()\n const search: ISearch = async (init = false, isPagination = false) => {\n const beforeSearch = attrs['before-search']\n if (typeof beforeSearch === 'function') {\n await nextTick()\n await beforeSearch?.()\n }\n if (init) {\n pagination.pageNo = 1\n }\n // 前端分页\n if (isPagination && props.isFrontPage) {\n const { pageNo, pageSize } = pagination\n const data = customData.value.filter((item, index) => {\n return index < pageNo * pageSize && index >= (pageNo - 1) * pageSize\n })\n customData.value = data\n } else {\n if (props.api) {\n requestFn!({\n pageNo: pagination.pageNo,\n pageSize: pagination.pageSize,\n pageNum: pagination.pageNo,\n })\n } else if (props.data?.length) {\n customData.value = props.data\n }\n }\n }\n if (!props.api) {\n watch(\n () => props.data,\n (newValue) => {\n customData.value = newValue as Record<string, any>[]\n },\n {\n deep: true,\n },\n )\n }\n\n const { pagination, paginationProps } = usePagination(props, search)\n\n // 初始化加载\n ;(async () => {\n if (props.isInitSearch) {\n if (props.customColumnModule) {\n loading!.value = true\n const columns = await bus.once('loadedCustomColumn')\n loading!.value = false\n customColumns.value = columns\n bus.on('loadedCustomColumn', (columns: TableColumn[]) => {\n customColumns.value = columns\n })\n }\n search(true)\n }\n })()\n\n // 校验\n const validate = () => {\n return elFormRef.value!.validate()\n }\n // 重置校验\n const resetFields = (props: FormItemProp) => {\n return elFormRef.value!.resetFields(props)\n }\n // 清理某个字段的表单验证信息\n const clearValidate = (props: FormItemProp) => {\n return elFormRef.value!.clearValidate(props)\n }\n // 格式化操作按钮\n const formatActionButtons = (list: ButtonProps[], scope: TableScope) => {\n return list.map((item) => {\n if (item.onClick) {\n item.onClick = item.onClick.bind(null, scope)\n }\n return item\n })\n }\n\n return {\n loading,\n data: customData,\n search,\n pagination,\n paginationProps,\n validate,\n resetFields,\n clearValidate,\n elFormRef,\n elTableRef,\n formatActionButtons,\n customColumns: customColumns as unknown as Ref<TableColumn[]>,\n }\n}\nconst usePagination = function (props: TableProps, search: ISearch) {\n const pageSizes = [20, 50, 100, 200]\n const pagination = reactive({\n total: 0,\n pageNo: 1,\n pageSize: pageSizes[0],\n })\n const paginationProps = computed(() => {\n const defaultPaginationProps = props.paginationProps || {}\n const onSizeChange = defaultPaginationProps.onSizeChange\n const onCurrentChange = defaultPaginationProps.onCurrentChange\n return {\n ...defaultPaginationProps,\n pageSizes,\n layout: 'total, sizes, prev, pager, next, jumper',\n onSizeChange: (value: number) => {\n onSizeChange && onSizeChange(value)\n search(true, true)\n },\n onCurrentChange: (value: number) => {\n onCurrentChange && onCurrentChange(value)\n search(false, true)\n },\n }\n })\n return {\n pagination,\n paginationProps,\n }\n}\n\nexport const useTableColumn = (\n props: TableProps,\n tableData: Ref<TableProps['data']>,\n customColumns: Ref<TableColumn[]>,\n) => {\n const instance = getCurrentInstance()\n const columnProps = (column: TableColumn) => {\n const attrs = {\n 'show-overflow-tooltip': true,\n align: column.align || props.align,\n minWidth: column.minWidth || props.minWidth,\n // ...prepareEvents<TableEmits>(emit, tableEmits),\n } as TableColumn\n if (!column.renderHeader) {\n // 必填\n let required = column.required\n if (typeof column.required === 'function') {\n required = column.required()\n }\n // 批量编辑\n const editable = column.editable\n attrs['renderHeader'] = () => {\n return (\n <span>\n {required ? (\n <span style=\"color:var(--el-color-danger)\"> * </span>\n ) : (\n ''\n )}\n <span\n class={{ 'is-edit': editable }}\n onClick={\n editable\n ? async () => {\n const cloneColumn = { ...column }\n delete cloneColumn.editable\n const rawRender = cloneColumn.render\n const formData = reactive({})\n if (rawRender) {\n cloneColumn.render = () => {\n return rawRender({\n row: formData,\n })\n }\n }\n const formDialog = useFormDialog({\n title: cloneColumn.label,\n dialogProps: {\n destroyOnClose: true,\n instance,\n },\n formItemList: [\n cloneColumn,\n ] as FormProps['formItemList'],\n formData,\n // formData: reactive({}),\n })\n const data = (await formDialog.open()) as Record<\n string,\n any\n >\n ;(tableData.value || []).forEach((item) => {\n item[column.prop!] = data![column.prop!]\n })\n if (typeof editable === 'function') {\n editable(toRaw(data))\n }\n }\n : void 0\n }\n >\n {column.label}\n {editable ? (\n <ElIcon>\n <EditPen />\n </ElIcon>\n ) : (\n ''\n )}\n </span>\n </span>\n )\n }\n }\n if (column.filter) {\n const arr = tableData.value!.map((item) => item[column.prop!])\n attrs.filters = [...new Set(arr)].map((item) => {\n return {\n text: item,\n value: item,\n }\n })\n attrs.filterMethod = (value, row) => {\n return row[column.prop!] === value\n }\n }\n if (column.type === 'EpLink') {\n attrs.className = 'table-column-link'\n }\n\n return {\n ...attrs,\n ...prepareProps(column),\n }\n }\n const columnList = computed(() => {\n const columns = props.customColumnModule\n ? customColumns.value\n : props.columns\n return columns!\n .map((column: TableColumn) => {\n let newColumn = { ...column }\n if (props.formatColumns!.length) {\n const formatColumn = props.formatColumns!.find(\n (item) => item.prop === column.prop,\n )\n if (formatColumn) {\n newColumn = { ...newColumn, ...formatColumn }\n }\n }\n return newColumn\n })\n .filter((column) => {\n if ('show' in column) {\n return typeof column.show === 'function'\n ? column.show(column)\n : column.show\n } else if ('hide' in column) {\n return typeof column.hide === 'function'\n ? !column.hide(column)\n : !column.hide\n }\n return true\n })\n })\n return {\n columnProps,\n columnList,\n }\n}\n\nexport const useTableFormItem = (props: TableProps) => {\n const formItemProps = (scope: TableScope, rawItem: TableColumn) => {\n const item = cloneDeep(rawItem)\n let required = item.required\n if (typeof required === 'function') {\n required = required()\n }\n if (item.cellRequired) {\n required = item.cellRequired(scope)\n }\n let disabled = props.disabled\n if ('disabled' in item) {\n if (typeof item.disabled === 'function') {\n disabled = item.disabled(scope)\n } else {\n disabled = item.disabled || false\n }\n }\n if (item.type === 'EpSelect' && item.props) {\n if ('options' in item.props && typeof item.props.options === 'function') {\n item.props.options = item.props.options(scope)\n }\n if (\n 'disabledOption' in item.props &&\n typeof item.props.disabledOption === 'function'\n ) {\n const disabledOption = item.props.disabledOption\n item.props.disabledOption = (...args: unknown[]) =>\n disabledOption(...args, scope)\n }\n }\n\n if (item.type === 'EpButtons' && item.props) {\n item.props.list.forEach((btnItem: ButtonProps) => {\n if (btnItem.prop) {\n btnItem.name = scope.row[btnItem.prop] as string\n }\n if (btnItem.onClick) {\n btnItem.onClick = btnItem.onClick.bind(null, scope)\n }\n })\n }\n if (item.type === 'EpLink') {\n ;(item.props ? item.props : (item.props = {})).content =\n item.props.content || scope.row[item.prop!]\n }\n for (const key in item) {\n if (key.startsWith('on') && typeof item[key] === 'function') {\n const fn = item[key]\n item[key] = (...args: unknown[]) => {\n let event: Event | unknown\n if (args[0] instanceof Event) {\n // 删除 event\n event = args.shift()\n }\n return fn(...args, scope, event)\n }\n }\n }\n return {\n ...prepareProps(item),\n isShowLabel: false,\n required,\n hideRequiredAsterisk: 'cellRequired' in item ? false : required,\n prop: `table.${scope.$index}.${item.prop}`,\n tableProp: item.prop, // table里的表单需要绑定的prop\n props: {\n ...item.props,\n disabled,\n },\n }\n }\n return {\n formItemProps,\n }\n}\n"],"names":["useTable","props","elFormRef","useTemplateRef","elTableRef","customData","ref","loading","requestFn","useRequest","api","method","reqData","reqParams","reqBefore","reqAfter","cancelToken","hooks","success","data","Array","isArray","value","rawData","list","showPagination","pagination","total","isFrontPage","length","fail","error","console","customColumns","attrs","useAttrs","search","init","isPagination","beforeSearch","nextTick","pageNo","pageSize","filter","item","index","pageNum","watch","newValue","deep","paginationProps","usePagination","isInitSearch","customColumnModule","columns","bus","once","on","validate","resetFields","clearValidate","formatActionButtons","scope","map","onClick","bind","pageSizes","reactive","computed","defaultPaginationProps","onSizeChange","onCurrentChange","layout","useTableColumn","tableData","instance","getCurrentInstance","columnProps","column","align","minWidth","renderHeader","required","editable","_createVNode","_createTextVNode","cloneColumn","rawRender","render","formData","row","formDialog","useFormDialog","title","label","dialogProps","destroyOnClose","formItemList","open","forEach","prop","toRaw","ElIcon","default","EditPen","arr","filters","Set","text","filterMethod","type","className","prepareProps","columnList","newColumn","formatColumns","formatColumn","find","show","hide","useTableFormItem","formItemProps","rawItem","cloneDeep","cellRequired","disabled","options","disabledOption","args","btnItem","name","content","key","startsWith","fn","event","Event","shift","isShowLabel","hideRequiredAsterisk","$index","tableProp"],"mappings":"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"}
|