@cfmm/umi-plugins-ui-v2 0.0.9 → 0.0.11

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.
@@ -69,12 +69,15 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
69
69
  updateConfig = {},
70
70
  actionColumnConfig = {} as CrudTableConfig['actionColumnConfig'],
71
71
  downloadTemplate = {},
72
+
72
73
  onAdd,
73
74
  onView,
74
75
  onEdit,
75
76
  onDelete,
76
77
  onActionLog,
78
+
77
79
  onAfterSearch,
80
+ onBeforeAdd,
78
81
  onBeforeEdit,
79
82
  onBeforeDelete,
80
83
  onAfterDelete,
@@ -317,7 +320,7 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
317
320
  processedResult = interceptors.query.response(result);
318
321
  }
319
322
 
320
- onAfterSearch?.(processedResult);
323
+ onAfterSearch?.(processedResult as API.Result_TableListType<T[]>);
321
324
  setTableList(processedResult.data);
322
325
  return processedResult;
323
326
  });
@@ -363,12 +366,7 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
363
366
  if (actionLoading) return;
364
367
 
365
368
  // 自定义编辑前处理
366
- let editData = record;
367
- if (onBeforeEdit) {
368
- const result = await onBeforeEdit(record);
369
- if (!result) return;
370
- editData = result;
371
- }
369
+ let editData = { ...record };
372
370
 
373
371
  // 如果有详情查询API,先查询详情
374
372
  if (apis.queryById) {
@@ -393,12 +391,27 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
393
391
  editData = processedData;
394
392
  }
395
393
 
396
- setUpdateModalOpen(true);
394
+ // 自定义编辑前处理
395
+ if (onBeforeEdit) {
396
+ const result = await onBeforeEdit(editData);
397
+ /** 编辑前回调函数,返回false则不进行编辑,无返回或者true则使用默认数据进行编辑,返回对象则使用返回的对象进行编辑 */
398
+ if (result === false) return;
399
+
400
+ if (result && typeof result === 'object' && !Array.isArray(result)) {
401
+ editData = result; // 使用返回的对象
402
+ }
403
+ }
397
404
 
405
+ // 设置编辑行
406
+ setEditRow(editData);
407
+
408
+ // 打开默认编辑弹窗
409
+ setUpdateModalOpen(true);
410
+ // 设置表单值
398
411
  updateFormRef.current?.setFieldsValue(editData);
399
412
 
413
+ // 打开自定义编辑弹窗
400
414
  updateDrawerRef.current?.show();
401
- setEditRow(editData);
402
415
  });
403
416
 
404
417
  /**
@@ -722,7 +735,21 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
722
735
  auth: getAuthorityFn(defaultAuthCodes.add),
723
736
  key: 'add',
724
737
  label: (
725
- <a onClick={onAdd ? onAdd : () => setCreateModalOpen(true)} key="add">
738
+ <a
739
+ onClick={
740
+ onAdd
741
+ ? onAdd
742
+ : async () => {
743
+ if (onBeforeAdd) {
744
+ const result = await onBeforeAdd();
745
+ /** 编辑前回调函数,返回false则不进行编辑,无返回或者true则进行新增 */
746
+ if (result === false) return;
747
+ }
748
+ setCreateModalOpen(true);
749
+ }
750
+ }
751
+ key="add"
752
+ >
726
753
  <PlusOutlined style={{ marginRight: 6 }} />
727
754
  {formatMessage({ id: 'cfmmUI.common.button.add', defaultMessage: '新增' })}
728
755
  </a>
@@ -921,10 +948,11 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
921
948
  }
922
949
  return success;
923
950
  })}
951
+ {...(updateConfig.props as U)}
924
952
  onCloseAfter={() => {
925
953
  setEditRow(null);
954
+ (updateConfig.props)?.onCloseAfter?.();
926
955
  }}
927
- {...(updateConfig.props as U)}
928
956
  />
