@cfmm/umi-plugins-ui-v2 0.0.10 → 0.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/CrudTable.tpl +87 -13
- package/dist/cjs/components/DataPermissionSelect.tpl +140 -119
- package/dist/cjs/types/CrudTableTypes.d.ts +1 -1
- package/dist/cjs/types/CrudTableTypes.js +1 -1
- package/dist/cjs/types/DataPermissionSelectTypes.d.ts +1 -1
- package/dist/cjs/types/DataPermissionSelectTypes.js +1 -1
- package/dist/esm/components/CrudTable.tpl +87 -13
- package/dist/esm/components/DataPermissionSelect.tpl +140 -119
- package/dist/esm/types/CrudTableTypes.d.ts +1 -1
- package/dist/esm/types/CrudTableTypes.js +1 -1
- package/dist/esm/types/DataPermissionSelectTypes.d.ts +1 -1
- package/dist/esm/types/DataPermissionSelectTypes.js +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CloudDownloadOutlined, DownloadOutlined, PlusOutlined, UploadOutlined } from '@ant-design/icons';
|
|
2
2
|
import { ActionType, ColumnsState, ProColumns, ProFormInstance, ProTable } from '@ant-design/pro-components';
|
|
3
3
|
import { cfmmUtils, ImportExecl, useFormatLocale, useIntl, useModel } from '@umijs/max';
|
|
4
|
-
import { Button, Drawer, Dropdown, MenuProps, message, Modal, Progress } from 'antd';
|
|
4
|
+
import { Button, Drawer, Dropdown, MenuProps, message, Modal, Progress, Radio } from 'antd';
|
|
5
5
|
import React, { ForwardedRef, forwardRef, useImperativeHandle, useMemo, useRef, useState } from 'react';
|
|
6
6
|
import useAction from '../hooks/useAction';
|
|
7
7
|
import useAuthority from '../hooks/useAuthority';
|
|
@@ -28,6 +28,8 @@ import ViewTableItemDrawer from './ViewTableItemDrawer';
|
|
|
28
28
|
const { confirm } = Modal;
|
|
29
29
|
export const TABLE_SCROLL = { x: 'max-content' };
|
|
30
30
|
|
|
31
|
+
type FORM_MODE = 'add' | 'edit';
|
|
32
|
+
|
|
31
33
|
// 生成默认权限码
|
|
32
34
|
const generateDefaultAuthCodes = (localCode: string | undefined) => {
|
|
33
35
|
if (!localCode) return {};
|
|
@@ -177,6 +179,49 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
|
|
|
177
179
|
},
|
|
178
180
|
);
|
|
179
181
|
|
|
182
|
+
const handleSelectMultiLangField = useMemoizedFn(async (multiLang: CrudTableConfig['multiLang']) => {
|
|
183
|
+
if (!multiLang?.fields) return;
|
|
184
|
+
|
|
185
|
+
// 需要导出的多语言字段
|
|
186
|
+
let multiLangField: (typeof multiLang.fields)[0] = multiLang.fields[0];
|
|
187
|
+
|
|
188
|
+
if (multiLang.fields.length > 1) {
|
|
189
|
+
const columnsTitleList = multiLang.fields.map(
|
|
190
|
+
(field) => columns.find((column) => column.dataIndex === field.columnName)?.title,
|
|
191
|
+
);
|
|
192
|
+
|
|
193
|
+
await new Promise((resolve) => {
|
|
194
|
+
Modal.confirm({
|
|
195
|
+
title: '导出多语言数据',
|
|
196
|
+
content: (
|
|
197
|
+
<div>
|
|
198
|
+
<Radio.Group
|
|
199
|
+
defaultValue={multiLangField.columnName}
|
|
200
|
+
onChange={({ target }) => {
|
|
201
|
+
const field = multiLang.fields.find((field) => field.columnName === target.value);
|
|
202
|
+
multiLangField = field as (typeof multiLang.fields)[0];
|
|
203
|
+
}}
|
|
204
|
+
>
|
|
205
|
+
{multiLang.fields.map((field, idx) => {
|
|
206
|
+
return (
|
|
207
|
+
<Radio key={field.columnName} value={field.columnName}>
|
|
208
|
+
{(columnsTitleList[idx] as string) ?? field.columnName}
|
|
209
|
+
</Radio>
|
|
210
|
+
);
|
|
211
|
+
})}
|
|
212
|
+
</Radio.Group>
|
|
213
|
+
</div>
|
|
214
|
+
),
|
|
215
|
+
onOk: async () => {
|
|
216
|
+
resolve(true);
|
|
217
|
+
},
|
|
218
|
+
});
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
return multiLangField;
|
|
223
|
+
});
|
|
224
|
+
|
|
180
225
|
// 导出多语言数据
|
|
181
226
|
const handleExportMultiLang = useMemoizedFn(async () => {
|
|
182
227
|
if (multiLang?.exportMultiLangData) {
|
|
@@ -190,9 +235,12 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
|
|
|
190
235
|
defaultMessage: '数据列表',
|
|
191
236
|
});
|
|
192
237
|
|
|
238
|
+
// 需要导出的多语言字段
|
|
239
|
+
const multiLangField = await handleSelectMultiLangField(multiLang);
|
|
240
|
+
|
|
193
241
|
const codeList = ['dataId', 'columnValue', 'zh_CN', 'zh_TW', 'en_US', 'th_TH'];
|
|
194
242
|
|
|
195
|
-
const { tableName, columnName } =
|
|
243
|
+
const { tableName, columnName } = multiLangField!;
|
|
196
244
|
const data = await queryMultiLangData(tableName, columnName);
|
|
197
245
|
|
|
198
246
|
if (!data.length) return;
|
|
@@ -229,7 +277,10 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
|
|
|
229
277
|
const importMultiLang = useMemoizedFn(async (list: any[]) => {
|
|
230
278
|
if (!multiLang?.fields) return;
|
|
231
279
|
|
|
232
|
-
|
|
280
|
+
// 需要导出的多语言字段
|
|
281
|
+
const multiLangField = await handleSelectMultiLangField(multiLang);
|
|
282
|
+
|
|
283
|
+
const { tableName, columnName } = multiLangField!;
|
|
233
284
|
|
|
234
285
|
if (multiLang.importMultiLangData) {
|
|
235
286
|
return await multiLang.importMultiLangData(list, tableName, columnName);
|
|
@@ -272,14 +323,17 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
|
|
|
272
323
|
const handleSearchAll = async () => {
|
|
273
324
|
if (loading) return { success: false } as API.Result_TableListType<T>;
|
|
274
325
|
|
|
326
|
+
// 导出场景优先使用 queryAll 拦截器,未配置时回退到 query 拦截器
|
|
327
|
+
const activeInterceptor = interceptors.queryAll ?? interceptors.query;
|
|
328
|
+
|
|
275
329
|
// 请求前拦截器
|
|
276
330
|
let processedParams = { ...tableSearchParams };
|
|
277
|
-
if (
|
|
278
|
-
processedParams =
|
|
331
|
+
if (activeInterceptor?.request) {
|
|
332
|
+
processedParams = activeInterceptor.request(processedParams);
|
|
279
333
|
}
|
|
280
334
|
|
|
281
335
|
setLoading(true);
|
|
282
|
-
const result = await queryList<T[]>(
|
|
336
|
+
const result = await queryList<T[]>(processedParams, {
|
|
283
337
|
queryFn: apis.query,
|
|
284
338
|
});
|
|
285
339
|
setLoading(false);
|
|
@@ -292,8 +346,8 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
|
|
|
292
346
|
|
|
293
347
|
// 请求后拦截器
|
|
294
348
|
let processedResult = result;
|
|
295
|
-
if (
|
|
296
|
-
processedResult =
|
|
349
|
+
if (activeInterceptor?.response) {
|
|
350
|
+
processedResult = activeInterceptor.response(result);
|
|
297
351
|
}
|
|
298
352
|
|
|
299
353
|
setTableList(processedResult.data);
|
|
@@ -579,6 +633,7 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
|
|
|
579
633
|
return column;
|
|
580
634
|
});
|
|
581
635
|
}
|
|
636
|
+
|
|
582
637
|
const hasOperationColumn = newColumns.some((col: ProColumns<T>) => col.valueType === 'option');
|
|
583
638
|
|
|
584
639
|
if (hasOperationColumn) {
|
|
@@ -623,6 +678,21 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
|
|
|
623
678
|
];
|
|
624
679
|
}, [rowKey, columns, multiLang, defaultAuthCodes, actionColumnConfig, updateFormRef]);
|
|
625
680
|
|
|
681
|
+
const editColumns = useMemo<ProColumns<T>[]>(() => {
|
|
682
|
+
return columns.map((column) => {
|
|
683
|
+
if (updateConfig.disabledColumnKeys?.includes(column.dataIndex as keyof T)) {
|
|
684
|
+
return {
|
|
685
|
+
...column,
|
|
686
|
+
fieldProps: {
|
|
687
|
+
disabled: true,
|
|
688
|
+
...column.fieldProps,
|
|
689
|
+
},
|
|
690
|
+
};
|
|
691
|
+
}
|
|
692
|
+
return column;
|
|
693
|
+
});
|
|
694
|
+
}, [columns]);
|
|
695
|
+
|
|
626
696
|
useImperativeHandle(
|
|
627
697
|
ref,
|
|
628
698
|
() => ({
|
|
@@ -948,10 +1018,11 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
|
|
|
948
1018
|
}
|
|
949
1019
|
return success;
|
|
950
1020
|
})}
|
|
1021
|
+
{...(updateConfig.props as U)}
|
|
951
1022
|
onCloseAfter={() => {
|
|
952
1023
|
setEditRow(null);
|
|
1024
|
+
updateConfig.props?.onCloseAfter?.();
|
|
953
1025
|
}}
|
|
954
|
-
{...(updateConfig.props as U)}
|
|
955
1026
|
/>
|
|
956
1027
|
) : (
|
|
957
1028
|
<Drawer
|
|
@@ -963,10 +1034,12 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
|
|
|
963
1034
|
forceRender // 勿删,否则formRef无法被绑定到ProTable上,因为ProTable是异步渲染的
|
|
964
1035
|
maskClosable={false}
|
|
965
1036
|
open={updateModalOpen}
|
|
966
|
-
onClose={() => {
|
|
1037
|
+
onClose={(e) => {
|
|
967
1038
|
setEditRow(null);
|
|
968
1039
|
setUpdateModalOpen(false);
|
|
1040
|
+
updateConfig.props?.drawerProps?.onCloseAfter?.(e);
|
|
969
1041
|
}}
|
|
1042
|
+
{...updateConfig.props?.drawerProps}
|
|
970
1043
|
// footer={<Button onClick={() => props.form?.resetFields()}>清空</Button>}
|
|
971
1044
|
>
|
|
972
1045
|
<ProTable<T, T>
|
|
@@ -985,12 +1058,13 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
|
|
|
985
1058
|
})}
|
|
986
1059
|
rowKey={rowKey as string}
|
|
987
1060
|
type="form"
|
|
988
|
-
columns={
|
|
989
|
-
{...(updateConfig.props as U)}
|
|
990
|
-
formRef={updateFormRef}
|
|
1061
|
+
columns={editColumns}
|
|
991
1062
|
onReset={() => {
|
|
992
1063
|
updateFormRef.current?.setFieldsValue({ ...(editRow || {}) });
|
|
1064
|
+
updateConfig.props?.onResetAfter?.();
|
|
993
1065
|
}}
|
|
1066
|
+
{...updateConfig.props}
|
|
1067
|
+
formRef={updateFormRef}
|
|
994
1068
|
// 自定义按钮
|
|
995
1069
|
// form={{
|
|
996
1070
|
// submitter: {
|
|
@@ -2,12 +2,12 @@ import { ModalForm, ProFormCheckbox, ProFormSelect } from '@ant-design/pro-compo
|
|
|
2
2
|
import { useIntl } from '@umijs/max';
|
|
3
3
|
import { Form, Tree } from 'antd';
|
|
4
4
|
import React, { useEffect, useMemo, useState } from 'react';
|
|
5
|
+
import { DataPermissionSelectProps, DataScopeEnum, DeptCheckStrictlyEnum } from '../types.d';
|
|
5
6
|
import { arrayToTree } from '../utils/utils';
|
|
6
|
-
import { DataPermissionSelectProps, DataScopeEnum, DeptCheckStrictlyEnum } from "../types.d";
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* 数据权限选择组件
|
|
10
|
-
* @param {DataPermissionSelectProps} props
|
|
10
|
+
* @param {DataPermissionSelectProps} props
|
|
11
11
|
* @param {string} props.authorizeName 授权名称
|
|
12
12
|
* @param {number | string} props.rootParentKey 根节点ID
|
|
13
13
|
* @param {any[]} props.treeList 组织树列表
|
|
@@ -17,14 +17,13 @@ import { DataPermissionSelectProps, DataScopeEnum, DeptCheckStrictlyEnum } from
|
|
|
17
17
|
const DataPermissionSelect = (props: DataPermissionSelectProps) => {
|
|
18
18
|
const [form] = Form.useForm();
|
|
19
19
|
const { formatMessage } = useIntl();
|
|
20
|
-
const { values, authorizeName, rootParentKey, treeList, onFinish, ...restProps } = props;
|
|
20
|
+
const { showDataScope = true, values, authorizeName, rootParentKey, treeList, onFinish, ...restProps } = props;
|
|
21
21
|
const [selectPermissionList, setSelectPermissionList] = useState<React.Key[]>([]);
|
|
22
22
|
const [expandedKeys, setExpandedKeys] = useState<React.Key[]>([]);
|
|
23
|
-
// 父子联动
|
|
24
|
-
const [deptCheckStrictly, setDeptCheckStrictly] = useState<boolean>(false);
|
|
25
23
|
// 是否显示树
|
|
26
24
|
const [showTree, setShowTree] = useState<boolean>(true);
|
|
27
25
|
const [submitting, setSubmitting] = useState<boolean>(false);
|
|
26
|
+
const [checkedTypes, setCheckedTypes] = useState<DeptCheckStrictlyEnum[]>([DeptCheckStrictlyEnum.FOLD]);
|
|
28
27
|
|
|
29
28
|
const menuTreeDate = useMemo(() => {
|
|
30
29
|
if (!treeList) return [];
|
|
@@ -45,18 +44,11 @@ const DataPermissionSelect = (props: DataPermissionSelectProps) => {
|
|
|
45
44
|
useEffect(() => {
|
|
46
45
|
if (values) {
|
|
47
46
|
setSelectPermissionList(values.deptIds ?? []);
|
|
48
|
-
|
|
49
|
-
const deptCheckStrictlyValues = values.deptCheckStrictly ?
|
|
50
|
-
[DeptCheckStrictlyEnum.FOLD, DeptCheckStrictlyEnum.SELECT_ALL] :
|
|
51
|
-
[DeptCheckStrictlyEnum.FOLD];
|
|
52
|
-
|
|
53
|
-
setDeptCheckStrictly(deptCheckStrictlyValues.includes(DeptCheckStrictlyEnum.SELECT_ALL));
|
|
54
47
|
setShowTree(values.dataScope === DataScopeEnum.CUSTOM);
|
|
55
48
|
|
|
56
49
|
form.setFieldsValue({
|
|
57
50
|
dataScope: values.dataScope ?? DataScopeEnum.CUSTOM,
|
|
58
|
-
|
|
59
|
-
})
|
|
51
|
+
});
|
|
60
52
|
}
|
|
61
53
|
}, [values]);
|
|
62
54
|
|
|
@@ -79,9 +71,9 @@ const DataPermissionSelect = (props: DataPermissionSelectProps) => {
|
|
|
79
71
|
|
|
80
72
|
const submitParams = {
|
|
81
73
|
...values,
|
|
82
|
-
deptCheckStrictly,
|
|
83
|
-
deptIds: selectPermissionList
|
|
84
|
-
}
|
|
74
|
+
// deptCheckStrictly,
|
|
75
|
+
deptIds: selectPermissionList,
|
|
76
|
+
};
|
|
85
77
|
|
|
86
78
|
//调用父级的方法
|
|
87
79
|
const success = await onFinish?.(submitParams);
|
|
@@ -96,15 +88,20 @@ const DataPermissionSelect = (props: DataPermissionSelectProps) => {
|
|
|
96
88
|
};
|
|
97
89
|
|
|
98
90
|
return (
|
|
99
|
-
<ModalForm
|
|
91
|
+
<ModalForm
|
|
92
|
+
form={form}
|
|
100
93
|
width={700}
|
|
101
|
-
title={
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
94
|
+
title={
|
|
95
|
+
authorizeName
|
|
96
|
+
? `${formatMessage({
|
|
97
|
+
id: 'cfmmUI.DataPermissionSelect.title',
|
|
98
|
+
defaultMessage: '选择数据权限范围',
|
|
99
|
+
})} - ${authorizeName}`
|
|
100
|
+
: `${formatMessage({
|
|
101
|
+
id: 'cfmmUI.DataPermissionSelect.title',
|
|
102
|
+
defaultMessage: '选择数据权限范围',
|
|
103
|
+
})}`
|
|
104
|
+
}
|
|
108
105
|
//关闭弹窗清除数据
|
|
109
106
|
modalProps={{
|
|
110
107
|
destroyOnHidden: true,
|
|
@@ -115,109 +112,133 @@ const DataPermissionSelect = (props: DataPermissionSelectProps) => {
|
|
|
115
112
|
onFinish={handleSubmit}
|
|
116
113
|
{...restProps}
|
|
117
114
|
>
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
115
|
+
{showDataScope && (
|
|
116
|
+
<ProFormSelect
|
|
117
|
+
name="dataScope"
|
|
118
|
+
label={formatMessage({
|
|
119
|
+
id: 'cfmmUI.DataPermissionSelect.dataScope',
|
|
120
|
+
defaultMessage: '权限范围',
|
|
121
|
+
})}
|
|
122
|
+
initialValue={DataScopeEnum.CUSTOM}
|
|
123
|
+
allowClear={false}
|
|
124
|
+
fieldProps={{
|
|
125
|
+
options: [
|
|
126
|
+
{
|
|
127
|
+
label: formatMessage({
|
|
128
|
+
id: 'cfmmUI.DataPermissionSelect.dataScope.all',
|
|
129
|
+
defaultMessage: '全部数据权限',
|
|
130
|
+
}),
|
|
131
|
+
value: DataScopeEnum.ALL,
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
label: formatMessage({
|
|
135
|
+
id: 'cfmmUI.DataPermissionSelect.dataScope.custom',
|
|
136
|
+
defaultMessage: '自定义数据权限',
|
|
137
|
+
}),
|
|
138
|
+
value: DataScopeEnum.CUSTOM,
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
label: formatMessage({
|
|
142
|
+
id: 'cfmmUI.DataPermissionSelect.dataScope.dept',
|
|
143
|
+
defaultMessage: '本部门数据权限',
|
|
144
|
+
}),
|
|
145
|
+
value: DataScopeEnum.DEPT,
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
label: formatMessage({
|
|
149
|
+
id: 'cfmmUI.DataPermissionSelect.dataScope.deptAndSub',
|
|
150
|
+
defaultMessage: '本部门及以下数据权限',
|
|
151
|
+
}),
|
|
152
|
+
value: DataScopeEnum.DEPT_AND_SUB,
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
label: formatMessage({
|
|
156
|
+
id: 'cfmmUI.DataPermissionSelect.dataScope.onlySelf',
|
|
157
|
+
defaultMessage: '仅本人数据权限',
|
|
158
|
+
}),
|
|
159
|
+
value: DataScopeEnum.ONLY_SELF,
|
|
160
|
+
},
|
|
161
|
+
],
|
|
162
|
+
onChange: (value) => {
|
|
163
|
+
if (value === DataScopeEnum.CUSTOM) {
|
|
164
|
+
setShowTree(true);
|
|
165
|
+
} else {
|
|
166
|
+
setShowTree(false);
|
|
167
|
+
setSelectPermissionList([]);
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
}}
|
|
171
|
+
/>
|
|
172
|
+
)}
|
|
173
|
+
|
|
174
|
+
{(showTree || !showDataScope) && (
|
|
175
|
+
<>
|
|
176
|
+
<ProFormCheckbox.Group
|
|
177
|
+
label={formatMessage({
|
|
178
|
+
id: 'cfmmUI.DataPermissionSelect.dataPermission',
|
|
179
|
+
defaultMessage: '数据权限',
|
|
180
|
+
})}
|
|
181
|
+
fieldProps={{
|
|
182
|
+
defaultValue: [DeptCheckStrictlyEnum.FOLD],
|
|
183
|
+
options: [
|
|
184
|
+
{
|
|
185
|
+
label: formatMessage({
|
|
173
186
|
id: 'cfmmUI.DataPermissionSelect.dataPermission.fold',
|
|
174
187
|
defaultMessage: '折叠/展开',
|
|
175
|
-
}),
|
|
176
|
-
|
|
188
|
+
}),
|
|
189
|
+
value: DeptCheckStrictlyEnum.FOLD,
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
label: formatMessage({
|
|
177
193
|
id: 'cfmmUI.DataPermissionSelect.dataPermission.selectAll',
|
|
178
194
|
defaultMessage: '全选/全不选',
|
|
179
|
-
}),
|
|
180
|
-
|
|
181
|
-
id: 'cfmmUI.DataPermissionSelect.dataPermission.parentChild',
|
|
182
|
-
defaultMessage: '父子联动',
|
|
183
|
-
}), value: DeptCheckStrictlyEnum.PARENT_CHILD },
|
|
184
|
-
],
|
|
185
|
-
onChange: (checkedValues) => {
|
|
186
|
-
setExpandedKeys(checkedValues.includes(DeptCheckStrictlyEnum.FOLD) ? allKeys : []);
|
|
187
|
-
setSelectPermissionList(checkedValues.includes(DeptCheckStrictlyEnum.SELECT_ALL) ? allKeys : []);
|
|
188
|
-
setDeptCheckStrictly(checkedValues.includes(DeptCheckStrictlyEnum.PARENT_CHILD));
|
|
195
|
+
}),
|
|
196
|
+
value: DeptCheckStrictlyEnum.SELECT_ALL,
|
|
189
197
|
},
|
|
198
|
+
],
|
|
199
|
+
onChange: (checkedValues) => {
|
|
200
|
+
setCheckedTypes(checkedValues);
|
|
201
|
+
setExpandedKeys(checkedValues.includes(DeptCheckStrictlyEnum.FOLD) ? allKeys : []);
|
|
202
|
+
// 判断如果变化的不是这一项,则不设置选中树的项
|
|
203
|
+
if (
|
|
204
|
+
(checkedTypes.includes(DeptCheckStrictlyEnum.SELECT_ALL) &&
|
|
205
|
+
checkedValues.includes(DeptCheckStrictlyEnum.SELECT_ALL)) ||
|
|
206
|
+
(!checkedTypes.includes(DeptCheckStrictlyEnum.SELECT_ALL) &&
|
|
207
|
+
!checkedValues.includes(DeptCheckStrictlyEnum.SELECT_ALL))
|
|
208
|
+
) {
|
|
209
|
+
} else {
|
|
210
|
+
setSelectPermissionList(checkedValues.includes(DeptCheckStrictlyEnum.SELECT_ALL) ? allKeys : []);
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
}}
|
|
214
|
+
/>
|
|
215
|
+
<Form.Item
|
|
216
|
+
// name="deptIds"
|
|
217
|
+
wrapperCol={{ offset: 5, span: 16 }}
|
|
218
|
+
>
|
|
219
|
+
<Tree
|
|
220
|
+
style={{
|
|
221
|
+
border: '1px solid #d9d9d9',
|
|
222
|
+
borderRadius: 8,
|
|
223
|
+
maxHeight: 'calc(100vh - 450px)',
|
|
224
|
+
overflow: 'auto',
|
|
225
|
+
}}
|
|
226
|
+
checkable
|
|
227
|
+
expandedKeys={expandedKeys}
|
|
228
|
+
onExpand={setExpandedKeys}
|
|
229
|
+
checkedKeys={selectPermissionList}
|
|
230
|
+
treeData={menuTreeDate}
|
|
231
|
+
checkStrictly={true}
|
|
232
|
+
onCheck={(checkedKeys) => {
|
|
233
|
+
const keys = Array.isArray(checkedKeys) ? checkedKeys : checkedKeys.checked;
|
|
234
|
+
setSelectPermissionList(keys);
|
|
190
235
|
}}
|
|
191
236
|
/>
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
>
|
|
196
|
-
<Tree
|
|
197
|
-
style={{
|
|
198
|
-
border: '1px solid #d9d9d9',
|
|
199
|
-
borderRadius: 8,
|
|
200
|
-
maxHeight: "calc(100vh - 450px)",
|
|
201
|
-
overflow: 'auto',
|
|
202
|
-
}}
|
|
203
|
-
checkable
|
|
204
|
-
expandedKeys={expandedKeys}
|
|
205
|
-
onExpand={setExpandedKeys}
|
|
206
|
-
checkedKeys={selectPermissionList}
|
|
207
|
-
treeData={menuTreeDate}
|
|
208
|
-
checkStrictly={true}
|
|
209
|
-
// @ts-ignore
|
|
210
|
-
onCheck={(checkedKeys) => {
|
|
211
|
-
const keys = Array.isArray(checkedKeys) ? checkedKeys : checkedKeys.checked;
|
|
212
|
-
setSelectPermissionList(keys)
|
|
213
|
-
}}
|
|
214
|
-
/>
|
|
215
|
-
</Form.Item>
|
|
216
|
-
</>
|
|
217
|
-
)
|
|
218
|
-
}
|
|
237
|
+
</Form.Item>
|
|
238
|
+
</>
|
|
239
|
+
)}
|
|
219
240
|
</ModalForm>
|
|
220
241
|
);
|
|
221
242
|
};
|
|
222
243
|
|
|
223
|
-
export default React.memo(DataPermissionSelect) as typeof DataPermissionSelect;
|
|
244
|
+
export default React.memo(DataPermissionSelect) as typeof DataPermissionSelect;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const CrudTableTypes = "\nexport interface CrudTableConfig<T = any, U = {}, C = {}> {\n // \u57FA\u7840\u914D\u7F6E\n baseLocalCode?: string;\n baseLocalName?: string;\n rowKey: keyof T;\n\n /** \u591A\u8BED\u8A00\u7F16\u8F91\u914D\u7F6E */\n multiLang?: {\n /** \u591A\u8BED\u8A00\u8868\u6570\u636E */\n multiLangList?: ExportMultiLangListItem[];\n /** \u591A\u8BED\u8A00\u5B57\u6BB5\u914D\u7F6E */\n fields: {\n /** \u5B57\u6BB5\u540D */\n fieldName: keyof T;\n /** \u8868\u540D */\n tableName: string;\n /** \u5217\u540D */\n columnName: string;\n /** \u70B9\u51FB\u56DE\u8C03\uFF0C\u7528\u4E8E\u8BBE\u7F6ElangInfoItem */\n onClick?: (record: T) => LangInfoItem;\n }[];\n /** \u81EA\u5B9A\u4E49\u5BFC\u51FA\u591A\u8BED\u8A00\u51FD\u6570 */\n exportMultiLangData?: () => Promise<boolean | void>;\n /** \u81EA\u5B9A\u4E49\u67E5\u8BE2\u5BFC\u51FA\u591A\u8BED\u8A00\u51FD\u6570 */\n queryExportMultiLangData?: (tableName: string, columnName: string) => Promise<ExportMultiLangListItem[]>;\n /** \u81EA\u5B9A\u4E49\u5BFC\u5165\u591A\u8BED\u8A00\u51FD\u6570 */\n importMultiLangData?: (list: ExportMultiLangListItem[], tableName: string, columnName: string) => Promise<{ success: boolean; failMsg?: string; data?: any } | void> | void;\n };\n \n /** \u6309\u94AE\u6743\u9650\u7F16\u7801\uFF0C\u9ED8\u8BA4\u4F1A\u6839\u636EbaseLocalCode\u751F\u6210 */\n authCodes?: {\n view?: string | boolean | ((record: T) => boolean | undefined);\n add?: string | boolean;\n edit?: string | boolean | ((record: T) => boolean | undefined);\n /** remove\u6743\u9650\u662F\u51FD\u6570\u65F6\uFF0C\u5982\u679C\u9700\u8981\u6279\u91CF\u5220\u9664\u8BF7\u8BBE\u7F6EbatchRemoveAuth\u4E3Atrue, \u5426\u5219\u4E0D\u4F1A\u663E\u793A\u6279\u91CF\u5220\u9664\u6309\u94AE */\n remove?: string | boolean | ((record: T) => boolean | undefined);\n /** \u6279\u91CF\u5220\u9664\u6743\u9650 */\n batchRemoveAuth?: string | boolean;\n record?: string | boolean | ((record: T) => boolean | undefined);\n };\n\n /** API\u65B9\u6CD5 */\n apis: {\n /** \u67E5\u8BE2\u65B9\u6CD5 */\n query: (params: any) => Promise<any>;\n /** \u64CD\u4F5C\u65B9\u6CD5 */\n handle: (method: API.MethodTypes, data: any) => Promise<any>;\n /** \u6839\u636Eid\u67E5\u8BE2\u8BE6\u60C5\u65B9\u6CD5\uFF0C\u6CA1\u4F20\u5219\u4F7F\u7528\u884C\u6570\u636E\u8FDB\u884C\u7F16\u8F91 */\n queryById?: (id: any) => Promise<any>;\n /** \u5BFC\u5165\u65B9\u6CD5 */\n importData?: (list: T[]) => Promise<any>;\n };\n\n /** API\u62E6\u622A\u5668 */\n interceptors?: {\n /** \u67E5\u8BE2\u62E6\u622A\u5668 */\n query?: {\n /** \u67E5\u8BE2\u8BF7\u6C42\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u67E5\u8BE2\u53C2\u6570\u8FDB\u884C\u5904\u7406 */\n request?: (params: any) => any;\n /** \u67E5\u8BE2\u54CD\u5E94\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u67E5\u8BE2\u7ED3\u679C\u8FDB\u884C\u5904\u7406 */\n response?: (result: any) => any;\n };\n /** \u64CD\u4F5C\u62E6\u622A\u5668 */\n handle?: {\n /** \u64CD\u4F5C\u8BF7\u6C42\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u64CD\u4F5C\u53C2\u6570\u8FDB\u884C\u5904\u7406 */\n request?: (method: API.MethodTypes, data: any) => { method?: API.MethodTypes; data: any };\n /** \u64CD\u4F5C\u54CD\u5E94\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u64CD\u4F5C\u7ED3\u679C\u8FDB\u884C\u5904\u7406 */\n response?: (method: API.MethodTypes, result: any) => any;\n };\n /** \u8BE6\u60C5\u67E5\u8BE2\u62E6\u622A\u5668 */\n queryById?: {\n /** \u8BE6\u60C5\u67E5\u8BE2\u8BF7\u6C42\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u8BE6\u60C5\u67E5\u8BE2\u53C2\u6570\u8FDB\u884C\u5904\u7406 */\n request?: (id: any) => any;\n /** \u8BE6\u60C5\u67E5\u8BE2\u54CD\u5E94\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u8BE6\u60C5\u67E5\u8BE2\u7ED3\u679C\u8FDB\u884C\u5904\u7406 */\n response?: (result: any) => any;\n };\n /** \u5BFC\u5165\u62E6\u622A\u5668 */\n importData?: {\n /** \u5BFC\u5165\u8BF7\u6C42\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u5BFC\u5165\u53C2\u6570\u8FDB\u884C\u5904\u7406 */\n request?: (list: T[]) => any;\n /** \u5BFC\u5165\u54CD\u5E94\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u5BFC\u5165\u7ED3\u679C\u8FDB\u884C\u5904\u7406 */\n response?: (result: any) => any;\n /** \u5BFC\u5165\u6821\u9A8C\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u5BFC\u5165\u6570\u636E\u8FDB\u884C\u6821\u9A8C */\n checkImportExecl?: (list: T[]) => ImportErrorType[];\n /** \u5BFC\u5165\u6821\u9A8C\u63D0\u793A\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u5BFC\u5165\u6821\u9A8C\u63D0\u793A\u8FDB\u884C\u5904\u7406 */\n showCheckErrorTips?: (errorMessageList: ImportErrorType[]) => void;\n /** \u5BFC\u5165\u63D0\u4EA4\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u5BFC\u5165\u6570\u636E\u8FDB\u884C\u63D0\u4EA4 */\n submitImportListData?: (list: T[]) => Promise<{ success: boolean; data?: K | null; error?: AxiosError | null }>;\n };\n };\n\n /** \u8868\u683C\u5217\u914D\u7F6E */\n columns: ProColumns<T>[];\n /** \u8868\u683C\u5176\u4ED6\u914D\u7F6E */\n tableProps?: Partial<ProTableProps<T, any>> & {\n extraTableButtonList?: {\n /** \u6309\u94AE\u4F4D\u7F6E */\n position: 'start' | 'end' | number;\n /** \u6309\u94AE\u8282\u70B9 */\n label: any;\n icon?: React.ReactNode;\n /** \u6309\u94AE\u6743\u9650 */\n auth?: string | boolean;\n }[];\n /** \u6839\u636Ekey\u66FF\u6362\u8868\u683C\u6309\u94AE */\n replaceTableButtonItems?: {\n /** \u6309\u94AEkey */\n key: string;\n /** \u6309\u94AE\u8282\u70B9 */\n label: any;\n /** \u6309\u94AE\u6743\u9650 */\n auth?: string | boolean;\n }[];\n }\n\n /** \u64CD\u4F5C\u5217\u914D\u7F6E\uFF08\u8868\u683C\u64CD\u4F5C\u5217\u914D\u7F6E\u3001\u64CD\u4F5C\u5217\u4E0B\u62C9\u6309\u94AE\u914D\u7F6E\uFF09 */\n actionColumnConfig?: {\n /** \u8868\u683C\u64CD\u4F5C\u5217\u914D\u7F6E */\n columnConfig?: ProColumns<T>;\n /** \u4E0B\u62C9\u5217\u8868\u5C5E\u6027 */\n getDropdownButtonProps?: (record: T) => Partial<DropdownButtonProps>;\n };\n\n /** \u65B0\u589E\u8868\u5355\u914D\u7F6E */\n createConfig?: {\n /** \u81EA\u5B9A\u4E49\u521B\u5EFA\u8868\u5355\u7EC4\u4EF6 */\n Component?: React.ComponentType<\n {\n open?: boolean;\n onOpenChange?: (visible: boolean) => void;\n onSubmit?: (values: any) => Promise<boolean | void>;\n loading?: boolean;\n } & C\n >;\n /** \u4F20\u9012\u7ED9CreateFormComponent\u7684\u989D\u5916props */\n props?: C;\n };\n\n /** \u7F16\u8F91\u8868\u5355\u914D\u7F6E */\n updateConfig?: {\n /** \u81EA\u5B9A\u4E49\u7F16\u8F91\u8868\u5355\u7EC4\u4EF6 */\n Component?: React.ComponentType<\n {\n updateDrawerRef: React.MutableRefObject<RefDrawerFormRefType | undefined>;\n values: Partial<T> | null;\n onSubmit: (values: any) => Promise<boolean | void>;\n } & U\n >;\n /** \u4F20\u9012\u7ED9UpdateFormComponent\u7684\u989D\u5916props */\n props?: U;\n };\n \n /** \u4E0B\u8F7D\u6A21\u677F\u53C2\u6570 */\n downloadTemplate?: {\n /** \u6A21\u677F\u7C7B\u578B\u7F16\u53F7\uFF0C\u5B57\u5178\u4E2D\u7684 TemplateCenterTemplateType */\n templateTypeCode?: string;\n /** \u6A21\u5757\u7F16\u53F7\uFF0C\u83DC\u5355\u4E2D\u7684\u76EE\u5F55\u7F16\u53F7 */\n moduleCode?: string;\n };\n\n /** \u81EA\u5B9A\u4E49\u65B0\u589E\u51FD\u6570 */\n onAdd?: () => void;\n /** \u81EA\u5B9A\u4E49\u7F16\u8F91\u51FD\u6570 */\n onEdit?: (record: T) => void;\n /** \u81EA\u5B9A\u4E49\u5220\u9664\u51FD\u6570 */\n onDelete?: (keys: React.Key[]) => void;\n /** \u81EA\u5B9A\u4E49\u67E5\u770B\u51FD\u6570 */\n onView?: (record: T) => void;\n /** \u81EA\u5B9A\u4E49\u64CD\u4F5C\u65E5\u5FD7\u51FD\u6570 */\n onActionLog?: (record: T) => void;\n\n /** \u67E5\u8BE2\u540E\u56DE\u8C03\u51FD\u6570 */\n onAfterSearch?: (result: API.Result_TableListType<T[]>) => Promise<any> | void;\n /** \u65B0\u589E\u524D\u56DE\u8C03\u51FD\u6570\uFF0C\u8FD4\u56DEfalse\u5219\u4E0D\u8FDB\u884C\u65B0\u589E\uFF0C\u65E0\u8FD4\u56DE\u6216\u8005true\u5219\u8FDB\u884C\u65B0\u589E */\n onBeforeAdd?: () => Promise<null | boolean | void> | boolean | void;\n /** \u7F16\u8F91\u524D\u56DE\u8C03\u51FD\u6570\uFF0C\u8FD4\u56DEfalse\u5219\u4E0D\u8FDB\u884C\u7F16\u8F91\uFF0C\u65E0\u8FD4\u56DE\u6216\u8005true\u5219\u4F7F\u7528\u9ED8\u8BA4\u6570\u636E\u8FDB\u884C\u7F16\u8F91\uFF0C\u8FD4\u56DE\u5BF9\u8C61\u5219\u4F7F\u7528\u8FD4\u56DE\u7684\u5BF9\u8C61\u8FDB\u884C\u7F16\u8F91 */\n onBeforeEdit?: (record: T) => Promise<T | null | boolean | void> | T | boolean | void;\n /** \u5220\u9664\u524D\u56DE\u8C03\u51FD\u6570\uFF0C\u5982\u679C\u51FD\u6570\u6CA1\u6709\u8FD4\u56DEtrue\uFF0C\u5219\u4E0D\u8FDB\u884C\u64CD\u4F5C */\n onBeforeDelete?: (keys: React.Key[]) => Promise<boolean> | boolean | void;\n /** \u5220\u9664\u540E\u56DE\u8C03\u51FD\u6570 */\n onAfterDelete?: (keys: React.Key[], result: boolean) => Promise<boolean> | boolean | void;\n /** \u64CD\u4F5C\u524D\u56DE\u8C03\u51FD\u6570\uFF0C\u5982\u679C\u51FD\u6570\u6CA1\u6709\u8FD4\u56DEtrue\uFF0C\u5219\u4E0D\u8FDB\u884C\u64CD\u4F5C */\n onBeforeAction?: (method: API.MethodTypes, fields: any) => Promise<boolean> | boolean | void;\n /** \u64CD\u4F5C\u540E\u56DE\u8C03\u51FD\u6570 */\n onAfterAction?: (method: API.MethodTypes, success: boolean) => void;\n /** \u5BFC\u5165\u540E\u56DE\u8C03\u51FD\u6570 */\n onAfterImport?: (result: { success: boolean; data?: K | null; error?: AxiosError | null }) => Promise<any> | void;\n}\n\nexport interface CrudTableRefType<T = any> {\n actionRef: React.MutableRefObject<ActionType | undefined>;\n updateDrawerRef: React.MutableRefObject<RefDrawerFormRefType | undefined>;\n tableList: T[];\n setTableList: (row: T[]) => void;\n viewRow: T | undefined;\n setViewRow: (row: T | undefined) => void;\n actionLogRow: T | undefined;\n setActionLogRow: (row: T | undefined) => void;\n editRow: Partial<T> | null;\n setEditRow: (row: Partial<T> | null) => void;\n selectedRows: T[];\n setSelectedRows: (rows: T[]) => void;\n selectedRowKeys: React.Key[];\n setSelectedRowKeys: (keys: React.Key[]) => void;\n createModalOpen: boolean;\n setCreateModalOpen: (open: boolean) => void;\n editLangModalOpen: boolean;\n setEditLangModalOpen: (open: boolean) => void;\n currentLangInfo?: LangInfoItem;\n setCurrentLangInfo: (open: LangInfoItem) => void;\n onDelete: (keys: React.Key[]) => void;\n updateModalOpen: () => void;\n updateModalClose: () => void;\n}\n";
|
|
1
|
+
export declare const CrudTableTypes = "\nexport interface CrudTableConfig<T = any, U = {}, C = {}> {\n // \u57FA\u7840\u914D\u7F6E\n baseLocalCode?: string;\n baseLocalName?: string;\n rowKey: keyof T;\n\n /** \u591A\u8BED\u8A00\u7F16\u8F91\u914D\u7F6E */\n multiLang?: {\n /** \u591A\u8BED\u8A00\u8868\u6570\u636E */\n multiLangList?: ExportMultiLangListItem[];\n /** \u591A\u8BED\u8A00\u5B57\u6BB5\u914D\u7F6E */\n fields: {\n /** \u5B57\u6BB5\u540D */\n fieldName: keyof T;\n /** \u8868\u540D */\n tableName: string;\n /** \u5217\u540D */\n columnName: string;\n /** \u70B9\u51FB\u56DE\u8C03\uFF0C\u7528\u4E8E\u8BBE\u7F6ElangInfoItem */\n onClick?: (record: T) => LangInfoItem;\n }[];\n /** \u81EA\u5B9A\u4E49\u5BFC\u51FA\u591A\u8BED\u8A00\u51FD\u6570 */\n exportMultiLangData?: () => Promise<boolean | void>;\n /** \u81EA\u5B9A\u4E49\u67E5\u8BE2\u5BFC\u51FA\u591A\u8BED\u8A00\u51FD\u6570 */\n queryExportMultiLangData?: (tableName: string, columnName: string) => Promise<ExportMultiLangListItem[]>;\n /** \u81EA\u5B9A\u4E49\u5BFC\u5165\u591A\u8BED\u8A00\u51FD\u6570 */\n importMultiLangData?: (list: ExportMultiLangListItem[], tableName: string, columnName: string) => Promise<{ success: boolean; failMsg?: string; data?: any } | void> | void;\n };\n \n /** \u6309\u94AE\u6743\u9650\u7F16\u7801\uFF0C\u9ED8\u8BA4\u4F1A\u6839\u636EbaseLocalCode\u751F\u6210 */\n authCodes?: {\n view?: string | boolean | ((record: T) => boolean | undefined);\n add?: string | boolean;\n edit?: string | boolean | ((record: T) => boolean | undefined);\n /** remove\u6743\u9650\u662F\u51FD\u6570\u65F6\uFF0C\u5982\u679C\u9700\u8981\u6279\u91CF\u5220\u9664\u8BF7\u8BBE\u7F6EbatchRemoveAuth\u4E3Atrue, \u5426\u5219\u4E0D\u4F1A\u663E\u793A\u6279\u91CF\u5220\u9664\u6309\u94AE */\n remove?: string | boolean | ((record: T) => boolean | undefined);\n /** \u6279\u91CF\u5220\u9664\u6743\u9650 */\n batchRemoveAuth?: string | boolean;\n record?: string | boolean | ((record: T) => boolean | undefined);\n };\n\n /** API\u65B9\u6CD5 */\n apis: {\n /** \u67E5\u8BE2\u65B9\u6CD5 */\n query: (params: any) => Promise<any>;\n /** \u64CD\u4F5C\u65B9\u6CD5 */\n handle: (method: API.MethodTypes, data: any) => Promise<any>;\n /** \u6839\u636Eid\u67E5\u8BE2\u8BE6\u60C5\u65B9\u6CD5\uFF0C\u6CA1\u4F20\u5219\u4F7F\u7528\u884C\u6570\u636E\u8FDB\u884C\u7F16\u8F91 */\n queryById?: (id: any) => Promise<any>;\n /** \u5BFC\u5165\u65B9\u6CD5 */\n importData?: (list: T[]) => Promise<any>;\n };\n\n /** API\u62E6\u622A\u5668 */\n interceptors?: {\n /** \u67E5\u8BE2\u62E6\u622A\u5668 */\n query?: {\n /** \u67E5\u8BE2\u8BF7\u6C42\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u67E5\u8BE2\u53C2\u6570\u8FDB\u884C\u5904\u7406 */\n request?: (params: any) => any;\n /** \u67E5\u8BE2\u54CD\u5E94\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u67E5\u8BE2\u7ED3\u679C\u8FDB\u884C\u5904\u7406 */\n response?: (result: any) => any;\n };\n /**\n * \u5BFC\u51FA\u5168\u91CF\u67E5\u8BE2\u62E6\u622A\u5668\uFF0C\u4F18\u5148\u7EA7\u9AD8\u4E8E query\uFF0C\u4E13\u7528\u4E8E\u5BFC\u51FA\u573A\u666F\u3002\n * \u5F53\u5BFC\u51FA\u4E0E\u8868\u683C\u5C55\u793A\u9700\u8981\u4E0D\u540C\u7684\u6570\u636E\u5904\u7406\u903B\u8F91\u65F6\uFF08\u5982\u8868\u683C\u8F6C\u6811\u3001\u5BFC\u51FA\u4FDD\u6301\u6241\u5E73\uFF09\uFF0C\u53EF\u5355\u72EC\u914D\u7F6E\u6B64\u9879\u3002\n * \u672A\u914D\u7F6E\u65F6\u56DE\u9000\u5230 query \u62E6\u622A\u5668\u3002\n */\n queryAll?: {\n /** \u5BFC\u51FA\u67E5\u8BE2\u8BF7\u6C42\u62E6\u622A\u5668 */\n request?: (params: any) => any;\n /** \u5BFC\u51FA\u67E5\u8BE2\u54CD\u5E94\u62E6\u622A\u5668 */\n response?: (result: any) => any;\n };\n /** \u64CD\u4F5C\u62E6\u622A\u5668 */\n handle?: {\n /** \u64CD\u4F5C\u8BF7\u6C42\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u64CD\u4F5C\u53C2\u6570\u8FDB\u884C\u5904\u7406 */\n request?: (method: API.MethodTypes, data: any) => { method?: API.MethodTypes; data: any };\n /** \u64CD\u4F5C\u54CD\u5E94\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u64CD\u4F5C\u7ED3\u679C\u8FDB\u884C\u5904\u7406 */\n response?: (method: API.MethodTypes, result: any) => any;\n };\n /** \u8BE6\u60C5\u67E5\u8BE2\u62E6\u622A\u5668 */\n queryById?: {\n /** \u8BE6\u60C5\u67E5\u8BE2\u8BF7\u6C42\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u8BE6\u60C5\u67E5\u8BE2\u53C2\u6570\u8FDB\u884C\u5904\u7406 */\n request?: (id: any) => any;\n /** \u8BE6\u60C5\u67E5\u8BE2\u54CD\u5E94\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u8BE6\u60C5\u67E5\u8BE2\u7ED3\u679C\u8FDB\u884C\u5904\u7406 */\n response?: (result: any) => any;\n };\n /** \u5BFC\u5165\u62E6\u622A\u5668 */\n importData?: {\n /** \u5BFC\u5165\u8BF7\u6C42\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u5BFC\u5165\u53C2\u6570\u8FDB\u884C\u5904\u7406 */\n request?: (list: T[]) => any;\n /** \u5BFC\u5165\u54CD\u5E94\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u5BFC\u5165\u7ED3\u679C\u8FDB\u884C\u5904\u7406 */\n response?: (result: any) => any;\n /** \u5BFC\u5165\u6821\u9A8C\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u5BFC\u5165\u6570\u636E\u8FDB\u884C\u6821\u9A8C */\n checkImportExecl?: (list: T[]) => ImportErrorType[];\n /** \u5BFC\u5165\u6821\u9A8C\u63D0\u793A\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u5BFC\u5165\u6821\u9A8C\u63D0\u793A\u8FDB\u884C\u5904\u7406 */\n showCheckErrorTips?: (errorMessageList: ImportErrorType[]) => void;\n /** \u5BFC\u5165\u63D0\u4EA4\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u5BFC\u5165\u6570\u636E\u8FDB\u884C\u63D0\u4EA4 */\n submitImportListData?: (list: T[]) => Promise<{ success: boolean; data?: K | null; error?: AxiosError | null }>;\n };\n };\n\n /** \u8868\u683C\u5217\u914D\u7F6E */\n columns: ProColumns<T>[];\n /** \u8868\u683C\u5176\u4ED6\u914D\u7F6E */\n tableProps?: Partial<ProTableProps<T, any>> & {\n extraTableButtonList?: {\n /** \u6309\u94AE\u4F4D\u7F6E */\n position: 'start' | 'end' | number;\n /** \u6309\u94AE\u8282\u70B9 */\n label: any;\n icon?: React.ReactNode;\n /** \u6309\u94AE\u6743\u9650 */\n auth?: string | boolean;\n }[];\n /** \u6839\u636Ekey\u66FF\u6362\u8868\u683C\u6309\u94AE */\n replaceTableButtonItems?: {\n /** \u6309\u94AEkey */\n key: string;\n /** \u6309\u94AE\u8282\u70B9 */\n label: any;\n /** \u6309\u94AE\u6743\u9650 */\n auth?: string | boolean;\n }[];\n }\n\n /** \u64CD\u4F5C\u5217\u914D\u7F6E\uFF08\u8868\u683C\u64CD\u4F5C\u5217\u914D\u7F6E\u3001\u64CD\u4F5C\u5217\u4E0B\u62C9\u6309\u94AE\u914D\u7F6E\uFF09 */\n actionColumnConfig?: {\n /** \u8868\u683C\u64CD\u4F5C\u5217\u914D\u7F6E */\n columnConfig?: ProColumns<T>;\n /** \u4E0B\u62C9\u5217\u8868\u5C5E\u6027 */\n getDropdownButtonProps?: (record: T) => Partial<DropdownButtonProps>;\n };\n\n /** \u65B0\u589E\u8868\u5355\u914D\u7F6E */\n createConfig?: {\n /** \u81EA\u5B9A\u4E49\u521B\u5EFA\u8868\u5355\u7EC4\u4EF6 */\n Component?: React.ComponentType<\n {\n open?: boolean;\n onOpenChange?: (visible: boolean) => void;\n onSubmit?: (values: any) => Promise<boolean | void>;\n loading?: boolean;\n } & C\n >;\n /** \u4F20\u9012\u7ED9CreateFormComponent\u7684\u989D\u5916props */\n props?: C;\n };\n\n /** \u7F16\u8F91\u8868\u5355\u914D\u7F6E */\n updateConfig?: {\n /** \u81EA\u5B9A\u4E49\u7F16\u8F91\u8868\u5355\u7EC4\u4EF6 */\n Component?: React.ComponentType<\n {\n updateDrawerRef: React.MutableRefObject<RefDrawerFormRefType | undefined>;\n values: Partial<T> | null;\n onSubmit: (values: any) => Promise<boolean | void>;\n } & U\n >;\n /** \u7F16\u8F91\u8868\u5355\u7981\u7528\u8868\u5355\u9879 */\n disabledColumnKeys?: (keyof T)[];\n /** \u4F20\u9012\u7ED9UpdateFormComponent\u7684\u989D\u5916props */\n props?: Partial<ProTableProps<T, any>> & {\n /** \u4F20\u9012\u7ED9UpdateFormComponent\u7684\u62BD\u5C49\u7EC4\u4EF6\u7684\u989D\u5916props */\n drawerProps?: Partial<DrawerProps> & {\n onCloseAfter?: (e?: React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent<Element>) => void;\n },\n /** \u91CD\u7F6E\u8868\u5355\u540E\u56DE\u8C03\u51FD\u6570 */\n onResetAfter?: () => void;\n /** \u5916\u90E8UpdateFormComponent\u7684\u989D\u5916props */\n [key: string]: any;\n };\n };\n \n /** \u4E0B\u8F7D\u6A21\u677F\u53C2\u6570 */\n downloadTemplate?: {\n /** \u6A21\u677F\u7C7B\u578B\u7F16\u53F7\uFF0C\u5B57\u5178\u4E2D\u7684 TemplateCenterTemplateType */\n templateTypeCode?: string;\n /** \u6A21\u5757\u7F16\u53F7\uFF0C\u83DC\u5355\u4E2D\u7684\u76EE\u5F55\u7F16\u53F7 */\n moduleCode?: string;\n };\n\n /** \u81EA\u5B9A\u4E49\u65B0\u589E\u51FD\u6570 */\n onAdd?: () => void;\n /** \u81EA\u5B9A\u4E49\u7F16\u8F91\u51FD\u6570 */\n onEdit?: (record: T) => void;\n /** \u81EA\u5B9A\u4E49\u5220\u9664\u51FD\u6570 */\n onDelete?: (keys: React.Key[]) => void;\n /** \u81EA\u5B9A\u4E49\u67E5\u770B\u51FD\u6570 */\n onView?: (record: T) => void;\n /** \u81EA\u5B9A\u4E49\u64CD\u4F5C\u65E5\u5FD7\u51FD\u6570 */\n onActionLog?: (record: T) => void;\n\n /** \u67E5\u8BE2\u540E\u56DE\u8C03\u51FD\u6570 */\n onAfterSearch?: (result: API.Result_TableListType<T[]>) => Promise<any> | void;\n /** \u65B0\u589E\u524D\u56DE\u8C03\u51FD\u6570\uFF0C\u8FD4\u56DEfalse\u5219\u4E0D\u8FDB\u884C\u65B0\u589E\uFF0C\u65E0\u8FD4\u56DE\u6216\u8005true\u5219\u8FDB\u884C\u65B0\u589E */\n onBeforeAdd?: () => Promise<null | boolean | void> | boolean | void;\n /** \u7F16\u8F91\u524D\u56DE\u8C03\u51FD\u6570\uFF0C\u8FD4\u56DEfalse\u5219\u4E0D\u8FDB\u884C\u7F16\u8F91\uFF0C\u65E0\u8FD4\u56DE\u6216\u8005true\u5219\u4F7F\u7528\u9ED8\u8BA4\u6570\u636E\u8FDB\u884C\u7F16\u8F91\uFF0C\u8FD4\u56DE\u5BF9\u8C61\u5219\u4F7F\u7528\u8FD4\u56DE\u7684\u5BF9\u8C61\u8FDB\u884C\u7F16\u8F91 */\n onBeforeEdit?: (record: T) => Promise<T | null | boolean | void> | T | boolean | void;\n /** \u5220\u9664\u524D\u56DE\u8C03\u51FD\u6570\uFF0C\u5982\u679C\u51FD\u6570\u6CA1\u6709\u8FD4\u56DEtrue\uFF0C\u5219\u4E0D\u8FDB\u884C\u64CD\u4F5C */\n onBeforeDelete?: (keys: React.Key[]) => Promise<boolean> | boolean | void;\n /** \u5220\u9664\u540E\u56DE\u8C03\u51FD\u6570 */\n onAfterDelete?: (keys: React.Key[], result: boolean) => Promise<boolean> | boolean | void;\n /** \u64CD\u4F5C\u524D\u56DE\u8C03\u51FD\u6570\uFF0C\u5982\u679C\u51FD\u6570\u6CA1\u6709\u8FD4\u56DEtrue\uFF0C\u5219\u4E0D\u8FDB\u884C\u64CD\u4F5C */\n onBeforeAction?: (method: API.MethodTypes, fields: any) => Promise<boolean> | boolean | void;\n /** \u64CD\u4F5C\u540E\u56DE\u8C03\u51FD\u6570 */\n onAfterAction?: (method: API.MethodTypes, success: boolean) => void;\n /** \u5BFC\u5165\u540E\u56DE\u8C03\u51FD\u6570 */\n onAfterImport?: (result: { success: boolean; data?: K | null; error?: AxiosError | null }) => Promise<any> | void;\n}\n\nexport interface CrudTableRefType<T = any> {\n actionRef: React.MutableRefObject<ActionType | undefined>;\n updateDrawerRef: React.MutableRefObject<RefDrawerFormRefType | undefined>;\n tableList: T[];\n setTableList: (row: T[]) => void;\n viewRow: T | undefined;\n setViewRow: (row: T | undefined) => void;\n actionLogRow: T | undefined;\n setActionLogRow: (row: T | undefined) => void;\n editRow: Partial<T> | null;\n setEditRow: (row: Partial<T> | null) => void;\n selectedRows: T[];\n setSelectedRows: (rows: T[]) => void;\n selectedRowKeys: React.Key[];\n setSelectedRowKeys: (keys: React.Key[]) => void;\n createModalOpen: boolean;\n setCreateModalOpen: (open: boolean) => void;\n editLangModalOpen: boolean;\n setEditLangModalOpen: (open: boolean) => void;\n currentLangInfo?: LangInfoItem;\n setCurrentLangInfo: (open: LangInfoItem) => void;\n onDelete: (keys: React.Key[]) => void;\n updateModalOpen: () => void;\n updateModalClose: () => void;\n}\n";
|
|
@@ -4,4 +4,4 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.CrudTableTypes = void 0;
|
|
7
|
-
var CrudTableTypes = exports.CrudTableTypes = "\nexport interface CrudTableConfig<T = any, U = {}, C = {}> {\n // \u57FA\u7840\u914D\u7F6E\n baseLocalCode?: string;\n baseLocalName?: string;\n rowKey: keyof T;\n\n /** \u591A\u8BED\u8A00\u7F16\u8F91\u914D\u7F6E */\n multiLang?: {\n /** \u591A\u8BED\u8A00\u8868\u6570\u636E */\n multiLangList?: ExportMultiLangListItem[];\n /** \u591A\u8BED\u8A00\u5B57\u6BB5\u914D\u7F6E */\n fields: {\n /** \u5B57\u6BB5\u540D */\n fieldName: keyof T;\n /** \u8868\u540D */\n tableName: string;\n /** \u5217\u540D */\n columnName: string;\n /** \u70B9\u51FB\u56DE\u8C03\uFF0C\u7528\u4E8E\u8BBE\u7F6ElangInfoItem */\n onClick?: (record: T) => LangInfoItem;\n }[];\n /** \u81EA\u5B9A\u4E49\u5BFC\u51FA\u591A\u8BED\u8A00\u51FD\u6570 */\n exportMultiLangData?: () => Promise<boolean | void>;\n /** \u81EA\u5B9A\u4E49\u67E5\u8BE2\u5BFC\u51FA\u591A\u8BED\u8A00\u51FD\u6570 */\n queryExportMultiLangData?: (tableName: string, columnName: string) => Promise<ExportMultiLangListItem[]>;\n /** \u81EA\u5B9A\u4E49\u5BFC\u5165\u591A\u8BED\u8A00\u51FD\u6570 */\n importMultiLangData?: (list: ExportMultiLangListItem[], tableName: string, columnName: string) => Promise<{ success: boolean; failMsg?: string; data?: any } | void> | void;\n };\n \n /** \u6309\u94AE\u6743\u9650\u7F16\u7801\uFF0C\u9ED8\u8BA4\u4F1A\u6839\u636EbaseLocalCode\u751F\u6210 */\n authCodes?: {\n view?: string | boolean | ((record: T) => boolean | undefined);\n add?: string | boolean;\n edit?: string | boolean | ((record: T) => boolean | undefined);\n /** remove\u6743\u9650\u662F\u51FD\u6570\u65F6\uFF0C\u5982\u679C\u9700\u8981\u6279\u91CF\u5220\u9664\u8BF7\u8BBE\u7F6EbatchRemoveAuth\u4E3Atrue, \u5426\u5219\u4E0D\u4F1A\u663E\u793A\u6279\u91CF\u5220\u9664\u6309\u94AE */\n remove?: string | boolean | ((record: T) => boolean | undefined);\n /** \u6279\u91CF\u5220\u9664\u6743\u9650 */\n batchRemoveAuth?: string | boolean;\n record?: string | boolean | ((record: T) => boolean | undefined);\n };\n\n /** API\u65B9\u6CD5 */\n apis: {\n /** \u67E5\u8BE2\u65B9\u6CD5 */\n query: (params: any) => Promise<any>;\n /** \u64CD\u4F5C\u65B9\u6CD5 */\n handle: (method: API.MethodTypes, data: any) => Promise<any>;\n /** \u6839\u636Eid\u67E5\u8BE2\u8BE6\u60C5\u65B9\u6CD5\uFF0C\u6CA1\u4F20\u5219\u4F7F\u7528\u884C\u6570\u636E\u8FDB\u884C\u7F16\u8F91 */\n queryById?: (id: any) => Promise<any>;\n /** \u5BFC\u5165\u65B9\u6CD5 */\n importData?: (list: T[]) => Promise<any>;\n };\n\n /** API\u62E6\u622A\u5668 */\n interceptors?: {\n /** \u67E5\u8BE2\u62E6\u622A\u5668 */\n query?: {\n /** \u67E5\u8BE2\u8BF7\u6C42\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u67E5\u8BE2\u53C2\u6570\u8FDB\u884C\u5904\u7406 */\n request?: (params: any) => any;\n /** \u67E5\u8BE2\u54CD\u5E94\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u67E5\u8BE2\u7ED3\u679C\u8FDB\u884C\u5904\u7406 */\n response?: (result: any) => any;\n };\n /** \u64CD\u4F5C\u62E6\u622A\u5668 */\n handle?: {\n /** \u64CD\u4F5C\u8BF7\u6C42\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u64CD\u4F5C\u53C2\u6570\u8FDB\u884C\u5904\u7406 */\n request?: (method: API.MethodTypes, data: any) => { method?: API.MethodTypes; data: any };\n /** \u64CD\u4F5C\u54CD\u5E94\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u64CD\u4F5C\u7ED3\u679C\u8FDB\u884C\u5904\u7406 */\n response?: (method: API.MethodTypes, result: any) => any;\n };\n /** \u8BE6\u60C5\u67E5\u8BE2\u62E6\u622A\u5668 */\n queryById?: {\n /** \u8BE6\u60C5\u67E5\u8BE2\u8BF7\u6C42\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u8BE6\u60C5\u67E5\u8BE2\u53C2\u6570\u8FDB\u884C\u5904\u7406 */\n request?: (id: any) => any;\n /** \u8BE6\u60C5\u67E5\u8BE2\u54CD\u5E94\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u8BE6\u60C5\u67E5\u8BE2\u7ED3\u679C\u8FDB\u884C\u5904\u7406 */\n response?: (result: any) => any;\n };\n /** \u5BFC\u5165\u62E6\u622A\u5668 */\n importData?: {\n /** \u5BFC\u5165\u8BF7\u6C42\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u5BFC\u5165\u53C2\u6570\u8FDB\u884C\u5904\u7406 */\n request?: (list: T[]) => any;\n /** \u5BFC\u5165\u54CD\u5E94\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u5BFC\u5165\u7ED3\u679C\u8FDB\u884C\u5904\u7406 */\n response?: (result: any) => any;\n /** \u5BFC\u5165\u6821\u9A8C\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u5BFC\u5165\u6570\u636E\u8FDB\u884C\u6821\u9A8C */\n checkImportExecl?: (list: T[]) => ImportErrorType[];\n /** \u5BFC\u5165\u6821\u9A8C\u63D0\u793A\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u5BFC\u5165\u6821\u9A8C\u63D0\u793A\u8FDB\u884C\u5904\u7406 */\n showCheckErrorTips?: (errorMessageList: ImportErrorType[]) => void;\n /** \u5BFC\u5165\u63D0\u4EA4\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u5BFC\u5165\u6570\u636E\u8FDB\u884C\u63D0\u4EA4 */\n submitImportListData?: (list: T[]) => Promise<{ success: boolean; data?: K | null; error?: AxiosError | null }>;\n };\n };\n\n /** \u8868\u683C\u5217\u914D\u7F6E */\n columns: ProColumns<T>[];\n /** \u8868\u683C\u5176\u4ED6\u914D\u7F6E */\n tableProps?: Partial<ProTableProps<T, any>> & {\n extraTableButtonList?: {\n /** \u6309\u94AE\u4F4D\u7F6E */\n position: 'start' | 'end' | number;\n /** \u6309\u94AE\u8282\u70B9 */\n label: any;\n icon?: React.ReactNode;\n /** \u6309\u94AE\u6743\u9650 */\n auth?: string | boolean;\n }[];\n /** \u6839\u636Ekey\u66FF\u6362\u8868\u683C\u6309\u94AE */\n replaceTableButtonItems?: {\n /** \u6309\u94AEkey */\n key: string;\n /** \u6309\u94AE\u8282\u70B9 */\n label: any;\n /** \u6309\u94AE\u6743\u9650 */\n auth?: string | boolean;\n }[];\n }\n\n /** \u64CD\u4F5C\u5217\u914D\u7F6E\uFF08\u8868\u683C\u64CD\u4F5C\u5217\u914D\u7F6E\u3001\u64CD\u4F5C\u5217\u4E0B\u62C9\u6309\u94AE\u914D\u7F6E\uFF09 */\n actionColumnConfig?: {\n /** \u8868\u683C\u64CD\u4F5C\u5217\u914D\u7F6E */\n columnConfig?: ProColumns<T>;\n /** \u4E0B\u62C9\u5217\u8868\u5C5E\u6027 */\n getDropdownButtonProps?: (record: T) => Partial<DropdownButtonProps>;\n };\n\n /** \u65B0\u589E\u8868\u5355\u914D\u7F6E */\n createConfig?: {\n /** \u81EA\u5B9A\u4E49\u521B\u5EFA\u8868\u5355\u7EC4\u4EF6 */\n Component?: React.ComponentType<\n {\n open?: boolean;\n onOpenChange?: (visible: boolean) => void;\n onSubmit?: (values: any) => Promise<boolean | void>;\n loading?: boolean;\n } & C\n >;\n /** \u4F20\u9012\u7ED9CreateFormComponent\u7684\u989D\u5916props */\n props?: C;\n };\n\n /** \u7F16\u8F91\u8868\u5355\u914D\u7F6E */\n updateConfig?: {\n /** \u81EA\u5B9A\u4E49\u7F16\u8F91\u8868\u5355\u7EC4\u4EF6 */\n Component?: React.ComponentType<\n {\n updateDrawerRef: React.MutableRefObject<RefDrawerFormRefType | undefined>;\n values: Partial<T> | null;\n onSubmit: (values: any) => Promise<boolean | void>;\n } & U\n >;\n /** \u4F20\u9012\u7ED9UpdateFormComponent\u7684\u989D\u5916props */\n props?: U;\n };\n \n /** \u4E0B\u8F7D\u6A21\u677F\u53C2\u6570 */\n downloadTemplate?: {\n /** \u6A21\u677F\u7C7B\u578B\u7F16\u53F7\uFF0C\u5B57\u5178\u4E2D\u7684 TemplateCenterTemplateType */\n templateTypeCode?: string;\n /** \u6A21\u5757\u7F16\u53F7\uFF0C\u83DC\u5355\u4E2D\u7684\u76EE\u5F55\u7F16\u53F7 */\n moduleCode?: string;\n };\n\n /** \u81EA\u5B9A\u4E49\u65B0\u589E\u51FD\u6570 */\n onAdd?: () => void;\n /** \u81EA\u5B9A\u4E49\u7F16\u8F91\u51FD\u6570 */\n onEdit?: (record: T) => void;\n /** \u81EA\u5B9A\u4E49\u5220\u9664\u51FD\u6570 */\n onDelete?: (keys: React.Key[]) => void;\n /** \u81EA\u5B9A\u4E49\u67E5\u770B\u51FD\u6570 */\n onView?: (record: T) => void;\n /** \u81EA\u5B9A\u4E49\u64CD\u4F5C\u65E5\u5FD7\u51FD\u6570 */\n onActionLog?: (record: T) => void;\n\n /** \u67E5\u8BE2\u540E\u56DE\u8C03\u51FD\u6570 */\n onAfterSearch?: (result: API.Result_TableListType<T[]>) => Promise<any> | void;\n /** \u65B0\u589E\u524D\u56DE\u8C03\u51FD\u6570\uFF0C\u8FD4\u56DEfalse\u5219\u4E0D\u8FDB\u884C\u65B0\u589E\uFF0C\u65E0\u8FD4\u56DE\u6216\u8005true\u5219\u8FDB\u884C\u65B0\u589E */\n onBeforeAdd?: () => Promise<null | boolean | void> | boolean | void;\n /** \u7F16\u8F91\u524D\u56DE\u8C03\u51FD\u6570\uFF0C\u8FD4\u56DEfalse\u5219\u4E0D\u8FDB\u884C\u7F16\u8F91\uFF0C\u65E0\u8FD4\u56DE\u6216\u8005true\u5219\u4F7F\u7528\u9ED8\u8BA4\u6570\u636E\u8FDB\u884C\u7F16\u8F91\uFF0C\u8FD4\u56DE\u5BF9\u8C61\u5219\u4F7F\u7528\u8FD4\u56DE\u7684\u5BF9\u8C61\u8FDB\u884C\u7F16\u8F91 */\n onBeforeEdit?: (record: T) => Promise<T | null | boolean | void> | T | boolean | void;\n /** \u5220\u9664\u524D\u56DE\u8C03\u51FD\u6570\uFF0C\u5982\u679C\u51FD\u6570\u6CA1\u6709\u8FD4\u56DEtrue\uFF0C\u5219\u4E0D\u8FDB\u884C\u64CD\u4F5C */\n onBeforeDelete?: (keys: React.Key[]) => Promise<boolean> | boolean | void;\n /** \u5220\u9664\u540E\u56DE\u8C03\u51FD\u6570 */\n onAfterDelete?: (keys: React.Key[], result: boolean) => Promise<boolean> | boolean | void;\n /** \u64CD\u4F5C\u524D\u56DE\u8C03\u51FD\u6570\uFF0C\u5982\u679C\u51FD\u6570\u6CA1\u6709\u8FD4\u56DEtrue\uFF0C\u5219\u4E0D\u8FDB\u884C\u64CD\u4F5C */\n onBeforeAction?: (method: API.MethodTypes, fields: any) => Promise<boolean> | boolean | void;\n /** \u64CD\u4F5C\u540E\u56DE\u8C03\u51FD\u6570 */\n onAfterAction?: (method: API.MethodTypes, success: boolean) => void;\n /** \u5BFC\u5165\u540E\u56DE\u8C03\u51FD\u6570 */\n onAfterImport?: (result: { success: boolean; data?: K | null; error?: AxiosError | null }) => Promise<any> | void;\n}\n\nexport interface CrudTableRefType<T = any> {\n actionRef: React.MutableRefObject<ActionType | undefined>;\n updateDrawerRef: React.MutableRefObject<RefDrawerFormRefType | undefined>;\n tableList: T[];\n setTableList: (row: T[]) => void;\n viewRow: T | undefined;\n setViewRow: (row: T | undefined) => void;\n actionLogRow: T | undefined;\n setActionLogRow: (row: T | undefined) => void;\n editRow: Partial<T> | null;\n setEditRow: (row: Partial<T> | null) => void;\n selectedRows: T[];\n setSelectedRows: (rows: T[]) => void;\n selectedRowKeys: React.Key[];\n setSelectedRowKeys: (keys: React.Key[]) => void;\n createModalOpen: boolean;\n setCreateModalOpen: (open: boolean) => void;\n editLangModalOpen: boolean;\n setEditLangModalOpen: (open: boolean) => void;\n currentLangInfo?: LangInfoItem;\n setCurrentLangInfo: (open: LangInfoItem) => void;\n onDelete: (keys: React.Key[]) => void;\n updateModalOpen: () => void;\n updateModalClose: () => void;\n}\n";
|
|
7
|
+
var CrudTableTypes = exports.CrudTableTypes = "\nexport interface CrudTableConfig<T = any, U = {}, C = {}> {\n // \u57FA\u7840\u914D\u7F6E\n baseLocalCode?: string;\n baseLocalName?: string;\n rowKey: keyof T;\n\n /** \u591A\u8BED\u8A00\u7F16\u8F91\u914D\u7F6E */\n multiLang?: {\n /** \u591A\u8BED\u8A00\u8868\u6570\u636E */\n multiLangList?: ExportMultiLangListItem[];\n /** \u591A\u8BED\u8A00\u5B57\u6BB5\u914D\u7F6E */\n fields: {\n /** \u5B57\u6BB5\u540D */\n fieldName: keyof T;\n /** \u8868\u540D */\n tableName: string;\n /** \u5217\u540D */\n columnName: string;\n /** \u70B9\u51FB\u56DE\u8C03\uFF0C\u7528\u4E8E\u8BBE\u7F6ElangInfoItem */\n onClick?: (record: T) => LangInfoItem;\n }[];\n /** \u81EA\u5B9A\u4E49\u5BFC\u51FA\u591A\u8BED\u8A00\u51FD\u6570 */\n exportMultiLangData?: () => Promise<boolean | void>;\n /** \u81EA\u5B9A\u4E49\u67E5\u8BE2\u5BFC\u51FA\u591A\u8BED\u8A00\u51FD\u6570 */\n queryExportMultiLangData?: (tableName: string, columnName: string) => Promise<ExportMultiLangListItem[]>;\n /** \u81EA\u5B9A\u4E49\u5BFC\u5165\u591A\u8BED\u8A00\u51FD\u6570 */\n importMultiLangData?: (list: ExportMultiLangListItem[], tableName: string, columnName: string) => Promise<{ success: boolean; failMsg?: string; data?: any } | void> | void;\n };\n \n /** \u6309\u94AE\u6743\u9650\u7F16\u7801\uFF0C\u9ED8\u8BA4\u4F1A\u6839\u636EbaseLocalCode\u751F\u6210 */\n authCodes?: {\n view?: string | boolean | ((record: T) => boolean | undefined);\n add?: string | boolean;\n edit?: string | boolean | ((record: T) => boolean | undefined);\n /** remove\u6743\u9650\u662F\u51FD\u6570\u65F6\uFF0C\u5982\u679C\u9700\u8981\u6279\u91CF\u5220\u9664\u8BF7\u8BBE\u7F6EbatchRemoveAuth\u4E3Atrue, \u5426\u5219\u4E0D\u4F1A\u663E\u793A\u6279\u91CF\u5220\u9664\u6309\u94AE */\n remove?: string | boolean | ((record: T) => boolean | undefined);\n /** \u6279\u91CF\u5220\u9664\u6743\u9650 */\n batchRemoveAuth?: string | boolean;\n record?: string | boolean | ((record: T) => boolean | undefined);\n };\n\n /** API\u65B9\u6CD5 */\n apis: {\n /** \u67E5\u8BE2\u65B9\u6CD5 */\n query: (params: any) => Promise<any>;\n /** \u64CD\u4F5C\u65B9\u6CD5 */\n handle: (method: API.MethodTypes, data: any) => Promise<any>;\n /** \u6839\u636Eid\u67E5\u8BE2\u8BE6\u60C5\u65B9\u6CD5\uFF0C\u6CA1\u4F20\u5219\u4F7F\u7528\u884C\u6570\u636E\u8FDB\u884C\u7F16\u8F91 */\n queryById?: (id: any) => Promise<any>;\n /** \u5BFC\u5165\u65B9\u6CD5 */\n importData?: (list: T[]) => Promise<any>;\n };\n\n /** API\u62E6\u622A\u5668 */\n interceptors?: {\n /** \u67E5\u8BE2\u62E6\u622A\u5668 */\n query?: {\n /** \u67E5\u8BE2\u8BF7\u6C42\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u67E5\u8BE2\u53C2\u6570\u8FDB\u884C\u5904\u7406 */\n request?: (params: any) => any;\n /** \u67E5\u8BE2\u54CD\u5E94\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u67E5\u8BE2\u7ED3\u679C\u8FDB\u884C\u5904\u7406 */\n response?: (result: any) => any;\n };\n /**\n * \u5BFC\u51FA\u5168\u91CF\u67E5\u8BE2\u62E6\u622A\u5668\uFF0C\u4F18\u5148\u7EA7\u9AD8\u4E8E query\uFF0C\u4E13\u7528\u4E8E\u5BFC\u51FA\u573A\u666F\u3002\n * \u5F53\u5BFC\u51FA\u4E0E\u8868\u683C\u5C55\u793A\u9700\u8981\u4E0D\u540C\u7684\u6570\u636E\u5904\u7406\u903B\u8F91\u65F6\uFF08\u5982\u8868\u683C\u8F6C\u6811\u3001\u5BFC\u51FA\u4FDD\u6301\u6241\u5E73\uFF09\uFF0C\u53EF\u5355\u72EC\u914D\u7F6E\u6B64\u9879\u3002\n * \u672A\u914D\u7F6E\u65F6\u56DE\u9000\u5230 query \u62E6\u622A\u5668\u3002\n */\n queryAll?: {\n /** \u5BFC\u51FA\u67E5\u8BE2\u8BF7\u6C42\u62E6\u622A\u5668 */\n request?: (params: any) => any;\n /** \u5BFC\u51FA\u67E5\u8BE2\u54CD\u5E94\u62E6\u622A\u5668 */\n response?: (result: any) => any;\n };\n /** \u64CD\u4F5C\u62E6\u622A\u5668 */\n handle?: {\n /** \u64CD\u4F5C\u8BF7\u6C42\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u64CD\u4F5C\u53C2\u6570\u8FDB\u884C\u5904\u7406 */\n request?: (method: API.MethodTypes, data: any) => { method?: API.MethodTypes; data: any };\n /** \u64CD\u4F5C\u54CD\u5E94\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u64CD\u4F5C\u7ED3\u679C\u8FDB\u884C\u5904\u7406 */\n response?: (method: API.MethodTypes, result: any) => any;\n };\n /** \u8BE6\u60C5\u67E5\u8BE2\u62E6\u622A\u5668 */\n queryById?: {\n /** \u8BE6\u60C5\u67E5\u8BE2\u8BF7\u6C42\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u8BE6\u60C5\u67E5\u8BE2\u53C2\u6570\u8FDB\u884C\u5904\u7406 */\n request?: (id: any) => any;\n /** \u8BE6\u60C5\u67E5\u8BE2\u54CD\u5E94\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u8BE6\u60C5\u67E5\u8BE2\u7ED3\u679C\u8FDB\u884C\u5904\u7406 */\n response?: (result: any) => any;\n };\n /** \u5BFC\u5165\u62E6\u622A\u5668 */\n importData?: {\n /** \u5BFC\u5165\u8BF7\u6C42\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u5BFC\u5165\u53C2\u6570\u8FDB\u884C\u5904\u7406 */\n request?: (list: T[]) => any;\n /** \u5BFC\u5165\u54CD\u5E94\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u5BFC\u5165\u7ED3\u679C\u8FDB\u884C\u5904\u7406 */\n response?: (result: any) => any;\n /** \u5BFC\u5165\u6821\u9A8C\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u5BFC\u5165\u6570\u636E\u8FDB\u884C\u6821\u9A8C */\n checkImportExecl?: (list: T[]) => ImportErrorType[];\n /** \u5BFC\u5165\u6821\u9A8C\u63D0\u793A\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u5BFC\u5165\u6821\u9A8C\u63D0\u793A\u8FDB\u884C\u5904\u7406 */\n showCheckErrorTips?: (errorMessageList: ImportErrorType[]) => void;\n /** \u5BFC\u5165\u63D0\u4EA4\u62E6\u622A\u5668\uFF0C\u7528\u4E8E\u5BF9\u5BFC\u5165\u6570\u636E\u8FDB\u884C\u63D0\u4EA4 */\n submitImportListData?: (list: T[]) => Promise<{ success: boolean; data?: K | null; error?: AxiosError | null }>;\n };\n };\n\n /** \u8868\u683C\u5217\u914D\u7F6E */\n columns: ProColumns<T>[];\n /** \u8868\u683C\u5176\u4ED6\u914D\u7F6E */\n tableProps?: Partial<ProTableProps<T, any>> & {\n extraTableButtonList?: {\n /** \u6309\u94AE\u4F4D\u7F6E */\n position: 'start' | 'end' | number;\n /** \u6309\u94AE\u8282\u70B9 */\n label: any;\n icon?: React.ReactNode;\n /** \u6309\u94AE\u6743\u9650 */\n auth?: string | boolean;\n }[];\n /** \u6839\u636Ekey\u66FF\u6362\u8868\u683C\u6309\u94AE */\n replaceTableButtonItems?: {\n /** \u6309\u94AEkey */\n key: string;\n /** \u6309\u94AE\u8282\u70B9 */\n label: any;\n /** \u6309\u94AE\u6743\u9650 */\n auth?: string | boolean;\n }[];\n }\n\n /** \u64CD\u4F5C\u5217\u914D\u7F6E\uFF08\u8868\u683C\u64CD\u4F5C\u5217\u914D\u7F6E\u3001\u64CD\u4F5C\u5217\u4E0B\u62C9\u6309\u94AE\u914D\u7F6E\uFF09 */\n actionColumnConfig?: {\n /** \u8868\u683C\u64CD\u4F5C\u5217\u914D\u7F6E */\n columnConfig?: ProColumns<T>;\n /** \u4E0B\u62C9\u5217\u8868\u5C5E\u6027 */\n getDropdownButtonProps?: (record: T) => Partial<DropdownButtonProps>;\n };\n\n /** \u65B0\u589E\u8868\u5355\u914D\u7F6E */\n createConfig?: {\n /** \u81EA\u5B9A\u4E49\u521B\u5EFA\u8868\u5355\u7EC4\u4EF6 */\n Component?: React.ComponentType<\n {\n open?: boolean;\n onOpenChange?: (visible: boolean) => void;\n onSubmit?: (values: any) => Promise<boolean | void>;\n loading?: boolean;\n } & C\n >;\n /** \u4F20\u9012\u7ED9CreateFormComponent\u7684\u989D\u5916props */\n props?: C;\n };\n\n /** \u7F16\u8F91\u8868\u5355\u914D\u7F6E */\n updateConfig?: {\n /** \u81EA\u5B9A\u4E49\u7F16\u8F91\u8868\u5355\u7EC4\u4EF6 */\n Component?: React.ComponentType<\n {\n updateDrawerRef: React.MutableRefObject<RefDrawerFormRefType | undefined>;\n values: Partial<T> | null;\n onSubmit: (values: any) => Promise<boolean | void>;\n } & U\n >;\n /** \u7F16\u8F91\u8868\u5355\u7981\u7528\u8868\u5355\u9879 */\n disabledColumnKeys?: (keyof T)[];\n /** \u4F20\u9012\u7ED9UpdateFormComponent\u7684\u989D\u5916props */\n props?: Partial<ProTableProps<T, any>> & {\n /** \u4F20\u9012\u7ED9UpdateFormComponent\u7684\u62BD\u5C49\u7EC4\u4EF6\u7684\u989D\u5916props */\n drawerProps?: Partial<DrawerProps> & {\n onCloseAfter?: (e?: React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent<Element>) => void;\n },\n /** \u91CD\u7F6E\u8868\u5355\u540E\u56DE\u8C03\u51FD\u6570 */\n onResetAfter?: () => void;\n /** \u5916\u90E8UpdateFormComponent\u7684\u989D\u5916props */\n [key: string]: any;\n };\n };\n \n /** \u4E0B\u8F7D\u6A21\u677F\u53C2\u6570 */\n downloadTemplate?: {\n /** \u6A21\u677F\u7C7B\u578B\u7F16\u53F7\uFF0C\u5B57\u5178\u4E2D\u7684 TemplateCenterTemplateType */\n templateTypeCode?: string;\n /** \u6A21\u5757\u7F16\u53F7\uFF0C\u83DC\u5355\u4E2D\u7684\u76EE\u5F55\u7F16\u53F7 */\n moduleCode?: string;\n };\n\n /** \u81EA\u5B9A\u4E49\u65B0\u589E\u51FD\u6570 */\n onAdd?: () => void;\n /** \u81EA\u5B9A\u4E49\u7F16\u8F91\u51FD\u6570 */\n onEdit?: (record: T) => void;\n /** \u81EA\u5B9A\u4E49\u5220\u9664\u51FD\u6570 */\n onDelete?: (keys: React.Key[]) => void;\n /** \u81EA\u5B9A\u4E49\u67E5\u770B\u51FD\u6570 */\n onView?: (record: T) => void;\n /** \u81EA\u5B9A\u4E49\u64CD\u4F5C\u65E5\u5FD7\u51FD\u6570 */\n onActionLog?: (record: T) => void;\n\n /** \u67E5\u8BE2\u540E\u56DE\u8C03\u51FD\u6570 */\n onAfterSearch?: (result: API.Result_TableListType<T[]>) => Promise<any> | void;\n /** \u65B0\u589E\u524D\u56DE\u8C03\u51FD\u6570\uFF0C\u8FD4\u56DEfalse\u5219\u4E0D\u8FDB\u884C\u65B0\u589E\uFF0C\u65E0\u8FD4\u56DE\u6216\u8005true\u5219\u8FDB\u884C\u65B0\u589E */\n onBeforeAdd?: () => Promise<null | boolean | void> | boolean | void;\n /** \u7F16\u8F91\u524D\u56DE\u8C03\u51FD\u6570\uFF0C\u8FD4\u56DEfalse\u5219\u4E0D\u8FDB\u884C\u7F16\u8F91\uFF0C\u65E0\u8FD4\u56DE\u6216\u8005true\u5219\u4F7F\u7528\u9ED8\u8BA4\u6570\u636E\u8FDB\u884C\u7F16\u8F91\uFF0C\u8FD4\u56DE\u5BF9\u8C61\u5219\u4F7F\u7528\u8FD4\u56DE\u7684\u5BF9\u8C61\u8FDB\u884C\u7F16\u8F91 */\n onBeforeEdit?: (record: T) => Promise<T | null | boolean | void> | T | boolean | void;\n /** \u5220\u9664\u524D\u56DE\u8C03\u51FD\u6570\uFF0C\u5982\u679C\u51FD\u6570\u6CA1\u6709\u8FD4\u56DEtrue\uFF0C\u5219\u4E0D\u8FDB\u884C\u64CD\u4F5C */\n onBeforeDelete?: (keys: React.Key[]) => Promise<boolean> | boolean | void;\n /** \u5220\u9664\u540E\u56DE\u8C03\u51FD\u6570 */\n onAfterDelete?: (keys: React.Key[], result: boolean) => Promise<boolean> | boolean | void;\n /** \u64CD\u4F5C\u524D\u56DE\u8C03\u51FD\u6570\uFF0C\u5982\u679C\u51FD\u6570\u6CA1\u6709\u8FD4\u56DEtrue\uFF0C\u5219\u4E0D\u8FDB\u884C\u64CD\u4F5C */\n onBeforeAction?: (method: API.MethodTypes, fields: any) => Promise<boolean> | boolean | void;\n /** \u64CD\u4F5C\u540E\u56DE\u8C03\u51FD\u6570 */\n onAfterAction?: (method: API.MethodTypes, success: boolean) => void;\n /** \u5BFC\u5165\u540E\u56DE\u8C03\u51FD\u6570 */\n onAfterImport?: (result: { success: boolean; data?: K | null; error?: AxiosError | null }) => Promise<any> | void;\n}\n\nexport interface CrudTableRefType<T = any> {\n actionRef: React.MutableRefObject<ActionType | undefined>;\n updateDrawerRef: React.MutableRefObject<RefDrawerFormRefType | undefined>;\n tableList: T[];\n setTableList: (row: T[]) => void;\n viewRow: T | undefined;\n setViewRow: (row: T | undefined) => void;\n actionLogRow: T | undefined;\n setActionLogRow: (row: T | undefined) => void;\n editRow: Partial<T> | null;\n setEditRow: (row: Partial<T> | null) => void;\n selectedRows: T[];\n setSelectedRows: (rows: T[]) => void;\n selectedRowKeys: React.Key[];\n setSelectedRowKeys: (keys: React.Key[]) => void;\n createModalOpen: boolean;\n setCreateModalOpen: (open: boolean) => void;\n editLangModalOpen: boolean;\n setEditLangModalOpen: (open: boolean) => void;\n currentLangInfo?: LangInfoItem;\n setCurrentLangInfo: (open: LangInfoItem) => void;\n onDelete: (keys: React.Key[]) => void;\n updateModalOpen: () => void;\n updateModalClose: () => void;\n}\n";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const DataPermissionSelectTypes = "\n /** \u6570\u636E\u6743\u9650\u8303\u56F4\u679A\u4E3E */\n export enum DataScopeEnum {\n /** \u5168\u90E8\u6570\u636E\u6743\u9650 */\n ALL = '1',\n /** \u81EA\u5B9A\u4E49\u6570\u636E\u6743\u9650 */\n CUSTOM = '2',\n /** \u672C\u90E8\u95E8\u6570\u636E\u6743\u9650 */\n DEPT = '3',\n /** \u672C\u90E8\u95E8\u53CA\u4EE5\u4E0B\u6570\u636E\u6743\u9650 */\n DEPT_AND_SUB = '4',\n /** \u4EC5\u672C\u4EBA\u6570\u636E\u6743\u9650 */\n ONLY_SELF = '5',\n }\n\n /** \u662F\u5426\u7236\u5B50\u8054\u52A8\u679A\u4E3E */\n export enum DeptCheckStrictlyEnum {\n /** \u6298\u53E0/\u5C55\u5F00 */\n FOLD = '1',\n /** \u5168\u9009/\u5168\u4E0D\u9009 */\n SELECT_ALL = '2',\n /** \u7236\u5B50\u8054\u52A8 */\n PARENT_CHILD = '3',\n }\n\n /** \u6570\u636E\u6743\u9650\u9009\u62E9\u8868\u5355\u6570\u636E */\n export interface DataPermissionValues {\n /** \u7EC4\u7EC7ID\u5217\u8868 */\n deptIds?: React.Key[];\n /** \u6570\u636E\u6743\u9650\u8303\u56F4 */\n dataScope?: DataScopeEnum;\n /** \u662F\u5426\u7236\u5B50\u8054\u52A8 */\n deptCheckStrictly?: boolean;\n }\n\n /** \u6570\u636E\u6743\u9650\u9009\u62E9\u7EC4\u4EF6Props */\n export interface DataPermissionSelectProps extends ModalFormProps<DataPermissionValues> {\n authorizeName?: string;\n rootParentKey?: number | string;\n values?: DataPermissionValues | null;\n treeList?: any[];\n }\n";
|
|
1
|
+
export declare const DataPermissionSelectTypes = "\n /** \u6570\u636E\u6743\u9650\u8303\u56F4\u679A\u4E3E */\n export enum DataScopeEnum {\n /** \u5168\u90E8\u6570\u636E\u6743\u9650 */\n ALL = '1',\n /** \u81EA\u5B9A\u4E49\u6570\u636E\u6743\u9650 */\n CUSTOM = '2',\n /** \u672C\u90E8\u95E8\u6570\u636E\u6743\u9650 */\n DEPT = '3',\n /** \u672C\u90E8\u95E8\u53CA\u4EE5\u4E0B\u6570\u636E\u6743\u9650 */\n DEPT_AND_SUB = '4',\n /** \u4EC5\u672C\u4EBA\u6570\u636E\u6743\u9650 */\n ONLY_SELF = '5',\n }\n\n /** \u662F\u5426\u7236\u5B50\u8054\u52A8\u679A\u4E3E */\n export enum DeptCheckStrictlyEnum {\n /** \u6298\u53E0/\u5C55\u5F00 */\n FOLD = '1',\n /** \u5168\u9009/\u5168\u4E0D\u9009 */\n SELECT_ALL = '2',\n /** \u7236\u5B50\u8054\u52A8 */\n PARENT_CHILD = '3',\n }\n\n /** \u6570\u636E\u6743\u9650\u9009\u62E9\u8868\u5355\u6570\u636E */\n export interface DataPermissionValues {\n /** \u7EC4\u7EC7ID\u5217\u8868 */\n deptIds?: React.Key[];\n /** \u6570\u636E\u6743\u9650\u8303\u56F4 */\n dataScope?: DataScopeEnum;\n /** \u662F\u5426\u7236\u5B50\u8054\u52A8 */\n deptCheckStrictly?: boolean;\n }\n\n /** \u6570\u636E\u6743\u9650\u9009\u62E9\u7EC4\u4EF6Props */\n export interface DataPermissionSelectProps extends ModalFormProps<DataPermissionValues> {\n /** \u6388\u6743\u540D\u79F0 */\n authorizeName?: string;\n /** \u6839\u8282\u70B9ID */\n rootParentKey?: number | string;\n /** \u521D\u59CB\u503C */\n values?: DataPermissionValues | null;\n /** \u7EC4\u7EC7\u6811\u5217\u8868 */\n treeList?: any[];\n /** \u662F\u5426\u663E\u793A\u6570\u636E\u6743\u9650\u8303\u56F4 */\n showDataScope?: boolean;\n }\n";
|