@cfmm/umi-plugins-ui-v2 0.0.1 → 0.0.3

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.
@@ -15,7 +15,7 @@ import EditMultiLangForm from './EditMultiLangForm';
15
15
  import MyFooterToolbar from './MyFooterToolbar';
16
16
  import ViewTableItemDrawer from './ViewTableItemDrawer';
17
17
  import { genExcelAdvanced } from '../utils/excelHelper';
18
- import { importMultiLangList, queryI18nExprotList, queryLangInfoExprotList } from '../services';
18
+ import { importMultiLangList, queryLangInfoExprotList } from '../services';
19
19
  import { handleImportList } from '../utils/importHelper';
20
20
 
21
21
  const { confirm } = Modal;
@@ -46,7 +46,6 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
46
46
  ref: ForwardedRef<CrudTableRefType<T>>,
47
47
  ) {
48
48
  const {
49
- version = 'v2',
50
49
  baseLocalCode,
51
50
  baseLocalName,
52
51
  rowKey,
@@ -107,7 +106,7 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
107
106
  const langInfo: LangInfoItem = {
108
107
  tableName: fieldConfig.tableName,
109
108
  columnName: fieldConfig.columnName,
110
- recordId: record[rowKey] as string,
109
+ dataId: record[rowKey] as string,
111
110
  };
112
111
  setCurrentLangInfo(langInfo);
113
112
  }
@@ -126,7 +125,7 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
126
125
  }
127
126
 
128
127
  const result = await doAction('GET', { tableName, columnName }, {
129
- actionFn: version === 'v1' ? queryLangInfoExprotList : queryI18nExprotList,
128
+ actionFn: queryLangInfoExprotList,
130
129
  });
131
130
 
132
131
  if (result.success && result.data) {
@@ -147,14 +146,14 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
147
146
  defaultMessage: '数据列表',
148
147
  });
149
148
 
150
- const codeList = ['recordId', 'recordValue', 'zh_CN', 'zh_TW', 'en_US', 'th_TH'];
149
+ const codeList = ['dataId', 'columnValue', 'zh_CN', 'zh_TW', 'en_US', 'th_TH'];
151
150
 
152
151
  const { tableName, columnName } = multiLang.fields[0];
153
152
  const data = await queryMultiLangData(tableName, columnName);
154
153
 
155
154
  if(!data.length) return;
156
155
 
157
- const handleData = data.map(item => [item.recordId, version === 'v1' ? item.recordValue : item.columnValue, item.zh_CN, item.zh_TW, item.en_US, item.th_TH]);
156
+ const handleData = data.map(item => [item.dataId, item.columnValue, item.zh_CN, item.zh_TW, item.en_US, item.th_TH]);
158
157
 
