el-plus2 0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.full.js +2204 -0
- package/dist/index.full.min.js +2 -0
- package/dist/index.full.min.js.map +1 -0
- package/dist/index.full.min.mjs +2 -0
- package/dist/index.full.min.mjs.map +1 -0
- package/dist/index.full.mjs +2176 -0
- package/env.d.ts +17 -0
- package/es/components/buttons/index.d.ts +359 -0
- package/es/components/buttons/index.mjs +8 -0
- package/es/components/buttons/index.mjs.map +1 -0
- package/es/components/buttons/src/buttons-vue.d.ts +142 -0
- package/es/components/buttons/src/buttons-vue.mjs +70 -0
- package/es/components/buttons/src/buttons-vue.mjs.map +1 -0
- package/es/components/buttons/src/buttons.d.ts +57 -0
- package/es/components/buttons/src/buttons.mjs +23 -0
- package/es/components/buttons/src/buttons.mjs.map +1 -0
- package/es/components/form/index.d.ts +291 -0
- package/es/components/form/index.mjs +10 -0
- package/es/components/form/index.mjs.map +1 -0
- package/es/components/form/src/form-item-vue.d.ts +135 -0
- package/es/components/form/src/form-item-vue.mjs +40 -0
- package/es/components/form/src/form-item-vue.mjs.map +1 -0
- package/es/components/form/src/form-item.d.ts +68 -0
- package/es/components/form/src/form-item.mjs +33 -0
- package/es/components/form/src/form-item.mjs.map +1 -0
- package/es/components/form/src/form.d.ts +66 -0
- package/es/components/form/src/form.mjs +50 -0
- package/es/components/form/src/form.mjs.map +1 -0
- package/es/components/form/src/form.vue.d.ts +161 -0
- package/es/components/form/src/form.vue.mjs +6 -0
- package/es/components/form/src/form.vue.mjs.map +1 -0
- package/es/components/form/src/form.vue2.mjs +124 -0
- package/es/components/form/src/form.vue2.mjs.map +1 -0
- package/es/components/form/src/hooks/use-form-item.d.ts +12 -0
- package/es/components/form/src/hooks/use-form-item.mjs +97 -0
- package/es/components/form/src/hooks/use-form-item.mjs.map +1 -0
- package/es/components/form/src/hooks/use-form.d.ts +25 -0
- package/es/components/form/src/hooks/use-form.mjs +53 -0
- package/es/components/form/src/hooks/use-form.mjs.map +1 -0
- package/es/components/index.d.ts +6 -0
- package/es/components/index.mjs +9 -0
- package/es/components/index.mjs.map +1 -0
- package/es/components/input/index.d.ts +468 -0
- package/es/components/input/index.mjs +8 -0
- package/es/components/input/index.mjs.map +1 -0
- package/es/components/input/src/input.d.ts +122 -0
- package/es/components/input/src/input.mjs +28 -0
- package/es/components/input/src/input.mjs.map +1 -0
- package/es/components/input/src/input.vue.d.ts +268 -0
- package/es/components/input/src/input.vue.mjs +6 -0
- package/es/components/input/src/input.vue.mjs.map +1 -0
- package/es/components/input/src/input.vue2.mjs +144 -0
- package/es/components/input/src/input.vue2.mjs.map +1 -0
- package/es/components/searchListPage/index.d.ts +8583 -0
- package/es/components/searchListPage/index.mjs +8 -0
- package/es/components/searchListPage/index.mjs.map +1 -0
- package/es/components/searchListPage/src/searchListPage.d.ts +64 -0
- package/es/components/searchListPage/src/searchListPage.mjs +61 -0
- package/es/components/searchListPage/src/searchListPage.mjs.map +1 -0
- package/es/components/searchListPage/src/searchListPage.vue.d.ts +2760 -0
- package/es/components/searchListPage/src/searchListPage.vue.mjs +6 -0
- package/es/components/searchListPage/src/searchListPage.vue.mjs.map +1 -0
- package/es/components/searchListPage/src/searchListPage.vue2.mjs +99 -0
- package/es/components/searchListPage/src/searchListPage.vue2.mjs.map +1 -0
- package/es/components/searchListPage/src/use-search-list-page.d.ts +2671 -0
- package/es/components/searchListPage/src/use-search-list-page.mjs +177 -0
- package/es/components/searchListPage/src/use-search-list-page.mjs.map +1 -0
- package/es/components/select/index.d.ts +664 -0
- package/es/components/select/index.mjs +8 -0
- package/es/components/select/index.mjs.map +1 -0
- package/es/components/select/src/select.d.ts +283 -0
- package/es/components/select/src/select.mjs +47 -0
- package/es/components/select/src/select.mjs.map +1 -0
- package/es/components/select/src/select.vue.d.ts +384 -0
- package/es/components/select/src/select.vue.mjs +6 -0
- package/es/components/select/src/select.vue.mjs.map +1 -0
- package/es/components/select/src/select.vue2.mjs +113 -0
- package/es/components/select/src/select.vue2.mjs.map +1 -0
- package/es/components/select/src/use-select.d.ts +12 -0
- package/es/components/select/src/use-select.mjs +87 -0
- package/es/components/select/src/use-select.mjs.map +1 -0
- package/es/components/table/index.d.ts +2975 -0
- package/es/components/table/index.mjs +8 -0
- package/es/components/table/index.mjs.map +1 -0
- package/es/components/table/src/table.d.ts +781 -0
- package/es/components/table/src/table.mjs +81 -0
- package/es/components/table/src/table.mjs.map +1 -0
- package/es/components/table/src/table.vue.d.ts +1708 -0
- package/es/components/table/src/table.vue.mjs +6 -0
- package/es/components/table/src/table.vue.mjs.map +1 -0
- package/es/components/table/src/table.vue2.mjs +204 -0
- package/es/components/table/src/table.vue2.mjs.map +1 -0
- package/es/components/table/src/use-table.d.ts +241 -0
- package/es/components/table/src/use-table.mjs +260 -0
- package/es/components/table/src/use-table.mjs.map +1 -0
- package/es/components.d.ts +3 -0
- package/es/components.mjs +11 -0
- package/es/components.mjs.map +1 -0
- package/es/directives/index.d.ts +2 -0
- package/es/directives/index.mjs +3 -0
- package/es/directives/index.mjs.map +1 -0
- package/es/directives/permission/index.d.ts +6 -0
- package/es/directives/permission/index.mjs +55 -0
- package/es/directives/permission/index.mjs.map +1 -0
- package/es/directives/repeat-click/index.d.ts +16 -0
- package/es/directives/repeat-click/index.mjs +68 -0
- package/es/directives/repeat-click/index.mjs.map +1 -0
- package/es/directives/vite.config.d.ts +2 -0
- package/es/hooks/index.d.ts +1 -0
- package/es/hooks/index.mjs +2 -0
- package/es/hooks/index.mjs.map +1 -0
- package/es/hooks/use-request.d.ts +20 -0
- package/es/hooks/use-request.mjs +82 -0
- package/es/hooks/use-request.mjs.map +1 -0
- package/es/index.d.ts +9 -0
- package/es/index.mjs +24 -0
- package/es/index.mjs.map +1 -0
- package/es/package.json.mjs +4 -0
- package/es/package.json.mjs.map +1 -0
- package/es/theme-chalk/gulpfile.d.ts +0 -0
- package/es/theme-chalk/gulpfile.mjs +2 -0
- package/es/theme-chalk/gulpfile.mjs.map +1 -0
- package/es/types/env.d.mjs +2 -0
- package/es/types/env.d.mjs.map +1 -0
- package/es/types/global.d.mjs +2 -0
- package/es/types/global.d.mjs.map +1 -0
- package/es/types/vue-shim.d.mjs +2 -0
- package/es/types/vue-shim.d.mjs.map +1 -0
- package/es/utils/bem.d.ts +10 -0
- package/es/utils/bem.mjs +31 -0
- package/es/utils/bem.mjs.map +1 -0
- package/es/utils/cookie.d.ts +7 -0
- package/es/utils/cookie.mjs +29 -0
- package/es/utils/cookie.mjs.map +1 -0
- package/es/utils/env.d.ts +3 -0
- package/es/utils/env.mjs +27 -0
- package/es/utils/env.mjs.map +1 -0
- package/es/utils/props.d.ts +37 -0
- package/es/utils/props.mjs +66 -0
- package/es/utils/props.mjs.map +1 -0
- package/es/utils/request.d.ts +6 -0
- package/es/utils/request.mjs +157 -0
- package/es/utils/request.mjs.map +1 -0
- package/es/utils/type.d.ts +15 -0
- package/es/utils/type.mjs +2 -0
- package/es/utils/type.mjs.map +1 -0
- package/es/utils/with-install.d.ts +4 -0
- package/es/utils/with-install.mjs +9 -0
- package/es/utils/with-install.mjs.map +1 -0
- package/es/version.d.ts +1 -0
- package/es/version.mjs +4 -0
- package/es/version.mjs.map +1 -0
- package/global.d.ts +13 -0
- package/lib/components/buttons/index.d.ts +359 -0
- package/lib/components/buttons/index.js +13 -0
- package/lib/components/buttons/index.js.map +1 -0
- package/lib/components/buttons/src/buttons-vue.d.ts +142 -0
- package/lib/components/buttons/src/buttons-vue.js +74 -0
- package/lib/components/buttons/src/buttons-vue.js.map +1 -0
- package/lib/components/buttons/src/buttons.d.ts +57 -0
- package/lib/components/buttons/src/buttons.js +25 -0
- package/lib/components/buttons/src/buttons.js.map +1 -0
- package/lib/components/form/index.d.ts +291 -0
- package/lib/components/form/index.js +21 -0
- package/lib/components/form/index.js.map +1 -0
- package/lib/components/form/src/form-item-vue.d.ts +135 -0
- package/lib/components/form/src/form-item-vue.js +44 -0
- package/lib/components/form/src/form-item-vue.js.map +1 -0
- package/lib/components/form/src/form-item.d.ts +68 -0
- package/lib/components/form/src/form-item.js +36 -0
- package/lib/components/form/src/form-item.js.map +1 -0
- package/lib/components/form/src/form.d.ts +66 -0
- package/lib/components/form/src/form.js +55 -0
- package/lib/components/form/src/form.js.map +1 -0
- package/lib/components/form/src/form.vue.d.ts +161 -0
- package/lib/components/form/src/form.vue.js +10 -0
- package/lib/components/form/src/form.vue.js.map +1 -0
- package/lib/components/form/src/form.vue2.js +128 -0
- package/lib/components/form/src/form.vue2.js.map +1 -0
- package/lib/components/form/src/hooks/use-form-item.d.ts +12 -0
- package/lib/components/form/src/hooks/use-form-item.js +101 -0
- package/lib/components/form/src/hooks/use-form-item.js.map +1 -0
- package/lib/components/form/src/hooks/use-form.d.ts +25 -0
- package/lib/components/form/src/hooks/use-form.js +56 -0
- package/lib/components/form/src/hooks/use-form.js.map +1 -0
- package/lib/components/index.d.ts +6 -0
- package/lib/components/index.js +35 -0
- package/lib/components/index.js.map +1 -0
- package/lib/components/input/index.d.ts +468 -0
- package/lib/components/input/index.js +15 -0
- package/lib/components/input/index.js.map +1 -0
- package/lib/components/input/src/input.d.ts +122 -0
- package/lib/components/input/src/input.js +32 -0
- package/lib/components/input/src/input.js.map +1 -0
- package/lib/components/input/src/input.vue.d.ts +268 -0
- package/lib/components/input/src/input.vue.js +10 -0
- package/lib/components/input/src/input.vue.js.map +1 -0
- package/lib/components/input/src/input.vue2.js +148 -0
- package/lib/components/input/src/input.vue2.js.map +1 -0
- package/lib/components/searchListPage/index.d.ts +8583 -0
- package/lib/components/searchListPage/index.js +13 -0
- package/lib/components/searchListPage/index.js.map +1 -0
- package/lib/components/searchListPage/src/searchListPage.d.ts +64 -0
- package/lib/components/searchListPage/src/searchListPage.js +63 -0
- package/lib/components/searchListPage/src/searchListPage.js.map +1 -0
- package/lib/components/searchListPage/src/searchListPage.vue.d.ts +2760 -0
- package/lib/components/searchListPage/src/searchListPage.vue.js +10 -0
- package/lib/components/searchListPage/src/searchListPage.vue.js.map +1 -0
- package/lib/components/searchListPage/src/searchListPage.vue2.js +103 -0
- package/lib/components/searchListPage/src/searchListPage.vue2.js.map +1 -0
- package/lib/components/searchListPage/src/use-search-list-page.d.ts +2671 -0
- package/lib/components/searchListPage/src/use-search-list-page.js +179 -0
- package/lib/components/searchListPage/src/use-search-list-page.js.map +1 -0
- package/lib/components/select/index.d.ts +664 -0
- package/lib/components/select/index.js +17 -0
- package/lib/components/select/index.js.map +1 -0
- package/lib/components/select/src/select.d.ts +283 -0
- package/lib/components/select/src/select.js +53 -0
- package/lib/components/select/src/select.js.map +1 -0
- package/lib/components/select/src/select.vue.d.ts +384 -0
- package/lib/components/select/src/select.vue.js +10 -0
- package/lib/components/select/src/select.vue.js.map +1 -0
- package/lib/components/select/src/select.vue2.js +117 -0
- package/lib/components/select/src/select.vue2.js.map +1 -0
- package/lib/components/select/src/use-select.d.ts +12 -0
- package/lib/components/select/src/use-select.js +89 -0
- package/lib/components/select/src/use-select.js.map +1 -0
- package/lib/components/table/index.d.ts +2975 -0
- package/lib/components/table/index.js +16 -0
- package/lib/components/table/index.js.map +1 -0
- package/lib/components/table/src/table.d.ts +781 -0
- package/lib/components/table/src/table.js +86 -0
- package/lib/components/table/src/table.js.map +1 -0
- package/lib/components/table/src/table.vue.d.ts +1708 -0
- package/lib/components/table/src/table.vue.js +10 -0
- package/lib/components/table/src/table.vue.js.map +1 -0
- package/lib/components/table/src/table.vue2.js +208 -0
- package/lib/components/table/src/table.vue2.js.map +1 -0
- package/lib/components/table/src/use-table.d.ts +241 -0
- package/lib/components/table/src/use-table.js +264 -0
- package/lib/components/table/src/use-table.js.map +1 -0
- package/lib/components.d.ts +3 -0
- package/lib/components.js +15 -0
- package/lib/components.js.map +1 -0
- package/lib/directives/index.d.ts +2 -0
- package/lib/directives/index.js +10 -0
- package/lib/directives/index.js.map +1 -0
- package/lib/directives/permission/index.d.ts +6 -0
- package/lib/directives/permission/index.js +60 -0
- package/lib/directives/permission/index.js.map +1 -0
- package/lib/directives/repeat-click/index.d.ts +16 -0
- package/lib/directives/repeat-click/index.js +72 -0
- package/lib/directives/repeat-click/index.js.map +1 -0
- package/lib/directives/vite.config.d.ts +2 -0
- package/lib/hooks/index.d.ts +1 -0
- package/lib/hooks/index.js +8 -0
- package/lib/hooks/index.js.map +1 -0
- package/lib/hooks/use-request.d.ts +20 -0
- package/lib/hooks/use-request.js +84 -0
- package/lib/hooks/use-request.js.map +1 -0
- package/lib/index.d.ts +9 -0
- package/lib/index.js +53 -0
- package/lib/index.js.map +1 -0
- package/lib/package.json.js +6 -0
- package/lib/package.json.js.map +1 -0
- package/lib/theme-chalk/gulpfile.d.ts +0 -0
- package/lib/theme-chalk/gulpfile.js +3 -0
- package/lib/theme-chalk/gulpfile.js.map +1 -0
- package/lib/types/env.d.js +3 -0
- package/lib/types/env.d.js.map +1 -0
- package/lib/types/global.d.js +3 -0
- package/lib/types/global.d.js.map +1 -0
- package/lib/types/vue-shim.d.js +3 -0
- package/lib/types/vue-shim.d.js.map +1 -0
- package/lib/utils/bem.d.ts +10 -0
- package/lib/utils/bem.js +33 -0
- package/lib/utils/bem.js.map +1 -0
- package/lib/utils/cookie.d.ts +7 -0
- package/lib/utils/cookie.js +33 -0
- package/lib/utils/cookie.js.map +1 -0
- package/lib/utils/env.d.ts +3 -0
- package/lib/utils/env.js +30 -0
- package/lib/utils/env.js.map +1 -0
- package/lib/utils/props.d.ts +37 -0
- package/lib/utils/props.js +73 -0
- package/lib/utils/props.js.map +1 -0
- package/lib/utils/request.d.ts +6 -0
- package/lib/utils/request.js +162 -0
- package/lib/utils/request.js.map +1 -0
- package/lib/utils/type.d.ts +15 -0
- package/lib/utils/type.js +3 -0
- package/lib/utils/type.js.map +1 -0
- package/lib/utils/with-install.d.ts +4 -0
- package/lib/utils/with-install.js +11 -0
- package/lib/utils/with-install.js.map +1 -0
- package/lib/version.d.ts +1 -0
- package/lib/version.js +6 -0
- package/lib/version.js.map +1 -0
- package/package.json +27 -0
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var vue = require('vue');
|
|
4
|
+
|
|
5
|
+
const useSearchListPage = (props) => {
|
|
6
|
+
const { calcTableHeight, tableProps, tableRef } = useTable(props);
|
|
7
|
+
const { formProps, validate, resetFields, formRef } = useForm(props, {
|
|
8
|
+
calcTableHeight
|
|
9
|
+
});
|
|
10
|
+
const { buttonsProps, searchButtons, search, reset } = useButtons(props, {
|
|
11
|
+
validate,
|
|
12
|
+
resetFields,
|
|
13
|
+
tableRef
|
|
14
|
+
});
|
|
15
|
+
return {
|
|
16
|
+
formProps,
|
|
17
|
+
tableProps,
|
|
18
|
+
buttonsProps,
|
|
19
|
+
searchButtons,
|
|
20
|
+
search,
|
|
21
|
+
reset,
|
|
22
|
+
tableRef,
|
|
23
|
+
formRef
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
const useTable = (props) => {
|
|
27
|
+
const instanceName = "tableRef";
|
|
28
|
+
const tableRef = vue.useTemplateRef(instanceName);
|
|
29
|
+
const tableHeight = vue.ref(window.innerHeight);
|
|
30
|
+
const tableProps = vue.computed(() => {
|
|
31
|
+
return {
|
|
32
|
+
ref: instanceName,
|
|
33
|
+
columns: props.columns,
|
|
34
|
+
showPagination: true,
|
|
35
|
+
height: tableHeight.value,
|
|
36
|
+
showIndexCol: props.showIndexCol,
|
|
37
|
+
showSelectionCol: props.showSelectionCol,
|
|
38
|
+
actionButtons: props.actionButtons,
|
|
39
|
+
linkProps: props.linkProps,
|
|
40
|
+
api: props.api,
|
|
41
|
+
reqData: props.formData,
|
|
42
|
+
...props.tableProps
|
|
43
|
+
};
|
|
44
|
+
});
|
|
45
|
+
const calcTableHeight = () => {
|
|
46
|
+
const topHeight = document.getElementById("top").offsetHeight;
|
|
47
|
+
const middleHeight = document.getElementById("middle").offsetHeight;
|
|
48
|
+
let paginationHeight = 0;
|
|
49
|
+
if (tableProps.value.showPagination) {
|
|
50
|
+
paginationHeight = document.querySelector(".el-pagination").offsetHeight + 12;
|
|
51
|
+
}
|
|
52
|
+
const frameDistance = 40;
|
|
53
|
+
tableHeight.value = window.innerHeight - topHeight - middleHeight - paginationHeight - frameDistance - props.offsetTop;
|
|
54
|
+
};
|
|
55
|
+
vue.onMounted(calcTableHeight);
|
|
56
|
+
return {
|
|
57
|
+
tableRef,
|
|
58
|
+
tableProps,
|
|
59
|
+
calcTableHeight
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
const useForm = (props, { calcTableHeight }) => {
|
|
63
|
+
const instanceName = "formRef";
|
|
64
|
+
const formRef = vue.useTemplateRef(instanceName);
|
|
65
|
+
const formProps = vue.computed(() => {
|
|
66
|
+
return {
|
|
67
|
+
ref: instanceName,
|
|
68
|
+
formItemList: props.formItemList,
|
|
69
|
+
isShowFold: true,
|
|
70
|
+
modelValue: props.formData,
|
|
71
|
+
...props.formProps,
|
|
72
|
+
onToggleStatus: () => {
|
|
73
|
+
setTimeout(() => {
|
|
74
|
+
calcTableHeight();
|
|
75
|
+
}, 0);
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
});
|
|
79
|
+
const validate = () => {
|
|
80
|
+
return formRef.value.validate();
|
|
81
|
+
};
|
|
82
|
+
const resetFields = (props2) => {
|
|
83
|
+
return formRef.value.resetFields(props2);
|
|
84
|
+
};
|
|
85
|
+
const clearValidate = (props2) => {
|
|
86
|
+
return formRef.value.clearValidate(props2);
|
|
87
|
+
};
|
|
88
|
+
return {
|
|
89
|
+
formProps,
|
|
90
|
+
formRef,
|
|
91
|
+
validate,
|
|
92
|
+
resetFields,
|
|
93
|
+
clearValidate
|
|
94
|
+
};
|
|
95
|
+
};
|
|
96
|
+
const useButtons = (props, { validate, resetFields, tableRef }) => {
|
|
97
|
+
const defaultButtons = [
|
|
98
|
+
{
|
|
99
|
+
name: "\u65B0\u589E",
|
|
100
|
+
prop: "add",
|
|
101
|
+
show: () => {
|
|
102
|
+
return !!props.add;
|
|
103
|
+
},
|
|
104
|
+
onClick: () => {
|
|
105
|
+
props.add?.();
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
name: "\u6A21\u7248\u4E0B\u8F7D",
|
|
110
|
+
prop: "templateDownload",
|
|
111
|
+
show: !!props.templateDownloadApi
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
name: "\u5BFC\u5165",
|
|
115
|
+
prop: "import",
|
|
116
|
+
show: !!props.importApi
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
name: "\u5BFC\u51FA",
|
|
120
|
+
prop: "export",
|
|
121
|
+
show: !!props.exportApi
|
|
122
|
+
}
|
|
123
|
+
];
|
|
124
|
+
props.leftButtons?.forEach((item) => {
|
|
125
|
+
const defaultIndex = defaultButtons.findIndex(
|
|
126
|
+
(item1) => item1.prop === item.prop
|
|
127
|
+
);
|
|
128
|
+
if (defaultIndex !== -1) {
|
|
129
|
+
defaultButtons[defaultIndex] = {
|
|
130
|
+
...defaultButtons[defaultIndex],
|
|
131
|
+
...item
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
const list = defaultButtons.concat(props.leftButtons);
|
|
136
|
+
list.forEach((item) => {
|
|
137
|
+
if (item.onClick) {
|
|
138
|
+
const clickFn = item.onClick;
|
|
139
|
+
item.onClick = () => {
|
|
140
|
+
const rows = tableRef.value.elTableRef.getSelectionRows();
|
|
141
|
+
clickFn(rows);
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
const buttonsProps = vue.computed(() => {
|
|
146
|
+
return {
|
|
147
|
+
list,
|
|
148
|
+
...props.buttonsProps
|
|
149
|
+
};
|
|
150
|
+
});
|
|
151
|
+
const search = async () => {
|
|
152
|
+
await validate();
|
|
153
|
+
tableRef.value.search(true);
|
|
154
|
+
};
|
|
155
|
+
const reset = async () => {
|
|
156
|
+
resetFields();
|
|
157
|
+
search();
|
|
158
|
+
};
|
|
159
|
+
const searchButtons = [
|
|
160
|
+
{
|
|
161
|
+
name: "\u641C\u7D22",
|
|
162
|
+
type: "primary",
|
|
163
|
+
onClick: search
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
name: "\u6E05\u7A7A",
|
|
167
|
+
onClick: reset
|
|
168
|
+
}
|
|
169
|
+
];
|
|
170
|
+
return {
|
|
171
|
+
buttonsProps,
|
|
172
|
+
searchButtons,
|
|
173
|
+
search,
|
|
174
|
+
reset
|
|
175
|
+
};
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
exports.useSearchListPage = useSearchListPage;
|
|
179
|
+
//# sourceMappingURL=use-search-list-page.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-search-list-page.js","sources":["../../../../../../packages/components/searchListPage/src/use-search-list-page.ts"],"sourcesContent":["import { ref, onMounted, computed, useTemplateRef } from 'vue'\nimport type { SearchListPageProps } from './searchListPage'\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'\nexport const useSearchListPage = (props: SearchListPageProps) => {\n const { calcTableHeight, tableProps, tableRef } = useTable(props)\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 }\n}\nconst useTable = (props: SearchListPageProps) => {\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 actionButtons: props.actionButtons,\n linkProps: props.linkProps,\n api: props.api,\n reqData: props.formData,\n ...props.tableProps,\n }\n })\n const calcTableHeight = () => {\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).offsetHeight +\n 12\n }\n const frameDistance = 40\n tableHeight.value =\n window.innerHeight -\n topHeight -\n middleHeight -\n paginationHeight -\n frameDistance -\n props.offsetTop!\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 setTimeout(() => {\n calcTableHeight()\n }, 0) // 等展开后计算表格高度\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 defaultButtons: ButtonsProps['list'] = [\n {\n name: '新增',\n prop: 'add',\n show: () => {\n return !!props.add\n },\n onClick: () => {\n props.add?.()\n },\n },\n {\n name: '模版下载',\n prop: 'templateDownload',\n show: !!props.templateDownloadApi,\n },\n {\n name: '导入',\n prop: 'import',\n show: !!props.importApi,\n },\n {\n name: '导出',\n prop: 'export',\n show: !!props.exportApi,\n },\n ]\n props.leftButtons?.forEach((item) => {\n const defaultIndex = defaultButtons.findIndex(\n (item1) => item1.prop === item.prop,\n )\n if (defaultIndex !== -1) {\n defaultButtons[defaultIndex] = {\n ...defaultButtons[defaultIndex],\n ...item,\n }\n }\n })\n const list = defaultButtons.concat(props.leftButtons!)\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 () => {\n await validate()\n tableRef.value.search(true)\n }\n // 清空\n const reset = async () => {\n resetFields()\n search()\n }\n const searchButtons: ButtonsProps['list'] = [\n {\n name: '搜索',\n type: 'primary',\n onClick: search,\n },\n {\n name: '清空',\n onClick: reset,\n },\n ]\n return {\n buttonsProps,\n searchButtons,\n search,\n reset,\n }\n}\n"],"names":["useTemplateRef","ref","computed","onMounted","props"],"mappings":"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"}
|