el-plus 0.0.50 → 0.0.52
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.full.js +63 -16
- 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 +63 -16
- package/es/components/attachment/src/attachment.d.ts +4 -3
- package/es/components/attachment/src/attachment.mjs +1 -2
- package/es/components/attachment/src/attachment.mjs.map +1 -1
- package/es/components/attachment/src/attachment.vue2.mjs +2 -2
- package/es/components/attachment/src/attachment.vue2.mjs.map +1 -1
- package/es/components/attachment/src/use-attachment.mjs +2 -0
- package/es/components/attachment/src/use-attachment.mjs.map +1 -1
- package/es/components/custom-column/src/custom-column.vue2.mjs +1 -1
- package/es/components/custom-column/src/custom-column.vue2.mjs.map +1 -1
- package/es/components/header/index.d.ts +90 -0
- package/es/components/header/src/header.d.ts +9 -0
- package/es/components/header/src/header.mjs +10 -0
- package/es/components/header/src/header.mjs.map +1 -1
- package/es/components/header/src/header.vue.d.ts +38 -0
- package/es/components/header/src/header.vue2.mjs +4 -3
- package/es/components/header/src/header.vue2.mjs.map +1 -1
- package/es/components/search-list-page/index.d.ts +11 -3
- package/es/components/search-list-page/index.mjs.map +1 -1
- package/es/components/search-list-page/src/search-list-page.vue.d.ts +3 -1
- package/es/components/search-list-page/src/use-search-list-page.d.ts +3 -1
- package/es/components/search-list-page/src/use-search-list-page.mjs +1 -1
- package/es/components/search-list-page/src/use-search-list-page.mjs.map +1 -1
- package/es/components/table/index.d.ts +3 -0
- package/es/components/table/src/table.vue.d.ts +1 -0
- package/es/components/table/src/table.vue2.mjs +2 -0
- package/es/components/table/src/table.vue2.mjs.map +1 -1
- package/es/components/table/src/use-table.d.ts +1 -0
- package/es/components/table/src/use-table.mjs +4 -0
- package/es/components/table/src/use-table.mjs.map +1 -1
- package/es/hooks/dialog/use-choose-dialog.mjs +18 -3
- package/es/hooks/dialog/use-choose-dialog.mjs.map +1 -1
- package/es/hooks/dialog/use-form-dialog.mjs +14 -2
- package/es/hooks/dialog/use-form-dialog.mjs.map +1 -1
- package/es/hooks/use-request.mjs +4 -3
- package/es/hooks/use-request.mjs.map +1 -1
- package/es/package.json.mjs +1 -1
- package/lib/components/attachment/src/attachment.d.ts +4 -3
- package/lib/components/attachment/src/attachment.js +1 -2
- package/lib/components/attachment/src/attachment.js.map +1 -1
- package/lib/components/attachment/src/attachment.vue2.js +2 -2
- package/lib/components/attachment/src/attachment.vue2.js.map +1 -1
- package/lib/components/attachment/src/use-attachment.js +2 -0
- package/lib/components/attachment/src/use-attachment.js.map +1 -1
- package/lib/components/custom-column/src/custom-column.vue2.js +1 -1
- package/lib/components/custom-column/src/custom-column.vue2.js.map +1 -1
- package/lib/components/header/index.d.ts +90 -0
- package/lib/components/header/src/header.d.ts +9 -0
- package/lib/components/header/src/header.js +10 -0
- package/lib/components/header/src/header.js.map +1 -1
- package/lib/components/header/src/header.vue.d.ts +38 -0
- package/lib/components/header/src/header.vue2.js +3 -2
- package/lib/components/header/src/header.vue2.js.map +1 -1
- package/lib/components/search-list-page/index.d.ts +11 -3
- package/lib/components/search-list-page/index.js.map +1 -1
- package/lib/components/search-list-page/src/search-list-page.vue.d.ts +3 -1
- package/lib/components/search-list-page/src/use-search-list-page.d.ts +3 -1
- package/lib/components/search-list-page/src/use-search-list-page.js +1 -1
- package/lib/components/search-list-page/src/use-search-list-page.js.map +1 -1
- package/lib/components/table/index.d.ts +3 -0
- package/lib/components/table/src/table.vue.d.ts +1 -0
- package/lib/components/table/src/table.vue2.js +2 -0
- package/lib/components/table/src/table.vue2.js.map +1 -1
- package/lib/components/table/src/use-table.d.ts +1 -0
- package/lib/components/table/src/use-table.js +4 -0
- package/lib/components/table/src/use-table.js.map +1 -1
- package/lib/hooks/dialog/use-choose-dialog.js +17 -2
- package/lib/hooks/dialog/use-choose-dialog.js.map +1 -1
- package/lib/hooks/dialog/use-form-dialog.js +14 -2
- package/lib/hooks/dialog/use-form-dialog.js.map +1 -1
- package/lib/hooks/use-request.js +4 -3
- package/lib/hooks/use-request.js.map +1 -1
- package/lib/package.json.js +1 -1
- package/package.json +1 -1
|
@@ -20,6 +20,14 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
20
20
|
readonly type: BooleanConstructor;
|
|
21
21
|
readonly default: false;
|
|
22
22
|
};
|
|
23
|
+
readonly fileList: {
|
|
24
|
+
readonly type: import("vue").PropType<Record<string, any>[]>;
|
|
25
|
+
readonly default: () => never[];
|
|
26
|
+
};
|
|
27
|
+
readonly attachmentProps: {
|
|
28
|
+
readonly type: import("vue").PropType<import("el-plus/es/components/attachment").AttachmentProps>;
|
|
29
|
+
readonly default: () => void;
|
|
30
|
+
};
|
|
23
31
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
24
32
|
readonly mode: {
|
|
25
33
|
readonly type: import("vue").PropType<import("el-plus/es/hooks").PageMode>;
|
|
@@ -42,6 +50,14 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
42
50
|
readonly type: BooleanConstructor;
|
|
43
51
|
readonly default: false;
|
|
44
52
|
};
|
|
53
|
+
readonly fileList: {
|
|
54
|
+
readonly type: import("vue").PropType<Record<string, any>[]>;
|
|
55
|
+
readonly default: () => never[];
|
|
56
|
+
};
|
|
57
|
+
readonly attachmentProps: {
|
|
58
|
+
readonly type: import("vue").PropType<import("el-plus/es/components/attachment").AttachmentProps>;
|
|
59
|
+
readonly default: () => void;
|
|
60
|
+
};
|
|
45
61
|
}>> & Readonly<{}>, {
|
|
46
62
|
readonly buttons: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
|
|
47
63
|
name: string;
|
|
@@ -59,6 +75,28 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
59
75
|
readonly allowBack: boolean;
|
|
60
76
|
readonly defaultButtons: import("./header").defaultButtonsProps[];
|
|
61
77
|
readonly isShowAttachmentButton: boolean;
|
|
78
|
+
readonly fileList: Record<string, any>[];
|
|
79
|
+
readonly attachmentProps: {
|
|
80
|
+
readonly mode?: import("el-plus/es/hooks").PageMode | undefined;
|
|
81
|
+
readonly formatColumns?: Partial<import("element-plus").TableColumnCtx & {
|
|
82
|
+
[key: string]: any;
|
|
83
|
+
required: boolean | (() => boolean);
|
|
84
|
+
cellRequired: (scope: import("el-plus/es").TableScope) => boolean;
|
|
85
|
+
headerRender: import("element-plus").TableColumnCtx["renderHeader"];
|
|
86
|
+
disabled: boolean | ((scope: import("el-plus/es").TableScope) => boolean);
|
|
87
|
+
type: string;
|
|
88
|
+
props: Record<string, any>;
|
|
89
|
+
filter: boolean;
|
|
90
|
+
editable: boolean | ((formData: Record<string, any>) => void);
|
|
91
|
+
} & {} & {
|
|
92
|
+
show?: (boolean | ((T: unknown) => boolean)) | undefined;
|
|
93
|
+
hide?: (boolean | ((T: unknown) => boolean)) | undefined;
|
|
94
|
+
}>[] | undefined;
|
|
95
|
+
readonly openType?: "dialog" | "normal" | undefined;
|
|
96
|
+
readonly isType?: boolean | undefined;
|
|
97
|
+
readonly isNote?: boolean | undefined;
|
|
98
|
+
readonly isShowOpenDialogButton?: boolean | undefined;
|
|
99
|
+
};
|
|
62
100
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
63
101
|
declare const _default: typeof __VLS_export;
|
|
64
102
|
export default _default;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, createElementBlock, openBlock, normalizeStyle, normalizeClass, unref, createBlock, createCommentVNode, createVNode, withCtx } from 'vue';
|
|
1
|
+
import { defineComponent, createElementBlock, openBlock, normalizeStyle, normalizeClass, unref, createBlock, createCommentVNode, createVNode, withCtx, mergeProps } from 'vue';
|
|
2
2
|
import { createNameSpace } from '../../../utils/bem.mjs';
|
|
3
3
|
import { headerEmits, headerProps } from './header.mjs';
|
|
4
4
|
import { prepareStyles, prepareClassNames } from '../../../utils/props.mjs';
|
|
@@ -35,10 +35,11 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
35
35
|
_: 1
|
|
36
36
|
}, 8, ["onBack"])) : createCommentVNode("", true),
|
|
37
37
|
createVNode(unref(EpButtons), { list: unref(buttons) }, null, 8, ["list"]),
|
|
38
|
-
props.isShowAttachmentButton ? (openBlock(), createBlock(unref(EpAttachment), {
|
|
38
|
+
props.isShowAttachmentButton ? (openBlock(), createBlock(unref(EpAttachment), mergeProps({
|
|
39
39
|
key: 1,
|
|
40
|
+
"model-value": props.fileList,
|
|
40
41
|
"is-show-open-dialog-button": ""
|
|
41
|
-
})) : createCommentVNode("", true)
|
|
42
|
+
}, props.attachmentProps), null, 16, ["model-value"])) : createCommentVNode("", true)
|
|
42
43
|
], 6);
|
|
43
44
|
};
|
|
44
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.vue2.mjs","sources":["../../../../../../packages/components/header/src/header.vue"],"sourcesContent":["<template>\n <div\n :class=\"[bem.b(), prepareClassNames()]\"\n :style=\"{\n ...prepareStyles(),\n }\"\n >\n <el-page-header v-if=\"isShowBack\" @back=\"goBack\">\n <template #content> </template>\n </el-page-header>\n <EpButtons :list=\"buttons\" />\n <EpAttachment\n v-if=\"props.isShowAttachmentButton\"\n is-show-open-dialog-button\n />\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { headerProps, headerEmits } from './header'\nimport { prepareClassNames, prepareStyles } from '@el-plus/utils/props'\nimport { useHeader, useButtons } from './use-header'\nimport { ElPageHeader } from 'element-plus'\nimport EpButtons from '@el-plus/components/buttons'\nimport EpAttachment from '@el-plus/components/attachment'\ndefineOptions({\n name: 'EpHeader',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('header')\nconst props = defineProps(headerProps)\nconst emit = defineEmits(headerEmits)\nconst { isShowBack, goBack } = useHeader(props, emit)\nconst { buttons } = useButtons(props, emit)\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_unref","_normalizeStyle","_createBlock","_createVNode"],"mappings":";;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"header.vue2.mjs","sources":["../../../../../../packages/components/header/src/header.vue"],"sourcesContent":["<template>\n <div\n :class=\"[bem.b(), prepareClassNames()]\"\n :style=\"{\n ...prepareStyles(),\n }\"\n >\n <el-page-header v-if=\"isShowBack\" @back=\"goBack\">\n <template #content> </template>\n </el-page-header>\n <EpButtons :list=\"buttons\" />\n <EpAttachment\n v-if=\"props.isShowAttachmentButton\"\n :model-value=\"props.fileList\"\n is-show-open-dialog-button\n v-bind=\"props.attachmentProps\"\n />\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { headerProps, headerEmits } from './header'\nimport { prepareClassNames, prepareStyles } from '@el-plus/utils/props'\nimport { useHeader, useButtons } from './use-header'\nimport { ElPageHeader } from 'element-plus'\nimport EpButtons from '@el-plus/components/buttons'\nimport EpAttachment from '@el-plus/components/attachment'\ndefineOptions({\n name: 'EpHeader',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('header')\nconst props = defineProps(headerProps)\nconst emit = defineEmits(headerEmits)\nconst { isShowBack, goBack } = useHeader(props, emit)\nconst { buttons } = useButtons(props, emit)\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_unref","_normalizeStyle","_createBlock","_createVNode","_openBlock","_mergeProps"],"mappings":";;;;;;;;;;;;;;;;;;AA+BA,IAAA,MAAM,GAAA,GAAM,gBAAgB,QAAQ,CAAA;AACpC,IAAA,MAAM,KAAA,GAAQ,OAAA;AAEd,IAAA,MAAM,EAAE,UAAA,EAAY,MAAA,EAAO,GAAI,SAAA,CAAU,KAAW,CAAA;AACpD,IAAA,MAAM,EAAE,OAAA,EAAQ,GAAI,UAAA,CAAW,KAAW,CAAA;;0BAlCxCA,kBAAA,CAgBM,KAAA,EAAA;AAAA,QAfH,KAAA,EAAKC,cAAA,CAAA,CAAGC,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,IAAKA,KAAA,CAAA,iBAAA,CAAA,EAAiB,CAAA,CAAA;AAAA,QAClC,OAAKC,cAAA,CAAA;AAAA,aAAaD,KAAA,CAAA,aAAA,CAAA;AAAa;;QAIVA,KAAA,CAAA,UAAA,CAAA,iBAAtBE,WAAA,CAEiBF,KAAA,CAAA,YAAA,CAAA,EAAA;AAAA;UAFkB,MAAA,EAAMA,MAAA,MAAA;AAAA;UAC5B,OAAA,UAAX,MAA+B,EAAA,CAAA;AAAA;;QAEjCG,WAAA,CAA6BH,KAAA,CAAA,SAAA,CAAA,EAAA,EAAjB,IAAA,EAAMA,KAAA,CAAA,OAAA,CAAA,EAAO,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AAAA,QAEjB,KAAA,CAAM,0BADdI,SAAA,EAAA,EAAAF,YAKEF,KAAA,gBALFK,UAAA,CAKE;AAAA;UAHC,eAAa,KAAA,CAAM,QAAA;AAAA,UACpB,4BAAA,EAAA;AAAA,SACQ,EAAA,KAAA,CAAM,eAAe,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,CAAA;;;;;;;;"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import SearchListPage from './src/search-list-page.vue';
|
|
1
2
|
export declare const EpSearchListPage: {
|
|
2
3
|
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
|
|
3
4
|
readonly customColumnModule: {
|
|
@@ -1214,6 +1215,7 @@ export declare const EpSearchListPage: {
|
|
|
1214
1215
|
validate: () => import("element-plus").FormValidationResult;
|
|
1215
1216
|
resetFields: (props: import("element-plus").FormItemProp) => void;
|
|
1216
1217
|
clearValidate: (props: import("element-plus").FormItemProp) => void;
|
|
1218
|
+
clearSelection: () => void;
|
|
1217
1219
|
search: import("../table/src/use-table.jsx").ISearch;
|
|
1218
1220
|
openCustomColumnDialog: () => void;
|
|
1219
1221
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
|
|
@@ -2259,12 +2261,13 @@ export declare const EpSearchListPage: {
|
|
|
2259
2261
|
};
|
|
2260
2262
|
readonly preserveExpandedContent: BooleanConstructor;
|
|
2261
2263
|
readonly nativeScrollbar: BooleanConstructor;
|
|
2262
|
-
}>> & Readonly<{}>, "search" | "validate" | "resetFields" | "clearValidate" | "elFormRef" | "elTableRef" | "openCustomColumnDialog" | ("data" | "style" | "size" | "disabled" | "lazy" | "headerCellStyle" | "className" | "columns" | "showSelectionCol" | "showSingleSelectionCol" | "showIndexCol" | "align" | "actionColWidth" | "reserveSelection" | "paginationProps" | "showPagination" | "isFrontPage" | "actionButtons" | "formatColumns" | "isInitSearch" | "border" | "fit" | "stripe" | "showHeader" | "showSummary" | "highlightCurrentRow" | "defaultExpandAll" | "selectOnIndeterminate" | "indent" | "treeProps" | "tableLayout" | "scrollbarAlwaysOn" | "flexible" | "scrollbarTabindex" | "allowDragLastColumn" | "preserveExpandedContent" | "nativeScrollbar")> & import("vue").ShallowUnwrapRef<{
|
|
2264
|
+
}>> & Readonly<{}>, "search" | "clearSelection" | "validate" | "resetFields" | "clearValidate" | "elFormRef" | "elTableRef" | "openCustomColumnDialog" | ("data" | "style" | "size" | "disabled" | "lazy" | "headerCellStyle" | "className" | "columns" | "showSelectionCol" | "showSingleSelectionCol" | "showIndexCol" | "align" | "actionColWidth" | "reserveSelection" | "paginationProps" | "showPagination" | "isFrontPage" | "actionButtons" | "formatColumns" | "isInitSearch" | "border" | "fit" | "stripe" | "showHeader" | "showSummary" | "highlightCurrentRow" | "defaultExpandAll" | "selectOnIndeterminate" | "indent" | "treeProps" | "tableLayout" | "scrollbarAlwaysOn" | "flexible" | "scrollbarTabindex" | "allowDragLastColumn" | "preserveExpandedContent" | "nativeScrollbar")> & import("vue").ShallowUnwrapRef<{
|
|
2263
2265
|
elFormRef: Readonly<import("vue").ShallowRef<import("element-plus").FormInstance | null>>;
|
|
2264
2266
|
elTableRef: Readonly<import("vue").ShallowRef<import("element-plus").TableInstance | null>>;
|
|
2265
2267
|
validate: () => import("element-plus").FormValidationResult;
|
|
2266
2268
|
resetFields: (props: import("element-plus").FormItemProp) => void;
|
|
2267
2269
|
clearValidate: (props: import("element-plus").FormItemProp) => void;
|
|
2270
|
+
clearSelection: () => void;
|
|
2268
2271
|
search: import("../table/src/use-table.jsx").ISearch;
|
|
2269
2272
|
openCustomColumnDialog: () => void;
|
|
2270
2273
|
}> & {} & import("vue").ComponentCustomProperties & {} & {
|
|
@@ -3821,6 +3824,7 @@ export declare const EpSearchListPage: {
|
|
|
3821
3824
|
validate: () => import("element-plus").FormValidationResult;
|
|
3822
3825
|
resetFields: (props: import("element-plus").FormItemProp) => void;
|
|
3823
3826
|
clearValidate: (props: import("element-plus").FormItemProp) => void;
|
|
3827
|
+
clearSelection: () => void;
|
|
3824
3828
|
search: import("../table/src/use-table.jsx").ISearch;
|
|
3825
3829
|
openCustomColumnDialog: () => void;
|
|
3826
3830
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
|
|
@@ -4866,12 +4870,13 @@ export declare const EpSearchListPage: {
|
|
|
4866
4870
|
};
|
|
4867
4871
|
readonly preserveExpandedContent: BooleanConstructor;
|
|
4868
4872
|
readonly nativeScrollbar: BooleanConstructor;
|
|
4869
|
-
}>> & Readonly<{}>, "search" | "validate" | "resetFields" | "clearValidate" | "elFormRef" | "elTableRef" | "openCustomColumnDialog" | ("data" | "style" | "size" | "disabled" | "lazy" | "headerCellStyle" | "className" | "columns" | "showSelectionCol" | "showSingleSelectionCol" | "showIndexCol" | "align" | "actionColWidth" | "reserveSelection" | "paginationProps" | "showPagination" | "isFrontPage" | "actionButtons" | "formatColumns" | "isInitSearch" | "border" | "fit" | "stripe" | "showHeader" | "showSummary" | "highlightCurrentRow" | "defaultExpandAll" | "selectOnIndeterminate" | "indent" | "treeProps" | "tableLayout" | "scrollbarAlwaysOn" | "flexible" | "scrollbarTabindex" | "allowDragLastColumn" | "preserveExpandedContent" | "nativeScrollbar")> & import("vue").ShallowUnwrapRef<{
|
|
4873
|
+
}>> & Readonly<{}>, "search" | "clearSelection" | "validate" | "resetFields" | "clearValidate" | "elFormRef" | "elTableRef" | "openCustomColumnDialog" | ("data" | "style" | "size" | "disabled" | "lazy" | "headerCellStyle" | "className" | "columns" | "showSelectionCol" | "showSingleSelectionCol" | "showIndexCol" | "align" | "actionColWidth" | "reserveSelection" | "paginationProps" | "showPagination" | "isFrontPage" | "actionButtons" | "formatColumns" | "isInitSearch" | "border" | "fit" | "stripe" | "showHeader" | "showSummary" | "highlightCurrentRow" | "defaultExpandAll" | "selectOnIndeterminate" | "indent" | "treeProps" | "tableLayout" | "scrollbarAlwaysOn" | "flexible" | "scrollbarTabindex" | "allowDragLastColumn" | "preserveExpandedContent" | "nativeScrollbar")> & import("vue").ShallowUnwrapRef<{
|
|
4870
4874
|
elFormRef: Readonly<import("vue").ShallowRef<import("element-plus").FormInstance | null>>;
|
|
4871
4875
|
elTableRef: Readonly<import("vue").ShallowRef<import("element-plus").TableInstance | null>>;
|
|
4872
4876
|
validate: () => import("element-plus").FormValidationResult;
|
|
4873
4877
|
resetFields: (props: import("element-plus").FormItemProp) => void;
|
|
4874
4878
|
clearValidate: (props: import("element-plus").FormItemProp) => void;
|
|
4879
|
+
clearSelection: () => void;
|
|
4875
4880
|
search: import("../table/src/use-table.jsx").ISearch;
|
|
4876
4881
|
openCustomColumnDialog: () => void;
|
|
4877
4882
|
}> & {} & import("vue").ComponentCustomProperties & {} & {
|
|
@@ -6337,6 +6342,7 @@ export declare const EpSearchListPage: {
|
|
|
6337
6342
|
validate: () => import("element-plus").FormValidationResult;
|
|
6338
6343
|
resetFields: (props: import("element-plus").FormItemProp) => void;
|
|
6339
6344
|
clearValidate: (props: import("element-plus").FormItemProp) => void;
|
|
6345
|
+
clearSelection: () => void;
|
|
6340
6346
|
search: import("../table/src/use-table.jsx").ISearch;
|
|
6341
6347
|
openCustomColumnDialog: () => void;
|
|
6342
6348
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
|
|
@@ -7344,12 +7350,13 @@ export declare const EpSearchListPage: {
|
|
|
7344
7350
|
};
|
|
7345
7351
|
readonly preserveExpandedContent: BooleanConstructor;
|
|
7346
7352
|
readonly nativeScrollbar: BooleanConstructor;
|
|
7347
|
-
}>> & Readonly<{}>, "search" | "validate" | "resetFields" | "clearValidate" | "elFormRef" | "elTableRef" | "openCustomColumnDialog" | ("data" | "style" | "size" | "disabled" | "lazy" | "headerCellStyle" | "className" | "columns" | "showSelectionCol" | "showSingleSelectionCol" | "showIndexCol" | "align" | "actionColWidth" | "reserveSelection" | "paginationProps" | "showPagination" | "isFrontPage" | "actionButtons" | "formatColumns" | "isInitSearch" | "border" | "fit" | "stripe" | "showHeader" | "showSummary" | "highlightCurrentRow" | "defaultExpandAll" | "selectOnIndeterminate" | "indent" | "treeProps" | "tableLayout" | "scrollbarAlwaysOn" | "flexible" | "scrollbarTabindex" | "allowDragLastColumn" | "preserveExpandedContent" | "nativeScrollbar")> & import("vue").ShallowUnwrapRef<{
|
|
7353
|
+
}>> & Readonly<{}>, "search" | "clearSelection" | "validate" | "resetFields" | "clearValidate" | "elFormRef" | "elTableRef" | "openCustomColumnDialog" | ("data" | "style" | "size" | "disabled" | "lazy" | "headerCellStyle" | "className" | "columns" | "showSelectionCol" | "showSingleSelectionCol" | "showIndexCol" | "align" | "actionColWidth" | "reserveSelection" | "paginationProps" | "showPagination" | "isFrontPage" | "actionButtons" | "formatColumns" | "isInitSearch" | "border" | "fit" | "stripe" | "showHeader" | "showSummary" | "highlightCurrentRow" | "defaultExpandAll" | "selectOnIndeterminate" | "indent" | "treeProps" | "tableLayout" | "scrollbarAlwaysOn" | "flexible" | "scrollbarTabindex" | "allowDragLastColumn" | "preserveExpandedContent" | "nativeScrollbar")> & import("vue").ShallowUnwrapRef<{
|
|
7348
7354
|
elFormRef: Readonly<import("vue").ShallowRef<import("element-plus").FormInstance | null>>;
|
|
7349
7355
|
elTableRef: Readonly<import("vue").ShallowRef<import("element-plus").TableInstance | null>>;
|
|
7350
7356
|
validate: () => import("element-plus").FormValidationResult;
|
|
7351
7357
|
resetFields: (props: import("element-plus").FormItemProp) => void;
|
|
7352
7358
|
clearValidate: (props: import("element-plus").FormItemProp) => void;
|
|
7359
|
+
clearSelection: () => void;
|
|
7353
7360
|
search: import("../table/src/use-table.jsx").ISearch;
|
|
7354
7361
|
openCustomColumnDialog: () => void;
|
|
7355
7362
|
}> & {} & import("vue").ComponentCustomProperties & {} & {
|
|
@@ -7690,4 +7697,5 @@ export declare const EpSearchListPage: {
|
|
|
7690
7697
|
};
|
|
7691
7698
|
}) & import("vue").Plugin;
|
|
7692
7699
|
export default EpSearchListPage;
|
|
7700
|
+
export type SearchListPageInstance = InstanceType<typeof SearchListPage>;
|
|
7693
7701
|
export * from './src/search-list-page';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/search-list-page/index.ts"],"sourcesContent":["import SearchListPage from './src/search-list-page.vue'\nimport { withInstall } from '@el-plus/utils/with-install'\n\nexport const EpSearchListPage = withInstall(SearchListPage)\nexport default EpSearchListPage\nexport * from './src/search-list-page'\n"],"names":["SearchListPage"],"mappings":";;;;AAGO,MAAM,gBAAA,GAAmB,YAAYA,SAAc;;;;"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/search-list-page/index.ts"],"sourcesContent":["import SearchListPage from './src/search-list-page.vue'\nimport { withInstall } from '@el-plus/utils/with-install'\n\nexport const EpSearchListPage = withInstall(SearchListPage)\nexport default EpSearchListPage\nexport type SearchListPageInstance = InstanceType<typeof SearchListPage>\nexport * from './src/search-list-page'\n"],"names":["SearchListPage"],"mappings":";;;;AAGO,MAAM,gBAAA,GAAmB,YAAYA,SAAc;;;;"}
|
|
@@ -1130,6 +1130,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
1130
1130
|
validate: () => import("element-plus").FormValidationResult;
|
|
1131
1131
|
resetFields: (props: import("element-plus").FormItemProp) => void;
|
|
1132
1132
|
clearValidate: (props: import("element-plus").FormItemProp) => void;
|
|
1133
|
+
clearSelection: () => void;
|
|
1133
1134
|
search: import("../../table/src/use-table").ISearch;
|
|
1134
1135
|
openCustomColumnDialog: () => void;
|
|
1135
1136
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
|
|
@@ -2137,12 +2138,13 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
2137
2138
|
};
|
|
2138
2139
|
readonly preserveExpandedContent: BooleanConstructor;
|
|
2139
2140
|
readonly nativeScrollbar: BooleanConstructor;
|
|
2140
|
-
}>> & Readonly<{}>, "search" | "validate" | "resetFields" | "clearValidate" | "elFormRef" | "elTableRef" | "openCustomColumnDialog" | ("data" | "style" | "size" | "disabled" | "lazy" | "headerCellStyle" | "className" | "columns" | "showSelectionCol" | "showSingleSelectionCol" | "showIndexCol" | "align" | "actionColWidth" | "reserveSelection" | "paginationProps" | "showPagination" | "isFrontPage" | "actionButtons" | "formatColumns" | "isInitSearch" | "border" | "fit" | "stripe" | "showHeader" | "showSummary" | "highlightCurrentRow" | "defaultExpandAll" | "selectOnIndeterminate" | "indent" | "treeProps" | "tableLayout" | "scrollbarAlwaysOn" | "flexible" | "scrollbarTabindex" | "allowDragLastColumn" | "preserveExpandedContent" | "nativeScrollbar")> & import("vue").ShallowUnwrapRef<{
|
|
2141
|
+
}>> & Readonly<{}>, "search" | "clearSelection" | "validate" | "resetFields" | "clearValidate" | "elFormRef" | "elTableRef" | "openCustomColumnDialog" | ("data" | "style" | "size" | "disabled" | "lazy" | "headerCellStyle" | "className" | "columns" | "showSelectionCol" | "showSingleSelectionCol" | "showIndexCol" | "align" | "actionColWidth" | "reserveSelection" | "paginationProps" | "showPagination" | "isFrontPage" | "actionButtons" | "formatColumns" | "isInitSearch" | "border" | "fit" | "stripe" | "showHeader" | "showSummary" | "highlightCurrentRow" | "defaultExpandAll" | "selectOnIndeterminate" | "indent" | "treeProps" | "tableLayout" | "scrollbarAlwaysOn" | "flexible" | "scrollbarTabindex" | "allowDragLastColumn" | "preserveExpandedContent" | "nativeScrollbar")> & import("vue").ShallowUnwrapRef<{
|
|
2141
2142
|
elFormRef: Readonly<import("vue").ShallowRef<import("element-plus").FormInstance | null>>;
|
|
2142
2143
|
elTableRef: Readonly<import("vue").ShallowRef<import("element-plus").TableInstance | null>>;
|
|
2143
2144
|
validate: () => import("element-plus").FormValidationResult;
|
|
2144
2145
|
resetFields: (props: import("element-plus").FormItemProp) => void;
|
|
2145
2146
|
clearValidate: (props: import("element-plus").FormItemProp) => void;
|
|
2147
|
+
clearSelection: () => void;
|
|
2146
2148
|
search: import("../../table/src/use-table").ISearch;
|
|
2147
2149
|
openCustomColumnDialog: () => void;
|
|
2148
2150
|
}> & {} & import("vue").ComponentCustomProperties & {} & {
|
|
@@ -1131,6 +1131,7 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
|
|
|
1131
1131
|
validate: () => import("element-plus").FormValidationResult;
|
|
1132
1132
|
resetFields: (props: FormItemProp) => void;
|
|
1133
1133
|
clearValidate: (props: FormItemProp) => void;
|
|
1134
|
+
clearSelection: () => void;
|
|
1134
1135
|
search: import("../../table/src/use-table").ISearch;
|
|
1135
1136
|
openCustomColumnDialog: () => void;
|
|
1136
1137
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
|
|
@@ -2138,12 +2139,13 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
|
|
|
2138
2139
|
};
|
|
2139
2140
|
readonly preserveExpandedContent: BooleanConstructor;
|
|
2140
2141
|
readonly nativeScrollbar: BooleanConstructor;
|
|
2141
|
-
}>> & Readonly<{}>, "search" | "validate" | "resetFields" | "clearValidate" | "elFormRef" | "elTableRef" | "openCustomColumnDialog" | ("data" | "style" | "size" | "disabled" | "lazy" | "headerCellStyle" | "className" | "columns" | "showSelectionCol" | "showSingleSelectionCol" | "showIndexCol" | "align" | "actionColWidth" | "reserveSelection" | "paginationProps" | "showPagination" | "isFrontPage" | "actionButtons" | "formatColumns" | "isInitSearch" | "border" | "fit" | "stripe" | "showHeader" | "showSummary" | "highlightCurrentRow" | "defaultExpandAll" | "selectOnIndeterminate" | "indent" | "treeProps" | "tableLayout" | "scrollbarAlwaysOn" | "flexible" | "scrollbarTabindex" | "allowDragLastColumn" | "preserveExpandedContent" | "nativeScrollbar")> & import("vue").ShallowUnwrapRef<{
|
|
2142
|
+
}>> & Readonly<{}>, "search" | "clearSelection" | "validate" | "resetFields" | "clearValidate" | "elFormRef" | "elTableRef" | "openCustomColumnDialog" | ("data" | "style" | "size" | "disabled" | "lazy" | "headerCellStyle" | "className" | "columns" | "showSelectionCol" | "showSingleSelectionCol" | "showIndexCol" | "align" | "actionColWidth" | "reserveSelection" | "paginationProps" | "showPagination" | "isFrontPage" | "actionButtons" | "formatColumns" | "isInitSearch" | "border" | "fit" | "stripe" | "showHeader" | "showSummary" | "highlightCurrentRow" | "defaultExpandAll" | "selectOnIndeterminate" | "indent" | "treeProps" | "tableLayout" | "scrollbarAlwaysOn" | "flexible" | "scrollbarTabindex" | "allowDragLastColumn" | "preserveExpandedContent" | "nativeScrollbar")> & import("vue").ShallowUnwrapRef<{
|
|
2142
2143
|
elFormRef: Readonly<import("vue").ShallowRef<import("element-plus").FormInstance | null>>;
|
|
2143
2144
|
elTableRef: Readonly<import("vue").ShallowRef<import("element-plus").TableInstance | null>>;
|
|
2144
2145
|
validate: () => import("element-plus").FormValidationResult;
|
|
2145
2146
|
resetFields: (props: FormItemProp) => void;
|
|
2146
2147
|
clearValidate: (props: FormItemProp) => void;
|
|
2148
|
+
clearSelection: () => void;
|
|
2147
2149
|
search: import("../../table/src/use-table").ISearch;
|
|
2148
2150
|
openCustomColumnDialog: () => void;
|
|
2149
2151
|
}> & {} & import("vue").ComponentCustomProperties & {} & {
|
|
@@ -138,7 +138,7 @@ const useButtons = (props, { validate, resetFields, tableRef }) => {
|
|
|
138
138
|
const list = mergeListByKey(defaultButtons, props.leftButtons);
|
|
139
139
|
if (props.customColumnModule) {
|
|
140
140
|
list.push({
|
|
141
|
-
name: t("ep.customColumn.
|
|
141
|
+
name: t("ep.customColumn.columnSettings"),
|
|
142
142
|
prop: "customColumn",
|
|
143
143
|
type: "primary",
|
|
144
144
|
onClick: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-search-list-page.mjs","sources":["../../../../../../packages/components/search-list-page/src/use-search-list-page.ts"],"sourcesContent":["import { ref, onMounted, computed, useTemplateRef } from 'vue'\nimport type { SearchListPageProps } from './search-list-page'\nimport type { ButtonsProps } from '@el-plus/components/buttons'\nimport type { FormInstance } from '@el-plus/components/form'\nimport type { TableInstance } from '@el-plus/components/table'\nimport type { FormItemProp } from 'element-plus'\nimport { mergeListByKey, getEnv } from '@el-plus/utils'\nimport { useLocale } from '@el-plus/hooks/use-locale'\n\nexport const useSearchListPage = (props: SearchListPageProps, config = {}) => {\n const { calcTableHeight, tableProps, tableRef } = useTable(props, config)\n const { formProps, validate, resetFields, formRef } = useForm(props, {\n calcTableHeight,\n })\n const { buttonsProps, searchButtons, search, reset } = useButtons(props, {\n validate,\n resetFields,\n tableRef,\n })\n return {\n formProps,\n tableProps,\n buttonsProps,\n searchButtons,\n search,\n reset,\n tableRef,\n formRef,\n beforeSearch: validate,\n }\n}\nconst useTable = (props: SearchListPageProps, config) => {\n const instanceName = 'tableRef'\n const tableRef = useTemplateRef<TableInstance>(instanceName)\n const tableHeight = ref(window.innerHeight)\n const tableProps = computed(() => {\n return {\n ref: instanceName,\n columns: props.columns,\n showPagination: true,\n height: tableHeight.value,\n showIndexCol: props.showIndexCol,\n showSelectionCol: props.showSelectionCol,\n showSingleSelectionCol: props.showSingleSelectionCol,\n actionButtons: props.actionButtons,\n formatColumns: props.formatColumns,\n api: props.api,\n reqData: props.formData,\n customColumnModule: props.customColumnModule,\n minWidth: props.minWidth,\n actionColWidth: props.actionColWidth,\n ...props.tableProps,\n }\n })\n const calcTableHeight = () => {\n setTimeout(() => {\n const topHeight = (document.getElementById('top') as HTMLElement)\n .offsetHeight\n const middleHeight = (document.getElementById('middle') as HTMLElement)\n .offsetHeight\n let paginationHeight = 0\n if (tableProps.value.showPagination) {\n paginationHeight =\n (document.querySelector('.el-pagination') as HTMLElement)\n .offsetHeight + 12\n }\n const frameDistance = getEnv()\n ? // 82\n 48 + 40\n : 40\n tableHeight.value =\n window.innerHeight -\n topHeight -\n middleHeight -\n paginationHeight -\n frameDistance -\n props.offsetTop!\n }, 0)\n }\n\n onMounted(calcTableHeight)\n return {\n tableRef,\n tableProps,\n calcTableHeight,\n }\n}\nconst useForm = (props: SearchListPageProps, { calcTableHeight }) => {\n const instanceName = 'formRef'\n const formRef = useTemplateRef<FormInstance>(instanceName)\n const formProps = computed(() => {\n return {\n ref: instanceName,\n formItemList: props.formItemList,\n isShowFold: true,\n modelValue: props.formData,\n ...props.formProps,\n onToggleStatus: () => {\n calcTableHeight()\n },\n }\n })\n // 校验\n const validate = () => {\n return formRef.value!.validate()\n }\n // 重置校验\n const resetFields = (props: FormItemProp) => {\n return formRef.value!.resetFields(props)\n }\n // 清理某个字段的表单验证信息\n const clearValidate = (props: FormItemProp) => {\n return formRef.value!.clearValidate(props)\n }\n return {\n formProps,\n formRef,\n validate,\n resetFields,\n clearValidate,\n }\n}\nconst useButtons = (\n props: SearchListPageProps,\n { validate, resetFields, tableRef },\n) => {\n const { t } = useLocale()\n const defaultButtons: ButtonsProps['list'] = [\n {\n name: t('ep.searchListPage.add'),\n prop: 'add',\n permission: props.name ? `${props.name}:ADD` : '',\n show: () => {\n return !!props.add\n },\n onClick: () => {\n props.add?.()\n },\n },\n // {\n // name: t('ep.searchListPage.templateDownload'),\n // prop: 'templateDownload',\n // permission: props.name ? `${props.name}:TEMPLATEDOWNLOAD` : '',\n // show: !!props.templateDownloadApi,\n // },\n // {\n // name: t('ep.searchListPage.import'),\n // prop: 'import',\n // permission: props.name ? `${props.name}:IMPORT` : '',\n // show: !!props.importApi,\n // },\n // {\n // name: t('ep.searchListPage.export'),\n // prop: 'export',\n // permission: props.name ? `${props.name}:EXPORT` : '',\n // show: !!props.exportApi,\n // },\n ]\n const list = mergeListByKey(defaultButtons, props.leftButtons)\n if (props.customColumnModule) {\n list.push({\n name: t('ep.customColumn.defineColumn'),\n prop: 'customColumn',\n type: 'primary',\n onClick: () => {\n tableRef.value.openCustomColumnDialog()\n },\n })\n }\n list.forEach((item) => {\n if (item.onClick) {\n const clickFn = item.onClick\n item.onClick = () => {\n // 增加选中项\n const rows = tableRef.value.elTableRef.getSelectionRows()\n clickFn(rows)\n }\n }\n })\n\n const buttonsProps = computed(() => {\n return {\n list,\n ...props.buttonsProps,\n }\n })\n // 搜索\n const search = async (isInitSearch = false) => {\n // await validate()\n tableRef.value.search(isInitSearch)\n }\n // 清空\n const reset = async () => {\n resetFields()\n search(true)\n }\n const searchButtons: ButtonsProps['list'] = [\n {\n name: t('ep.searchListPage.search'),\n type: 'primary',\n onClick: search.bind(null, true),\n },\n {\n name: t('ep.searchListPage.clear'),\n onClick: reset,\n },\n ]\n return {\n buttonsProps,\n searchButtons,\n search,\n reset,\n }\n}\n"],"names":["props"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-search-list-page.mjs","sources":["../../../../../../packages/components/search-list-page/src/use-search-list-page.ts"],"sourcesContent":["import { ref, onMounted, computed, useTemplateRef } from 'vue'\nimport type { SearchListPageProps } from './search-list-page'\nimport type { ButtonsProps } from '@el-plus/components/buttons'\nimport type { FormInstance } from '@el-plus/components/form'\nimport type { TableInstance } from '@el-plus/components/table'\nimport type { FormItemProp } from 'element-plus'\nimport { mergeListByKey, getEnv } from '@el-plus/utils'\nimport { useLocale } from '@el-plus/hooks/use-locale'\n\nexport const useSearchListPage = (props: SearchListPageProps, config = {}) => {\n const { calcTableHeight, tableProps, tableRef } = useTable(props, config)\n const { formProps, validate, resetFields, formRef } = useForm(props, {\n calcTableHeight,\n })\n const { buttonsProps, searchButtons, search, reset } = useButtons(props, {\n validate,\n resetFields,\n tableRef,\n })\n return {\n formProps,\n tableProps,\n buttonsProps,\n searchButtons,\n search,\n reset,\n tableRef,\n formRef,\n beforeSearch: validate,\n }\n}\nconst useTable = (props: SearchListPageProps, config) => {\n const instanceName = 'tableRef'\n const tableRef = useTemplateRef<TableInstance>(instanceName)\n const tableHeight = ref(window.innerHeight)\n const tableProps = computed(() => {\n return {\n ref: instanceName,\n columns: props.columns,\n showPagination: true,\n height: tableHeight.value,\n showIndexCol: props.showIndexCol,\n showSelectionCol: props.showSelectionCol,\n showSingleSelectionCol: props.showSingleSelectionCol,\n actionButtons: props.actionButtons,\n formatColumns: props.formatColumns,\n api: props.api,\n reqData: props.formData,\n customColumnModule: props.customColumnModule,\n minWidth: props.minWidth,\n actionColWidth: props.actionColWidth,\n ...props.tableProps,\n }\n })\n const calcTableHeight = () => {\n setTimeout(() => {\n const topHeight = (document.getElementById('top') as HTMLElement)\n .offsetHeight\n const middleHeight = (document.getElementById('middle') as HTMLElement)\n .offsetHeight\n let paginationHeight = 0\n if (tableProps.value.showPagination) {\n paginationHeight =\n (document.querySelector('.el-pagination') as HTMLElement)\n .offsetHeight + 12\n }\n const frameDistance = getEnv()\n ? // 82\n 48 + 40\n : 40\n tableHeight.value =\n window.innerHeight -\n topHeight -\n middleHeight -\n paginationHeight -\n frameDistance -\n props.offsetTop!\n }, 0)\n }\n\n onMounted(calcTableHeight)\n return {\n tableRef,\n tableProps,\n calcTableHeight,\n }\n}\nconst useForm = (props: SearchListPageProps, { calcTableHeight }) => {\n const instanceName = 'formRef'\n const formRef = useTemplateRef<FormInstance>(instanceName)\n const formProps = computed(() => {\n return {\n ref: instanceName,\n formItemList: props.formItemList,\n isShowFold: true,\n modelValue: props.formData,\n ...props.formProps,\n onToggleStatus: () => {\n calcTableHeight()\n },\n }\n })\n // 校验\n const validate = () => {\n return formRef.value!.validate()\n }\n // 重置校验\n const resetFields = (props: FormItemProp) => {\n return formRef.value!.resetFields(props)\n }\n // 清理某个字段的表单验证信息\n const clearValidate = (props: FormItemProp) => {\n return formRef.value!.clearValidate(props)\n }\n return {\n formProps,\n formRef,\n validate,\n resetFields,\n clearValidate,\n }\n}\nconst useButtons = (\n props: SearchListPageProps,\n { validate, resetFields, tableRef },\n) => {\n const { t } = useLocale()\n const defaultButtons: ButtonsProps['list'] = [\n {\n name: t('ep.searchListPage.add'),\n prop: 'add',\n permission: props.name ? `${props.name}:ADD` : '',\n show: () => {\n return !!props.add\n },\n onClick: () => {\n props.add?.()\n },\n },\n // {\n // name: t('ep.searchListPage.templateDownload'),\n // prop: 'templateDownload',\n // permission: props.name ? `${props.name}:TEMPLATEDOWNLOAD` : '',\n // show: !!props.templateDownloadApi,\n // },\n // {\n // name: t('ep.searchListPage.import'),\n // prop: 'import',\n // permission: props.name ? `${props.name}:IMPORT` : '',\n // show: !!props.importApi,\n // },\n // {\n // name: t('ep.searchListPage.export'),\n // prop: 'export',\n // permission: props.name ? `${props.name}:EXPORT` : '',\n // show: !!props.exportApi,\n // },\n ]\n const list = mergeListByKey(defaultButtons, props.leftButtons)\n if (props.customColumnModule) {\n list.push({\n name: t('ep.customColumn.columnSettings'),\n prop: 'customColumn',\n type: 'primary',\n onClick: () => {\n tableRef.value.openCustomColumnDialog()\n },\n })\n }\n list.forEach((item) => {\n if (item.onClick) {\n const clickFn = item.onClick\n item.onClick = () => {\n // 增加选中项\n const rows = tableRef.value.elTableRef.getSelectionRows()\n clickFn(rows)\n }\n }\n })\n\n const buttonsProps = computed(() => {\n return {\n list,\n ...props.buttonsProps,\n }\n })\n // 搜索\n const search = async (isInitSearch = false) => {\n // await validate()\n tableRef.value.search(isInitSearch)\n }\n // 清空\n const reset = async () => {\n resetFields()\n search(true)\n }\n const searchButtons: ButtonsProps['list'] = [\n {\n name: t('ep.searchListPage.search'),\n type: 'primary',\n onClick: search.bind(null, true),\n },\n {\n name: t('ep.searchListPage.clear'),\n onClick: reset,\n },\n ]\n return {\n buttonsProps,\n searchButtons,\n search,\n reset,\n }\n}\n"],"names":["props"],"mappings":"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"}
|
|
@@ -813,6 +813,7 @@ export declare const EpTable: {
|
|
|
813
813
|
validate: () => import("element-plus").FormValidationResult;
|
|
814
814
|
resetFields: (props: import("element-plus").FormItemProp) => void;
|
|
815
815
|
clearValidate: (props: import("element-plus").FormItemProp) => void;
|
|
816
|
+
clearSelection: () => void;
|
|
816
817
|
search: import("./src/use-table.jsx").ISearch;
|
|
817
818
|
openCustomColumnDialog: () => void;
|
|
818
819
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
|
|
@@ -1743,6 +1744,7 @@ export declare const EpTable: {
|
|
|
1743
1744
|
validate: () => import("element-plus").FormValidationResult;
|
|
1744
1745
|
resetFields: (props: import("element-plus").FormItemProp) => void;
|
|
1745
1746
|
clearValidate: (props: import("element-plus").FormItemProp) => void;
|
|
1747
|
+
clearSelection: () => void;
|
|
1746
1748
|
search: import("./src/use-table.jsx").ISearch;
|
|
1747
1749
|
openCustomColumnDialog: () => void;
|
|
1748
1750
|
}, {}, {}, {}, {
|
|
@@ -2632,6 +2634,7 @@ export declare const EpTable: {
|
|
|
2632
2634
|
validate: () => import("element-plus").FormValidationResult;
|
|
2633
2635
|
resetFields: (props: import("element-plus").FormItemProp) => void;
|
|
2634
2636
|
clearValidate: (props: import("element-plus").FormItemProp) => void;
|
|
2637
|
+
clearSelection: () => void;
|
|
2635
2638
|
search: import("./src/use-table.jsx").ISearch;
|
|
2636
2639
|
openCustomColumnDialog: () => void;
|
|
2637
2640
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
|
|
@@ -777,6 +777,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
777
777
|
validate: () => import("element-plus").FormValidationResult;
|
|
778
778
|
resetFields: (props: import("element-plus").FormItemProp) => void;
|
|
779
779
|
clearValidate: (props: import("element-plus").FormItemProp) => void;
|
|
780
|
+
clearSelection: () => void;
|
|
780
781
|
search: import("./use-table").ISearch;
|
|
781
782
|
openCustomColumnDialog: () => void;
|
|
782
783
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
@@ -45,6 +45,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
45
45
|
validate,
|
|
46
46
|
resetFields,
|
|
47
47
|
clearValidate,
|
|
48
|
+
clearSelection,
|
|
48
49
|
loading,
|
|
49
50
|
search,
|
|
50
51
|
elFormRef,
|
|
@@ -65,6 +66,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
65
66
|
validate,
|
|
66
67
|
resetFields,
|
|
67
68
|
clearValidate,
|
|
69
|
+
clearSelection,
|
|
68
70
|
search,
|
|
69
71
|
openCustomColumnDialog: () => {
|
|
70
72
|
customColumnRef.value?.open();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.vue2.mjs","sources":["../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<template>\n <div\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\n :style=\"{\n ...prepareStyles(),\n }\"\n >\n <el-form\n ref=\"elFormRef\"\n :model=\"{ table: data }\"\n size=\"small\"\n hide-required-asterisk\n scroll-to-error\n :scroll-into-view-options=\"{ inline: 'center' }\"\n class=\"ep-form\"\n >\n <el-table ref=\"elTableRef\" v-loading=\"loading\" v-bind=\"customAttrs\">\n <el-table-column\n v-if=\"showSelectionCol\"\n type=\"selection\"\n width=\"55\"\n :align\n :selectable\n fixed\n />\n <el-table-column\n v-if=\"showSingleSelectionCol\"\n width=\"55\"\n :align\n :selectable\n fixed\n >\n <template #default=\"scope\">\n <el-link\n type=\"primary\"\n underline=\"never\"\n style=\"font-size: 12px\"\n @click=\"emit('single-selection-change', scope.row)\"\n >{{ t('ep.table.select') }}</el-link\n >\n </template>\n </el-table-column>\n <el-table-column\n v-if=\"showIndexCol\"\n type=\"index\"\n width=\"56\"\n :align\n :label=\"t('ep.table.serialNumber')\"\n fixed\n :index=\"indexFormatter\"\n />\n\n <el-table-column\n v-if=\"actionButtons.length\"\n :label=\"t('ep.table.operation')\"\n :align\n fixed\n :width=\"actionColWidth\"\n >\n <template #default=\"scope\">\n <span :class=\"bem.e('action-buttons')\">\n <EpButtons\n :list=\"formatActionButtons(actionButtons, scope)\"\n type=\"text\"\n />\n </span>\n </template>\n </el-table-column>\n <el-table-column\n v-for=\"(item, index) in columnList\"\n :key=\"index\"\n v-bind=\"item\"\n >\n <template #default=\"scope\">\n <EpFormItem\n v-if=\"item.type || item.render\"\n :form-data=\"scope.row\"\n :table-scope=\"scope\"\n v-bind=\"formItemProps(scope, item)\"\n />\n <template v-else>\n {{ scope.row[item.prop] }}\n </template>\n </template>\n </el-table-column>\n <template v-for=\"name in slots\" #[name]=\"scope\">\n <slot :name=\"name\" v-bind=\"scope\" />\n </template>\n </el-table>\n </el-form>\n <el-pagination\n v-if=\"showPagination\"\n v-model:current-page=\"pagination.pageNo\"\n v-model:page-size=\"pagination.pageSize\"\n :total=\"pagination.total\"\n v-bind=\"paginationProps\"\n />\n <EpCustomColumn\n v-if=\"customColumnModule\"\n ref=\"customColumnRef\"\n :module=\"customColumnModule\"\n :show-handler=\"false\"\n />\n </div>\n</template>\n<script setup lang=\"tsx\">\nimport { computed, useSlots, useTemplateRef } from 'vue'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport {\n tableProps,\n tableEmits,\n expandTablePropsKeys,\n tableEmitsKeys,\n} from './table'\nimport type { TableEmits } from './table'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { EpFormItem } from '@el-plus/components/form'\nimport EpCustomColumn from '@el-plus/components/custom-column'\nimport type { CustomColumnInstance } from '@el-plus/components/custom-column'\nimport { useTable, useTableColumn, useTableFormItem } from './use-table'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nconst { t } = useLocale()\ndefineOptions({\n name: 'EpTable',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('table')\nconst props = defineProps(tableProps)\nconst emit = defineEmits(tableEmits!)\n\nconst slots = computed(() => {\n return Object.keys(useSlots())\n // .filter((item) => item !== 'default')\n})\nconst customAttrs = computed(() => {\n return {\n ...prepareProps(props, ['modelValue', ...expandTablePropsKeys]),\n // 'tooltip-effect': 'light',\n size: 'small',\n data: data.value,\n ...prepareEvents<NonNullable<TableEmits>>(emit, tableEmitsKeys!),\n }\n})\nconst {\n pagination,\n paginationProps,\n data,\n validate,\n resetFields,\n clearValidate,\n loading,\n search,\n elFormRef,\n elTableRef,\n formatActionButtons,\n customColumns,\n} = useTable(props)\nconst { columnList } = useTableColumn(props, data, customColumns)\nconst { formItemProps } = useTableFormItem(props)\nconst customColumnRef = useTemplateRef<CustomColumnInstance>('customColumnRef')\n\ndefineExpose({\n elFormRef,\n elTableRef,\n validate,\n resetFields,\n clearValidate,\n search,\n openCustomColumnDialog: () => {\n customColumnRef.value?.open()\n },\n})\n</script>\n"],"names":["t","useLocale","bem","createNameSpace","props","__props","emit","__emit","slots","computed","Object","keys","useSlots","customAttrs","prepareProps","expandTablePropsKeys","size","data","value","prepareEvents","tableEmitsKeys","pagination","paginationProps","validate","resetFields","clearValidate","loading","search","elFormRef","elTableRef","formatActionButtons","customColumns","useTable","columnList","useTableColumn","formItemProps","useTableFormItem","customColumnRef","useTemplateRef","__expose","openCustomColumnDialog","open","_createElementBlock","class","_normalizeClass","_unref","b","prepareClassNames","style","_normalizeStyle","prepareStyles","_createVNode","_component_el_form","ref","model","inline","_withDirectives","_openBlock","_createBlock","_component_el_table","_mergeProps","_createSlots","showSelectionCol","_component_el_table_column","type","width","align","selectable","fixed","showSingleSelectionCol","default","_withCtx","scope","_component_el_link","underline","onClick","$event","row","showIndexCol","label","index","indexFormatter","actionButtons","length","actionColWidth","_createElementVNode","e","_component_EpButtons","list","_Fragment","_renderList","item","key","render","_createTextVNode","_toDisplayString","prop","name","fn","_renderSlot","_ctx","$slots","_normalizeProps","_guardReactiveProps","showPagination","_component_el_pagination","pageNo","pageSize","total","customColumnModule","EpCustomColumn","module"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table.vue2.mjs","sources":["../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<template>\n <div\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\n :style=\"{\n ...prepareStyles(),\n }\"\n >\n <el-form\n ref=\"elFormRef\"\n :model=\"{ table: data }\"\n size=\"small\"\n hide-required-asterisk\n scroll-to-error\n :scroll-into-view-options=\"{ inline: 'center' }\"\n class=\"ep-form\"\n >\n <el-table ref=\"elTableRef\" v-loading=\"loading\" v-bind=\"customAttrs\">\n <el-table-column\n v-if=\"showSelectionCol\"\n type=\"selection\"\n width=\"55\"\n :align\n :selectable\n fixed\n />\n <el-table-column\n v-if=\"showSingleSelectionCol\"\n width=\"55\"\n :align\n :selectable\n fixed\n >\n <template #default=\"scope\">\n <el-link\n type=\"primary\"\n underline=\"never\"\n style=\"font-size: 12px\"\n @click=\"emit('single-selection-change', scope.row)\"\n >{{ t('ep.table.select') }}</el-link\n >\n </template>\n </el-table-column>\n <el-table-column\n v-if=\"showIndexCol\"\n type=\"index\"\n width=\"56\"\n :align\n :label=\"t('ep.table.serialNumber')\"\n fixed\n :index=\"indexFormatter\"\n />\n\n <el-table-column\n v-if=\"actionButtons.length\"\n :label=\"t('ep.table.operation')\"\n :align\n fixed\n :width=\"actionColWidth\"\n >\n <template #default=\"scope\">\n <span :class=\"bem.e('action-buttons')\">\n <EpButtons\n :list=\"formatActionButtons(actionButtons, scope)\"\n type=\"text\"\n />\n </span>\n </template>\n </el-table-column>\n <el-table-column\n v-for=\"(item, index) in columnList\"\n :key=\"index\"\n v-bind=\"item\"\n >\n <template #default=\"scope\">\n <EpFormItem\n v-if=\"item.type || item.render\"\n :form-data=\"scope.row\"\n :table-scope=\"scope\"\n v-bind=\"formItemProps(scope, item)\"\n />\n <template v-else>\n {{ scope.row[item.prop] }}\n </template>\n </template>\n </el-table-column>\n <template v-for=\"name in slots\" #[name]=\"scope\">\n <slot :name=\"name\" v-bind=\"scope\" />\n </template>\n </el-table>\n </el-form>\n <el-pagination\n v-if=\"showPagination\"\n v-model:current-page=\"pagination.pageNo\"\n v-model:page-size=\"pagination.pageSize\"\n :total=\"pagination.total\"\n v-bind=\"paginationProps\"\n />\n <EpCustomColumn\n v-if=\"customColumnModule\"\n ref=\"customColumnRef\"\n :module=\"customColumnModule\"\n :show-handler=\"false\"\n />\n </div>\n</template>\n<script setup lang=\"tsx\">\nimport { computed, useSlots, useTemplateRef } from 'vue'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport {\n tableProps,\n tableEmits,\n expandTablePropsKeys,\n tableEmitsKeys,\n} from './table'\nimport type { TableEmits } from './table'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { EpFormItem } from '@el-plus/components/form'\nimport EpCustomColumn from '@el-plus/components/custom-column'\nimport type { CustomColumnInstance } from '@el-plus/components/custom-column'\nimport { useTable, useTableColumn, useTableFormItem } from './use-table'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nconst { t } = useLocale()\ndefineOptions({\n name: 'EpTable',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('table')\nconst props = defineProps(tableProps)\nconst emit = defineEmits(tableEmits!)\n\nconst slots = computed(() => {\n return Object.keys(useSlots())\n // .filter((item) => item !== 'default')\n})\nconst customAttrs = computed(() => {\n return {\n ...prepareProps(props, ['modelValue', ...expandTablePropsKeys]),\n // 'tooltip-effect': 'light',\n size: 'small',\n data: data.value,\n ...prepareEvents<NonNullable<TableEmits>>(emit, tableEmitsKeys!),\n }\n})\nconst {\n pagination,\n paginationProps,\n data,\n validate,\n resetFields,\n clearValidate,\n clearSelection,\n loading,\n search,\n elFormRef,\n elTableRef,\n formatActionButtons,\n customColumns,\n} = useTable(props)\nconst { columnList } = useTableColumn(props, data, customColumns)\nconst { formItemProps } = useTableFormItem(props)\nconst customColumnRef = useTemplateRef<CustomColumnInstance>('customColumnRef')\n\ndefineExpose({\n elFormRef,\n elTableRef,\n validate,\n resetFields,\n clearValidate,\n clearSelection,\n search,\n openCustomColumnDialog: () => {\n customColumnRef.value?.open()\n },\n})\n</script>\n"],"names":["t","useLocale","bem","createNameSpace","props","__props","emit","__emit","slots","computed","Object","keys","useSlots","customAttrs","prepareProps","expandTablePropsKeys","size","data","value","prepareEvents","tableEmitsKeys","pagination","paginationProps","validate","resetFields","clearValidate","clearSelection","loading","search","elFormRef","elTableRef","formatActionButtons","customColumns","useTable","columnList","useTableColumn","formItemProps","useTableFormItem","customColumnRef","useTemplateRef","__expose","openCustomColumnDialog","open","_createElementBlock","class","_normalizeClass","_unref","b","prepareClassNames","style","_normalizeStyle","prepareStyles","_createVNode","_component_el_form","ref","model","inline","_withDirectives","_openBlock","_createBlock","_component_el_table","_mergeProps","_createSlots","showSelectionCol","_component_el_table_column","type","width","align","selectable","fixed","showSingleSelectionCol","default","_withCtx","scope","_component_el_link","underline","onClick","$event","row","showIndexCol","label","index","indexFormatter","actionButtons","length","actionColWidth","_createElementVNode","e","_component_EpButtons","list","_Fragment","_renderList","item","key","render","_createTextVNode","_toDisplayString","prop","name","fn","_renderSlot","_ctx","$slots","_normalizeProps","_guardReactiveProps","showPagination","_component_el_pagination","pageNo","pageSize","total","customColumnModule","EpCustomColumn","module"],"mappings":"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"}
|
|
@@ -44,6 +44,7 @@ export declare const useTable: (props: TableProps) => {
|
|
|
44
44
|
onNextClick?: ((val: number) => boolean) | undefined;
|
|
45
45
|
}>;
|
|
46
46
|
validate: () => import("element-plus").FormValidationResult;
|
|
47
|
+
clearSelection: () => void;
|
|
47
48
|
resetFields: (props: FormItemProp) => void;
|
|
48
49
|
clearValidate: (props: FormItemProp) => void;
|
|
49
50
|
elFormRef: Readonly<import("vue").ShallowRef<FormInstance | null>>;
|
|
@@ -104,6 +104,9 @@ const useTable = (props) => {
|
|
|
104
104
|
const resetFields = (props2) => {
|
|
105
105
|
return elFormRef.value.resetFields(props2);
|
|
106
106
|
};
|
|
107
|
+
const clearSelection = () => {
|
|
108
|
+
return elTableRef.value.clearSelection();
|
|
109
|
+
};
|
|
107
110
|
const clearValidate = (props2) => {
|
|
108
111
|
return elFormRef.value.clearValidate(props2);
|
|
109
112
|
};
|
|
@@ -122,6 +125,7 @@ const useTable = (props) => {
|
|
|
122
125
|
pagination,
|
|
123
126
|
paginationProps,
|
|
124
127
|
validate,
|
|
128
|
+
clearSelection,
|
|
125
129
|
resetFields,
|
|
126
130
|
clearValidate,
|
|
127
131
|
elFormRef,
|
|
@@ -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 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 { merge } from 'lodash-unified'\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 column.props = column.props || {}\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 const newColumn = columnProps(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 merge(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 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 if ('desc' in item.props && typeof item.props.desc === 'function') {\n item.props.desc = item.props.desc(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","merge","show","hide","useTableFormItem","formItemProps","rawItem","cloneDeep","cellRequired","disabled","options","disabledOption","args","desc","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 { merge } from 'lodash-unified'\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 clearSelection = () => {\n return elTableRef.value!.clearSelection()\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 clearSelection,\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 column.props = column.props || {}\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 const newColumn = columnProps(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 merge(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 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 if ('desc' in item.props && typeof item.props.desc === 'function') {\n item.props.desc = item.props.desc(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","clearSelection","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","merge","show","hide","useTableFormItem","formItemProps","rawItem","cloneDeep","cellRequired","disabled","options","disabledOption","args","desc","btnItem","name","content","key","startsWith","fn","event","Event","shift","isShowLabel","hideRequiredAsterisk","$index","tableProp"],"mappings":"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"}
|