929
957
  ) : (
930
958
  <Drawer
@@ -936,10 +964,12 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
936
964
  forceRender // 勿删,否则formRef无法被绑定到ProTable上,因为ProTable是异步渲染的
937
965
  maskClosable={false}
938
966
  open={updateModalOpen}
939
- onClose={() => {
967
+ onClose={(e) => {
940
968
  setEditRow(null);
941
969
  setUpdateModalOpen(false);
970
+ updateConfig.props?.drawerProps?.onCloseAfter?.(e);
942
971
  }}
972
+ {...(updateConfig.props?.drawerProps)}
943
973
  // footer={<Button onClick={() => props.form?.resetFields()}>清空</Button>}
944
974
  >
945
975
  <ProTable<T, T>
@@ -959,11 +989,12 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
959
989
  rowKey={rowKey as string}
960
990
  type="form"
961
991
  columns={columns}
962
- {...(updateConfig.props as U)}
963
- formRef={updateFormRef}
964
992
  onReset={() => {
965
993
  updateFormRef.current?.setFieldsValue({ ...(editRow || {}) });
994
+ updateConfig.props?.onResetAfter?.();
966
995
  }}
996
+ {...(updateConfig.props)}
997
+ formRef={updateFormRef}
967
998
  // 自定义按钮
968
999
  // form={{
969
1000
  // submitter: {
@@ -1051,6 +1082,8 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
1051
1082
  * @param props.onDelete - 自定义删除按钮点击回调
1052
1083
  * @param props.onActionLog - 自定义操作日志点击回调
1053
1084
  * @param props.onBeforeEdit - 编辑前回调
1085
+ * @param props.onBeforeAdd - 新增前回调,无返回或者true则进行新增
1086
+ * @param props.onBeforeEdit - 编辑前回调,无返回或者true则使用默认数据进行编辑,返回对象则使用返回的对象进行编辑
1054
1087
  * @param props.onBeforeDelete - 删除前回调
1055
1088
  * @param props.onAfterDelete - 删除后回调
1056
1089
  * @param props.onAfterAction - 操作后回调
@@ -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,7 +17,7 @@ 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
23
  // 父子联动
@@ -46,9 +46,9 @@ const DataPermissionSelect = (props: DataPermissionSelectProps) => {
46
46
  if (values) {
47
47
  setSelectPermissionList(values.deptIds ?? []);
48
48
 
49
- const deptCheckStrictlyValues = values.deptCheckStrictly ?
50
- [DeptCheckStrictlyEnum.FOLD, DeptCheckStrictlyEnum.SELECT_ALL] :
51
- [DeptCheckStrictlyEnum.FOLD];
49
+ const deptCheckStrictlyValues = values.deptCheckStrictly
50
+ ? [DeptCheckStrictlyEnum.FOLD, DeptCheckStrictlyEnum.SELECT_ALL]
51
+ : [DeptCheckStrictlyEnum.FOLD];
52
52
 
53
53
  setDeptCheckStrictly(deptCheckStrictlyValues.includes(DeptCheckStrictlyEnum.SELECT_ALL));
54
54
  setShowTree(values.dataScope === DataScopeEnum.CUSTOM);
@@ -56,7 +56,7 @@ const DataPermissionSelect = (props: DataPermissionSelectProps) => {
56
56
  form.setFieldsValue({
57
57
  dataScope: values.dataScope ?? DataScopeEnum.CUSTOM,
58
58
  deptCheckStrictly: deptCheckStrictlyValues,
59
- })
59
+ });
60
60
  }
61
61
  }, [values]);
62
62
 
@@ -80,8 +80,8 @@ const DataPermissionSelect = (props: DataPermissionSelectProps) => {
80
80
  const submitParams = {
81
81
  ...values,
82
82
  deptCheckStrictly,
83
- deptIds: selectPermissionList
84
- }
83
+ deptIds: selectPermissionList,
84
+ };
85
85
 
86
86
  //调用父级的方法
87
87
  const success = await onFinish?.(submitParams);
@@ -96,15 +96,20 @@ const DataPermissionSelect = (props: DataPermissionSelectProps) => {
96
96
  };
97
97
 
98
98
  return (
99
- <ModalForm form={form}
99
+ <ModalForm
100
+ form={form}
100
101
  width={700}
101
- title={authorizeName ? `${formatMessage({
102
- id: 'cfmmUI.DataPermissionSelect.title',
103
- defaultMessage: '选择数据权限范围',
104
- })} - ${authorizeName}` : `${formatMessage({
105
- id: 'cfmmUI.DataPermissionSelect.title',
106
- defaultMessage: '选择数据权限范围',
107
- })}`}
102
+ title={
103
+ authorizeName
104
+ ? `${formatMessage({
105
+ id: 'cfmmUI.DataPermissionSelect.title',
106
+ defaultMessage: '选择数据权限范围',
107
+ })} - ${authorizeName}`
108
+ : `${formatMessage({
109
+ id: 'cfmmUI.DataPermissionSelect.title',
110
+ defaultMessage: '选择数据权限范围',
111
+ })}`
112
+ }
108
113
  //关闭弹窗清除数据
109
114
  modalProps={{
110
115
  destroyOnHidden: true,
@@ -115,109 +120,134 @@ const DataPermissionSelect = (props: DataPermissionSelectProps) => {
115
120
  onFinish={handleSubmit}
116
121
  {...restProps}
117
122
  >
118
- <ProFormSelect
119
- name="dataScope"
120
- label={formatMessage({
121
- id: 'cfmmUI.DataPermissionSelect.dataScope',
122
- defaultMessage: '权限范围',
123
- })}
124
- initialValue={DataScopeEnum.CUSTOM}
125
- allowClear={false}
126
- fieldProps={{
127
- options: [
128
- { label: formatMessage({
129
- id: 'cfmmUI.DataPermissionSelect.dataScope.all',
130
- defaultMessage: '全部数据权限',
131
- }), value: DataScopeEnum.ALL },
132
- { label: formatMessage({
133
- id: 'cfmmUI.DataPermissionSelect.dataScope.custom',
134
- defaultMessage: '自定义数据权限',
135
- }), value: DataScopeEnum.CUSTOM },
136
- { label: formatMessage({
137
- id: 'cfmmUI.DataPermissionSelect.dataScope.dept',
138
- defaultMessage: '本部门数据权限',
139
- }), value: DataScopeEnum.DEPT },
140
- { label: formatMessage({
141
- id: 'cfmmUI.DataPermissionSelect.dataScope.deptAndSub',
142
- defaultMessage: '本部门及以下数据权限',
143
- }), value: DataScopeEnum.DEPT_AND_SUB },
144
- { label: formatMessage({
145
- id: 'cfmmUI.DataPermissionSelect.dataScope.onlySelf',
146
- defaultMessage: '仅本人数据权限',
147
- }), value: DataScopeEnum.ONLY_SELF },
148
- ],
149
- onChange: (value) => {
150
- if (value === DataScopeEnum.CUSTOM) {
151
- setShowTree(true);
152
- } else {
153
- setShowTree(false);
154
- setSelectPermissionList([]);
155
- }
156
- },
157
- }} />
158
-
159
- {
160
- showTree && (
161
- <>
162
- <ProFormCheckbox.Group
163
- name="deptCheckStrictly"
164
- label={formatMessage({
165
- id: 'cfmmUI.DataPermissionSelect.dataPermission',
166
- defaultMessage: '数据权限',
167
- })}
168
- initialValue={[DeptCheckStrictlyEnum.FOLD]}
169
- fieldProps={{
170
- // defaultValue: [DeptCheckStrictlyEnum.FOLD],
171
- options: [
172
- { label: formatMessage({
123
+ {showDataScope && (
124
+ <ProFormSelect
125
+ name="dataScope"
126
+ label={formatMessage({
127
+ id: 'cfmmUI.DataPermissionSelect.dataScope',
128
+ defaultMessage: '权限范围',
129
+ })}
130
+ initialValue={DataScopeEnum.CUSTOM}
131
+ allowClear={false}
132
+ fieldProps={{
133
+ options: [
134
+ {
135
+ label: formatMessage({
136
+ id: 'cfmmUI.DataPermissionSelect.dataScope.all',
137
+ defaultMessage: '全部数据权限',
138
+ }),
139
+ value: DataScopeEnum.ALL,
140
+ },
141
+ {
142
+ label: formatMessage({
143
+ id: 'cfmmUI.DataPermissionSelect.dataScope.custom',
144
+ defaultMessage: '自定义数据权限',
145
+ }),
146
+ value: DataScopeEnum.CUSTOM,
147
+ },
148
+ {
149
+ label: formatMessage({
150
+ id: 'cfmmUI.DataPermissionSelect.dataScope.dept',
151
+ defaultMessage: '本部门数据权限',
152
+ }),
153
+ value: DataScopeEnum.DEPT,
154
+ },
155
+ {
156
+ label: formatMessage({
157
+ id: 'cfmmUI.DataPermissionSelect.dataScope.deptAndSub',
158
+ defaultMessage: '本部门及以下数据权限',
159
+ }),
160
+ value: DataScopeEnum.DEPT_AND_SUB,
161
+ },
162
+ {
163
+ label: formatMessage({
164
+ id: 'cfmmUI.DataPermissionSelect.dataScope.onlySelf',
165
+ defaultMessage: '仅本人数据权限',
166
+ }),
167
+ value: DataScopeEnum.ONLY_SELF,
168
+ },
169
+ ],
170
+ onChange: (value) => {
171
+ if (value === DataScopeEnum.CUSTOM) {
172
+ setShowTree(true);
173
+ } else {
174
+ setShowTree(false);
175
+ setSelectPermissionList([]);
176
+ }
177
+ },
178
+ }}
179
+ />
180
+ )}
181
+
182
+ {(showTree || !showDataScope) && (
183
+ <>
184
+ <ProFormCheckbox.Group
185
+ name="deptCheckStrictly"
186
+ label={formatMessage({
187
+ id: 'cfmmUI.DataPermissionSelect.dataPermission',
188
+ defaultMessage: '数据权限',
189
+ })}
190
+ initialValue={[DeptCheckStrictlyEnum.FOLD]}
191
+ fieldProps={{
192
+ // defaultValue: [DeptCheckStrictlyEnum.FOLD],
193
+ options: [
194
+ {
195
+ label: formatMessage({
173
196
  id: 'cfmmUI.DataPermissionSelect.dataPermission.fold',
174
197
  defaultMessage: '折叠/展开',
175
- }), value: DeptCheckStrictlyEnum.FOLD },
176
- { label: formatMessage({
198
+ }),
199
+ value: DeptCheckStrictlyEnum.FOLD,
200
+ },
201
+ {
202
+ label: formatMessage({
177
203
  id: 'cfmmUI.DataPermissionSelect.dataPermission.selectAll',
178
204
  defaultMessage: '全选/全不选',
179
- }), value: DeptCheckStrictlyEnum.SELECT_ALL },
180
- { label: formatMessage({
205
+ }),
206
+ value: DeptCheckStrictlyEnum.SELECT_ALL,
207
+ },
208
+ {
209
+ label: formatMessage({
181
210
  id: 'cfmmUI.DataPermissionSelect.dataPermission.parentChild',
182
211
  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));
212
+ }),
213
+ value: DeptCheckStrictlyEnum.PARENT_CHILD,
189
214
  },
215
+ ],
216
+ onChange: (checkedValues) => {
217
+ setExpandedKeys(checkedValues.includes(DeptCheckStrictlyEnum.FOLD) ? allKeys : []);
218
+ setSelectPermissionList(checkedValues.includes(DeptCheckStrictlyEnum.SELECT_ALL) ? allKeys : []);
219
+ setDeptCheckStrictly(checkedValues.includes(DeptCheckStrictlyEnum.PARENT_CHILD));
220
+ },
221
+ }}
222
+ />
223
+ <Form.Item
224
+ // name="deptIds"
225
+ wrapperCol={{ offset: 5, span: 16 }}
226
+ >
227
+ <Tree
228
+ style={{
229
+ border: '1px solid #d9d9d9',
230
+ borderRadius: 8,
231
+ maxHeight: 'calc(100vh - 450px)',
232
+ overflow: 'auto',
233
+ }}
234
+ checkable
235
+ expandedKeys={expandedKeys}
236
+ onExpand={setExpandedKeys}
237
+ checkedKeys={selectPermissionList}
238
+ treeData={menuTreeDate}
239
+ checkStrictly={true}
240
+ // @ts-ignore
241
+ onCheck={(checkedKeys) => {
242
+ const keys = Array.isArray(checkedKeys) ? checkedKeys : checkedKeys.checked;
243
+ setSelectPermissionList(keys);
190
244
  }}
191
245
  />
192
- <Form.Item
193
- // name="deptIds"
194
- wrapperCol={{ offset: 5, span: 16 }}
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
- }
246
+ </Form.Item>
247
+ </>
248
+ )}
219
249
  </ModalForm>
220
250
  );
221
251
  };
222
252
 
223
- export default React.memo(DataPermissionSelect) as typeof DataPermissionSelect;
253
+ 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 /** \u7F16\u8F91\u524D\u56DE\u8C03\u51FD\u6570\uFF0C\u5982\u679C\u51FD\u6570\u6CA1\u6709\u8FD4\u56DET\uFF0C\u5219\u4E0D\u8FDB\u884C\u7F16\u8F91 */\n onBeforeEdit?: (record: T) => Promise<T | null>;\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 /** \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?: 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 /** \u7F16\u8F91\u524D\u56DE\u8C03\u51FD\u6570\uFF0C\u5982\u679C\u51FD\u6570\u6CA1\u6709\u8FD4\u56DET\uFF0C\u5219\u4E0D\u8FDB\u884C\u7F16\u8F91 */\n onBeforeEdit?: (record: T) => Promise<T | null>;\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 /** \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?: 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";
@@ -4,4 +4,4 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.DataPermissionSelectTypes = void 0;
7
- var DataPermissionSelectTypes = exports.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";
7
+ var DataPermissionSelectTypes = exports.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";
@@ -69,12 +69,15 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
69
69
  updateConfig = {},
70
70
  actionColumnConfig = {} as CrudTableConfig['actionColumnConfig'],
71
71
  downloadTemplate = {},
72
+
72
73
  onAdd,
73
74
  onView,
74
75
  onEdit,
75
76
  onDelete,
76
77
  onActionLog,
78
+
77
79
  onAfterSearch,
80
+ onBeforeAdd,
78
81
  onBeforeEdit,
79
82
  onBeforeDelete,
80
83
  onAfterDelete,
@@ -317,7 +320,7 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
317
320
  processedResult = interceptors.query.response(result);
318
321
  }
319
322
 
320
- onAfterSearch?.(processedResult);
323
+ onAfterSearch?.(processedResult as API.Result_TableListType<T[]>);
321
324
  setTableList(processedResult.data);
322
325
  return processedResult;
323
326
  });
@@ -363,12 +366,7 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
363
366
  if (actionLoading) return;
364
367
 
365
368
  // 自定义编辑前处理
366
- let editData = record;
367
- if (onBeforeEdit) {
368
- const result = await onBeforeEdit(record);
369
- if (!result) return;
370
- editData = result;
371
- }
369
+ let editData = { ...record };
372
370
 
373
371
  // 如果有详情查询API,先查询详情
374
372
  if (apis.queryById) {
@@ -393,12 +391,27 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
393
391
  editData = processedData;
394
392
  }
395
393
 
396
- setUpdateModalOpen(true);
394
+ // 自定义编辑前处理
395
+ if (onBeforeEdit) {
396
+ const result = await onBeforeEdit(editData);
397
+ /** 编辑前回调函数,返回false则不进行编辑,无返回或者true则使用默认数据进行编辑,返回对象则使用返回的对象进行编辑 */
398
+ if (result === false) return;
399
+
400
+ if (result && typeof result === 'object' && !Array.isArray(result)) {
401
+ editData = result; // 使用返回的对象
402
+ }
403
+ }
397
404
 
405
+ // 设置编辑行
406
+ setEditRow(editData);
407
+
408
+ // 打开默认编辑弹窗
409
+ setUpdateModalOpen(true);
410
+ // 设置表单值
398
411
  updateFormRef.current?.setFieldsValue(editData);
399
412
 
413
+ // 打开自定义编辑弹窗
400
414
  updateDrawerRef.current?.show();
401
- setEditRow(editData);
402
415
  });
403
416
 
404
417
  /**
@@ -722,7 +735,21 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
722
735
  auth: getAuthorityFn(defaultAuthCodes.add),
723
736
  key: 'add',
724
737
  label: (
725
- <a onClick={onAdd ? onAdd : () => setCreateModalOpen(true)} key="add">
738
+ <a
739
+ onClick={
740
+ onAdd
741
+ ? onAdd
742
+ : async () => {
743
+ if (onBeforeAdd) {
744
+ const result = await onBeforeAdd();
745
+ /** 编辑前回调函数,返回false则不进行编辑,无返回或者true则进行新增 */
746
+ if (result === false) return;
747
+ }
748
+ setCreateModalOpen(true);
749
+ }
750
+ }
751
+ key="add"
752
+ >
726
753
  <PlusOutlined style={{ marginRight: 6 }} />
727
754
  {formatMessage({ id: 'cfmmUI.common.button.add', defaultMessage: '新增' })}
728
755
  </a>
@@ -921,10 +948,11 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
921
948
  }
922
949
  return success;
923
950
  })}
