@mc20230601/keep-up 1.0.23 → 1.0.26

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 (159) hide show
  1. package/es/components/codeEditor/index.d.ts +8 -8
  2. package/es/components/commonDrawer/index.d.ts +28 -15
  3. package/es/components/commonDrawer/index.mjs +11 -4
  4. package/es/components/commonDrawer/index.mjs.map +1 -1
  5. package/es/components/commonEditor/constants.d.ts +17 -0
  6. package/es/components/commonEditor/constants.mjs +16 -0
  7. package/es/components/commonEditor/constants.mjs.map +1 -0
  8. package/es/components/commonEditor/index.d.ts +181 -0
  9. package/es/components/commonEditor/index.mjs +193 -0
  10. package/es/components/commonEditor/index.mjs.map +1 -0
  11. package/es/components/commonEditor/index.module.mjs +4 -0
  12. package/es/components/commonEditor/index.module.mjs.map +1 -0
  13. package/es/components/commonEditor/interfaces.d.ts +46 -0
  14. package/es/components/commonEditor/interfaces.mjs +2 -0
  15. package/es/components/commonEditor/interfaces.mjs.map +1 -0
  16. package/es/components/commonEditor/useModeMap.d.ts +4 -0
  17. package/es/components/commonEditor/useModeMap.mjs +17 -0
  18. package/es/components/commonEditor/useModeMap.mjs.map +1 -0
  19. package/es/components/commonFilter/constants.d.ts +2 -0
  20. package/es/components/commonFilter/constants.mjs +4 -0
  21. package/es/components/commonFilter/constants.mjs.map +1 -0
  22. package/es/components/commonFilter/index.d.ts +107 -0
  23. package/es/components/commonFilter/index.mjs +103 -0
  24. package/es/components/commonFilter/index.mjs.map +1 -0
  25. package/es/components/commonFilter/index.module.mjs +4 -0
  26. package/es/components/commonFilter/index.module.mjs.map +1 -0
  27. package/es/components/commonFilter/interfaces.d.ts +75 -0
  28. package/es/components/commonFilter/interfaces.mjs +2 -0
  29. package/es/components/commonFilter/interfaces.mjs.map +1 -0
  30. package/es/components/commonFilter/props.d.ts +31 -0
  31. package/es/components/commonFilter/props.mjs +30 -0
  32. package/es/components/commonFilter/props.mjs.map +1 -0
  33. package/es/components/commonFilter/useCollapse.d.ts +2 -0
  34. package/es/components/commonFilter/useCollapse.mjs +29 -0
  35. package/es/components/commonFilter/useCollapse.mjs.map +1 -0
  36. package/es/components/commonFilter/useFieldsParser.d.ts +5 -0
  37. package/es/components/commonFilter/useFieldsParser.mjs +34 -0
  38. package/es/components/commonFilter/useFieldsParser.mjs.map +1 -0
  39. package/es/components/commonFilter/useKeepFilter.d.ts +3 -0
  40. package/es/components/commonFilter/useKeepFilter.mjs +36 -0
  41. package/es/components/commonFilter/useKeepFilter.mjs.map +1 -0
  42. package/es/components/commonFilter/utils.d.ts +3 -0
  43. package/es/components/commonFilter/utils.mjs +14 -0
  44. package/es/components/commonFilter/utils.mjs.map +1 -0
  45. package/es/components/commonJsonPretty/index.d.ts +31 -0
  46. package/es/components/commonJsonPretty/index.mjs +26 -0
  47. package/es/components/commonJsonPretty/index.mjs.map +1 -0
  48. package/es/components/commonLocations/index.d.ts +1 -1
  49. package/es/components/commonModal/index.d.ts +30 -0
  50. package/es/components/commonModal/index.mjs +56 -0
  51. package/es/components/commonModal/index.mjs.map +1 -0
  52. package/es/components/commonModal/index.module.mjs +4 -0
  53. package/es/components/commonModal/index.module.mjs.map +1 -0
  54. package/es/components/commonModal/interfaces.d.ts +7 -0
  55. package/es/components/commonModal/interfaces.mjs +2 -0
  56. package/es/components/commonModal/interfaces.mjs.map +1 -0
  57. package/es/components/commonPage/constants.d.ts +18 -0
  58. package/es/components/commonPage/constants.mjs +16 -0
  59. package/es/components/commonPage/constants.mjs.map +1 -0
  60. package/es/components/commonPage/index.d.ts +256 -0
  61. package/es/components/commonPage/index.mjs +461 -0
  62. package/es/components/commonPage/index.mjs.map +1 -0
  63. package/es/components/commonPage/index.module.mjs +4 -0
  64. package/es/components/commonPage/index.module.mjs.map +1 -0
  65. package/es/components/commonPage/interfaces.d.ts +113 -0
  66. package/es/components/commonPage/interfaces.mjs +2 -0
  67. package/es/components/commonPage/interfaces.mjs.map +1 -0
  68. package/es/components/commonPage/useAsyncDataSource.d.ts +4 -0
  69. package/es/components/commonPage/useAsyncDataSource.mjs +39 -0
  70. package/es/components/commonPage/useAsyncDataSource.mjs.map +1 -0
  71. package/es/components/commonPage/useLayout.d.ts +6 -0
  72. package/es/components/commonPage/useLayout.mjs +37 -0
  73. package/es/components/commonPage/useLayout.mjs.map +1 -0
  74. package/es/components/commonPage/usePage.d.ts +4 -0
  75. package/es/components/commonPage/usePage.mjs +64 -0
  76. package/es/components/commonPage/usePage.mjs.map +1 -0
  77. package/es/components/commonPage/usePageActions.d.ts +2 -0
  78. package/es/components/commonPage/usePageActions.mjs +66 -0
  79. package/es/components/commonPage/usePageActions.mjs.map +1 -0
  80. package/es/components/commonPage/usePagePreferences.d.ts +3 -0
  81. package/es/components/commonPage/usePagePreferences.mjs +54 -0
  82. package/es/components/commonPage/usePagePreferences.mjs.map +1 -0
  83. package/es/components/commonPage/utils.d.ts +4 -0
  84. package/es/components/commonPage/utils.mjs +11 -0
  85. package/es/components/commonPage/utils.mjs.map +1 -0
  86. package/es/components/commonSetter/components/draggableList/index.d.ts +31 -0
  87. package/es/components/commonSetter/components/draggableList/index.mjs +113 -0
  88. package/es/components/commonSetter/components/draggableList/index.mjs.map +1 -0
  89. package/es/components/commonSetter/components/draggableList/index.module.mjs +4 -0
  90. package/es/components/commonSetter/components/draggableList/index.module.mjs.map +1 -0
  91. package/es/components/commonSetter/constants.d.ts +7 -0
  92. package/es/components/commonSetter/constants.mjs +10 -0
  93. package/es/components/commonSetter/constants.mjs.map +1 -0
  94. package/es/components/commonSetter/index.d.ts +31 -0
  95. package/es/components/commonSetter/index.mjs +108 -0
  96. package/es/components/commonSetter/index.mjs.map +1 -0
  97. package/es/components/commonSetter/index.module.mjs +4 -0
  98. package/es/components/commonSetter/index.module.mjs.map +1 -0
  99. package/es/components/commonTable/constants.d.ts +11 -0
  100. package/es/components/commonTable/constants.mjs +14 -0
  101. package/es/components/commonTable/constants.mjs.map +1 -0
  102. package/es/components/commonTable/index.d.ts +132 -0
  103. package/es/components/commonTable/index.mjs +140 -0
  104. package/es/components/commonTable/index.mjs.map +1 -0
  105. package/es/components/commonTable/index.module.mjs +4 -0
  106. package/es/components/commonTable/index.module.mjs.map +1 -0
  107. package/es/components/commonTable/interfaces.d.ts +54 -0
  108. package/es/components/commonTable/interfaces.mjs +2 -0
  109. package/es/components/commonTable/interfaces.mjs.map +1 -0
  110. package/es/components/commonTable/props.d.ts +71 -0
  111. package/es/components/commonTable/props.mjs +72 -0
  112. package/es/components/commonTable/props.mjs.map +1 -0
  113. package/es/components/commonTable/usePagination.d.ts +3 -0
  114. package/es/components/commonTable/usePagination.mjs +41 -0
  115. package/es/components/commonTable/usePagination.mjs.map +1 -0
  116. package/es/components/commonTable/utils.d.ts +3 -0
  117. package/es/components/commonTable/utils.mjs +17 -0
  118. package/es/components/commonTable/utils.mjs.map +1 -0
  119. package/es/components/elIconPlus/index.d.ts +15 -0
  120. package/es/components/elIconPlus/index.mjs +31 -0
  121. package/es/components/elIconPlus/index.mjs.map +1 -0
  122. package/es/components/formTabs/index.d.ts +35 -0
  123. package/es/components/formTabs/index.mjs +60 -0
  124. package/es/components/formTabs/index.mjs.map +1 -0
  125. package/es/components/formilyCmps/formilyForm/index.d.ts +1 -1
  126. package/es/components/formilyCmps/formilyForm/index.mjs +2 -2
  127. package/es/components/formilyCmps/formilyForm/index.mjs.map +1 -1
  128. package/es/components/fragment/index.d.ts +4 -0
  129. package/es/components/fragment/index.mjs +16 -0
  130. package/es/components/fragment/index.mjs.map +1 -0
  131. package/es/components/iconFont/index.d.ts +36 -0
  132. package/es/components/iconFont/index.mjs +44 -0
  133. package/es/components/iconFont/index.mjs.map +1 -0
  134. package/es/components/index.d.ts +19 -0
  135. package/es/components/index.mjs +14 -0
  136. package/es/components/index.mjs.map +1 -1
  137. package/es/components/radioGroup/index.d.ts +9 -9
  138. package/es/components/space/index.d.ts +4 -4
  139. package/es/components/space/index.mjs +2 -2
  140. package/es/components/space/index.mjs.map +1 -1
  141. package/es/components/upload/formilyUpload.d.ts +73 -0
  142. package/es/components/upload/formilyUpload.mjs +90 -0
  143. package/es/components/upload/formilyUpload.mjs.map +1 -0
  144. package/es/components/upload/index.d.ts +271 -0
  145. package/es/components/upload/index.mjs +22 -0
  146. package/es/components/upload/index.mjs.map +1 -0
  147. package/es/components/upload/index.module.mjs +4 -0
  148. package/es/components/upload/index.module.mjs.map +1 -0
  149. package/es/components/upload/modalUpload.d.ts +36 -0
  150. package/es/components/upload/modalUpload.mjs +67 -0
  151. package/es/components/upload/modalUpload.mjs.map +1 -0
  152. package/es/components/upload/upload.d.ts +76 -0
  153. package/es/components/upload/upload.mjs +91 -0
  154. package/es/components/upload/upload.mjs.map +1 -0
  155. package/es/index.d.ts +13 -1
  156. package/es/index.mjs +14 -0
  157. package/es/index.mjs.map +1 -1
  158. package/es/styles/index.css +257 -11
  159. package/package.json +1 -1
