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.
Files changed (299) hide show
  1. package/dist/index.full.js +2204 -0
  2. package/dist/index.full.min.js +2 -0
  3. package/dist/index.full.min.js.map +1 -0
  4. package/dist/index.full.min.mjs +2 -0
  5. package/dist/index.full.min.mjs.map +1 -0
  6. package/dist/index.full.mjs +2176 -0
  7. package/env.d.ts +17 -0
  8. package/es/components/buttons/index.d.ts +359 -0
  9. package/es/components/buttons/index.mjs +8 -0
  10. package/es/components/buttons/index.mjs.map +1 -0
  11. package/es/components/buttons/src/buttons-vue.d.ts +142 -0
  12. package/es/components/buttons/src/buttons-vue.mjs +70 -0
  13. package/es/components/buttons/src/buttons-vue.mjs.map +1 -0
  14. package/es/components/buttons/src/buttons.d.ts +57 -0
  15. package/es/components/buttons/src/buttons.mjs +23 -0
  16. package/es/components/buttons/src/buttons.mjs.map +1 -0
  17. package/es/components/form/index.d.ts +291 -0
  18. package/es/components/form/index.mjs +10 -0
  19. package/es/components/form/index.mjs.map +1 -0
  20. package/es/components/form/src/form-item-vue.d.ts +135 -0
  21. package/es/components/form/src/form-item-vue.mjs +40 -0
  22. package/es/components/form/src/form-item-vue.mjs.map +1 -0
  23. package/es/components/form/src/form-item.d.ts +68 -0
  24. package/es/components/form/src/form-item.mjs +33 -0
  25. package/es/components/form/src/form-item.mjs.map +1 -0
  26. package/es/components/form/src/form.d.ts +66 -0
  27. package/es/components/form/src/form.mjs +50 -0
  28. package/es/components/form/src/form.mjs.map +1 -0
  29. package/es/components/form/src/form.vue.d.ts +161 -0
  30. package/es/components/form/src/form.vue.mjs +6 -0
  31. package/es/components/form/src/form.vue.mjs.map +1 -0
  32. package/es/components/form/src/form.vue2.mjs +124 -0
  33. package/es/components/form/src/form.vue2.mjs.map +1 -0
  34. package/es/components/form/src/hooks/use-form-item.d.ts +12 -0
  35. package/es/components/form/src/hooks/use-form-item.mjs +97 -0
  36. package/es/components/form/src/hooks/use-form-item.mjs.map +1 -0
  37. package/es/components/form/src/hooks/use-form.d.ts +25 -0
  38. package/es/components/form/src/hooks/use-form.mjs +53 -0
  39. package/es/components/form/src/hooks/use-form.mjs.map +1 -0
  40. package/es/components/index.d.ts +6 -0
  41. package/es/components/index.mjs +9 -0
  42. package/es/components/index.mjs.map +1 -0
  43. package/es/components/input/index.d.ts +468 -0
  44. package/es/components/input/index.mjs +8 -0
  45. package/es/components/input/index.mjs.map +1 -0
  46. package/es/components/input/src/input.d.ts +122 -0
  47. package/es/components/input/src/input.mjs +28 -0
  48. package/es/components/input/src/input.mjs.map +1 -0
  49. package/es/components/input/src/input.vue.d.ts +268 -0
  50. package/es/components/input/src/input.vue.mjs +6 -0
  51. package/es/components/input/src/input.vue.mjs.map +1 -0
  52. package/es/components/input/src/input.vue2.mjs +144 -0
  53. package/es/components/input/src/input.vue2.mjs.map +1 -0
  54. package/es/components/searchListPage/index.d.ts +8583 -0
  55. package/es/components/searchListPage/index.mjs +8 -0
  56. package/es/components/searchListPage/index.mjs.map +1 -0
  57. package/es/components/searchListPage/src/searchListPage.d.ts +64 -0
  58. package/es/components/searchListPage/src/searchListPage.mjs +61 -0
  59. package/es/components/searchListPage/src/searchListPage.mjs.map +1 -0
  60. package/es/components/searchListPage/src/searchListPage.vue.d.ts +2760 -0
  61. package/es/components/searchListPage/src/searchListPage.vue.mjs +6 -0
  62. package/es/components/searchListPage/src/searchListPage.vue.mjs.map +1 -0
  63. package/es/components/searchListPage/src/searchListPage.vue2.mjs +99 -0
  64. package/es/components/searchListPage/src/searchListPage.vue2.mjs.map +1 -0
  65. package/es/components/searchListPage/src/use-search-list-page.d.ts +2671 -0
  66. package/es/components/searchListPage/src/use-search-list-page.mjs +177 -0
  67. package/es/components/searchListPage/src/use-search-list-page.mjs.map +1 -0
  68. package/es/components/select/index.d.ts +664 -0
  69. package/es/components/select/index.mjs +8 -0
  70. package/es/components/select/index.mjs.map +1 -0
  71. package/es/components/select/src/select.d.ts +283 -0
  72. package/es/components/select/src/select.mjs +47 -0
  73. package/es/components/select/src/select.mjs.map +1 -0
  74. package/es/components/select/src/select.vue.d.ts +384 -0
  75. package/es/components/select/src/select.vue.mjs +6 -0
  76. package/es/components/select/src/select.vue.mjs.map +1 -0
  77. package/es/components/select/src/select.vue2.mjs +113 -0
  78. package/es/components/select/src/select.vue2.mjs.map +1 -0
  79. package/es/components/select/src/use-select.d.ts +12 -0
  80. package/es/components/select/src/use-select.mjs +87 -0
  81. package/es/components/select/src/use-select.mjs.map +1 -0
  82. package/es/components/table/index.d.ts +2975 -0
  83. package/es/components/table/index.mjs +8 -0
  84. package/es/components/table/index.mjs.map +1 -0
  85. package/es/components/table/src/table.d.ts +781 -0
  86. package/es/components/table/src/table.mjs +81 -0
  87. package/es/components/table/src/table.mjs.map +1 -0
  88. package/es/components/table/src/table.vue.d.ts +1708 -0
  89. package/es/components/table/src/table.vue.mjs +6 -0
  90. package/es/components/table/src/table.vue.mjs.map +1 -0
  91. package/es/components/table/src/table.vue2.mjs +204 -0
  92. package/es/components/table/src/table.vue2.mjs.map +1 -0
  93. package/es/components/table/src/use-table.d.ts +241 -0
  94. package/es/components/table/src/use-table.mjs +260 -0
  95. package/es/components/table/src/use-table.mjs.map +1 -0
  96. package/es/components.d.ts +3 -0
  97. package/es/components.mjs +11 -0
  98. package/es/components.mjs.map +1 -0
  99. package/es/directives/index.d.ts +2 -0
  100. package/es/directives/index.mjs +3 -0
  101. package/es/directives/index.mjs.map +1 -0
  102. package/es/directives/permission/index.d.ts +6 -0
  103. package/es/directives/permission/index.mjs +55 -0
  104. package/es/directives/permission/index.mjs.map +1 -0
  105. package/es/directives/repeat-click/index.d.ts +16 -0
  106. package/es/directives/repeat-click/index.mjs +68 -0
  107. package/es/directives/repeat-click/index.mjs.map +1 -0
  108. package/es/directives/vite.config.d.ts +2 -0
  109. package/es/hooks/index.d.ts +1 -0
  110. package/es/hooks/index.mjs +2 -0
  111. package/es/hooks/index.mjs.map +1 -0
  112. package/es/hooks/use-request.d.ts +20 -0
  113. package/es/hooks/use-request.mjs +82 -0
  114. package/es/hooks/use-request.mjs.map +1 -0
  115. package/es/index.d.ts +9 -0
  116. package/es/index.mjs +24 -0
  117. package/es/index.mjs.map +1 -0
  118. package/es/package.json.mjs +4 -0
  119. package/es/package.json.mjs.map +1 -0
  120. package/es/theme-chalk/gulpfile.d.ts +0 -0
  121. package/es/theme-chalk/gulpfile.mjs +2 -0
  122. package/es/theme-chalk/gulpfile.mjs.map +1 -0
  123. package/es/types/env.d.mjs +2 -0
  124. package/es/types/env.d.mjs.map +1 -0
  125. package/es/types/global.d.mjs +2 -0
  126. package/es/types/global.d.mjs.map +1 -0
  127. package/es/types/vue-shim.d.mjs +2 -0
  128. package/es/types/vue-shim.d.mjs.map +1 -0
  129. package/es/utils/bem.d.ts +10 -0
  130. package/es/utils/bem.mjs +31 -0
  131. package/es/utils/bem.mjs.map +1 -0
  132. package/es/utils/cookie.d.ts +7 -0
  133. package/es/utils/cookie.mjs +29 -0
  134. package/es/utils/cookie.mjs.map +1 -0
  135. package/es/utils/env.d.ts +3 -0
  136. package/es/utils/env.mjs +27 -0
  137. package/es/utils/env.mjs.map +1 -0
  138. package/es/utils/props.d.ts +37 -0
  139. package/es/utils/props.mjs +66 -0
  140. package/es/utils/props.mjs.map +1 -0
  141. package/es/utils/request.d.ts +6 -0
  142. package/es/utils/request.mjs +157 -0
  143. package/es/utils/request.mjs.map +1 -0
  144. package/es/utils/type.d.ts +15 -0
  145. package/es/utils/type.mjs +2 -0
  146. package/es/utils/type.mjs.map +1 -0
  147. package/es/utils/with-install.d.ts +4 -0
  148. package/es/utils/with-install.mjs +9 -0
  149. package/es/utils/with-install.mjs.map +1 -0
  150. package/es/version.d.ts +1 -0
  151. package/es/version.mjs +4 -0
  152. package/es/version.mjs.map +1 -0
  153. package/global.d.ts +13 -0
  154. package/lib/components/buttons/index.d.ts +359 -0
  155. package/lib/components/buttons/index.js +13 -0
  156. package/lib/components/buttons/index.js.map +1 -0
  157. package/lib/components/buttons/src/buttons-vue.d.ts +142 -0
  158. package/lib/components/buttons/src/buttons-vue.js +74 -0
  159. package/lib/components/buttons/src/buttons-vue.js.map +1 -0
  160. package/lib/components/buttons/src/buttons.d.ts +57 -0
  161. package/lib/components/buttons/src/buttons.js +25 -0
  162. package/lib/components/buttons/src/buttons.js.map +1 -0
  163. package/lib/components/form/index.d.ts +291 -0
  164. package/lib/components/form/index.js +21 -0
  165. package/lib/components/form/index.js.map +1 -0
  166. package/lib/components/form/src/form-item-vue.d.ts +135 -0
  167. package/lib/components/form/src/form-item-vue.js +44 -0
  168. package/lib/components/form/src/form-item-vue.js.map +1 -0
  169. package/lib/components/form/src/form-item.d.ts +68 -0
  170. package/lib/components/form/src/form-item.js +36 -0
  171. package/lib/components/form/src/form-item.js.map +1 -0
  172. package/lib/components/form/src/form.d.ts +66 -0
  173. package/lib/components/form/src/form.js +55 -0
  174. package/lib/components/form/src/form.js.map +1 -0
  175. package/lib/components/form/src/form.vue.d.ts +161 -0
  176. package/lib/components/form/src/form.vue.js +10 -0
  177. package/lib/components/form/src/form.vue.js.map +1 -0
  178. package/lib/components/form/src/form.vue2.js +128 -0
  179. package/lib/components/form/src/form.vue2.js.map +1 -0
  180. package/lib/components/form/src/hooks/use-form-item.d.ts +12 -0
  181. package/lib/components/form/src/hooks/use-form-item.js +101 -0
  182. package/lib/components/form/src/hooks/use-form-item.js.map +1 -0
  183. package/lib/components/form/src/hooks/use-form.d.ts +25 -0
  184. package/lib/components/form/src/hooks/use-form.js +56 -0
  185. package/lib/components/form/src/hooks/use-form.js.map +1 -0
  186. package/lib/components/index.d.ts +6 -0
  187. package/lib/components/index.js +35 -0
  188. package/lib/components/index.js.map +1 -0
  189. package/lib/components/input/index.d.ts +468 -0
  190. package/lib/components/input/index.js +15 -0
  191. package/lib/components/input/index.js.map +1 -0
  192. package/lib/components/input/src/input.d.ts +122 -0
  193. package/lib/components/input/src/input.js +32 -0
  194. package/lib/components/input/src/input.js.map +1 -0
  195. package/lib/components/input/src/input.vue.d.ts +268 -0
  196. package/lib/components/input/src/input.vue.js +10 -0
  197. package/lib/components/input/src/input.vue.js.map +1 -0
  198. package/lib/components/input/src/input.vue2.js +148 -0
  199. package/lib/components/input/src/input.vue2.js.map +1 -0
  200. package/lib/components/searchListPage/index.d.ts +8583 -0
  201. package/lib/components/searchListPage/index.js +13 -0
  202. package/lib/components/searchListPage/index.js.map +1 -0
  203. package/lib/components/searchListPage/src/searchListPage.d.ts +64 -0
  204. package/lib/components/searchListPage/src/searchListPage.js +63 -0
  205. package/lib/components/searchListPage/src/searchListPage.js.map +1 -0
  206. package/lib/components/searchListPage/src/searchListPage.vue.d.ts +2760 -0
  207. package/lib/components/searchListPage/src/searchListPage.vue.js +10 -0
  208. package/lib/components/searchListPage/src/searchListPage.vue.js.map +1 -0
  209. package/lib/components/searchListPage/src/searchListPage.vue2.js +103 -0
  210. package/lib/components/searchListPage/src/searchListPage.vue2.js.map +1 -0
  211. package/lib/components/searchListPage/src/use-search-list-page.d.ts +2671 -0
  212. package/lib/components/searchListPage/src/use-search-list-page.js +179 -0
  213. package/lib/components/searchListPage/src/use-search-list-page.js.map +1 -0
  214. package/lib/components/select/index.d.ts +664 -0
  215. package/lib/components/select/index.js +17 -0
  216. package/lib/components/select/index.js.map +1 -0
  217. package/lib/components/select/src/select.d.ts +283 -0
  218. package/lib/components/select/src/select.js +53 -0
  219. package/lib/components/select/src/select.js.map +1 -0
  220. package/lib/components/select/src/select.vue.d.ts +384 -0
  221. package/lib/components/select/src/select.vue.js +10 -0
  222. package/lib/components/select/src/select.vue.js.map +1 -0
  223. package/lib/components/select/src/select.vue2.js +117 -0
  224. package/lib/components/select/src/select.vue2.js.map +1 -0
  225. package/lib/components/select/src/use-select.d.ts +12 -0
  226. package/lib/components/select/src/use-select.js +89 -0
  227. package/lib/components/select/src/use-select.js.map +1 -0
  228. package/lib/components/table/index.d.ts +2975 -0
  229. package/lib/components/table/index.js +16 -0
  230. package/lib/components/table/index.js.map +1 -0
  231. package/lib/components/table/src/table.d.ts +781 -0
  232. package/lib/components/table/src/table.js +86 -0
  233. package/lib/components/table/src/table.js.map +1 -0
  234. package/lib/components/table/src/table.vue.d.ts +1708 -0
  235. package/lib/components/table/src/table.vue.js +10 -0
  236. package/lib/components/table/src/table.vue.js.map +1 -0
  237. package/lib/components/table/src/table.vue2.js +208 -0
  238. package/lib/components/table/src/table.vue2.js.map +1 -0
  239. package/lib/components/table/src/use-table.d.ts +241 -0
  240. package/lib/components/table/src/use-table.js +264 -0
  241. package/lib/components/table/src/use-table.js.map +1 -0
  242. package/lib/components.d.ts +3 -0
  243. package/lib/components.js +15 -0
  244. package/lib/components.js.map +1 -0
  245. package/lib/directives/index.d.ts +2 -0
  246. package/lib/directives/index.js +10 -0
  247. package/lib/directives/index.js.map +1 -0
  248. package/lib/directives/permission/index.d.ts +6 -0
  249. package/lib/directives/permission/index.js +60 -0
  250. package/lib/directives/permission/index.js.map +1 -0
  251. package/lib/directives/repeat-click/index.d.ts +16 -0
  252. package/lib/directives/repeat-click/index.js +72 -0
  253. package/lib/directives/repeat-click/index.js.map +1 -0
  254. package/lib/directives/vite.config.d.ts +2 -0
  255. package/lib/hooks/index.d.ts +1 -0
  256. package/lib/hooks/index.js +8 -0
  257. package/lib/hooks/index.js.map +1 -0
  258. package/lib/hooks/use-request.d.ts +20 -0
  259. package/lib/hooks/use-request.js +84 -0
  260. package/lib/hooks/use-request.js.map +1 -0
  261. package/lib/index.d.ts +9 -0
  262. package/lib/index.js +53 -0
  263. package/lib/index.js.map +1 -0
  264. package/lib/package.json.js +6 -0
  265. package/lib/package.json.js.map +1 -0
  266. package/lib/theme-chalk/gulpfile.d.ts +0 -0
  267. package/lib/theme-chalk/gulpfile.js +3 -0
  268. package/lib/theme-chalk/gulpfile.js.map +1 -0
  269. package/lib/types/env.d.js +3 -0
  270. package/lib/types/env.d.js.map +1 -0
  271. package/lib/types/global.d.js +3 -0
  272. package/lib/types/global.d.js.map +1 -0
  273. package/lib/types/vue-shim.d.js +3 -0
  274. package/lib/types/vue-shim.d.js.map +1 -0
  275. package/lib/utils/bem.d.ts +10 -0
  276. package/lib/utils/bem.js +33 -0
  277. package/lib/utils/bem.js.map +1 -0
  278. package/lib/utils/cookie.d.ts +7 -0
  279. package/lib/utils/cookie.js +33 -0
  280. package/lib/utils/cookie.js.map +1 -0
  281. package/lib/utils/env.d.ts +3 -0
  282. package/lib/utils/env.js +30 -0
  283. package/lib/utils/env.js.map +1 -0
  284. package/lib/utils/props.d.ts +37 -0
  285. package/lib/utils/props.js +73 -0
  286. package/lib/utils/props.js.map +1 -0
  287. package/lib/utils/request.d.ts +6 -0
  288. package/lib/utils/request.js +162 -0
  289. package/lib/utils/request.js.map +1 -0
  290. package/lib/utils/type.d.ts +15 -0
  291. package/lib/utils/type.js +3 -0
  292. package/lib/utils/type.js.map +1 -0
  293. package/lib/utils/with-install.d.ts +4 -0
  294. package/lib/utils/with-install.js +11 -0
  295. package/lib/utils/with-install.js.map +1 -0
  296. package/lib/version.d.ts +1 -0
  297. package/lib/version.js +6 -0
  298. package/lib/version.js.map +1 -0
  299. 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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"}