@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.
- package/es/components/codeEditor/index.d.ts +8 -8
- package/es/components/commonDrawer/index.d.ts +28 -15
- package/es/components/commonDrawer/index.mjs +11 -4
- package/es/components/commonDrawer/index.mjs.map +1 -1
- package/es/components/commonEditor/constants.d.ts +17 -0
- package/es/components/commonEditor/constants.mjs +16 -0
- package/es/components/commonEditor/constants.mjs.map +1 -0
- package/es/components/commonEditor/index.d.ts +181 -0
- package/es/components/commonEditor/index.mjs +193 -0
- package/es/components/commonEditor/index.mjs.map +1 -0
- package/es/components/commonEditor/index.module.mjs +4 -0
- package/es/components/commonEditor/index.module.mjs.map +1 -0
- package/es/components/commonEditor/interfaces.d.ts +46 -0
- package/es/components/commonEditor/interfaces.mjs +2 -0
- package/es/components/commonEditor/interfaces.mjs.map +1 -0
- package/es/components/commonEditor/useModeMap.d.ts +4 -0
- package/es/components/commonEditor/useModeMap.mjs +17 -0
- package/es/components/commonEditor/useModeMap.mjs.map +1 -0
- package/es/components/commonFilter/constants.d.ts +2 -0
- package/es/components/commonFilter/constants.mjs +4 -0
- package/es/components/commonFilter/constants.mjs.map +1 -0
- package/es/components/commonFilter/index.d.ts +107 -0
- package/es/components/commonFilter/index.mjs +103 -0
- package/es/components/commonFilter/index.mjs.map +1 -0
- package/es/components/commonFilter/index.module.mjs +4 -0
- package/es/components/commonFilter/index.module.mjs.map +1 -0
- package/es/components/commonFilter/interfaces.d.ts +75 -0
- package/es/components/commonFilter/interfaces.mjs +2 -0
- package/es/components/commonFilter/interfaces.mjs.map +1 -0
- package/es/components/commonFilter/props.d.ts +31 -0
- package/es/components/commonFilter/props.mjs +30 -0
- package/es/components/commonFilter/props.mjs.map +1 -0
- package/es/components/commonFilter/useCollapse.d.ts +2 -0
- package/es/components/commonFilter/useCollapse.mjs +29 -0
- package/es/components/commonFilter/useCollapse.mjs.map +1 -0
- package/es/components/commonFilter/useFieldsParser.d.ts +5 -0
- package/es/components/commonFilter/useFieldsParser.mjs +34 -0
- package/es/components/commonFilter/useFieldsParser.mjs.map +1 -0
- package/es/components/commonFilter/useKeepFilter.d.ts +3 -0
- package/es/components/commonFilter/useKeepFilter.mjs +36 -0
- package/es/components/commonFilter/useKeepFilter.mjs.map +1 -0
- package/es/components/commonFilter/utils.d.ts +3 -0
- package/es/components/commonFilter/utils.mjs +14 -0
- package/es/components/commonFilter/utils.mjs.map +1 -0
- package/es/components/commonJsonPretty/index.d.ts +31 -0
- package/es/components/commonJsonPretty/index.mjs +26 -0
- package/es/components/commonJsonPretty/index.mjs.map +1 -0
- package/es/components/commonLocations/index.d.ts +1 -1
- package/es/components/commonModal/index.d.ts +30 -0
- package/es/components/commonModal/index.mjs +56 -0
- package/es/components/commonModal/index.mjs.map +1 -0
- package/es/components/commonModal/index.module.mjs +4 -0
- package/es/components/commonModal/index.module.mjs.map +1 -0
- package/es/components/commonModal/interfaces.d.ts +7 -0
- package/es/components/commonModal/interfaces.mjs +2 -0
- package/es/components/commonModal/interfaces.mjs.map +1 -0
- package/es/components/commonPage/constants.d.ts +18 -0
- package/es/components/commonPage/constants.mjs +16 -0
- package/es/components/commonPage/constants.mjs.map +1 -0
- package/es/components/commonPage/index.d.ts +256 -0
- package/es/components/commonPage/index.mjs +461 -0
- package/es/components/commonPage/index.mjs.map +1 -0
- package/es/components/commonPage/index.module.mjs +4 -0
- package/es/components/commonPage/index.module.mjs.map +1 -0
- package/es/components/commonPage/interfaces.d.ts +113 -0
- package/es/components/commonPage/interfaces.mjs +2 -0
- package/es/components/commonPage/interfaces.mjs.map +1 -0
- package/es/components/commonPage/useAsyncDataSource.d.ts +4 -0
- package/es/components/commonPage/useAsyncDataSource.mjs +39 -0
- package/es/components/commonPage/useAsyncDataSource.mjs.map +1 -0
- package/es/components/commonPage/useLayout.d.ts +6 -0
- package/es/components/commonPage/useLayout.mjs +37 -0
- package/es/components/commonPage/useLayout.mjs.map +1 -0
- package/es/components/commonPage/usePage.d.ts +4 -0
- package/es/components/commonPage/usePage.mjs +64 -0
- package/es/components/commonPage/usePage.mjs.map +1 -0
- package/es/components/commonPage/usePageActions.d.ts +2 -0
- package/es/components/commonPage/usePageActions.mjs +66 -0
- package/es/components/commonPage/usePageActions.mjs.map +1 -0
- package/es/components/commonPage/usePagePreferences.d.ts +3 -0
- package/es/components/commonPage/usePagePreferences.mjs +54 -0
- package/es/components/commonPage/usePagePreferences.mjs.map +1 -0
- package/es/components/commonPage/utils.d.ts +4 -0
- package/es/components/commonPage/utils.mjs +11 -0
- package/es/components/commonPage/utils.mjs.map +1 -0
- package/es/components/commonSetter/components/draggableList/index.d.ts +31 -0
- package/es/components/commonSetter/components/draggableList/index.mjs +113 -0
- package/es/components/commonSetter/components/draggableList/index.mjs.map +1 -0
- package/es/components/commonSetter/components/draggableList/index.module.mjs +4 -0
- package/es/components/commonSetter/components/draggableList/index.module.mjs.map +1 -0
- package/es/components/commonSetter/constants.d.ts +7 -0
- package/es/components/commonSetter/constants.mjs +10 -0
- package/es/components/commonSetter/constants.mjs.map +1 -0
- package/es/components/commonSetter/index.d.ts +31 -0
- package/es/components/commonSetter/index.mjs +108 -0
- package/es/components/commonSetter/index.mjs.map +1 -0
- package/es/components/commonSetter/index.module.mjs +4 -0
- package/es/components/commonSetter/index.module.mjs.map +1 -0
- package/es/components/commonTable/constants.d.ts +11 -0
- package/es/components/commonTable/constants.mjs +14 -0
- package/es/components/commonTable/constants.mjs.map +1 -0
- package/es/components/commonTable/index.d.ts +132 -0
- package/es/components/commonTable/index.mjs +140 -0
- package/es/components/commonTable/index.mjs.map +1 -0
- package/es/components/commonTable/index.module.mjs +4 -0
- package/es/components/commonTable/index.module.mjs.map +1 -0
- package/es/components/commonTable/interfaces.d.ts +54 -0
- package/es/components/commonTable/interfaces.mjs +2 -0
- package/es/components/commonTable/interfaces.mjs.map +1 -0
- package/es/components/commonTable/props.d.ts +71 -0
- package/es/components/commonTable/props.mjs +72 -0
- package/es/components/commonTable/props.mjs.map +1 -0
- package/es/components/commonTable/usePagination.d.ts +3 -0
- package/es/components/commonTable/usePagination.mjs +41 -0
- package/es/components/commonTable/usePagination.mjs.map +1 -0
- package/es/components/commonTable/utils.d.ts +3 -0
- package/es/components/commonTable/utils.mjs +17 -0
- package/es/components/commonTable/utils.mjs.map +1 -0
- package/es/components/elIconPlus/index.d.ts +15 -0
- package/es/components/elIconPlus/index.mjs +31 -0
- package/es/components/elIconPlus/index.mjs.map +1 -0
- package/es/components/formTabs/index.d.ts +35 -0
- package/es/components/formTabs/index.mjs +60 -0
- package/es/components/formTabs/index.mjs.map +1 -0
- package/es/components/formilyCmps/formilyForm/index.d.ts +1 -1
- package/es/components/formilyCmps/formilyForm/index.mjs +2 -2
- package/es/components/formilyCmps/formilyForm/index.mjs.map +1 -1
- package/es/components/fragment/index.d.ts +4 -0
- package/es/components/fragment/index.mjs +16 -0
- package/es/components/fragment/index.mjs.map +1 -0
- package/es/components/iconFont/index.d.ts +36 -0
- package/es/components/iconFont/index.mjs +44 -0
- package/es/components/iconFont/index.mjs.map +1 -0
- package/es/components/index.d.ts +19 -0
- package/es/components/index.mjs +14 -0
- package/es/components/index.mjs.map +1 -1
- package/es/components/radioGroup/index.d.ts +9 -9
- package/es/components/space/index.d.ts +4 -4
- package/es/components/space/index.mjs +2 -2
- package/es/components/space/index.mjs.map +1 -1
- package/es/components/upload/formilyUpload.d.ts +73 -0
- package/es/components/upload/formilyUpload.mjs +90 -0
- package/es/components/upload/formilyUpload.mjs.map +1 -0
- package/es/components/upload/index.d.ts +271 -0
- package/es/components/upload/index.mjs +22 -0
- package/es/components/upload/index.mjs.map +1 -0
- package/es/components/upload/index.module.mjs +4 -0
- package/es/components/upload/index.module.mjs.map +1 -0
- package/es/components/upload/modalUpload.d.ts +36 -0
- package/es/components/upload/modalUpload.mjs +67 -0
- package/es/components/upload/modalUpload.mjs.map +1 -0
- package/es/components/upload/upload.d.ts +76 -0
- package/es/components/upload/upload.mjs +91 -0
- package/es/components/upload/upload.mjs.map +1 -0
- package/es/index.d.ts +13 -1
- package/es/index.mjs +14 -0
- package/es/index.mjs.map +1 -1
- package/es/styles/index.css +257 -11
- 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 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|