951
+ {...(updateConfig.props as U)}
924
952
  onCloseAfter={() => {
925
953
  setEditRow(null);
954
+ (updateConfig.props)?.onCloseAfter?.();
926
955
  }}
927
- {...(updateConfig.props as U)}
928
956
  />
929
957
  ) : (
930
958
  <Drawer
@@ -936,10 +964,12 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
936
964
  forceRender // 勿删,否则formRef无法被绑定到ProTable上,因为ProTable是异步渲染的
937
965
  maskClosable={false}
938
966
  open={updateModalOpen}
939
- onClose={() => {
967
+ onClose={(e) => {
940
968
  setEditRow(null);
941
969
  setUpdateModalOpen(false);
970
+ updateConfig.props?.drawerProps?.onCloseAfter?.(e);
942
971
  }}
972
+ {...(updateConfig.props?.drawerProps)}
943
973
  // footer={<Button onClick={() => props.form?.resetFields()}>清空</Button>}
944
974
  >
945
975
  <ProTable<T, T>
@@ -959,11 +989,12 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
959
989
  rowKey={rowKey as string}
960
990
  type="form"
961
991
  columns={columns}
962
- {...(updateConfig.props as U)}
963
- formRef={updateFormRef}
964
992
  onReset={() => {
965
993
  updateFormRef.current?.setFieldsValue({ ...(editRow || {}) });
994
+ updateConfig.props?.onResetAfter?.();
966
995
  }}
996
+ {...(updateConfig.props)}
997
+ formRef={updateFormRef}
967
998
  // 自定义按钮
968
999
  // form={{
969
1000
  // submitter: {
@@ -1051,6 +1082,8 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
1051
1082
  * @param props.onDelete - 自定义删除按钮点击回调
1052
1083
  * @param props.onActionLog - 自定义操作日志点击回调
1053
1084
  * @param props.onBeforeEdit - 编辑前回调
1085
+ * @param props.onBeforeAdd - 新增前回调,无返回或者true则进行新增
1086
+ * @param props.onBeforeEdit - 编辑前回调,无返回或者true则使用默认数据进行编辑,返回对象则使用返回的对象进行编辑
1054
1087
  * @param props.onBeforeDelete - 删除前回调
1055
1088
  * @param props.onAfterDelete - 删除后回调
1056
1089
  * @param props.onAfterAction - 操作后回调
@@ -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,7 +17,7 @@ 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
23
  // 父子联动
@@ -46,9 +46,9 @@ const DataPermissionSelect = (props: DataPermissionSelectProps) => {
46
46
  if (values) {
47
47
  setSelectPermissionList(values.deptIds ?? []);
48
48
 
49
- const deptCheckStrictlyValues = values.deptCheckStrictly ?
50
- [DeptCheckStrictlyEnum.FOLD, DeptCheckStrictlyEnum.SELECT_ALL] :
51
- [DeptCheckStrictlyEnum.FOLD];
49
+ const deptCheckStrictlyValues = values.deptCheckStrictly
50
+ ? [DeptCheckStrictlyEnum.FOLD, DeptCheckStrictlyEnum.SELECT_ALL]
51
+ : [DeptCheckStrictlyEnum.FOLD];
52
52
 
53
53
  setDeptCheckStrictly(deptCheckStrictlyValues.includes(DeptCheckStrictlyEnum.SELECT_ALL));
54
54
  setShowTree(values.dataScope === DataScopeEnum.CUSTOM);
@@ -56,7 +56,7 @@ const DataPermissionSelect = (props: DataPermissionSelectProps) => {
56
56
  form.setFieldsValue({
57
57
  dataScope: values.dataScope ?? DataScopeEnum.CUSTOM,
58
58
  deptCheckStrictly: deptCheckStrictlyValues,
59
- })
59
+ });
60
60
  }
61
61
  }, [values]);
62
62
 
@@ -80,8 +80,8 @@ const DataPermissionSelect = (props: DataPermissionSelectProps) => {
80
80
  const submitParams = {
81
81
  ...values,
82
82
  deptCheckStrictly,
83
- deptIds: selectPermissionList
84
- }
83
+ deptIds: selectPermissionList,
84
+ };
85
85
 
86
86
  //调用父级的方法
87
87
  const success = await onFinish?.(submitParams);
@@ -96,15 +96,20 @@ const DataPermissionSelect = (props: DataPermissionSelectProps) => {
96
96
  };
97
97
 
98
98
  return (
99
- <ModalForm form={form}
99
+ <ModalForm
100
+ form={form}
100
101
  width={700}
101
- title={authorizeName ? `${formatMessage({
102
- id: 'cfmmUI.DataPermissionSelect.title',
103
- defaultMessage: '选择数据权限范围',
104
- })} - ${authorizeName}` : `${formatMessage({
105
- id: 'cfmmUI.DataPermissionSelect.title',
106
- defaultMessage: '选择数据权限范围',
107
- })}`}
102
+ title={
103
+ authorizeName
104
+ ? `${formatMessage({
105
+ id: 'cfmmUI.DataPermissionSelect.title',
106
+ defaultMessage: '选择数据权限范围',
107
+ })} - ${authorizeName}`
108
+ : `${formatMessage({
109
+ id: 'cfmmUI.DataPermissionSelect.title',
110
+ defaultMessage: '选择数据权限范围',
111
+ })}`
112
+ }
108
113
  //关闭弹窗清除数据
109
114
  modalProps={{
110
115
  destroyOnHidden: true,
@@ -115,109 +120,134 @@ const DataPermissionSelect = (props: DataPermissionSelectProps) => {
115
120
  onFinish={handleSubmit}
116
121
  {...restProps}
117
122
  >
118
- <ProFormSelect
119
- name="dataScope"
120
- label={formatMessage({
121
- id: 'cfmmUI.DataPermissionSelect.dataScope',
122
- defaultMessage: '权限范围',
123
- })}
124
- initialValue={DataScopeEnum.CUSTOM}
125
- allowClear={false}
126
- fieldProps={{
127
- options: [
128
- { label: formatMessage({
129
- id: 'cfmmUI.DataPermissionSelect.dataScope.all',
130
- defaultMessage: '全部数据权限',
131
- }), value: DataScopeEnum.ALL },
132
- { label: formatMessage({
133
- id: 'cfmmUI.DataPermissionSelect.dataScope.custom',
134
- defaultMessage: '自定义数据权限',
135
- }), value: DataScopeEnum.CUSTOM },
136
- { label: formatMessage({
137
- id: 'cfmmUI.DataPermissionSelect.dataScope.dept',
138
- defaultMessage: '本部门数据权限',
139
- }), value: DataScopeEnum.DEPT },
140
- { label: formatMessage({
141
- id: 'cfmmUI.DataPermissionSelect.dataScope.deptAndSub',
142
- defaultMessage: '本部门及以下数据权限',
143
- }), value: DataScopeEnum.DEPT_AND_SUB },
144
- { label: formatMessage({
145
- id: 'cfmmUI.DataPermissionSelect.dataScope.onlySelf',
146
- defaultMessage: '仅本人数据权限',
147
- }), value: DataScopeEnum.ONLY_SELF },
148
- ],
149
- onChange: (value) => {
150
- if (value === DataScopeEnum.CUSTOM) {
151
- setShowTree(true);
152
- } else {
153
- setShowTree(false);
154
- setSelectPermissionList([]);
155
- }
156
- },
157
- }} />
158
-
159
- {
160
- showTree && (
161
- <>
162
- <ProFormCheckbox.Group
163
- name="deptCheckStrictly"
164
- label={formatMessage({
165
- id: 'cfmmUI.DataPermissionSelect.dataPermission',
166
- defaultMessage: '数据权限',
167
- })}
168
- initialValue={[DeptCheckStrictlyEnum.FOLD]}
169
- fieldProps={{
170
- // defaultValue: [DeptCheckStrictlyEnum.FOLD],
171
- options: [
172
- { label: formatMessage({
123
+ {showDataScope && (
124
+ <ProFormSelect
125
+ name="dataScope"
126
+ label={formatMessage({
127
+ id: 'cfmmUI.DataPermissionSelect.dataScope',
128
+ defaultMessage: '权限范围',
129
+ })}
130
+ initialValue={DataScopeEnum.CUSTOM}
131
+ allowClear={false}
132
+ fieldProps={{
133
+ options: [
134
+ {
135
+ label: formatMessage({
136
+ id: 'cfmmUI.DataPermissionSelect.dataScope.all',
137
+ defaultMessage: '全部数据权限',
138
+ }),
139
+ value: DataScopeEnum.ALL,
140
+ },
141
+ {
142
+ label: formatMessage({
143
+ id: 'cfmmUI.DataPermissionSelect.dataScope.custom',
144
+ defaultMessage: '自定义数据权限',
145
+ }),
146
+ value: DataScopeEnum.CUSTOM,
147
+ },
148
+ {
149
+ label: formatMessage({
150
+ id: 'cfmmUI.DataPermissionSelect.dataScope.dept',
151
+ defaultMessage: '本部门数据权限',
152
+ }),
153
+ value: DataScopeEnum.DEPT,
154
+ },
155
+ {
156
+ label: formatMessage({
157
+ id: 'cfmmUI.DataPermissionSelect.dataScope.deptAndSub',
158
+ defaultMessage: '本部门及以下数据权限',
159
+ }),
160
+ value: DataScopeEnum.DEPT_AND_SUB,
161
+ },
162
+ {
163
+ label: formatMessage({
164
+ id: 'cfmmUI.DataPermissionSelect.dataScope.onlySelf',
165
+ defaultMessage: '仅本人数据权限',
166
+ }),
167
+ value: DataScopeEnum.ONLY_SELF,
168
+ },
169
+ ],
170
+ onChange: (value) => {
171
+ if (value === DataScopeEnum.CUSTOM) {
172
+ setShowTree(true);
173
+ } else {
174
+ setShowTree(false);
175
+ setSelectPermissionList([]);
176
+ }
177
+ },
178
+ }}
179
+ />
180
+ )}
181
+
182
+ {(showTree || !showDataScope) && (
183
+ <>
184
+ <ProFormCheckbox.Group
185
+ name="deptCheckStrictly"
186
+ label={formatMessage({
187
+ id: 'cfmmUI.DataPermissionSelect.dataPermission',
188
+ defaultMessage: '数据权限',
189
+ })}
190
+ initialValue={[DeptCheckStrictlyEnum.FOLD]}
191
+ fieldProps={{
192
+ // defaultValue: [DeptCheckStrictlyEnum.FOLD],
193
+ options: [
194
+ {
195
+ label: formatMessage({
173
196
  id: 'cfmmUI.DataPermissionSelect.dataPermission.fold',
174
197
  defaultMessage: '折叠/展开',
175
- }), value: DeptCheckStrictlyEnum.FOLD },
176
- { label: formatMessage({
198
+ }),
199
+ value: DeptCheckStrictlyEnum.FOLD,
200
+ },
201
+ {
202
+ label: formatMessage({
177
203
  id: 'cfmmUI.DataPermissionSelect.dataPermission.selectAll',
178
204
  defaultMessage: '全选/全不选',
179
- }), value: DeptCheckStrictlyEnum.SELECT_ALL },
180
- { label: formatMessage({
205
+ }),
206
+ value: DeptCheckStrictlyEnum.SELECT_ALL,
207
+ },
208
+ {
209
+ label: formatMessage({
181
210
  id: 'cfmmUI.DataPermissionSelect.dataPermission.parentChild',
182
211
  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));
212
+ }),
213
+ value: DeptCheckStrictlyEnum.PARENT_CHILD,
189
214
  },
215
+ ],
216
+ onChange: (checkedValues) => {
217
+ setExpandedKeys(checkedValues.includes(DeptCheckStrictlyEnum.FOLD) ? allKeys : []);
218
+ setSelectPermissionList(checkedValues.includes(DeptCheckStrictlyEnum.SELECT_ALL) ? allKeys : []);
219
+ setDeptCheckStrictly(checkedValues.includes(DeptCheckStrictlyEnum.PARENT_CHILD));
220
+ },
221
+ }}
222
+ />
223
+ <Form.Item
224
+ // name="deptIds"
225
+ wrapperCol={{ offset: 5, span: 16 }}
226
+ >
227
+ <Tree
228
+ style={{
229
+ border: '1px solid #d9d9d9',
230
+ borderRadius: 8,
231
+ maxHeight: 'calc(100vh - 450px)',
232
+ overflow: 'auto',
233
+ }}
234
+ checkable
235
+ expandedKeys={expandedKeys}
236
+ onExpand={setExpandedKeys}
237
+ checkedKeys={selectPermissionList}
238
+ treeData={menuTreeDate}
239
+ checkStrictly={true}
240
+ // @ts-ignore
241
+ onCheck={(checkedKeys) => {
242
+ const keys = Array.isArray(checkedKeys) ? checkedKeys : checkedKeys.checked;
243
+ setSelectPermissionList(keys);
190
244
  }}
191
245
  />
192
- <Form.Item
193
- // name="deptIds"
194
- wrapperCol={{ offset: 5, span: 16 }}
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
- }
246
+ </Form.Item>
247
+ </>
248
+ )}
219
249
  </ModalForm>
220
250
  );
221
251
  };
222
252
 
223
- export default React.memo(DataPermissionSelect) as typeof DataPermissionSelect;
253
+ 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 /** \u7F16\u8F91\u524D\u56DE\u8C03\u51FD\u6570\uFF0C\u5982\u679C\u51FD\u6570\u6CA1\u6709\u8FD4\u56DET\uFF0C\u5219\u4E0D\u8FDB\u884C\u7F16\u8F91 */\n onBeforeEdit?: (record: T) => Promise<T | null>;\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 /** \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?: 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 var 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 /** \u7F16\u8F91\u524D\u56DE\u8C03\u51FD\u6570\uFF0C\u5982\u679C\u51FD\u6570\u6CA1\u6709\u8FD4\u56DET\uFF0C\u5219\u4E0D\u8FDB\u884C\u7F16\u8F91 */\n onBeforeEdit?: (record: T) => Promise<T | null>;\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 var 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?: 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";
@@ -1 +1 @@
1
- export var 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 var 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";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cfmm/umi-plugins-ui-v2",
3
3
  "author": "ysj <411367308@qq.com>",
4
- "version": "0.0.9",
4
+ "version": "0.0.11",
5
5
  "main": "dist/cjs/index.js",
6
6
  "types": "dist/cjs/index.d.ts",
7
7
  "publishConfig": {