@@ -0,0 +1,461 @@
1
+ import { defineComponent, ref, provide, onMounted, onUnmounted, createVNode, Fragment, h, nextTick, createTextVNode, resolveComponent } from 'vue';
2
+ import { isEmpty } from 'lodash';
3
+ import { ElButton, ElSpace } from 'element-plus';
4
+ import { Plus } from '@element-plus/icons-vue';
5
+ import IconFont from '../iconFont/index.mjs';
6
+ import Space from '../space/index.mjs';
7
+ import emitter from '../../utils/emitter.mjs';
8
+ import CommonFilter from '../commonFilter/index.mjs';
9
+ import CommonSetter from '../commonSetter/index.mjs';
10
+ import CommonTable from '../commonTable/index.mjs';
11
+ import CommonEditor from '../commonEditor/index.mjs';
12
+ import usePage from './usePage.mjs';
13
+ import { usePageActions } from './usePageActions.mjs';
14
+ import { COMMON_FILTER_INJECTION_KEY } from './constants.mjs';
15
+ export { COMMON_FILTER_INJECTION_KEY, Common_Page_Preferences_Type, PAGE_PREFERENCES_KEY, pagePreferencesToKeyMap } from './constants.mjs';
16
+ import styles from './index.module.mjs';
17
+ export { MODE, defaultLayout } from '../commonEditor/constants.mjs';
18
+
19
+ const props = {
20
+ /** fields */
21
+ fields: {
22
+ type: Array,
23
+ default: () => []
24
+ },
25
+ /** 获取列表 */
26
+ listApi: {
27
+ type: Function,
28
+ default: void 0
29
+ },
30
+ /** 创建 */
31
+ createApi: {
32
+ type: Function,
33
+ default: void 0
34
+ },
35
+ /** 编辑 */
36
+ editApi: {
37
+ type: Function,
38
+ default: void 0
39
+ },
40
+ /** 下载 */
41
+ downloadApi: {
42
+ type: Function,
43
+ default: void 0
44
+ },
45
+ /** 导出 */
46
+ exportApi: {
47
+ type: Function,
48
+ default: void 0
49
+ },
50
+ /** 格式化列表接口入参 */
51
+ formatListParams: {
52
+ type: Function,
53
+ default: void 0
54
+ },
55
+ /** 格式化创建&编辑接口入参 */
56
+ formatEditParams: {
57
+ type: Function,
58
+ default: void 0
59
+ },
60
+ /** 格式化创建&编辑接口入参 */
61
+ formatExportParams: {
62
+ type: Function,
63
+ default: void 0
64
+ },
65
+ /** 页面标识 */
66
+ pageKey: {
67
+ type: String,
68
+ default: ""
69
+ },
70
+ /** 行标识 */
71
+ rowKey: {
72
+ type: String,
73
+ default: "id"
74
+ },
75
+ /** 可选择 */
76
+ selectable: {
77
+ type: Boolean,
78
+ default: false
79
+ },
80
+ /** 选择配置 */
81
+ selectOptions: {
82
+ type: Function,
83
+ default: () => true
84
+ },
85
+ /** 选中值 */
86
+ selected: {
87
+ type: Array,
88
+ default: () => []
89
+ },
90
+ /** 表格展开区域渲染器 */
91
+ expandedRowRender: {
92
+ type: Function,
93
+ default: void 0
94
+ },
95
+ /** 需要分页 */
96
+ needPagination: {
97
+ type: Boolean,
98
+ default: false
99
+ },
100
+ /** 分页配置 */
101
+ paginationConfig: {
102
+ type: Object,
103
+ default: () => ({})
104
+ },
105
+ /** 筛选区域栅格数量 */
106
+ filterColumns: {
107
+ type: Number,
108
+ default: 3
109
+ },
110
+ /** 编辑器样式 */
111
+ editorLayout: {
112
+ type: Object,
113
+ default: () => ({
114
+ columns: 0,
115
+ labelStyle: {
116
+ width: "100px",
117
+ margin: "0"
118
+ }
119
+ })
120
+ },
121
+ /** 刷新 */
122
+ refreshable: {
123
+ type: Boolean,
124
+ default: false
125
+ },
126
+ /** 单行操作栏 */
127
+ singleActionBar: {
128
+ type: Boolean,
129
+ default: false
130
+ }
131
+ };
132
+ var index = defineComponent({
133
+ name: "CommonPage",
134
+ props,
135
+ setup(props2, {
136
+ emit,
137
+ slots,
138
+ expose
139
+ }) {
140
+ const containerRef = ref();
141
+ const commonFilterRef = ref();
142
+ const commonEditorRef = ref();
143
+ const commonTableRef = ref();
144
+ const setterBarRef = ref();
145
+ const extraPaneRef = ref();
146
+ const commonIconBtnStyle = ref({
147
+ padding: "8px",
148
+ marginLeft: 0
149
+ });
150
+ const {
151
+ allEditFields,
152
+ fetchEffects,
153
+ visibleFilterFields,
154
+ visibleColumns,
155
+ allVisibleFilterFields,
156
+ allVisibleColumnFields,
157
+ setPagePreferences
158
+ } = usePage(props2);
159
+ const {
160
+ query,
161
+ openEditor,
162
+ create,
163
+ filterReset,
164
+ download,
165
+ exportFn,
166
+ watchList
167
+ } = usePageActions(props2.paginationConfig, props2.downloadApi, props2.exportApi, props2.formatExportParams, commonFilterRef, commonEditorRef, commonTableRef);
168
+ watchList(ref([visibleColumns]));
169
+ provide(COMMON_FILTER_INJECTION_KEY, commonFilterRef);
170
+ onMounted(async () => {
171
+ emitter.on("openEditor", openEditor);
172
+ });
173
+ onUnmounted(() => {
174
+ emitter.off("openEditor", openEditor);
175
+ });
176
+ expose({
177
+ query,
178
+ getFilterForm: () => {
179
+ var _a;
180
+ return (_a = commonFilterRef.value) == null ? void 0 : _a.getForm();
181
+ },
182
+ getPagination: () => {
183
+ var _a;
184
+ return (_a = commonTableRef.value) == null ? void 0 : _a.pagination;
185
+ },
186
+ updateTableHeight: () => {
187
+ }
188
+ });
189
+ const commonFilterTsx = (needPadding = false) => createVNode(Space, {
190
+ "class": styles.commonFilterContainer,
191
+ "style": {
192
+ padding: needPadding ? "0 12px" : "0px",
193
+ boxSizing: "border-box"
194
+ },
195
+ "align": "flex-start",
196
+ "justify": "start",
197
+ "size": 12,
198
+ "fill": true
199
+ }, {
200
+ default: () => {
201
+ var _a, _b, _c;
202
+ return [isEmpty(visibleFilterFields.value) ? null : createVNode(CommonFilter, {
203
+ "ref": commonFilterRef,
204
+ "maxColumns": props2.filterColumns,
205
+ "filterFields": visibleFilterFields.value,
206
+ "operateActions": {
207
+ query,
208
+ reset: filterReset
209
+ },
210
+ "effectHooks": fetchEffects.value,
211
+ "pageKey": props2.pageKey
212
+ }, {
213
+ ...slots.filterTitle ? {
214
+ title: slots.filterTitle
215
+ } : {}
216
+ }), ((_b = (_a = commonFilterRef.value) == null ? void 0 : _a.collapseData) == null ? void 0 : _b.collapsible) && createVNode(ElButton, {
217
+ "class": styles.collapse,
218
+ "icon": h(IconFont, {
219
+ name: "double_arrow_down",
220
+ class: styles.collapseIcon,
221
+ style: {
222
+ transform: `rotate(${((_c = commonFilterRef.value) == null ? void 0 : _c.visible) ? "180deg" : "0deg"})`
223
+ },
224
+ size: "10"
225
+ }),
226
+ "text": true,
227
+ "onClick": async () => {
228
+ var _a2, _b2, _c2;
229
+ if (!((_b2 = (_a2 = commonFilterRef.value) == null ? void 0 : _a2.collapseData) == null ? void 0 : _b2.collapsible)) {
230
+ return;
231
+ }
232
+ (_c2 = commonFilterRef.value) == null ? void 0 : _c2.collapse();
233
+ await nextTick();
234
+ }
235
+ }, {
236
+ default: () => {
237
+ var _a2;
238
+ return [((_a2 = commonFilterRef.value) == null ? void 0 : _a2.visible) ? "\u6536\u8D77" : "\u5C55\u5F00"];
239
+ }
240
+ })];
241
+ }
242
+ });
243
+ const actionTsx = () => createVNode(Space, {
244
+ "class": styles.setter,
245
+ "align": "flex-start",
246
+ "justify": "end",
247
+ "size": 12
248
+ }, {
249
+ default: () => [createVNode(ElSpace, null, {
250
+ default: () => {
251
+ var _a, _b;
252
+ return [props2.createApi && createVNode(ElButton, {
253
+ "type": "primary",
254
+ "icon": Plus,
255
+ "onClick": create
256
+ }, {
257
+ default: () => [createTextVNode("\u65B0\u589E")]
258
+ }), (_a = slots.setterPrefix) == null ? void 0 : _a.call(slots), props2.downloadApi && (((_b = slots.download) == null ? void 0 : _b.call(slots, download)) || createVNode(ElButton, {
259
+ "onClick": download
260
+ }, {
261
+ default: () => [createTextVNode("\u4E0B\u8F7D")]
262
+ }))];
263
+ }
264
+ }), createVNode(Space, {
265
+ "class": styles.end,
266
+ "size": 12,
267
+ "justify": "end",
268
+ "fill": true
269
+ }, {
270
+ default: () => {
271
+ var _a, _b;
272
+ return [(_a = slots.setterSuffix) == null ? void 0 : _a.call(slots), props2.exportApi && (((_b = slots.exportBtn) == null ? void 0 : _b.call(slots, exportFn)) || createVNode(ElButton, {
273
+ "style": commonIconBtnStyle.value,
274
+ "icon": h(IconFont, {
275
+ name: "export",
276
+ size: "22"
277
+ }),
278
+ "link": true,
279
+ "onClick": exportFn
280
+ }, null)), props2.refreshable && createVNode(ElButton, {
281
+ "style": commonIconBtnStyle.value,
282
+ "icon": h(IconFont, {
283
+ name: "refresh",
284
+ size: "22"
285
+ }),
286
+ "link": true,
287
+ "onClick": () => query({
288
+ text: "\u5237\u65B0"
289
+ })
290
+ }, null), props2.pageKey && createVNode(CommonSetter, {
291
+ "allVisibleFilterFields": allVisibleFilterFields,
292
+ "allVisibleColumnFields": allVisibleColumnFields,
293
+ "onConfirm": setPagePreferences
294
+ }, {
295
+ reference: () => createVNode(ElButton, {
296
+ "style": {
297
+ margin: 0,
298
+ ...commonIconBtnStyle.value
299
+ },
300
+ "icon": h(IconFont, {
301
+ name: "setter",
302
+ size: "22"
303
+ })
304
+ }, null)
305
+ })];
306
+ }
307
+ })]
308
+ });
309
+ const action2Tsx = () => {
310
+ const hasSetter = (props2.createApi || props2.downloadApi || slots.setterPrefix) && !isEmpty(visibleFilterFields.value);
311
+ return createVNode(Space, {
312
+ "class": styles.setter,
313
+ "align": "flex-start",
314
+ "justify": "end",
315
+ "size": 12
316
+ }, {
317
+ default: () => [createVNode(ElSpace, null, {
318
+ default: () => {
319
+ var _a, _b;
320
+ return [props2.createApi && createVNode(ElButton, {
321
+ "type": "primary",
322
+ "icon": Plus,
323
+ "onClick": create
324
+ }, {
325
+ default: () => [createTextVNode("\u65B0\u589E")]
326
+ }), (_a = slots.setterPrefix) == null ? void 0 : _a.call(slots), props2.downloadApi && (((_b = slots.download) == null ? void 0 : _b.call(slots, download)) || createVNode(ElButton, {
327
+ "onClick": download
328
+ }, {
329
+ default: () => [createTextVNode("\u4E0B\u8F7D")]
330
+ }))];
331
+ }
332
+ }), hasSetter && createVNode(resolveComponent("el-divider"), {
333
+ "direction": "vertical",
334
+ "class": styles.line
335
+ }, null), commonFilterTsx(), createVNode(Space, {
336
+ "class": styles.end,
337
+ "size": 12,
338
+ "justify": "end",
339
+ "fill": true
340
+ }, {
341
+ default: () => {
342
+ var _a, _b;
343
+ return [(_a = slots.setterSuffix) == null ? void 0 : _a.call(slots), props2.exportApi && (((_b = slots.exportBtn) == null ? void 0 : _b.call(slots, exportFn)) || createVNode(ElButton, {
344
+ "style": commonIconBtnStyle.value,
345
+ "icon": h(IconFont, {
346
+ name: "export",
347
+ size: "22"
348
+ }),
349
+ "text": true,
350
+ "onClick": exportFn
351
+ }, null)), props2.refreshable && createVNode(ElButton, {
352
+ "style": commonIconBtnStyle.value,
353
+ "icon": h(IconFont, {
354
+ name: "refresh",
355
+ size: "22"
356
+ }),
357
+ "text": true,
358
+ "onClick": () => query({
359
+ text: "\u5237\u65B0"
360
+ })
361
+ }, null), props2.pageKey && createVNode(CommonSetter, {
362
+ "allVisibleFilterFields": allVisibleFilterFields,
363
+ "allVisibleColumnFields": allVisibleColumnFields,
364
+ "onConfirm": setPagePreferences
365
+ }, {
366
+ reference: () => createVNode(ElButton, {
367
+ "style": {
368
+ margin: 0,
369
+ ...commonIconBtnStyle.value
370
+ },
371
+ "icon": h(IconFont, {
372
+ name: "setter",
373
+ size: "22"
374
+ }),
375
+ "text": true
376
+ }, null)
377
+ })];
378
+ }
379
+ })]
380
+ });
381
+ };
382
+ return () => createVNode(Fragment, null, [createVNode(Space, {
383
+ "ref": containerRef,
384
+ "class": styles.container,
385
+ "direction": "column"
386
+ }, {
387
+ default: () => [createVNode(Space, {
388
+ "ref": setterBarRef,
389
+ "direction": "column",
390
+ "fill": true
391
+ }, {
392
+ default: () => [props2.singleActionBar ? actionTsx() : null, props2.singleActionBar ? commonFilterTsx(true) : action2Tsx()]
393
+ }), (slots == null ? void 0 : slots.extraPane) && createVNode("div", {
394
+ "ref": extraPaneRef,
395
+ "class": styles.extraPane
396
+ }, [slots.extraPane()]), createVNode(Space, {
397
+ "class": styles.tableContainer,
398
+ "justify": "start"
399
+ }, {
400
+ default: () => {
401
+ var _a, _b;
402
+ return [(_a = slots == null ? void 0 : slots.commonTableLeftPane) == null ? void 0 : _a.call(slots, {
403
+ height: 0
404
+ }), createVNode(CommonTable, {
405
+ "style": {
406
+ flex: 1
407
+ },
408
+ "ref": commonTableRef,
409
+ "rowKey": props2.rowKey,
410
+ "columns": visibleColumns,
411
+ "listApi": props2.listApi,
412
+ "formatListParams": props2.formatListParams,
413
+ "beforeFetch": ({
414
+ formData
415
+ }) => {
416
+ var _a2, _b2;
417
+ (_b2 = (_a2 = commonFilterRef.value) == null ? void 0 : _a2.keepFilter) == null ? void 0 : _b2.call(_a2, formData);
418
+ },
419
+ "selectable": props2.selectable,
420
+ "selectOptions": props2.selectOptions,
421
+ "selected": props2.selected,
422
+ "expandedRowRender": props2.expandedRowRender,
423
+ "onUpdate:selected": (val) => {
424
+ emit("update:selected", val);
425
+ },
426
+ "needPagination": props2.needPagination,
427
+ "onRowClick": (row, column, event) => {
428
+ emit("rowClick", {
429
+ rowData: row,
430
+ column,
431
+ event
432
+ });
433
+ }
434
+ }, {
435
+ empty: slots == null ? void 0 : slots.commonTableEmpty,
436
+ content: slots == null ? void 0 : slots.commonTableContent
437
+ }), (_b = slots == null ? void 0 : slots.commonTableRightPane) == null ? void 0 : _b.call(slots, {
438
+ height: 0
439
+ })];
440
+ }
441
+ })]
442
+ }), createVNode(CommonEditor, {
443
+ "ref": commonEditorRef,
444
+ "createApi": props2.createApi,
445
+ "editApi": props2.editApi,
446
+ "editFields": allEditFields.value,
447
+ "layout": props2.editorLayout,
448
+ "effectHooks": fetchEffects.value,
449
+ "formatEditParams": props2.formatEditParams,
450
+ "onConfirmSuccess": () => {
451
+ var _a;
452
+ query({
453
+ page: (_a = commonTableRef.value.pagination) == null ? void 0 : _a.page
454
+ });
455
+ }
456
+ }, null)]);
457
+ }
458
+ });
459
+
460
+ export { index as default };
461
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/commonPage/index.tsx"],"sourcesContent":["import { defineComponent, ref, onMounted, onUnmounted, nextTick, provide, h } from 'vue'\nimport { isEmpty } from 'lodash'\nimport { ElButton, ElSpace } from 'element-plus'\nimport { Plus } from '@element-plus/icons-vue'\nimport IconFont from '../iconFont'\nimport Space from '../space'\nimport emitter from '../../utils/emitter'\nimport CommonFilter from '../commonFilter'\nimport CommonSetter from '../commonSetter'\nimport CommonTable from '../commonTable'\nimport CommonEditor from '../commonEditor'\nimport usePage from './usePage'\nimport { usePageActions } from './usePageActions'\nimport { COMMON_FILTER_INJECTION_KEY } from './constants'\nimport styles from './index.module.scss'\n\nimport type { PropType, Ref, VNode } from 'vue'\nimport type { IListApi, ICommonObj } from '../../interfaces/common'\nimport type { IField } from '../../interfaces/commonPage'\nimport type { IExpose, IExpandedRowRenderParams } from './interfaces'\nimport type { ICommonFilterExpose } from '../commonFilter'\nimport type { ICommonEditorExpose, IEditorLayout } from '../commonEditor'\nimport type { ICommonTableExpose } from '../commonTable'\n\nconst props = {\n /** fields */\n fields: {\n type: Array as PropType<IField[] | Ref<IField[]>>,\n default: () => [],\n },\n /** 获取列表 */\n listApi: {\n type: Function as PropType<IListApi>,\n default: undefined,\n },\n /** 创建 */\n createApi: {\n type: Function as PropType<(p: ICommonObj) => Promise<ICommonObj>>,\n default: undefined,\n },\n /** 编辑 */\n editApi: {\n type: Function as PropType<(p: ICommonObj) => Promise<ICommonObj>>,\n default: undefined,\n },\n /** 下载 */\n downloadApi: {\n type: Function as PropType<(p?: ICommonObj) => Promise<ICommonObj>>,\n default: undefined,\n },\n /** 导出 */\n exportApi: {\n type: Function as PropType<(p?: ICommonObj) => Promise<ICommonObj>>,\n default: undefined,\n },\n /** 格式化列表接口入参 */\n formatListParams: {\n type: Function as PropType<(p: any) => any>,\n default: undefined,\n },\n /** 格式化创建&编辑接口入参 */\n formatEditParams: {\n type: Function as PropType<(p: any) => any>,\n default: undefined,\n },\n /** 格式化创建&编辑接口入参 */\n formatExportParams: {\n type: Function as PropType<(p: any) => any>,\n default: undefined,\n },\n /** 页面标识 */\n pageKey: {\n type: String,\n default: '',\n },\n /** 行标识 */\n rowKey: {\n type: String,\n default: 'id',\n },\n /** 可选择 */\n selectable: {\n type: Boolean,\n default: false,\n },\n /** 选择配置 */\n selectOptions: {\n type: Function as PropType<(row?: any, index?: number) => boolean>,\n default: () => true,\n },\n /** 选中值 */\n selected: {\n type: Array,\n default: () => [],\n },\n /** 表格展开区域渲染器 */\n expandedRowRender: {\n type: Function as PropType<(p: IExpandedRowRenderParams) => VNode>,\n default: undefined,\n },\n /** 需要分页 */\n needPagination: {\n type: Boolean,\n default: false,\n },\n /** 分页配置 */\n paginationConfig: {\n type: Object,\n default: () => ({}),\n },\n /** 筛选区域栅格数量 */\n filterColumns: {\n type: Number,\n default: 3,\n },\n /** 编辑器样式 */\n editorLayout: {\n type: Object as PropType<IEditorLayout>,\n default: () => ({\n columns: 0,\n labelStyle: {\n width: '100px',\n margin: '0',\n },\n }),\n },\n /** 刷新 */\n refreshable: {\n type: Boolean,\n default: false,\n },\n /** 单行操作栏 */\n singleActionBar: {\n type: Boolean,\n default: false,\n },\n}\n\nexport * from './constants'\nexport * from '../commonEditor/constants'\nexport type { IField, IExpose }\nexport default defineComponent({\n name: 'CommonPage',\n props,\n setup(props, { emit, slots, expose }) {\n const containerRef = ref()\n const commonFilterRef = ref<ICommonFilterExpose>()\n const commonEditorRef = ref<ICommonEditorExpose>()\n const commonTableRef = ref<ICommonTableExpose>()\n const setterBarRef = ref()\n const extraPaneRef = ref()\n const commonIconBtnStyle = ref({\n padding: '8px',\n marginLeft: 0,\n })\n const {\n allEditFields,\n fetchEffects,\n visibleFilterFields,\n visibleColumns,\n allVisibleFilterFields,\n allVisibleColumnFields,\n setPagePreferences,\n } = usePage(props) // 数据派生\n const { query, openEditor, create, filterReset, download, exportFn, watchList } =\n usePageActions(\n props.paginationConfig,\n props.downloadApi,\n props.exportApi,\n props.formatExportParams,\n commonFilterRef,\n commonEditorRef,\n commonTableRef,\n ) // 动作抽离\n watchList(ref([visibleColumns]))\n provide(COMMON_FILTER_INJECTION_KEY, commonFilterRef)\n onMounted(async () => {\n emitter.on('openEditor', openEditor)\n })\n onUnmounted(() => {\n emitter.off('openEditor', openEditor)\n })\n expose<IExpose>({\n query,\n getFilterForm: () => commonFilterRef.value?.getForm(),\n getPagination: () => commonTableRef.value?.pagination,\n updateTableHeight: () => {\n /** 暂时废弃 */\n },\n })\n /** 筛选区域 */\n const commonFilterTsx = (needPadding: boolean = false) => (\n <Space\n class={styles.commonFilterContainer}\n style={{ padding: needPadding ? '0 12px' : '0px', boxSizing: 'border-box' }}\n align='flex-start'\n justify='start'\n size={12}\n fill\n >\n {isEmpty(visibleFilterFields.value) ? null : (\n <CommonFilter\n ref={commonFilterRef}\n maxColumns={props.filterColumns}\n filterFields={visibleFilterFields.value}\n operateActions={{ query, reset: filterReset }}\n effectHooks={fetchEffects.value}\n pageKey={props.pageKey}\n v-slots={{\n ...(slots.filterTitle ? { title: slots.filterTitle } : {}),\n }}\n />\n )}\n {commonFilterRef.value?.collapseData?.collapsible && (\n <ElButton\n class={styles.collapse}\n icon={h(IconFont, {\n name: 'double_arrow_down',\n class: styles.collapseIcon,\n style: {\n transform: `rotate(${commonFilterRef.value?.visible ? '180deg' : '0deg'})`,\n },\n size: '10',\n })}\n text\n onClick={async () => {\n if (!commonFilterRef.value?.collapseData?.collapsible) {\n return\n }\n commonFilterRef.value?.collapse()\n await nextTick()\n // updateTableHeight()\n }}\n >\n {commonFilterRef.value?.visible ? '收起' : '展开'}\n </ElButton>\n )}\n </Space>\n )\n /** 纯操作栏 */\n const actionTsx = () => (\n <Space class={styles.setter} align='flex-start' justify='end' size={12}>\n <ElSpace>\n {props.createApi && (\n <ElButton type='primary' icon={Plus} onClick={create}>\n 新增\n </ElButton>\n )}\n {slots.setterPrefix?.()}\n {props.downloadApi &&\n (slots.download?.(download) || <ElButton onClick={download}>下载</ElButton>)}\n </ElSpace>\n <Space class={styles.end} size={12} justify='end' fill>\n {slots.setterSuffix?.()}\n {props.exportApi &&\n (slots.exportBtn?.(exportFn) || (\n <ElButton\n style={commonIconBtnStyle.value}\n icon={h(IconFont, { name: 'export', size: '22' })}\n link\n onClick={exportFn}\n />\n ))}\n {props.refreshable && (\n <ElButton\n style={commonIconBtnStyle.value}\n icon={h(IconFont, { name: 'refresh', size: '22' })}\n link\n onClick={() => query({ text: '刷新' })}\n />\n )}\n {props.pageKey && (\n <CommonSetter\n allVisibleFilterFields={allVisibleFilterFields}\n allVisibleColumnFields={allVisibleColumnFields}\n onConfirm={setPagePreferences}\n v-slots={{\n reference: () => (\n <ElButton\n style={{ margin: 0, ...commonIconBtnStyle.value }}\n icon={h(IconFont, { name: 'setter', size: '22' })}\n />\n ),\n }}\n />\n )}\n </Space>\n </Space>\n )\n /** 操作栏 + 筛选区域 */\n const action2Tsx = () => {\n const hasSetter =\n (props.createApi || props.downloadApi || slots.setterPrefix) &&\n !isEmpty(visibleFilterFields.value)\n return (\n <Space class={styles.setter} align='flex-start' justify='end' size={12}>\n <ElSpace>\n {props.createApi && (\n <ElButton type='primary' icon={Plus} onClick={create}>\n 新增\n </ElButton>\n )}\n {slots.setterPrefix?.()}\n {props.downloadApi &&\n (slots.download?.(download) || <ElButton onClick={download}>下载</ElButton>)}\n </ElSpace>\n {hasSetter && <el-divider direction='vertical' class={styles.line} />}\n {commonFilterTsx()}\n <Space class={styles.end} size={12} justify='end' fill>\n {slots.setterSuffix?.()}\n {props.exportApi &&\n (slots.exportBtn?.(exportFn) || (\n <ElButton\n style={commonIconBtnStyle.value}\n icon={h(IconFont, { name: 'export', size: '22' })}\n text\n onClick={exportFn}\n />\n ))}\n {props.refreshable && (\n <ElButton\n style={commonIconBtnStyle.value}\n icon={h(IconFont, { name: 'refresh', size: '22' })}\n text\n onClick={() => query({ text: '刷新' })}\n />\n )}\n {props.pageKey && (\n <CommonSetter\n allVisibleFilterFields={allVisibleFilterFields}\n allVisibleColumnFields={allVisibleColumnFields}\n onConfirm={setPagePreferences}\n v-slots={{\n reference: () => (\n <ElButton\n style={{ margin: 0, ...commonIconBtnStyle.value }}\n icon={h(IconFont, { name: 'setter', size: '22' })}\n text\n />\n ),\n }}\n />\n )}\n </Space>\n </Space>\n )\n }\n return () => (\n <>\n <Space ref={containerRef} class={styles.container} direction='column'>\n <Space ref={setterBarRef} direction='column' fill>\n {props.singleActionBar ? actionTsx() : null}\n {props.singleActionBar ? commonFilterTsx(true) : action2Tsx()}\n </Space>\n {slots?.extraPane && (\n <div ref={extraPaneRef} class={styles.extraPane}>\n {slots.extraPane()}\n </div>\n )}\n <Space class={styles.tableContainer} justify='start'>\n {slots?.commonTableLeftPane?.({ height: 0 })}\n <CommonTable\n style={{ flex: 1 }}\n ref={commonTableRef}\n rowKey={props.rowKey}\n columns={visibleColumns}\n listApi={props.listApi}\n formatListParams={props.formatListParams}\n beforeFetch={({ formData }) => {\n commonFilterRef.value?.keepFilter?.(formData)\n }}\n selectable={props.selectable}\n selectOptions={props.selectOptions}\n selected={props.selected}\n expandedRowRender={props.expandedRowRender}\n onUpdate:selected={(val: any[]) => {\n emit('update:selected', val)\n }}\n needPagination={props.needPagination}\n onRowClick={(row: any, column: any, event: Event) => {\n emit('rowClick', { rowData: row, column, event })\n }}\n v-slots={{\n empty: slots?.commonTableEmpty,\n content: slots?.commonTableContent,\n }}\n />\n {slots?.commonTableRightPane?.({ height: 0 })}\n </Space>\n </Space>\n <CommonEditor\n ref={commonEditorRef}\n createApi={props.createApi}\n editApi={props.editApi}\n editFields={allEditFields.value}\n layout={props.editorLayout}\n effectHooks={fetchEffects.value}\n formatEditParams={props.formatEditParams}\n onConfirmSuccess={() => {\n query({ page: commonTableRef.value.pagination?.page })\n }}\n />\n </>\n )\n },\n})\n"],"names":["props","fields","type","Array","default","listApi","Function","undefined","createApi","editApi","downloadApi","exportApi","formatListParams","formatEditParams","formatExportParams","pageKey","String","rowKey","selectable","Boolean","selectOptions","selected","expandedRowRender","needPagination","paginationConfig","Object","filterColumns","Number","editorLayout","columns","labelStyle","width","margin","refreshable","singleActionBar","defineComponent","name","setup","emit","slots","expose","containerRef","ref","commonFilterRef","commonEditorRef","commonTableRef","setterBarRef","extraPaneRef","commonIconBtnStyle","padding","marginLeft","allEditFields","fetchEffects","visibleFilterFields","visibleColumns","allVisibleFilterFields","allVisibleColumnFields","setPagePreferences","usePage","query","openEditor","create","filterReset","download","exportFn","watchList","usePageActions","provide","COMMON_FILTER_INJECTION_KEY","onMounted","emitter","on","onUnmounted","off","getFilterForm","value","getForm","getPagination","pagination","updateTableHeight","commonFilterTsx","needPadding","_createVNode","Space","styles","commonFilterContainer","boxSizing","isEmpty","CommonFilter","reset","filterTitle","title","collapseData","collapsible","ElButton","collapse","h","IconFont","class","collapseIcon","style","transform","visible","size","_a","_b","_c","nextTick","actionTsx","setter","ElSpace","Plus","_createTextVNode","setterPrefix","end","setterSuffix","exportBtn","onClick","text","CommonSetter","reference","action2Tsx","hasSetter","_resolveComponent","line","_Fragment","container","extraPane","tableContainer","commonTableLeftPane","height","CommonTable","flex","beforeFetch","formData","keepFilter","val","onRowClick","row","column","event","rowData","empty","commonTableEmpty","content","commonTableContent","commonTableRightPane","CommonEditor","onConfirmSuccess","page"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ var styles = {"menuText":"#41464f","menuActiveText":"#007dff","subMenuActiveText":"#007dff","menuBg":"#f0f3f7","menuHover":"rgba(0, 125, 255, 0.1019607843)","subMenuBg":"#fff","subMenuHover":"#e6edfa","sideBarWidth":"220px","primaryColor":"#007dff","mainHorizontalPadding":"20px","container":"index-module_container__JA4Ki","extraPane":"index-module_extraPane__bGn22","setter":"index-module_setter__KQO76","end":"index-module_end__IkaJT","line":"index-module_line__PeHqv","commonFilterContainer":"index-module_commonFilterContainer__yiOoN","collapse":"index-module_collapse__2DAL1","collapseIcon":"index-module_collapseIcon__q4Avi","collapseText":"index-module_collapseText__s4JMy","tableContainer":"index-module_tableContainer__xl-q-"};
2
+
3
+ export { styles as default };
4
+ //# sourceMappingURL=index.module.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.module.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,113 @@
1
+ import { pagePreferencesToKeyMap } from './constants';
2
+ import type { Ref, ComputedRef } from 'vue';
3
+ import type { Column } from 'element-plus';
4
+ import type { ISchema } from '@formily/vue';
5
+ import type { Form } from '@formily/core';
6
+ import type { ICommonObj } from '../../interfaces';
7
+ import type { IFieldEffects, IEffectHooks } from '../formilyCmps';
8
+ import type { IField } from '../commonPage';
9
+ import type { IPagination } from '../commonTable';
10
+ import type { IOpenParams } from '../commonEditor';
11
+ /** usePages出参 */
12
+ export interface IUsePageRes extends IUsePagePreferencesRes {
13
+ /** 筛选项 */
14
+ allFilterFields: Ref<ISchema['properties']>;
15
+ /** 编辑项 */
16
+ allEditFields: Ref<ISchema['properties']>;
17
+ /** 列表项 */
18
+ allColumns: Ref<Column[]>;
19
+ /** 配置有fetchConfig字段的effects(副作用) */
20
+ fetchEffects: Ref<IEffectHooks>;
21
+ }
22
+ /** usePageActions出参 */
23
+ export interface IUsePageActionsExpose {
24
+ /** 查询 */
25
+ query: ({ page, text }: IQueryParams) => Promise<void>;
26
+ /** 打开侧边栏 */
27
+ openEditor: (params: IOpenParams) => void;
28
+ /** 创建 */
29
+ create: () => void;
30
+ /** 重置筛选条件 */
31
+ filterReset: () => Promise<void>;
32
+ /** 下载 */
33
+ download: () => Promise<void>;
34
+ /** 导出 */
35
+ exportFn: () => Promise<void>;
36
+ /** target改变时触发listApi */
37
+ watchList: (target: Ref<ICommonObj[]>) => void;
38
+ }
39
+ /** 字段归类 */
40
+ export interface IFieldCategorize {
41
+ /** 筛选项 */
42
+ curFilterFields: ISchema['properties'];
43
+ /** 筛选项 */
44
+ curEditFields: ISchema['properties'];
45
+ /** 表格列 */
46
+ curColumns: IField[];
47
+ /** 远程搜索配置 */
48
+ curFetchEffects: IFieldEffects;
49
+ }
50
+ /** 页面偏好字段 */
51
+ export interface IPagePreferenceItem {
52
+ /** 字段标识 */
53
+ key: string;
54
+ /** 标题 */
55
+ label: string;
56
+ /** 选中 */
57
+ selected: boolean;
58
+ }
59
+ /** 页面偏好 */
60
+ export type IPagePreferences = {
61
+ [K in (typeof pagePreferencesToKeyMap)[keyof typeof pagePreferencesToKeyMap]]: IPagePreferenceItem[];
62
+ };
63
+ /** usePagePreferencesParams入参 */
64
+ export interface IUsePagePreferencesParams {
65
+ /** 页面标识 */
66
+ pageKey: string;
67
+ /** 全量筛选项 */
68
+ allFilterFields: Ref<ISchema['properties']>;
69
+ /** 全量表格列 */
70
+ allColumns: Ref<Column[]>;
71
+ }
72
+ /** usePagePreferencesParams出参 */
73
+ export interface IUsePagePreferencesRes {
74
+ /** 显示的筛选项 */
75
+ visibleFilterFields: ComputedRef<ISchema['properties']>;
76
+ /** 显示的表格列 */
77
+ visibleColumns: ComputedRef<Column[]>;
78
+ /** 全量用户偏好-筛选项 */
79
+ allVisibleFilterFields: IPagePreferenceItem[];
80
+ /** 全量用户偏好-表格列 */
81
+ allVisibleColumnFields: IPagePreferenceItem[];
82
+ /** 设置页面偏好 */
83
+ setPagePreferences: (p: IPagePreferences) => void;
84
+ }
85
+ /** query入参 */
86
+ export interface IQueryParams {
87
+ /** 页码 */
88
+ page?: number;
89
+ /** query接口成功态提示文案的前缀 */
90
+ text?: string;
91
+ }
92
+ /** CommonPage出参 */
93
+ export interface IExpose {
94
+ /** 查询 */
95
+ query: (p?: IQueryParams) => Promise<void>;
96
+ /** 获取筛选区域表单实例 */
97
+ getFilterForm: () => Form;
98
+ /** page信息 */
99
+ getPagination: () => IPagination;
100
+ /** 更新table高度 */
101
+ updateTableHeight: () => void;
102
+ }
103
+ /** 展开区域渲染器props */
104
+ export interface IExpandedRowRenderParams {
105
+ /** index */
106
+ $index: number;
107
+ /** 展开 */
108
+ expanded: boolean;
109
+ /** 行信息 */
110
+ row: ICommonObj;
111
+ /** 暂时不知道作用 */
112
+ store: ICommonObj;
113
+ }
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=interfaces.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { IFetchConfig } from '../../interfaces';
2
+ import type { IFieldEffect } from '../formilyCmps';
3
+ declare const useAsyncDataSource: ({ api, params, remote, formatter }: IFetchConfig) => IFieldEffect;
4
+ export default useAsyncDataSource;