159
158
  genExcelAdvanced(
160
159
  `${title}.xlsx`,
@@ -196,7 +195,7 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
196
195
  const result = await doAction('IMPORT', {
197
196
  tableName: tableName,
198
197
  columnName: columnName,
199
- langInfos: newList.filter(item => item.en_US || item.zh_CN || item.zh_TW || item.th_TH),
198
+ i18nDataList: newList.filter(item => item.en_US || item.zh_CN || item.zh_TW || item.th_TH),
200
199
  }, {
201
200
  actionFn: importMultiLangList,
202
201
  showMsg: false,
@@ -624,7 +623,6 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
624
623
 
625
624
  {/* 多语言编辑 */}
626
625
  <EditMultiLangForm
627
- version={version}
628
626
  modalFormVisible={editLangModalOpen}
629
627
  setModalFormVisible={setEditLangModalOpen}
630
628
  values={currentLangInfo!}
@@ -3,40 +3,25 @@ import { EditableProTable, ProColumns } from '@ant-design/pro-table';
3
3
  import { useIntl } from '@umijs/max';
4
4
  import { Form, Spin } from 'antd';
5
5
  import React, { useEffect, useState } from 'react';
6
- import { batchSave, batchSaveI18n, queryI18nData, queryLangInfoList } from '../services';
7
- import { EditMultiLangFormProps, LangInfoItem } from '../types';
6
+ import { batchSave, queryLangInfoList } from '../services';
7
+ import { EditMultiLangFormProps } from '../types';
8
8
 
9
- type DataSourceType = {
10
- langInfoId: React.Key;
11
- lang?: string;
9
+ export const MULTI_LANG_CODES = ['en_US', 'th_TH', 'zh_CN', 'zh_TW'] as const;
10
+
11
+ type EditMultiLangListType = {
12
+ dataId: React.Key;
13
+ lang: (typeof MULTI_LANG_CODES)[number];
12
14
  value?: string;
13
15
  };
14
16
 
15
17
  /**
16
18
  * 设置多语言
17
19
  */
18
- const defaultData: DataSourceType[] = [
19
- {
20
- langInfoId: -1,
21
- lang: 'en_US',
22
- value: '',
23
- },
24
- {
25
- langInfoId: -2,
26
- lang: 'th_TH',
27
- value: '',
28
- },
29
- {
30
- langInfoId: -3,
31
- lang: 'zh_CN',
32
- value: '',
33
- },
34
- {
35
- langInfoId: -4,
36
- lang: 'zh_TW',
37
- value: '',
38
- },
39
- ];
20
+ const defaultData: EditMultiLangListType[] = MULTI_LANG_CODES.map((item, idx) => ({
21
+ dataId: -idx - 1,
22
+ lang: item,
23
+ value: '',
24
+ }));
40
25
 
41
26
  /**
42
27
  * 多语言处理组件
@@ -44,16 +29,15 @@ const defaultData: DataSourceType[] = [
44
29
  * @returns
45
30
  */
46
31
  const EditMultiLangForm: React.FC<EditMultiLangFormProps> = (props) => {
47
- const { version = 'v1' } = props;
48
32
  const { formatMessage } = useIntl();
49
33
  const [form] = Form.useForm();
50
34
 
51
- const [editableKeys, setEditableRowKeys] = useState<React.Key[]>(() => defaultData.map((item) => item.langInfoId));
35
+ const [editableKeys, setEditableRowKeys] = useState<React.Key[]>(() => defaultData.map((item) => item.dataId));
52
36
 
53
37
  /**
54
38
  * 数据源
55
39
  */
56
- const [dataSource, setDataSource] = useState<DataSourceType[]>(() => [...defaultData]);
40
+ const [dataSource, setDataSource] = useState<EditMultiLangListType[]>(() => [...defaultData]);
57
41
 
58
42
  /**
59
43
  * 加载中标识
@@ -67,23 +51,18 @@ const EditMultiLangForm: React.FC<EditMultiLangFormProps> = (props) => {
67
51
  form.resetFields();
68
52
  // 清理数据状态,避免缓存问题
69
53
  setDataSource(() => [...defaultData]);
70
- setEditableRowKeys(() => defaultData.map((item) => item.langInfoId));
54
+ setEditableRowKeys(() => defaultData.map((item) => item.dataId));
71
55
  setTableKey((prev) => prev + 1);
72
56
  }
73
57
  }, [props.modalFormVisible]);
74
58
 
75
59
  /**
76
- * 请求数据
77
- */
60
+ * 请求数据
61
+ */
78
62
  async function fetchData() {
79
63
  if (!props.values) return;
80
64
 
81
- // 深度拷贝defaultData,避免修改原始对象
82
- const list: DataSourceType[] = defaultData.map((item) => ({
83
- langInfoId: item.langInfoId,
84
- lang: item.lang,
85
- value: item.value,
86
- }));
65
+ const { tableName, columnName, dataId } = props.values;
87
66
 
88
67
  /**
89
68
  * 加载中
@@ -94,61 +73,24 @@ const EditMultiLangForm: React.FC<EditMultiLangFormProps> = (props) => {
94
73
  * 请求后台API设置的多语言
95
74
  */
96
75
  const queryList = props.queryLangInfoList ?? queryLangInfoList;
97
- const result = await queryList({ ...props.values });
98
-
99
- if (result && result.code === 200) {
100
- for (let j = 0; j < list.length; j++) {
101
- for (let i = 0; i < result.rows.length; i++) {
102
- if (result.rows[i].lang === list[j].lang) {
103
- list[j].langInfoId = result.rows[i].langInfoId;
104
- list[j].value = result.rows[i].value;
105
- }
106
- }
107
- }
108
-
109
- setDataSource(list);
110
- setEditableRowKeys(list.map((item) => item.langInfoId));
111
- }
112
-
113
- /**
114
- * 加载中
115
- */
116
- setLoading(false);
117
- }
118
-
119
- /**
120
- * 请求数据
121
- */
122
- async function fetchDataV2() {
123
- if (!props.values) return;
124
-
125
- /**
126
- * 加载中
127
- */
128
- setLoading(true);
129
-
130
- /**
131
- * 请求后台API设置的多语言
132
- */
133
- const queryList = props.queryLangInfoList ?? queryI18nData;
134
- const result = await queryList({
135
- tableName: props.values.tableName,
136
- columnName: props.values.columnName,
137
- dataId: props.values.recordId,
138
- });
76
+ const result = await queryList({
77
+ tableName,
78
+ columnName,
79
+ dataId,
80
+ });
139
81
  const i18nJson = result?.data?.i18nJson;
140
82
 
141
83
  if (result?.code === 200 && i18nJson) {
142
84
  const newList = dataSource.map((item, idx) => {
143
85
  return {
144
86
  ...item,
145
- value: i18nJson[item.lang]?.dic_name,
146
- langInfoId: new Date().getTime() + idx,
87
+ value: i18nJson[item.lang]?.[columnName],
88
+ dataId: new Date().getTime() + idx,
147
89
  };
148
90
  });
149
91
 
150
92
  setDataSource([...newList]);
151
- setEditableRowKeys(newList.map((item) => item.langInfoId));
93
+ setEditableRowKeys(newList.map((item) => item.dataId));
152
94
  }
153
95
 
154
96
  /**
@@ -163,15 +105,11 @@ const EditMultiLangForm: React.FC<EditMultiLangFormProps> = (props) => {
163
105
  ...props.values,
164
106
  });
165
107
 
166
- if (version === 'v1') {
167
- fetchData();
168
- } else {
169
- fetchDataV2();
170
- }
108
+ fetchData();
171
109
  }
172
110
  }, [props.values]);
173
111
 
174
- const columns: ProColumns<DataSourceType>[] = [
112
+ const columns: ProColumns<EditMultiLangListType>[] = [
175
113
  {
176
114
  title: formatMessage({
177
115
  id: 'cfmmUI.multilang.column.lang',
@@ -230,33 +168,15 @@ const EditMultiLangForm: React.FC<EditMultiLangFormProps> = (props) => {
230
168
  */
231
169
  setLoading(true);
232
170
 
233
- let data: LangInfoItem[] = [];
234
-
235
171
  let onSave = props.batchSave ? props.batchSave : batchSave;
236
172
 
237
- if (version === 'v1') {
238
- data = new Array(dataSource.length);
239
-
240
- for (let i = 0; i < dataSource.length; i++) {
241
- data[i] = {
242
- tableName: props.values.tableName,
243
- columnName: props.values.columnName,
244
- recordId: props.values.recordId,
245
- langInfoId: Number(dataSource[i].langInfoId) > 0 ? Number(dataSource[i].langInfoId) : 0,
246
- lang: dataSource[i].lang,
247
- value: dataSource[i].value,
248
- };
249
- }
250
- } else {
251
- data = dataSource.map(item => ({
252
- lang: item.lang,
253
- value: item.value,
254
- dataId: props.values!.recordId,
255
- tableName: props.values!.tableName,
256
- columnName: props.values!.columnName,
257
- }))
258
- onSave = batchSaveI18n;
259
- }
173
+ const data = dataSource.map(item => ({
174
+ lang: item.lang,
175
+ value: item.value,
176
+ dataId: props.values!.dataId,
177
+ tableName: props.values!.tableName,
178
+ columnName: props.values!.columnName,
179
+ }))
260
180
 
261
181
  const result = await onSave(data);
262
182
 
@@ -339,10 +259,10 @@ const EditMultiLangForm: React.FC<EditMultiLangFormProps> = (props) => {
339
259
 
340
260
  <Spin spinning={loading}>
341
261
  {/* 多语言编辑表格 */}
342
- <EditableProTable<DataSourceType>
262
+ <EditableProTable<EditMultiLangListType>
343
263
  key={tableKey}
344
264
  columns={columns}
345
- rowKey="langInfoId"
265
+ rowKey="dataId"
346
266
  value={dataSource}
347
267
  onChange={setDataSource as any}
348
268
  recordCreatorProps={false}
@@ -1,6 +1,6 @@
1
1
  import { request } from '@umijs/max';
2
2
  import { BASE_API } from '../constants';
3
- import { API, DicDataItem, ExprotI18nListItem, ExprotMultiLangListItem } from '../types';
3
+ import { API, DicDataItem, ExprotMultiLangListItem, EditMultiLangDataType, LangInfoItem, EditMultiLangSubmitData } from '../types';
4
4
 
5
5
  /**
6
6
  * 删除minio文件
@@ -49,42 +49,12 @@ export async function queryDictionary(params: ParamsType) {
49
49
  * @returns 多语言信息列表
50
50
  */
51
51
  export async function queryLangInfoExprotList(params: {tableName: string, columnName: string}) {
52
- return request<API.Result_Base<ExprotMultiLangListItem[]>>(`${BASE_API}/system/LangInfo/export`, {
52
+ return request<API.Result_Base<ExprotMultiLangListItem[]>>(`${BASE_API}/i18n/export`, {
53
53
  method: 'GET',
54
54
  params,
55
55
  });
56
56
  }
57
57
 
58
- /**
59
- * 根据表名称、列名称、记录ID查询多语言信息
60
- * @param params 查询参数
61
- * @param params.tableName - 表名称
62
- * @param params.columnName - 列名称
63
- * @param params.recordId - 记录ID
64
- * @returns 多语言信息列表
65
- */
66
- export async function queryI18nExprotList(params: {tableName: string, columnName: string}) {
67
- return request<API.Result_Base<(ExprotMultiLangListItem & { columnValue: string })[]>>(`${BASE_API}/i18n/export`, {
68
- method: 'GET',
69
- params,
70
- });
71
- }
72
-
73
- /**
74
- * 导入多语言数据
75
- * @param 请求体
76
- * @param.tableName 表名
77
- * @param.columnName 列名
78
- * @param.langInfos 数据
79
- * @returns 多语言信息列表
80
- */
81
- export async function importMultiLangList(params: {tableName: string, columnName: string, langInfos: ExprotI18nListItem[]}) {
82
- return request<API.Result_Base<number>>(`${BASE_API}/system/LangInfo/importData`, {
83
- method: 'POST',
84
- data: params,
85
- });
86
- }
87
-
88
58
  /**
89
59
  * 导入多语言数据
90
60
  * @param 请求体
@@ -93,7 +63,7 @@ export async function importMultiLangList(params: {tableName: string, columnName
93
63
  * @param.langInfos 数据
94
64
  * @returns 多语言信息列表
95
65
  */
96
- export async function importI18nList(params: {tableName: string, columnName: string, i18nDataList: ExprotMultiLangListItem[]}) {
66
+ export async function importMultiLangList(params: {tableName: string, columnName: string, i18nDataList: ExprotMultiLangListItem[]}) {
97
67
  return request<API.Result_Base<number>>(`${BASE_API}/i18n/importData`, {
98
68
  method: 'POST',
99
69
  data: params,
@@ -105,32 +75,8 @@ export async function importI18nList(params: {tableName: string, columnName: str
105
75
  * @param params 参数
106
76
  * @returns
107
77
  */
108
- export async function queryLangInfoList(params?: any) {
109
- return request(`${BASE_API}/system/LangInfo/getLangInfoByTableColumnRecord`, {
110
- method: "GET",
111
- params,
112
- });
113
- }
114
-
115
- /**
116
- * 批量保存多语言信息
117
- * @param data 数据
118
- * @returns
119
- */
120
- export async function batchSave(data: any) {
121
- return request(`${BASE_API}/system/LangInfo/batchSave`, {
122
- method: "POST",
123
- data,
124
- });
125
- }
126
-
127
- /**
128
- * 查询多语言信息列表
129
- * @param params 参数
130
- * @returns
131
- */
132
- export async function queryI18nData(params?: any) {
133
- return request(`${BASE_API}/i18n/getI18nData`, {
78
+ export async function queryLangInfoList(params?: LangInfoItem) {
79
+ return request<API.Result_Base<EditMultiLangDataType>>(`${BASE_API}/i18n/getI18nData`, {
134
80
  method: "GET",
135
81
  params,
136
82
  });
@@ -141,7 +87,7 @@ export async function queryI18nData(params?: any) {
141
87
  * @param data 数据
142
88
  * @returns
143
89
  */
144
- export async function batchSaveI18n(data: any) {
90
+ export async function batchSave(data: EditMultiLangSubmitData[]) {
145
91
  return request(`${BASE_API}/i18n/batchSave`, {
146
92
  method: "POST",
147
93
  data,
@@ -1 +1 @@
1
- export declare const CrudTableTypes = "\nexport interface CrudTableConfig<T = any, U = {}, C = {}> {\n /**\n * \u7248\u672C\u53F7\uFF0Cv1: \u65E7\u7248\uFF0Cv2: \u65B0\u7248\n */\n version?: string;\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?: ExprotMultiLangListItem[];\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 queryExprotMultiLangData?: (tableName: string, columnName: string) => Promise<ExprotMultiLangListItem[]>;\n /** \u81EA\u5B9A\u4E49\u5BFC\u5165\u591A\u8BED\u8A00\u51FD\u6570 */\n importMultiLangData?: (list: ExprotMultiLangListItem[], 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 };\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 };\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\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 /** \u81EA\u5B9A\u4E49\u65B0\u589E\u51FD\u6570 */\n onAdd?: () => 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}\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?: ExprotMultiLangListItem[];\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 queryExprotMultiLangData?: (tableName: string, columnName: string) => Promise<ExprotMultiLangListItem[]>;\n /** \u81EA\u5B9A\u4E49\u5BFC\u5165\u591A\u8BED\u8A00\u51FD\u6570 */\n importMultiLangData?: (list: ExprotMultiLangListItem[], 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 };\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 };\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\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 /** \u81EA\u5B9A\u4E49\u65B0\u589E\u51FD\u6570 */\n onAdd?: () => 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}\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 /**\n * \u7248\u672C\u53F7\uFF0Cv1: \u65E7\u7248\uFF0Cv2: \u65B0\u7248\n */\n version?: string;\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?: ExprotMultiLangListItem[];\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 queryExprotMultiLangData?: (tableName: string, columnName: string) => Promise<ExprotMultiLangListItem[]>;\n /** \u81EA\u5B9A\u4E49\u5BFC\u5165\u591A\u8BED\u8A00\u51FD\u6570 */\n importMultiLangData?: (list: ExprotMultiLangListItem[], 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 };\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 };\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\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 /** \u81EA\u5B9A\u4E49\u65B0\u589E\u51FD\u6570 */\n onAdd?: () => 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}\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?: ExprotMultiLangListItem[];\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 queryExprotMultiLangData?: (tableName: string, columnName: string) => Promise<ExprotMultiLangListItem[]>;\n /** \u81EA\u5B9A\u4E49\u5BFC\u5165\u591A\u8BED\u8A00\u51FD\u6570 */\n importMultiLangData?: (list: ExprotMultiLangListItem[], 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 };\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 };\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\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 /** \u81EA\u5B9A\u4E49\u65B0\u589E\u51FD\u6570 */\n onAdd?: () => 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}\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 EditMultiLangFormTypes = "\n /** \u5BFC\u51FA\u591A\u8BED\u8A00\u6570\u636E\u5217\u8868\u9879 */\n export interface ExprotMultiLangListItem {\n /** \u8BB0\u5F55ID */\n recordId: string;\n /** \u539F\u59CB\u503C */\n recordValue: string;\n zh_CN?: string;\n zh_TW?: string;\n en_US?: string;\n th_TH?: string;\n }\n\n /** \u5BFC\u51FA\u591A\u8BED\u8A00\u6570\u636E\u5217\u8868\u9879 */\n export interface ExprotI18nListItem {\n /** \u8BB0\u5F55ID */\n dataId: string;\n /** \u539F\u59CB\u503C */\n columnValue: string;\n zh_CN?: string;\n zh_TW?: string;\n en_US?: string;\n th_TH?: string;\n }\n\n /** \u591A\u8BED\u8A00\u67E5\u8BE2\u53C2\u6570 */\n export interface LangInfoItem {\n /**\n * \u8868\u540D\u79F0\n */\n tableName: string;\n /**\n * \u5217\u540D\u79F0\n */\n columnName: string;\n /**\n * \u8BB0\u5F55ID\n */\n recordId: string;\n /**\n * \u8BED\u8A00\u4FE1\u606FID\n */\n langInfoId?: number;\n /**\n * \u8BED\u8A00\n */\n lang?: string;\n /**\n * \u503C\n */\n value?: string;\n }\n\n /** \u591A\u8BED\u8A00\u4FE1\u606F\u7EC4\u4EF6\u7C7B\u578B */\n export interface EditMultiLangFormProps {\n /**\n * \u7248\u672C\u53F7\uFF0Cv1: \u65E7\u7248\uFF0Cv2: \u65B0\u7248\n */\n version?: string;\n /**\n * \u662F\u5426\u663E\u793A\u5F39\u7A97\n */\n modalFormVisible: boolean;\n /**\n * \u8BBE\u7F6E\u5F39\u7A97\u662F\u5426\u663E\u793A\n */\n setModalFormVisible: (visible: boolean) => void;\n /**\n * \u63D0\u4EA4\u540E\u56DE\u8C03\n */\n onAfterSubmit?: () => void;\n /**\n * \u591A\u8BED\u8A00\u4FE1\u606F\n */\n values?: LangInfoItem;\n /**\n * \u67E5\u8BE2\u5217\u8868\u63A5\u53E3\n */\n queryLangInfoList?: (params?: LangInfoItem) => Promise<any>;\n /**\n * \u4FDD\u5B58\u63A5\u53E3\n */\n batchSave?: (data?: LangInfoItem[]) => Promise<any>;\n }\n";
1
+ export declare const EditMultiLangFormTypes = "\n /** \u5BFC\u51FA\u591A\u8BED\u8A00\u6570\u636E\u5217\u8868\u9879 */\n export interface ExprotMultiLangListItem {\n /** \u8BB0\u5F55ID */\n dataId: string;\n /** \u539F\u59CB\u503C */\n columnValue: string;\n zh_CN?: string;\n zh_TW?: string;\n en_US?: string;\n th_TH?: string;\n }\n\n type LangType = 'en_US' | 'th_TH' | 'zh_CN' | 'zh_TW';\n\n /** \u67E5\u8BE2\u5355\u4E2A\u591A\u8BED\u8A00\u6570\u636E */\n export type EditMultiLangDataType = {\n dataId: React.Key;\n i18nJson?: Record<LangType, {\n string: string;\n }>;\n };\n\n /** \u591A\u8BED\u8A00\u67E5\u8BE2\u53C2\u6570 */\n export interface LangInfoItem {\n /**\n * \u8868\u540D\u79F0\n */\n tableName: string;\n /**\n * \u5217\u540D\u79F0\n */\n columnName: string;\n /**\n * \u8BB0\u5F55ID\n */\n dataId: string;\n }\n\n /** \u591A\u8BED\u8A00\u63D0\u4EA4\u6570\u636E */\n export interface EditMultiLangSubmitData extends LangInfoItem {\n lang: LangType;\n value?: string;\n }\n\n /** \u591A\u8BED\u8A00\u4FE1\u606F\u7EC4\u4EF6\u7C7B\u578B */\n export interface EditMultiLangFormProps {\n /**\n * \u662F\u5426\u663E\u793A\u5F39\u7A97\n */\n modalFormVisible: boolean;\n /**\n * \u8BBE\u7F6E\u5F39\u7A97\u662F\u5426\u663E\u793A\n */\n setModalFormVisible: (visible: boolean) => void;\n /**\n * \u63D0\u4EA4\u540E\u56DE\u8C03\n */\n onAfterSubmit?: () => void;\n /**\n * \u591A\u8BED\u8A00\u4FE1\u606F\n */\n values?: LangInfoItem;\n /**\n * \u67E5\u8BE2\u5217\u8868\u63A5\u53E3\n */\n queryLangInfoList?: (params?: LangInfoItem) => Promise<API.Result_Base<EditMultiLangDataType>>;\n /**\n * \u4FDD\u5B58\u63A5\u53E3\n */\n batchSave?: (data?: LangInfoItem[]) => Promise<any>;\n }\n";
@@ -4,4 +4,4 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.EditMultiLangFormTypes = void 0;
7
- var EditMultiLangFormTypes = exports.EditMultiLangFormTypes = "\n /** \u5BFC\u51FA\u591A\u8BED\u8A00\u6570\u636E\u5217\u8868\u9879 */\n export interface ExprotMultiLangListItem {\n /** \u8BB0\u5F55ID */\n recordId: string;\n /** \u539F\u59CB\u503C */\n recordValue: string;\n zh_CN?: string;\n zh_TW?: string;\n en_US?: string;\n th_TH?: string;\n }\n\n /** \u5BFC\u51FA\u591A\u8BED\u8A00\u6570\u636E\u5217\u8868\u9879 */\n export interface ExprotI18nListItem {\n /** \u8BB0\u5F55ID */\n dataId: string;\n /** \u539F\u59CB\u503C */\n columnValue: string;\n zh_CN?: string;\n zh_TW?: string;\n en_US?: string;\n th_TH?: string;\n }\n\n /** \u591A\u8BED\u8A00\u67E5\u8BE2\u53C2\u6570 */\n export interface LangInfoItem {\n /**\n * \u8868\u540D\u79F0\n */\n tableName: string;\n /**\n * \u5217\u540D\u79F0\n */\n columnName: string;\n /**\n * \u8BB0\u5F55ID\n */\n recordId: string;\n /**\n * \u8BED\u8A00\u4FE1\u606FID\n */\n langInfoId?: number;\n /**\n * \u8BED\u8A00\n */\n lang?: string;\n /**\n * \u503C\n */\n value?: string;\n }\n\n /** \u591A\u8BED\u8A00\u4FE1\u606F\u7EC4\u4EF6\u7C7B\u578B */\n export interface EditMultiLangFormProps {\n /**\n * \u7248\u672C\u53F7\uFF0Cv1: \u65E7\u7248\uFF0Cv2: \u65B0\u7248\n */\n version?: string;\n /**\n * \u662F\u5426\u663E\u793A\u5F39\u7A97\n */\n modalFormVisible: boolean;\n /**\n * \u8BBE\u7F6E\u5F39\u7A97\u662F\u5426\u663E\u793A\n */\n setModalFormVisible: (visible: boolean) => void;\n /**\n * \u63D0\u4EA4\u540E\u56DE\u8C03\n */\n onAfterSubmit?: () => void;\n /**\n * \u591A\u8BED\u8A00\u4FE1\u606F\n */\n values?: LangInfoItem;\n /**\n * \u67E5\u8BE2\u5217\u8868\u63A5\u53E3\n */\n queryLangInfoList?: (params?: LangInfoItem) => Promise<any>;\n /**\n * \u4FDD\u5B58\u63A5\u53E3\n */\n batchSave?: (data?: LangInfoItem[]) => Promise<any>;\n }\n";
7
+ var EditMultiLangFormTypes = exports.EditMultiLangFormTypes = "\n /** \u5BFC\u51FA\u591A\u8BED\u8A00\u6570\u636E\u5217\u8868\u9879 */\n export interface ExprotMultiLangListItem {\n /** \u8BB0\u5F55ID */\n dataId: string;\n /** \u539F\u59CB\u503C */\n columnValue: string;\n zh_CN?: string;\n zh_TW?: string;\n en_US?: string;\n th_TH?: string;\n }\n\n type LangType = 'en_US' | 'th_TH' | 'zh_CN' | 'zh_TW';\n\n /** \u67E5\u8BE2\u5355\u4E2A\u591A\u8BED\u8A00\u6570\u636E */\n export type EditMultiLangDataType = {\n dataId: React.Key;\n i18nJson?: Record<LangType, {\n string: string;\n }>;\n };\n\n /** \u591A\u8BED\u8A00\u67E5\u8BE2\u53C2\u6570 */\n export interface LangInfoItem {\n /**\n * \u8868\u540D\u79F0\n */\n tableName: string;\n /**\n * \u5217\u540D\u79F0\n */\n columnName: string;\n /**\n * \u8BB0\u5F55ID\n */\n dataId: string;\n }\n\n /** \u591A\u8BED\u8A00\u63D0\u4EA4\u6570\u636E */\n export interface EditMultiLangSubmitData extends LangInfoItem {\n lang: LangType;\n value?: string;\n }\n\n /** \u591A\u8BED\u8A00\u4FE1\u606F\u7EC4\u4EF6\u7C7B\u578B */\n export interface EditMultiLangFormProps {\n /**\n * \u662F\u5426\u663E\u793A\u5F39\u7A97\n */\n modalFormVisible: boolean;\n /**\n * \u8BBE\u7F6E\u5F39\u7A97\u662F\u5426\u663E\u793A\n */\n setModalFormVisible: (visible: boolean) => void;\n /**\n * \u63D0\u4EA4\u540E\u56DE\u8C03\n */\n onAfterSubmit?: () => void;\n /**\n * \u591A\u8BED\u8A00\u4FE1\u606F\n */\n values?: LangInfoItem;\n /**\n * \u67E5\u8BE2\u5217\u8868\u63A5\u53E3\n */\n queryLangInfoList?: (params?: LangInfoItem) => Promise<API.Result_Base<EditMultiLangDataType>>;\n /**\n * \u4FDD\u5B58\u63A5\u53E3\n */\n batchSave?: (data?: LangInfoItem[]) => Promise<any>;\n }\n";
@@ -15,7 +15,7 @@ import EditMultiLangForm from './EditMultiLangForm';
15
15
  import MyFooterToolbar from './MyFooterToolbar';
16
16
  import ViewTableItemDrawer from './ViewTableItemDrawer';
17
17
  import { genExcelAdvanced } from '../utils/excelHelper';
18
- import { importMultiLangList, queryI18nExprotList, queryLangInfoExprotList } from '../services';
18
+ import { importMultiLangList, queryLangInfoExprotList } from '../services';
19
19
  import { handleImportList } from '../utils/importHelper';
20
20
 
21
21
  const { confirm } = Modal;
@@ -46,7 +46,6 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
46
46
  ref: ForwardedRef<CrudTableRefType<T>>,
47
47
  ) {
48
48
  const {
49
- version = 'v2',
50
49
  baseLocalCode,
51
50
  baseLocalName,
52
51
  rowKey,
@@ -107,7 +106,7 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
107
106
  const langInfo: LangInfoItem = {
108
107
  tableName: fieldConfig.tableName,
109
108
  columnName: fieldConfig.columnName,
110
- recordId: record[rowKey] as string,
109
+ dataId: record[rowKey] as string,
111
110
  };
112
111
  setCurrentLangInfo(langInfo);
113
112
  }
@@ -126,7 +125,7 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
126
125
  }
127
126
 
128
127
  const result = await doAction('GET', { tableName, columnName }, {
129
- actionFn: version === 'v1' ? queryLangInfoExprotList : queryI18nExprotList,
128
+ actionFn: queryLangInfoExprotList,
130
129
  });
131
130
 
132
131
  if (result.success && result.data) {
@@ -147,14 +146,14 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
147
146
  defaultMessage: '数据列表',
148
147
  });
149
148
 
150
- const codeList = ['recordId', 'recordValue', 'zh_CN', 'zh_TW', 'en_US', 'th_TH'];
149
+ const codeList = ['dataId', 'columnValue', 'zh_CN', 'zh_TW', 'en_US', 'th_TH'];
151
150
 
152
151
  const { tableName, columnName } = multiLang.fields[0];
153
152
  const data = await queryMultiLangData(tableName, columnName);
154
153
 
155
154
  if(!data.length) return;
156
155
 
157
- const handleData = data.map(item => [item.recordId, version === 'v1' ? item.recordValue : item.columnValue, item.zh_CN, item.zh_TW, item.en_US, item.th_TH]);
156
+ const handleData = data.map(item => [item.dataId, item.columnValue, item.zh_CN, item.zh_TW, item.en_US, item.th_TH]);
158
157
 
159
158
  genExcelAdvanced(
160
159
  `${title}.xlsx`,
@@ -196,7 +195,7 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
196
195
  const result = await doAction('IMPORT', {
197
196
  tableName: tableName,
198
197
  columnName: columnName,
199
- langInfos: newList.filter(item => item.en_US || item.zh_CN || item.zh_TW || item.th_TH),
198
+ i18nDataList: newList.filter(item => item.en_US || item.zh_CN || item.zh_TW || item.th_TH),
200
199
  }, {
201
200
  actionFn: importMultiLangList,
202
201
  showMsg: false,
@@ -624,7 +623,6 @@ function CrudTable<T extends Record<string, any>, U = {}, C = {}>(
624
623
 
625
624
  {/* 多语言编辑 */}
626
625
  <EditMultiLangForm
627
- version={version}
628
626
  modalFormVisible={editLangModalOpen}
629
627
  setModalFormVisible={setEditLangModalOpen}
630
628
  values={currentLangInfo!}
@@ -3,40 +3,25 @@ import { EditableProTable, ProColumns } from '@ant-design/pro-table';
3
3
  import { useIntl } from '@umijs/max';
4
4
  import { Form, Spin } from 'antd';
5
5
  import React, { useEffect, useState } from 'react';
6
- import { batchSave, batchSaveI18n, queryI18nData, queryLangInfoList } from '../services';
7
- import { EditMultiLangFormProps, LangInfoItem } from '../types';
6
+ import { batchSave, queryLangInfoList } from '../services';
7
+ import { EditMultiLangFormProps } from '../types';
8
8
 
9
- type DataSourceType = {
10
- langInfoId: React.Key;
11
- lang?: string;
9
+ export const MULTI_LANG_CODES = ['en_US', 'th_TH', 'zh_CN', 'zh_TW'] as const;
10
+
11
+ type EditMultiLangListType = {
12
+ dataId: React.Key;
13
+ lang: (typeof MULTI_LANG_CODES)[number];
12
14
  value?: string;
13
15
  };
14
16
 
15
17
  /**
16
18
  * 设置多语言
17
19
  */
18
- const defaultData: DataSourceType[] = [
19
- {
20
- langInfoId: -1,
21
- lang: 'en_US',
22
- value: '',
23
- },
24
- {
25
- langInfoId: -2,
26
- lang: 'th_TH',
27
- value: '',
28
- },
29
- {
30
- langInfoId: -3,
31
- lang: 'zh_CN',
32
- value: '',
33
- },
34
- {
35
- langInfoId: -4,
36
- lang: 'zh_TW',
37
- value: '',
38
- },
39
- ];
20
+ const defaultData: EditMultiLangListType[] = MULTI_LANG_CODES.map((item, idx) => ({
21
+ dataId: -idx - 1,
22
+ lang: item,
23
+ value: '',
24
+ }));
40
25
 
41
26
  /**
42
27
  * 多语言处理组件
@@ -44,16 +29,15 @@ const defaultData: DataSourceType[] = [
44
29
  * @returns
45
30
  */
46
31
  const EditMultiLangForm: React.FC<EditMultiLangFormProps> = (props) => {
47
- const { version = 'v1' } = props;
48
32
  const { formatMessage } = useIntl();
49
33
  const [form] = Form.useForm();
50
34
 
51
- const [editableKeys, setEditableRowKeys] = useState<React.Key[]>(() => defaultData.map((item) => item.langInfoId));
35
+ const [editableKeys, setEditableRowKeys] = useState<React.Key[]>(() => defaultData.map((item) => item.dataId));
52
36
 
53
37
  /**
54
38
  * 数据源
55
39
  */
56
- const [dataSource, setDataSource] = useState<DataSourceType[]>(() => [...defaultData]);
40
+ const [dataSource, setDataSource] = useState<EditMultiLangListType[]>(() => [...defaultData]);
57
41
 
58
42
  /**
59
43
  * 加载中标识
@@ -67,23 +51,18 @@ const EditMultiLangForm: React.FC<EditMultiLangFormProps> = (props) => {
67
51
  form.resetFields();
68
52
  // 清理数据状态,避免缓存问题
69
53
  setDataSource(() => [...defaultData]);
70
- setEditableRowKeys(() => defaultData.map((item) => item.langInfoId));
54
+ setEditableRowKeys(() => defaultData.map((item) => item.dataId));
71
55
  setTableKey((prev) => prev + 1);
72
56
  }
73
57
  }, [props.modalFormVisible]);
74
58
 
75
59
  /**
76
- * 请求数据
77
- */
60
+ * 请求数据
61
+ */
78
62
  async function fetchData() {
79
63
  if (!props.values) return;
80
64
 
81
- // 深度拷贝defaultData,避免修改原始对象
82
- const list: DataSourceType[] = defaultData.map((item) => ({
83
- langInfoId: item.langInfoId,
84
- lang: item.lang,
85
- value: item.value,
86
- }));
65
+ const { tableName, columnName, dataId } = props.values;
87
66
 
88
67
  /**
89
68
  * 加载中
@@ -94,61 +73,24 @@ const EditMultiLangForm: React.FC<EditMultiLangFormProps> = (props) => {
94
73
  * 请求后台API设置的多语言
95
74
  */
96
75
  const queryList = props.queryLangInfoList ?? queryLangInfoList;
97
- const result = await queryList({ ...props.values });
98
-
99
- if (result && result.code === 200) {
100
- for (let j = 0; j < list.length; j++) {
101
- for (let i = 0; i < result.rows.length; i++) {
102
- if (result.rows[i].lang === list[j].lang) {
103
- list[j].langInfoId = result.rows[i].langInfoId;
104
- list[j].value = result.rows[i].value;
105
- }
106
- }
107
- }
108
-
109
- setDataSource(list);
110
- setEditableRowKeys(list.map((item) => item.langInfoId));
111
- }
112
-
113
- /**
114
- * 加载中
115
- */
116
- setLoading(false);
117
- }
118
-
119
- /**
120
- * 请求数据
121
- */
122
- async function fetchDataV2() {
123
- if (!props.values) return;
124
-
125
- /**
126
- * 加载中
127
- */
128
- setLoading(true);
129
-
130
- /**
131
- * 请求后台API设置的多语言
132
- */
133
- const queryList = props.queryLangInfoList ?? queryI18nData;
134
- const result = await queryList({
135
- tableName: props.values.tableName,
136
- columnName: props.values.columnName,
137
- dataId: props.values.recordId,
138
- });
76
+ const result = await queryList({
77
+ tableName,
78
+ columnName,
79
+ dataId,
80
+ });
139
81
  const i18nJson = result?.data?.i18nJson;
140
82
 
141
83
  if (result?.code === 200 && i18nJson) {
142
84
  const newList = dataSource.map((item, idx) => {
143
85
  return {
144
86
  ...item,
145
- value: i18nJson[item.lang]?.dic_name,
146
- langInfoId: new Date().getTime() + idx,
87
+ value: i18nJson[item.lang]?.[columnName],
88
+ dataId: new Date().getTime() + idx,
147
89
  };
148
90
  });
149
91
 
150
92
  setDataSource([...newList]);
151
- setEditableRowKeys(newList.map((item) => item.langInfoId));
93
+ setEditableRowKeys(newList.map((item) => item.dataId));
152
94
  }
153
95
 
154
96
  /**
@@ -163,15 +105,11 @@ const EditMultiLangForm: React.FC<EditMultiLangFormProps> = (props) => {
163
105
  ...props.values,
164
106
  });
165
107
 
166
- if (version === 'v1') {
167
- fetchData();
168
- } else {
169
- fetchDataV2();
170
- }
108
+ fetchData();
171
109
  }
172
110
  }, [props.values]);
173
111
 
174
- const columns: ProColumns<DataSourceType>[] = [
112
+ const columns: ProColumns<EditMultiLangListType>[] = [
175
113
  {
176
114
  title: formatMessage({
177
115
  id: 'cfmmUI.multilang.column.lang',
@@ -230,33 +168,15 @@ const EditMultiLangForm: React.FC<EditMultiLangFormProps> = (props) => {
230
168
  */
231
169
  setLoading(true);
232
170
 
233
- let data: LangInfoItem[] = [];
234
-
235
171
  let onSave = props.batchSave ? props.batchSave : batchSave;
236
172
 
237
- if (version === 'v1') {
238
- data = new Array(dataSource.length);
239
-
240
- for (let i = 0; i < dataSource.length; i++) {
241
- data[i] = {
242
- tableName: props.values.tableName,
243
- columnName: props.values.columnName,
244
- recordId: props.values.recordId,
245
- langInfoId: Number(dataSource[i].langInfoId) > 0 ? Number(dataSource[i].langInfoId) : 0,
246
- lang: dataSource[i].lang,
247
- value: dataSource[i].value,
248
- };
249
- }
250
- } else {
251
- data = dataSource.map(item => ({
252
- lang: item.lang,
253
- value: item.value,
254
- dataId: props.values!.recordId,
255
- tableName: props.values!.tableName,
256
- columnName: props.values!.columnName,
257
- }))
258
- onSave = batchSaveI18n;
259
- }
173
+ const data = dataSource.map(item => ({
174
+ lang: item.lang,
175
+ value: item.value,
176
+ dataId: props.values!.dataId,
177
+ tableName: props.values!.tableName,
178
+ columnName: props.values!.columnName,
179
+ }))
260
180
 
261
181
  const result = await onSave(data);
262
182
 
@@ -339,10 +259,10 @@ const EditMultiLangForm: React.FC<EditMultiLangFormProps> = (props) => {
339
259
 
340
260
  <Spin spinning={loading}>
341
261
  {/* 多语言编辑表格 */}
342
- <EditableProTable<DataSourceType>
262
+ <EditableProTable<EditMultiLangListType>
343
263
  key={tableKey}
344
264
  columns={columns}
345
- rowKey="langInfoId"
265
+ rowKey="dataId"
346
266
  value={dataSource}
347
267
  onChange={setDataSource as any}
348
268
  recordCreatorProps={false}
@@ -1,6 +1,6 @@
1
1
  import { request } from '@umijs/max';
2
2
  import { BASE_API } from '../constants';
3
- import { API, DicDataItem, ExprotI18nListItem, ExprotMultiLangListItem } from '../types';
3
+ import { API, DicDataItem, ExprotMultiLangListItem, EditMultiLangDataType, LangInfoItem, EditMultiLangSubmitData } from '../types';
4
4
 
5
5
  /**
6
6
  * 删除minio文件
@@ -49,42 +49,12 @@ export async function queryDictionary(params: ParamsType) {
49
49
  * @returns 多语言信息列表
50
50
  */
51
51
  export async function queryLangInfoExprotList(params: {tableName: string, columnName: string}) {
52
- return request<API.Result_Base<ExprotMultiLangListItem[]>>(`${BASE_API}/system/LangInfo/export`, {
52
+ return request<API.Result_Base<ExprotMultiLangListItem[]>>(`${BASE_API}/i18n/export`, {
53
53
  method: 'GET',
54
54
  params,
55
55
  });
56
56
  }
57
57
 
58
- /**
59
- * 根据表名称、列名称、记录ID查询多语言信息
60
- * @param params 查询参数
61
- * @param params.tableName - 表名称
62
- * @param params.columnName - 列名称
63
- * @param params.recordId - 记录ID
64
- * @returns 多语言信息列表
65
- */
66
- export async function queryI18nExprotList(params: {tableName: string, columnName: string}) {
67
- return request<API.Result_Base<(ExprotMultiLangListItem & { columnValue: string })[]>>(`${BASE_API}/i18n/export`, {
68
- method: 'GET',
69
- params,
70
- });
71
- }
72
-
73
- /**
74
- * 导入多语言数据
75
- * @param 请求体
76
- * @param.tableName 表名
77
- * @param.columnName 列名
78
- * @param.langInfos 数据
79
- * @returns 多语言信息列表
80
- */
81
- export async function importMultiLangList(params: {tableName: string, columnName: string, langInfos: ExprotI18nListItem[]}) {
82
- return request<API.Result_Base<number>>(`${BASE_API}/system/LangInfo/importData`, {
83
- method: 'POST',
84
- data: params,
85
- });
86
- }
87
-
88
58
  /**
89
59
  * 导入多语言数据
90
60
  * @param 请求体
@@ -93,7 +63,7 @@ export async function importMultiLangList(params: {tableName: string, columnName
93
63
  * @param.langInfos 数据
94
64
  * @returns 多语言信息列表
95
65
  */
96
- export async function importI18nList(params: {tableName: string, columnName: string, i18nDataList: ExprotMultiLangListItem[]}) {
66
+ export async function importMultiLangList(params: {tableName: string, columnName: string, i18nDataList: ExprotMultiLangListItem[]}) {
97
67
  return request<API.Result_Base<number>>(`${BASE_API}/i18n/importData`, {
98
68
  method: 'POST',
99
69
  data: params,
@@ -105,32 +75,8 @@ export async function importI18nList(params: {tableName: string, columnName: str
105
75
  * @param params 参数
106
76
  * @returns
107
77
  */
108
- export async function queryLangInfoList(params?: any) {
109
- return request(`${BASE_API}/system/LangInfo/getLangInfoByTableColumnRecord`, {
110
- method: "GET",
111
- params,
112
- });
113
- }
114
-
115
- /**
116
- * 批量保存多语言信息
117
- * @param data 数据
118
- * @returns
119
- */
120
- export async function batchSave(data: any) {
121
- return request(`${BASE_API}/system/LangInfo/batchSave`, {
122
- method: "POST",
123
- data,
124
- });
125
- }
126
-
127
- /**
128
- * 查询多语言信息列表
129
- * @param params 参数
130
- * @returns
131
- */
132
- export async function queryI18nData(params?: any) {
133
- return request(`${BASE_API}/i18n/getI18nData`, {
78
+ export async function queryLangInfoList(params?: LangInfoItem) {
79
+ return request<API.Result_Base<EditMultiLangDataType>>(`${BASE_API}/i18n/getI18nData`, {
134
80
  method: "GET",
135
81
  params,
136
82
  });
@@ -141,7 +87,7 @@ export async function queryI18nData(params?: any) {
141
87
  * @param data 数据
142
88
  * @returns
143
89
  */
144
- export async function batchSaveI18n(data: any) {
90
+ export async function batchSave(data: EditMultiLangSubmitData[]) {
145
91
  return request(`${BASE_API}/i18n/batchSave`, {
146
92
  method: "POST",
147
93
  data,
@@ -1 +1 @@
1
- export declare const CrudTableTypes = "\nexport interface CrudTableConfig<T = any, U = {}, C = {}> {\n /**\n * \u7248\u672C\u53F7\uFF0Cv1: \u65E7\u7248\uFF0Cv2: \u65B0\u7248\n */\n version?: string;\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?: ExprotMultiLangListItem[];\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 queryExprotMultiLangData?: (tableName: string, columnName: string) => Promise<ExprotMultiLangListItem[]>;\n /** \u81EA\u5B9A\u4E49\u5BFC\u5165\u591A\u8BED\u8A00\u51FD\u6570 */\n importMultiLangData?: (list: ExprotMultiLangListItem[], 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 };\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 };\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\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 /** \u81EA\u5B9A\u4E49\u65B0\u589E\u51FD\u6570 */\n onAdd?: () => 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}\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?: ExprotMultiLangListItem[];\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 queryExprotMultiLangData?: (tableName: string, columnName: string) => Promise<ExprotMultiLangListItem[]>;\n /** \u81EA\u5B9A\u4E49\u5BFC\u5165\u591A\u8BED\u8A00\u51FD\u6570 */\n importMultiLangData?: (list: ExprotMultiLangListItem[], 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 };\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 };\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\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 /** \u81EA\u5B9A\u4E49\u65B0\u589E\u51FD\u6570 */\n onAdd?: () => 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}\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 /**\n * \u7248\u672C\u53F7\uFF0Cv1: \u65E7\u7248\uFF0Cv2: \u65B0\u7248\n */\n version?: string;\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?: ExprotMultiLangListItem[];\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 queryExprotMultiLangData?: (tableName: string, columnName: string) => Promise<ExprotMultiLangListItem[]>;\n /** \u81EA\u5B9A\u4E49\u5BFC\u5165\u591A\u8BED\u8A00\u51FD\u6570 */\n importMultiLangData?: (list: ExprotMultiLangListItem[], 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 };\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 };\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\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 /** \u81EA\u5B9A\u4E49\u65B0\u589E\u51FD\u6570 */\n onAdd?: () => 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}\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?: ExprotMultiLangListItem[];\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 queryExprotMultiLangData?: (tableName: string, columnName: string) => Promise<ExprotMultiLangListItem[]>;\n /** \u81EA\u5B9A\u4E49\u5BFC\u5165\u591A\u8BED\u8A00\u51FD\u6570 */\n importMultiLangData?: (list: ExprotMultiLangListItem[], 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 };\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 };\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\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 /** \u81EA\u5B9A\u4E49\u65B0\u589E\u51FD\u6570 */\n onAdd?: () => 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}\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 EditMultiLangFormTypes = "\n /** \u5BFC\u51FA\u591A\u8BED\u8A00\u6570\u636E\u5217\u8868\u9879 */\n export interface ExprotMultiLangListItem {\n /** \u8BB0\u5F55ID */\n recordId: string;\n /** \u539F\u59CB\u503C */\n recordValue: string;\n zh_CN?: string;\n zh_TW?: string;\n en_US?: string;\n th_TH?: string;\n }\n\n /** \u5BFC\u51FA\u591A\u8BED\u8A00\u6570\u636E\u5217\u8868\u9879 */\n export interface ExprotI18nListItem {\n /** \u8BB0\u5F55ID */\n dataId: string;\n /** \u539F\u59CB\u503C */\n columnValue: string;\n zh_CN?: string;\n zh_TW?: string;\n en_US?: string;\n th_TH?: string;\n }\n\n /** \u591A\u8BED\u8A00\u67E5\u8BE2\u53C2\u6570 */\n export interface LangInfoItem {\n /**\n * \u8868\u540D\u79F0\n */\n tableName: string;\n /**\n * \u5217\u540D\u79F0\n */\n columnName: string;\n /**\n * \u8BB0\u5F55ID\n */\n recordId: string;\n /**\n * \u8BED\u8A00\u4FE1\u606FID\n */\n langInfoId?: number;\n /**\n * \u8BED\u8A00\n */\n lang?: string;\n /**\n * \u503C\n */\n value?: string;\n }\n\n /** \u591A\u8BED\u8A00\u4FE1\u606F\u7EC4\u4EF6\u7C7B\u578B */\n export interface EditMultiLangFormProps {\n /**\n * \u7248\u672C\u53F7\uFF0Cv1: \u65E7\u7248\uFF0Cv2: \u65B0\u7248\n */\n version?: string;\n /**\n * \u662F\u5426\u663E\u793A\u5F39\u7A97\n */\n modalFormVisible: boolean;\n /**\n * \u8BBE\u7F6E\u5F39\u7A97\u662F\u5426\u663E\u793A\n */\n setModalFormVisible: (visible: boolean) => void;\n /**\n * \u63D0\u4EA4\u540E\u56DE\u8C03\n */\n onAfterSubmit?: () => void;\n /**\n * \u591A\u8BED\u8A00\u4FE1\u606F\n */\n values?: LangInfoItem;\n /**\n * \u67E5\u8BE2\u5217\u8868\u63A5\u53E3\n */\n queryLangInfoList?: (params?: LangInfoItem) => Promise<any>;\n /**\n * \u4FDD\u5B58\u63A5\u53E3\n */\n batchSave?: (data?: LangInfoItem[]) => Promise<any>;\n }\n";
1
+ export declare const EditMultiLangFormTypes = "\n /** \u5BFC\u51FA\u591A\u8BED\u8A00\u6570\u636E\u5217\u8868\u9879 */\n export interface ExprotMultiLangListItem {\n /** \u8BB0\u5F55ID */\n dataId: string;\n /** \u539F\u59CB\u503C */\n columnValue: string;\n zh_CN?: string;\n zh_TW?: string;\n en_US?: string;\n th_TH?: string;\n }\n\n type LangType = 'en_US' | 'th_TH' | 'zh_CN' | 'zh_TW';\n\n /** \u67E5\u8BE2\u5355\u4E2A\u591A\u8BED\u8A00\u6570\u636E */\n export type EditMultiLangDataType = {\n dataId: React.Key;\n i18nJson?: Record<LangType, {\n string: string;\n }>;\n };\n\n /** \u591A\u8BED\u8A00\u67E5\u8BE2\u53C2\u6570 */\n export interface LangInfoItem {\n /**\n * \u8868\u540D\u79F0\n */\n tableName: string;\n /**\n * \u5217\u540D\u79F0\n */\n columnName: string;\n /**\n * \u8BB0\u5F55ID\n */\n dataId: string;\n }\n\n /** \u591A\u8BED\u8A00\u63D0\u4EA4\u6570\u636E */\n export interface EditMultiLangSubmitData extends LangInfoItem {\n lang: LangType;\n value?: string;\n }\n\n /** \u591A\u8BED\u8A00\u4FE1\u606F\u7EC4\u4EF6\u7C7B\u578B */\n export interface EditMultiLangFormProps {\n /**\n * \u662F\u5426\u663E\u793A\u5F39\u7A97\n */\n modalFormVisible: boolean;\n /**\n * \u8BBE\u7F6E\u5F39\u7A97\u662F\u5426\u663E\u793A\n */\n setModalFormVisible: (visible: boolean) => void;\n /**\n * \u63D0\u4EA4\u540E\u56DE\u8C03\n */\n onAfterSubmit?: () => void;\n /**\n * \u591A\u8BED\u8A00\u4FE1\u606F\n */\n values?: LangInfoItem;\n /**\n * \u67E5\u8BE2\u5217\u8868\u63A5\u53E3\n */\n queryLangInfoList?: (params?: LangInfoItem) => Promise<API.Result_Base<EditMultiLangDataType>>;\n /**\n * \u4FDD\u5B58\u63A5\u53E3\n */\n batchSave?: (data?: LangInfoItem[]) => Promise<any>;\n }\n";
@@ -1 +1 @@
1
- export var EditMultiLangFormTypes = "\n /** \u5BFC\u51FA\u591A\u8BED\u8A00\u6570\u636E\u5217\u8868\u9879 */\n export interface ExprotMultiLangListItem {\n /** \u8BB0\u5F55ID */\n recordId: string;\n /** \u539F\u59CB\u503C */\n recordValue: string;\n zh_CN?: string;\n zh_TW?: string;\n en_US?: string;\n th_TH?: string;\n }\n\n /** \u5BFC\u51FA\u591A\u8BED\u8A00\u6570\u636E\u5217\u8868\u9879 */\n export interface ExprotI18nListItem {\n /** \u8BB0\u5F55ID */\n dataId: string;\n /** \u539F\u59CB\u503C */\n columnValue: string;\n zh_CN?: string;\n zh_TW?: string;\n en_US?: string;\n th_TH?: string;\n }\n\n /** \u591A\u8BED\u8A00\u67E5\u8BE2\u53C2\u6570 */\n export interface LangInfoItem {\n /**\n * \u8868\u540D\u79F0\n */\n tableName: string;\n /**\n * \u5217\u540D\u79F0\n */\n columnName: string;\n /**\n * \u8BB0\u5F55ID\n */\n recordId: string;\n /**\n * \u8BED\u8A00\u4FE1\u606FID\n */\n langInfoId?: number;\n /**\n * \u8BED\u8A00\n */\n lang?: string;\n /**\n * \u503C\n */\n value?: string;\n }\n\n /** \u591A\u8BED\u8A00\u4FE1\u606F\u7EC4\u4EF6\u7C7B\u578B */\n export interface EditMultiLangFormProps {\n /**\n * \u7248\u672C\u53F7\uFF0Cv1: \u65E7\u7248\uFF0Cv2: \u65B0\u7248\n */\n version?: string;\n /**\n * \u662F\u5426\u663E\u793A\u5F39\u7A97\n */\n modalFormVisible: boolean;\n /**\n * \u8BBE\u7F6E\u5F39\u7A97\u662F\u5426\u663E\u793A\n */\n setModalFormVisible: (visible: boolean) => void;\n /**\n * \u63D0\u4EA4\u540E\u56DE\u8C03\n */\n onAfterSubmit?: () => void;\n /**\n * \u591A\u8BED\u8A00\u4FE1\u606F\n */\n values?: LangInfoItem;\n /**\n * \u67E5\u8BE2\u5217\u8868\u63A5\u53E3\n */\n queryLangInfoList?: (params?: LangInfoItem) => Promise<any>;\n /**\n * \u4FDD\u5B58\u63A5\u53E3\n */\n batchSave?: (data?: LangInfoItem[]) => Promise<any>;\n }\n";
1
+ export var EditMultiLangFormTypes = "\n /** \u5BFC\u51FA\u591A\u8BED\u8A00\u6570\u636E\u5217\u8868\u9879 */\n export interface ExprotMultiLangListItem {\n /** \u8BB0\u5F55ID */\n dataId: string;\n /** \u539F\u59CB\u503C */\n columnValue: string;\n zh_CN?: string;\n zh_TW?: string;\n en_US?: string;\n th_TH?: string;\n }\n\n type LangType = 'en_US' | 'th_TH' | 'zh_CN' | 'zh_TW';\n\n /** \u67E5\u8BE2\u5355\u4E2A\u591A\u8BED\u8A00\u6570\u636E */\n export type EditMultiLangDataType = {\n dataId: React.Key;\n i18nJson?: Record<LangType, {\n string: string;\n }>;\n };\n\n /** \u591A\u8BED\u8A00\u67E5\u8BE2\u53C2\u6570 */\n export interface LangInfoItem {\n /**\n * \u8868\u540D\u79F0\n */\n tableName: string;\n /**\n * \u5217\u540D\u79F0\n */\n columnName: string;\n /**\n * \u8BB0\u5F55ID\n */\n dataId: string;\n }\n\n /** \u591A\u8BED\u8A00\u63D0\u4EA4\u6570\u636E */\n export interface EditMultiLangSubmitData extends LangInfoItem {\n lang: LangType;\n value?: string;\n }\n\n /** \u591A\u8BED\u8A00\u4FE1\u606F\u7EC4\u4EF6\u7C7B\u578B */\n export interface EditMultiLangFormProps {\n /**\n * \u662F\u5426\u663E\u793A\u5F39\u7A97\n */\n modalFormVisible: boolean;\n /**\n * \u8BBE\u7F6E\u5F39\u7A97\u662F\u5426\u663E\u793A\n */\n setModalFormVisible: (visible: boolean) => void;\n /**\n * \u63D0\u4EA4\u540E\u56DE\u8C03\n */\n onAfterSubmit?: () => void;\n /**\n * \u591A\u8BED\u8A00\u4FE1\u606F\n */\n values?: LangInfoItem;\n /**\n * \u67E5\u8BE2\u5217\u8868\u63A5\u53E3\n */\n queryLangInfoList?: (params?: LangInfoItem) => Promise<API.Result_Base<EditMultiLangDataType>>;\n /**\n * \u4FDD\u5B58\u63A5\u53E3\n */\n batchSave?: (data?: LangInfoItem[]) => Promise<any>;\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.1",
4
+ "version": "0.0.3",
5
5
  "main": "dist/cjs/index.js",
6
6
  "types": "dist/cjs/index.d.ts",
7
7
  "publishConfig": {