@bit-sun/business-component 2.4.19 → 2.4.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/.editorconfig +16 -16
  2. package/.fatherrc.ts +5 -5
  3. package/.gitlab-ci.yml +179 -179
  4. package/.prettierignore +7 -7
  5. package/.prettierrc +11 -11
  6. package/.umirc.ts +74 -74
  7. package/README.md +27 -27
  8. package/dist/index.esm.js +10 -6
  9. package/dist/index.js +10 -6
  10. package/docs/index.md +21 -21
  11. package/lib/assets/drag.svg +17 -17
  12. package/lib/assets/exportFail.svg +37 -37
  13. package/lib/assets/exportProcessing.svg +28 -28
  14. package/lib/assets/exportSuccess.svg +34 -34
  15. package/lib/assets/label_icon_bottom.svg +25 -25
  16. package/lib/assets/upExport.svg +22 -22
  17. package/package.json +79 -79
  18. package/src/assets/32.svg +27 -27
  19. package/src/assets/addIcon.svg +17 -17
  20. package/src/assets/allfunc.svg +27 -27
  21. package/src/assets/arrowRight.svg +24 -24
  22. package/src/assets/btn-delete.svg +29 -29
  23. package/src/assets/btn-edit.svg +19 -19
  24. package/src/assets/btn-more.svg +17 -17
  25. package/src/assets/btn-submit.svg +19 -19
  26. package/src/assets/caidan.svg +11 -11
  27. package/src/assets/close.svg +26 -26
  28. package/src/assets/drag.svg +17 -17
  29. package/src/assets/exportFail.svg +37 -37
  30. package/src/assets/exportProcessing.svg +28 -28
  31. package/src/assets/exportSuccess.svg +34 -34
  32. package/src/assets/fixed-left-active.svg +11 -11
  33. package/src/assets/fixed-left.svg +15 -15
  34. package/src/assets/fixed-right-active.svg +11 -11
  35. package/src/assets/fixed-right.svg +15 -15
  36. package/src/assets/guanbi.svg +15 -15
  37. package/src/assets/icon-quanping.svg +15 -15
  38. package/src/assets/icon-shezhi.svg +17 -17
  39. package/src/assets/label_icon_bottom.svg +25 -25
  40. package/src/assets/list-no-img.svg +21 -21
  41. package/src/assets/morentouxiang-32.svg +23 -23
  42. package/src/assets/scanning.svg +24 -24
  43. package/src/assets/upExport.svg +22 -22
  44. package/src/common/ENUM.ts +41 -41
  45. package/src/components/Business/AddSelectBusiness/index.md +162 -162
  46. package/src/components/Business/AddSelectBusiness/index.tsx +1061 -1061
  47. package/src/components/Business/BsLayouts/Components/AllFunc/drawContent.tsx +111 -111
  48. package/src/components/Business/BsLayouts/Components/AllFunc/index.less +153 -153
  49. package/src/components/Business/BsLayouts/Components/AllFunc/index.tsx +70 -70
  50. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.less +90 -90
  51. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.tsx +37 -37
  52. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.tsx +242 -242
  53. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.tsx +384 -384
  54. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.tsx +285 -285
  55. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.tsx +74 -74
  56. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/drawContent.less +170 -170
  57. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.less +64 -64
  58. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.tsx +153 -153
  59. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.less +72 -72
  60. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.tsx +157 -157
  61. package/src/components/Business/BsLayouts/Components/RightContent/LoginModal.tsx +85 -85
  62. package/src/components/Business/BsLayouts/Components/RightContent/home.less +218 -218
  63. package/src/components/Business/BsLayouts/Components/RightContent/index.tsx +155 -155
  64. package/src/components/Business/BsLayouts/Components/SearchFunc/index.less +160 -160
  65. package/src/components/Business/BsLayouts/Components/SearchFunc/index.tsx +75 -75
  66. package/src/components/Business/BsLayouts/index.less +79 -79
  67. package/src/components/Business/BsLayouts/index.tsx +1484 -1484
  68. package/src/components/Business/BsLayouts/service.ts +10 -10
  69. package/src/components/Business/BsLayouts/utils.tsx +203 -203
  70. package/src/components/Business/BsSulaQueryTable/SearchItemSetting.tsx +566 -566
  71. package/src/components/Business/BsSulaQueryTable/index.less +221 -221
  72. package/src/components/Business/BsSulaQueryTable/index.tsx +558 -558
  73. package/src/components/Business/BsSulaQueryTable/setting.tsx +854 -854
  74. package/src/components/Business/BsSulaQueryTable/utils.less +65 -65
  75. package/src/components/Business/BsSulaQueryTable/utils.tsx +690 -690
  76. package/src/components/Business/CommodityEntry/index.md +70 -70
  77. package/src/components/Business/CommodityEntry/index.tsx +80 -80
  78. package/src/components/Business/CommonAlert/index.tsx +23 -23
  79. package/src/components/Business/CommonGuideWrapper/index.less +111 -111
  80. package/src/components/Business/CommonGuideWrapper/index.md +39 -39
  81. package/src/components/Business/CommonGuideWrapper/index.tsx +83 -83
  82. package/src/components/Business/DetailPageWrapper/index.less +79 -79
  83. package/src/components/Business/DetailPageWrapper/index.tsx +315 -315
  84. package/src/components/Business/DetailPageWrapper/utils.tsx +100 -100
  85. package/src/components/Business/HomePageWrapper/index.less +33 -33
  86. package/src/components/Business/HomePageWrapper/index.md +45 -45
  87. package/src/components/Business/HomePageWrapper/index.tsx +162 -162
  88. package/src/components/Business/JsonQueryTable/components/FieldsModifyModal.tsx +824 -824
  89. package/src/components/Business/JsonQueryTable/components/FieldsSettingsTable.tsx +205 -205
  90. package/src/components/Business/JsonQueryTable/components/Formula.tsx +206 -206
  91. package/src/components/Business/JsonQueryTable/components/MaintainOptions.tsx +127 -127
  92. package/src/components/Business/JsonQueryTable/configButton/index.js +20 -20
  93. package/src/components/Business/JsonQueryTable/configTree/component/compactArrayView.js +25 -25
  94. package/src/components/Business/JsonQueryTable/configTree/component/compactObjectView.js +30 -30
  95. package/src/components/Business/JsonQueryTable/configTree/index.js +82 -82
  96. package/src/components/Business/JsonQueryTable/configTree/index.less +44 -44
  97. package/src/components/Business/JsonQueryTable/configTree/parser/highlight.js +57 -57
  98. package/src/components/Business/JsonQueryTable/configTree/parser/index.js +124 -124
  99. package/src/components/Business/JsonQueryTable/configTree/render/iconRender.js +29 -29
  100. package/src/components/Business/JsonQueryTable/configTree/render/nameRender.js +22 -22
  101. package/src/components/Business/JsonQueryTable/configTree/treeNode.js +116 -116
  102. package/src/components/Business/JsonQueryTable/drawer/index.tsx +12 -12
  103. package/src/components/Business/JsonQueryTable/function.ts +62 -62
  104. package/src/components/Business/JsonQueryTable/index.less +16 -16
  105. package/src/components/Business/JsonQueryTable/index.md +328 -328
  106. package/src/components/Business/JsonQueryTable/index.tsx +537 -537
  107. package/src/components/Business/JsonQueryTable/jsonEditor/index.js +346 -346
  108. package/src/components/Business/JsonQueryTable/jsonEditor/index.less +22 -22
  109. package/src/components/Business/JsonQueryTable/jsonEditor/lint/basicType.js +147 -147
  110. package/src/components/Business/JsonQueryTable/jsonEditor/lint/index.js +389 -389
  111. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/actions.js +118 -118
  112. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/dependency.js +22 -22
  113. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/index.js +21 -21
  114. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/request.js +65 -65
  115. package/src/components/Business/JsonQueryTable/static.ts +450 -450
  116. package/src/components/Business/SearchSelect/BusinessUtils.ts +2057 -2057
  117. package/src/components/Business/SearchSelect/common.ts +134 -134
  118. package/src/components/Business/SearchSelect/index.md +1444 -1444
  119. package/src/components/Business/SearchSelect/index.tsx +55 -55
  120. package/src/components/Business/SearchSelect/utils.ts +101 -101
  121. package/src/components/Business/StateFlow/index.less +130 -130
  122. package/src/components/Business/StateFlow/index.md +60 -60
  123. package/src/components/Business/StateFlow/index.tsx +29 -29
  124. package/src/components/Business/TreeSearchSelect/index.md +185 -185
  125. package/src/components/Business/TreeSearchSelect/index.tsx +33 -33
  126. package/src/components/Business/TreeSearchSelect/utils.ts +104 -104
  127. package/src/components/Business/columnSettingTable/columnSetting.tsx +766 -766
  128. package/src/components/Business/columnSettingTable/index.less +247 -247
  129. package/src/components/Business/columnSettingTable/index.md +357 -357
  130. package/src/components/Business/columnSettingTable/index.tsx +235 -234
  131. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +243 -242
  132. package/src/components/Business/columnSettingTable/utils.tsx +71 -71
  133. package/src/components/Business/moreTreeTable/FixedScrollBar.tsx +87 -87
  134. package/src/components/Business/moreTreeTable/hooks/useSticky.ts +21 -21
  135. package/src/components/Business/moreTreeTable/index.less +99 -99
  136. package/src/components/Business/moreTreeTable/index.md +448 -448
  137. package/src/components/Business/moreTreeTable/index.tsx +387 -387
  138. package/src/components/Business/moreTreeTable/utils.ts +126 -126
  139. package/src/components/Functional/AddSelect/helps.ts +80 -80
  140. package/src/components/Functional/AddSelect/index.less +367 -367
  141. package/src/components/Functional/AddSelect/index.md +155 -155
  142. package/src/components/Functional/AddSelect/index.tsx +1171 -1171
  143. package/src/components/Functional/BillEntry/index.less +371 -371
  144. package/src/components/Functional/BillEntry/index.md +39 -39
  145. package/src/components/Functional/BillEntry/index.tsx +773 -773
  146. package/src/components/Functional/BsAntdSula/BsCascader/index.md +62 -62
  147. package/src/components/Functional/BsAntdSula/BsCascader/index.tsx +178 -178
  148. package/src/components/Functional/BsAntdSula/index.ts +2 -2
  149. package/src/components/Functional/DataImport/index.less +63 -63
  150. package/src/components/Functional/DataImport/index.md +44 -44
  151. package/src/components/Functional/DataImport/index.tsx +696 -696
  152. package/src/components/Functional/DataValidation/index.less +63 -63
  153. package/src/components/Functional/DataValidation/index.md +39 -39
  154. package/src/components/Functional/DataValidation/index.tsx +688 -688
  155. package/src/components/Functional/EllipsisTooltip/index.d.ts +5 -5
  156. package/src/components/Functional/EllipsisTooltip/index.js +36 -36
  157. package/src/components/Functional/EllipsisTooltip/index.md +30 -30
  158. package/src/components/Functional/ExportFunctions/ExportIcon/index.md +37 -37
  159. package/src/components/Functional/ExportFunctions/ExportIcon/index.tsx +60 -60
  160. package/src/components/Functional/QueryMutipleInput/index.less +37 -37
  161. package/src/components/Functional/QueryMutipleInput/index.md +33 -33
  162. package/src/components/Functional/QueryMutipleInput/index.tsx +128 -128
  163. package/src/components/Functional/SearchSelect/index.less +115 -115
  164. package/src/components/Functional/SearchSelect/index.md +141 -141
  165. package/src/components/Functional/SearchSelect/index.tsx +896 -896
  166. package/src/components/Functional/SearchSelect/utils.ts +3 -3
  167. package/src/components/Functional/TreeSearchSelect/index.md +47 -47
  168. package/src/components/Functional/TreeSearchSelect/index.tsx +204 -204
  169. package/src/components/Solution/RuleComponent/Formula.tsx +335 -335
  170. package/src/components/Solution/RuleComponent/InnerSelect.tsx +62 -62
  171. package/src/components/Solution/RuleComponent/index.d.ts +29 -29
  172. package/src/components/Solution/RuleComponent/index.js +2073 -2073
  173. package/src/components/Solution/RuleComponent/index.less +230 -230
  174. package/src/components/Solution/RuleComponent/renderSpecificAction.js +99 -99
  175. package/src/components/Solution/RuleComponent/ruleFiled.js +2281 -2281
  176. package/src/components/Solution/RuleComponent/services.ts +13 -13
  177. package/src/components/Solution/RuleComponent/util.js +143 -143
  178. package/src/index.ts +38 -38
  179. package/src/plugin/TableColumnSetting/index.less +247 -247
  180. package/src/plugin/TableColumnSetting/index.md +50 -50
  181. package/src/plugin/TableColumnSetting/index.tsx +725 -725
  182. package/src/plugin/TableColumnSetting/utils.ts +19 -19
  183. package/src/styles/bsDefault.less +1912 -1912
  184. package/src/utils/CheckOneUser/index.md +39 -39
  185. package/src/utils/CheckOneUser/index.ts +51 -51
  186. package/src/utils/CustomLoginInfo.ts +55 -55
  187. package/src/utils/LocalstorageUtils.ts +95 -95
  188. package/src/utils/TableUtils.tsx +18 -18
  189. package/src/utils/checkUtils.ts +39 -39
  190. package/src/utils/enumConfig.ts +11 -11
  191. package/src/utils/getFormMode.js +12 -12
  192. package/src/utils/index.ts +4 -4
  193. package/src/utils/requestUtils.ts +166 -166
  194. package/src/utils/serialize.js +7 -7
  195. package/src/utils/utils.ts +195 -195
  196. package/tsconfig.json +29 -29
  197. package/typings.d.ts +4 -4
@@ -1,566 +1,566 @@
1
- // @ts-nocheck
2
- import React from 'react';
3
- import {
4
- Table,
5
- message,
6
- Checkbox,
7
- Modal,
8
- Input,
9
- Button,
10
- Tooltip,
11
- } from 'antd';
12
- import {
13
- SortableContainer,
14
- SortableElement,
15
- SortableHandle,
16
- } from 'react-sortable-hoc';
17
- import axios from 'axios';
18
- import { SearchOutlined } from '@ant-design/icons';
19
- import { arrayMoveImmutable } from 'array-move';
20
- import close from '../../../assets/close.svg';
21
- import drag from '../../../assets/drag.svg';
22
- import './index.less';
23
- import ENUM from '@/utils/enumConfig';
24
- import { handleRequestUrl, judgeIsRequestSuccess } from '@/utils/requestUtils';
25
-
26
- const DragHandle = SortableHandle(() => <img width={25} src={drag} />);
27
- const SortableItem = SortableElement((props) => <tr {...props} />);
28
- const SortableBody = SortableContainer((props) => <tbody {...props} />);
29
-
30
-
31
- class SearchItemTable extends React.Component {
32
- state = {
33
- dataSource: [],
34
- columns: [],
35
- sortDataSource: [],
36
- setVisible: false,
37
- searchDataSource: false,
38
- onSearchSort: false,
39
- isDefaultValue: false,
40
- defaultValue: [],
41
- bsTableCode: '', //设置table 列的标识
42
- };
43
-
44
- patchUserSearchFieldsConfig = (config) => {
45
- const { appRequestConfig } = this.props;
46
- let that = this;
47
- let configvalue = config
48
- ? config.map((item) => ({
49
- name: item.name,
50
- hidden: item.hidden,
51
- }))
52
- : '';
53
-
54
- axios({
55
- url: handleRequestUrl('/user','/appConfig/saveQueryCriteria', appRequestConfig),
56
- method: 'POST',
57
- data: {
58
- code: that.state.bsTableCode,
59
- detail: configvalue ? JSON.stringify(configvalue) : '',
60
- },
61
- }).then((res:any) => {
62
- if (judgeIsRequestSuccess(res?.data)) {
63
- this.patchConfigToLocalstorage(configvalue)
64
- } else {
65
- message.error('保存搜索项自定义失败,请稍后尝试');
66
- }
67
- })
68
- };
69
-
70
- getConfigFromlocalstorage = () => {
71
- let config = localStorage.getItem(ENUM.BROWSER_CACHE.SEARCH_FIELDS_CONDITION) || '[]';
72
- let configArray = JSON.parse(config);
73
- let configSetting = configArray.filter(
74
- (item) => item.code === this.state.bsTableCode,
75
- );
76
-
77
- if (configSetting.length && configSetting[0].detail) {
78
- return JSON.parse(configSetting[0].detail);
79
- }
80
- return [];
81
- };
82
-
83
- patchConfigToLocalstorage = (configvalue) => {
84
- const { setShowSearchFields, datasource = [] } = this.props;
85
- const { sortDataSource, bsTableCode } = this.state;
86
- let config = localStorage.getItem(ENUM.BROWSER_CACHE.SEARCH_FIELDS_CONDITION) || '[]'
87
- let configArray = JSON.parse(config)
88
- let currentSetting = configArray.filter(item => item.code === bsTableCode)
89
- if (currentSetting.length) {
90
- currentSetting[0].detail = JSON.stringify(configvalue)
91
- } else {
92
- configArray.push({
93
- "code": bsTableCode,
94
- "detail": JSON.stringify(configvalue)
95
- })
96
- }
97
-
98
- localStorage.setItem(ENUM.BROWSER_CACHE.SEARCH_FIELDS_CONDITION, JSON.stringify(configArray));
99
- this.setState({
100
- visible: false,
101
- });
102
- if(configvalue){
103
- setShowSearchFields([...sortDataSource]);
104
- }else{
105
- this.setState({
106
- isDefaultValue: true,
107
- dataSource: [...datasource.map((item)=>({
108
- ...item,
109
- hidden: false
110
- }))],
111
- sortDataSource: [...datasource.map((item)=>({
112
- ...item,
113
- hidden: false
114
- }))]
115
- });
116
- setShowSearchFields([...datasource]);
117
- }
118
- };
119
-
120
- setInitValue = (isClick = false) => {
121
- const { datasource = [], showSearchFields =[] }: any =
122
- this.props;
123
- let config = this.getConfigFromlocalstorage();
124
- this.setState({
125
- isDefaultValue: true,
126
- dataSource: datasource.map((item) => {
127
- let innerItem = config.filter(
128
- (inneritem) => {
129
- let innerKey = Array.isArray(inneritem.name) ? JSON.stringify(inneritem.name) : (inneritem.name);
130
- let itemKey = Array.isArray(item.name) ? JSON.stringify(item.name) : (item.name);
131
- return innerKey && innerKey === itemKey;
132
- }
133
- );
134
- return {
135
- ...item,
136
- hidden: config.length && !innerItem.length,
137
- };
138
- }),
139
- defaultValue: datasource.map((item) => {
140
- let innerItem = config.filter(
141
- (inneritem) => {
142
- let innerKey = Array.isArray(inneritem.name) ? JSON.stringify(inneritem.name) : (inneritem.name);
143
- let itemKey = Array.isArray(item.name) ? JSON.stringify(item.name) : (item.name);
144
- return innerKey && innerKey === itemKey;
145
- }
146
- );
147
- return {
148
- ...item,
149
- hidden: config.length && !innerItem.length,
150
- };
151
- }),
152
- sortDataSource: [...showSearchFields]
153
- });
154
- };
155
-
156
- componentDidMount() {
157
- const {
158
- datasource,
159
- showSearchFields,
160
- bsTableCode
161
- }: any = this.props;
162
-
163
- let config = this.getConfigFromlocalstorage();
164
-
165
- this.setState({
166
- dataSource: datasource.map((item) => {
167
- let innerItem = config.filter(
168
- (inneritem) => {
169
- let innerKey = Array.isArray(inneritem.name) ? JSON.stringify(inneritem.name) : (inneritem.name);
170
- let itemKey = Array.isArray(item.name) ? JSON.stringify(item.name) : (item.name);
171
- return innerKey && innerKey === itemKey;
172
- }
173
- );
174
- return {
175
- ...item,
176
- hidden: config.length && !innerItem.length,
177
- };
178
- }),
179
- defaultValue: datasource.map((item) => {
180
- let innerItem = config.filter(
181
- (inneritem) => {
182
- let innerKey = Array.isArray(inneritem.name) ? JSON.stringify(inneritem.name) : (inneritem.name);
183
- let itemKey = Array.isArray(item.name) ? JSON.stringify(item.name) : (item.name);
184
- return innerKey && innerKey === itemKey;
185
- }
186
- );
187
- return {
188
- ...item,
189
- hidden: config.length && !innerItem.length,
190
- };
191
- }),
192
- sortDataSource: datasource
193
- .filter((item) => !item.hidden)
194
- .map((item) => ({
195
- ...item,
196
- })),
197
- bsTableCode
198
- });
199
- }
200
-
201
- columns = [
202
- {
203
- title: '搜索字段名称',
204
- dataIndex: 'label',
205
- className: 'drag-visible',
206
- width: 100,
207
- },
208
- {
209
- title: '删除',
210
- dataIndex: 'title1',
211
- render: (text, record) => {
212
- return (
213
- <span
214
- onClick={() => {
215
- this.setState({
216
- sortDataSource: this.state.sortDataSource.filter((item) => {
217
- return item.label !== record.label;
218
- }),
219
- isDefaultValue: false,
220
- dataSource: [
221
- ...this.state.dataSource.map((item) => {
222
- if (item.label === record.label) {
223
- return {
224
- ...item,
225
- hidden: true,
226
- };
227
- }
228
- return item;
229
- }),
230
- ],
231
- });
232
- }}
233
- >
234
- <img width={24} src={close} />
235
- </span>
236
- );
237
- },
238
- },
239
- {
240
- title: 'Sort',
241
- dataIndex: 'sort',
242
- className: 'drag-visible',
243
- render: () => <DragHandle />,
244
- },
245
- ];
246
-
247
- showModal = () => {
248
- this.setState({
249
- visible: true,
250
- });
251
- this.setInitValue();
252
- };
253
-
254
- handleOk = (e?: React.MouseEvent<HTMLElement>) => {
255
- const { sortDataSource, isDefaultValue, defaultValue } = this.state;
256
- if (!sortDataSource.length) {
257
- message.warning('至少选择一个搜索项!');
258
- return;
259
- }
260
- this.patchUserSearchFieldsConfig(sortDataSource);
261
- };
262
-
263
- handleCancel = (e: React.MouseEvent<HTMLElement>) => {
264
- console.log(e);
265
- this.setState({
266
- visible: false,
267
- });
268
- };
269
-
270
- handleTableHeadHidden = (title: string) => {
271
- const { sortDataSource, dataSource } = this.state;
272
- this.setState(
273
- {
274
- sortDataSource: sortDataSource.filter((item) => {
275
- return item.title !== title;
276
- }),
277
- dataSource: [
278
- ...dataSource.map((item) => {
279
- if (item.title === title) {
280
- return {
281
- ...item,
282
- hidden: true,
283
- };
284
- }
285
- return item;
286
- }),
287
- ],
288
- },
289
- () => {
290
- this.handleOk();
291
- },
292
- );
293
- };
294
-
295
- onSortEnd = ({ oldIndex, newIndex }) => {
296
- const { sortDataSource } = this.state;
297
- if (oldIndex !== newIndex) {
298
- const newData = arrayMoveImmutable(
299
- [].concat(sortDataSource),
300
- oldIndex,
301
- newIndex,
302
- ).filter((el) => !!el);
303
- this.setState({
304
- sortDataSource: [ ...newData],
305
- isDefaultValue: false,
306
- });
307
- }
308
- };
309
-
310
- DraggableContainer = (props) => (
311
- <SortableBody
312
- useDragHandle
313
- disableAutoscroll
314
- helperClass="row-dragging"
315
- onSortEnd={this.onSortEnd}
316
- {...props}
317
- />
318
- );
319
-
320
- DraggableBodyRow = ({ className, style, ...restProps }) => {
321
- const { sortDataSource } = this.state;
322
- const index = sortDataSource.findIndex(
323
- (x) => x.name === restProps['data-row-key'],
324
- );
325
- return <SortableItem index={index} {...restProps} />;
326
- };
327
-
328
- onChange = (e: CheckboxChangeEvent, label) => {
329
- const { sortDataSource, dataSource } = this.state;
330
- if (!e.target.checked) {
331
- this.setState({
332
- sortDataSource: sortDataSource.filter((item) => {
333
- return item.label !== label;
334
- }),
335
- isDefaultValue: false,
336
- dataSource: [
337
- ...dataSource.map((item) => {
338
- if (item.label === label) {
339
- return {
340
- ...item,
341
- hidden: true,
342
- };
343
- }
344
- return item;
345
- }),
346
- ],
347
- });
348
- } else {
349
- let newSortData = [
350
- ...sortDataSource,
351
- ...dataSource
352
- .filter((item) => item.label === label)
353
- .map((source) => {
354
- return {
355
- ...source,
356
- hidden: false,
357
- };
358
- }),
359
- ];
360
- this.setState({
361
- sortDataSource: [...newSortData],
362
- isDefaultValue: false,
363
- dataSource: [
364
- ...dataSource.map((item) => {
365
- if (item.label === label) {
366
- return {
367
- ...item,
368
- hidden: false,
369
- };
370
- }
371
- return item;
372
- }),
373
- ],
374
- });
375
- }
376
- };
377
-
378
- handleReset = () => {
379
- this.setInitValue(true);
380
- };
381
-
382
- handleResetSetting = () =>{
383
- this.patchUserSearchFieldsConfig('');
384
- }
385
-
386
- onSearch = (e: any) => {
387
- this.setState({
388
- searchDataSource: e.target.value,
389
- });
390
- };
391
-
392
- onSearchSort = (e: any) => {
393
- this.setState({
394
- onSearchSort: e.target.value,
395
- });
396
- };
397
-
398
- render() {
399
- const {
400
- dataSource = [],
401
- searchDataSource,
402
- sortDataSource,
403
- visible,
404
- onSearchSort,
405
- } = this.state;
406
- let newSearchSource = dataSource.filter(
407
- (item) => item?.label?.indexOf(searchDataSource||'') > -1,
408
- );
409
- return (
410
- <div className={'sort_table_wrapper'}>
411
- {visible && (
412
- <Modal
413
- title="设置搜索项内容"
414
- wrapClassName={'sort_table_wrapper'}
415
- width={820}
416
- visible={visible}
417
- onOk={this.handleOk}
418
- onCancel={this.handleCancel}
419
- footer={[
420
- <div>
421
- <Button key="back" onClick={this.handleReset} style={{marginRight: 0}}>
422
- 恢复默认
423
- </Button>,
424
- <Button key="back" onClick={this.handleResetSetting}>
425
- 重置设置
426
- </Button>
427
- </div>,
428
- <div>
429
- <Button key="submit" onClick={this.handleCancel} style={{marginRight: 0}}>
430
- 取消
431
- </Button>,
432
- <Button key="submit" type="primary" onClick={this.handleOk}>
433
- 确认
434
- </Button>
435
- </div>,
436
- ]}
437
- >
438
- <div className={'sort_table'}>
439
- <div className={'sort_table_column_wrapper'}>
440
- <span className={'sort_table_column_count'}>
441
- 可选字段 <span>(共{dataSource.length}个)</span>
442
- </span>
443
- <div className={'sort_table_column'}>
444
- <Input
445
- prefix={<SearchOutlined className="site-form-item-icon" />}
446
- placeholder="搜索"
447
- allowClear
448
- onChange={this.onSearch}
449
- style={{ width: 540 }}
450
- />
451
- <div>
452
- {!searchDataSource && (
453
- <Checkbox
454
- checked={
455
- !dataSource.some((item) => {
456
- if (item.hidden) return true;
457
-
458
- return false;
459
- })
460
- }
461
- onClick={(e) => {
462
- this.setState({
463
- isDefaultValue: false,
464
- dataSource: [
465
- ...dataSource.map((item) => {
466
- return {
467
- ...item,
468
- hidden: !e.target.checked,
469
- };
470
- }),
471
- ],
472
- sortDataSource: e.target.checked
473
- ? [...dataSource.map((item) => ({...item,hidden: false}))]
474
- : [],
475
- });
476
- }}
477
- >
478
- 全选
479
- </Checkbox>
480
- )}
481
- </div>
482
- <div className={'sort_table_column_all'}>
483
- {searchDataSource
484
- ? newSearchSource.map((item) => {
485
- return (
486
- <Checkbox
487
- checked={!item.hidden}
488
- onChange={(e) => {
489
- this.onChange(e, item.label);
490
- }}
491
- >
492
- {item.label}
493
- </Checkbox>
494
- );
495
- })
496
- : dataSource.map((item) => {
497
- return (
498
- <Checkbox
499
- checked={!item.hidden}
500
- onChange={(e) => {
501
- this.onChange(e, item.label);
502
- }}
503
- >
504
- {item.label}
505
- </Checkbox>
506
- );
507
- })}
508
- {!!newSearchSource.length && (
509
- <span style={{ width: '144px' }}></span>
510
- )}
511
-
512
- {!newSearchSource.length && (
513
- <div className={'sort_table_column_all_empty'}>
514
- 未查询到结果
515
- </div>
516
- )}
517
- </div>
518
- </div>
519
- </div>
520
- <div className={'sort_table_content_wrapper'}>
521
- <span className={'sort_table_content_count'}>
522
- 已选字段 <span>(共{sortDataSource.length}个)</span>
523
- </span>
524
- <div className={'sort_table_content'}>
525
- <span style={{ paddingLeft: '10px' }}>
526
- <Input
527
- prefix={
528
- <SearchOutlined className="site-form-item-icon" />
529
- }
530
- placeholder="搜索"
531
- allowClear
532
- onChange={this.onSearchSort}
533
- style={{ width: 190 }}
534
- />
535
- </span>
536
- <Table
537
- pagination={false}
538
- showHeader={false}
539
- dataSource={
540
- onSearchSort
541
- ? sortDataSource.filter(
542
- (item) => item?.label?.indexOf(onSearchSort) > -1,
543
- )
544
- : sortDataSource
545
- }
546
- columns={this.columns}
547
- rowKey="name"
548
- components={{
549
- body: {
550
- wrapper: this.DraggableContainer,
551
- row: this.DraggableBodyRow,
552
- },
553
- }}
554
- />
555
- </div>
556
- </div>
557
- </div>
558
- </Modal>
559
- )}
560
- <div onClick={this.showModal} style={{fontSize:14, textAlign: 'center'}}>搜索项设置</div>
561
- </div>
562
- );
563
- }
564
- }
565
-
566
- export default SearchItemTable;
1
+ // @ts-nocheck
2
+ import React from 'react';
3
+ import {
4
+ Table,
5
+ message,
6
+ Checkbox,
7
+ Modal,
8
+ Input,
9
+ Button,
10
+ Tooltip,
11
+ } from 'antd';
12
+ import {
13
+ SortableContainer,
14
+ SortableElement,
15
+ SortableHandle,
16
+ } from 'react-sortable-hoc';
17
+ import axios from 'axios';
18
+ import { SearchOutlined } from '@ant-design/icons';
19
+ import { arrayMoveImmutable } from 'array-move';
20
+ import close from '../../../assets/close.svg';
21
+ import drag from '../../../assets/drag.svg';
22
+ import './index.less';
23
+ import ENUM from '@/utils/enumConfig';
24
+ import { handleRequestUrl, judgeIsRequestSuccess } from '@/utils/requestUtils';
25
+
26
+ const DragHandle = SortableHandle(() => <img width={25} src={drag} />);
27
+ const SortableItem = SortableElement((props) => <tr {...props} />);
28
+ const SortableBody = SortableContainer((props) => <tbody {...props} />);
29
+
30
+
31
+ class SearchItemTable extends React.Component {
32
+ state = {
33
+ dataSource: [],
34
+ columns: [],
35
+ sortDataSource: [],
36
+ setVisible: false,
37
+ searchDataSource: false,
38
+ onSearchSort: false,
39
+ isDefaultValue: false,
40
+ defaultValue: [],
41
+ bsTableCode: '', //设置table 列的标识
42
+ };
43
+
44
+ patchUserSearchFieldsConfig = (config) => {
45
+ const { appRequestConfig } = this.props;
46
+ let that = this;
47
+ let configvalue = config
48
+ ? config.map((item) => ({
49
+ name: item.name,
50
+ hidden: item.hidden,
51
+ }))
52
+ : '';
53
+
54
+ axios({
55
+ url: handleRequestUrl('/user','/appConfig/saveQueryCriteria', appRequestConfig),
56
+ method: 'POST',
57
+ data: {
58
+ code: that.state.bsTableCode,
59
+ detail: configvalue ? JSON.stringify(configvalue) : '',
60
+ },
61
+ }).then((res:any) => {
62
+ if (judgeIsRequestSuccess(res?.data)) {
63
+ this.patchConfigToLocalstorage(configvalue)
64
+ } else {
65
+ message.error('保存搜索项自定义失败,请稍后尝试');
66
+ }
67
+ })
68
+ };
69
+
70
+ getConfigFromlocalstorage = () => {
71
+ let config = localStorage.getItem(ENUM.BROWSER_CACHE.SEARCH_FIELDS_CONDITION) || '[]';
72
+ let configArray = JSON.parse(config);
73
+ let configSetting = configArray.filter(
74
+ (item) => item.code === this.state.bsTableCode,
75
+ );
76
+
77
+ if (configSetting.length && configSetting[0].detail) {
78
+ return JSON.parse(configSetting[0].detail);
79
+ }
80
+ return [];
81
+ };
82
+
83
+ patchConfigToLocalstorage = (configvalue) => {
84
+ const { setShowSearchFields, datasource = [] } = this.props;
85
+ const { sortDataSource, bsTableCode } = this.state;
86
+ let config = localStorage.getItem(ENUM.BROWSER_CACHE.SEARCH_FIELDS_CONDITION) || '[]'
87
+ let configArray = JSON.parse(config)
88
+ let currentSetting = configArray.filter(item => item.code === bsTableCode)
89
+ if (currentSetting.length) {
90
+ currentSetting[0].detail = JSON.stringify(configvalue)
91
+ } else {
92
+ configArray.push({
93
+ "code": bsTableCode,
94
+ "detail": JSON.stringify(configvalue)
95
+ })
96
+ }
97
+
98
+ localStorage.setItem(ENUM.BROWSER_CACHE.SEARCH_FIELDS_CONDITION, JSON.stringify(configArray));
99
+ this.setState({
100
+ visible: false,
101
+ });
102
+ if(configvalue){
103
+ setShowSearchFields([...sortDataSource]);
104
+ }else{
105
+ this.setState({
106
+ isDefaultValue: true,
107
+ dataSource: [...datasource.map((item)=>({
108
+ ...item,
109
+ hidden: false
110
+ }))],
111
+ sortDataSource: [...datasource.map((item)=>({
112
+ ...item,
113
+ hidden: false
114
+ }))]
115
+ });
116
+ setShowSearchFields([...datasource]);
117
+ }
118
+ };
119
+
120
+ setInitValue = (isClick = false) => {
121
+ const { datasource = [], showSearchFields =[] }: any =
122
+ this.props;
123
+ let config = this.getConfigFromlocalstorage();
124
+ this.setState({
125
+ isDefaultValue: true,
126
+ dataSource: datasource.map((item) => {
127
+ let innerItem = config.filter(
128
+ (inneritem) => {
129
+ let innerKey = Array.isArray(inneritem.name) ? JSON.stringify(inneritem.name) : (inneritem.name);
130
+ let itemKey = Array.isArray(item.name) ? JSON.stringify(item.name) : (item.name);
131
+ return innerKey && innerKey === itemKey;
132
+ }
133
+ );
134
+ return {
135
+ ...item,
136
+ hidden: config.length && !innerItem.length,
137
+ };
138
+ }),
139
+ defaultValue: datasource.map((item) => {
140
+ let innerItem = config.filter(
141
+ (inneritem) => {
142
+ let innerKey = Array.isArray(inneritem.name) ? JSON.stringify(inneritem.name) : (inneritem.name);
143
+ let itemKey = Array.isArray(item.name) ? JSON.stringify(item.name) : (item.name);
144
+ return innerKey && innerKey === itemKey;
145
+ }
146
+ );
147
+ return {
148
+ ...item,
149
+ hidden: config.length && !innerItem.length,
150
+ };
151
+ }),
152
+ sortDataSource: [...showSearchFields]
153
+ });
154
+ };
155
+
156
+ componentDidMount() {
157
+ const {
158
+ datasource,
159
+ showSearchFields,
160
+ bsTableCode
161
+ }: any = this.props;
162
+
163
+ let config = this.getConfigFromlocalstorage();
164
+
165
+ this.setState({
166
+ dataSource: datasource.map((item) => {
167
+ let innerItem = config.filter(
168
+ (inneritem) => {
169
+ let innerKey = Array.isArray(inneritem.name) ? JSON.stringify(inneritem.name) : (inneritem.name);
170
+ let itemKey = Array.isArray(item.name) ? JSON.stringify(item.name) : (item.name);
171
+ return innerKey && innerKey === itemKey;
172
+ }
173
+ );
174
+ return {
175
+ ...item,
176
+ hidden: config.length && !innerItem.length,
177
+ };
178
+ }),
179
+ defaultValue: datasource.map((item) => {
180
+ let innerItem = config.filter(
181
+ (inneritem) => {
182
+ let innerKey = Array.isArray(inneritem.name) ? JSON.stringify(inneritem.name) : (inneritem.name);
183
+ let itemKey = Array.isArray(item.name) ? JSON.stringify(item.name) : (item.name);
184
+ return innerKey && innerKey === itemKey;
185
+ }
186
+ );
187
+ return {
188
+ ...item,
189
+ hidden: config.length && !innerItem.length,
190
+ };
191
+ }),
192
+ sortDataSource: datasource
193
+ .filter((item) => !item.hidden)
194
+ .map((item) => ({
195
+ ...item,
196
+ })),
197
+ bsTableCode
198
+ });
199
+ }
200
+
201
+ columns = [
202
+ {
203
+ title: '搜索字段名称',
204
+ dataIndex: 'label',
205
+ className: 'drag-visible',
206
+ width: 100,
207
+ },
208
+ {
209
+ title: '删除',
210
+ dataIndex: 'title1',
211
+ render: (text, record) => {
212
+ return (
213
+ <span
214
+ onClick={() => {
215
+ this.setState({
216
+ sortDataSource: this.state.sortDataSource.filter((item) => {
217
+ return item.label !== record.label;
218
+ }),
219
+ isDefaultValue: false,
220
+ dataSource: [
221
+ ...this.state.dataSource.map((item) => {
222
+ if (item.label === record.label) {
223
+ return {
224
+ ...item,
225
+ hidden: true,
226
+ };
227
+ }
228
+ return item;
229
+ }),
230
+ ],
231
+ });
232
+ }}
233
+ >
234
+ <img width={24} src={close} />
235
+ </span>
236
+ );
237
+ },
238
+ },
239
+ {
240
+ title: 'Sort',
241
+ dataIndex: 'sort',
242
+ className: 'drag-visible',
243
+ render: () => <DragHandle />,
244
+ },
245
+ ];
246
+
247
+ showModal = () => {
248
+ this.setState({
249
+ visible: true,
250
+ });
251
+ this.setInitValue();
252
+ };
253
+
254
+ handleOk = (e?: React.MouseEvent<HTMLElement>) => {
255
+ const { sortDataSource, isDefaultValue, defaultValue } = this.state;
256
+ if (!sortDataSource.length) {
257
+ message.warning('至少选择一个搜索项!');
258
+ return;
259
+ }
260
+ this.patchUserSearchFieldsConfig(sortDataSource);
261
+ };
262
+
263
+ handleCancel = (e: React.MouseEvent<HTMLElement>) => {
264
+ console.log(e);
265
+ this.setState({
266
+ visible: false,
267
+ });
268
+ };
269
+
270
+ handleTableHeadHidden = (title: string) => {
271
+ const { sortDataSource, dataSource } = this.state;
272
+ this.setState(
273
+ {
274
+ sortDataSource: sortDataSource.filter((item) => {
275
+ return item.title !== title;
276
+ }),
277
+ dataSource: [
278
+ ...dataSource.map((item) => {
279
+ if (item.title === title) {
280
+ return {
281
+ ...item,
282
+ hidden: true,
283
+ };
284
+ }
285
+ return item;
286
+ }),
287
+ ],
288
+ },
289
+ () => {
290
+ this.handleOk();
291
+ },
292
+ );
293
+ };
294
+
295
+ onSortEnd = ({ oldIndex, newIndex }) => {
296
+ const { sortDataSource } = this.state;
297
+ if (oldIndex !== newIndex) {
298
+ const newData = arrayMoveImmutable(
299
+ [].concat(sortDataSource),
300
+ oldIndex,
301
+ newIndex,
302
+ ).filter((el) => !!el);
303
+ this.setState({
304
+ sortDataSource: [ ...newData],
305
+ isDefaultValue: false,
306
+ });
307
+ }
308
+ };
309
+
310
+ DraggableContainer = (props) => (
311
+ <SortableBody
312
+ useDragHandle
313
+ disableAutoscroll
314
+ helperClass="row-dragging"
315
+ onSortEnd={this.onSortEnd}
316
+ {...props}
317
+ />
318
+ );
319
+
320
+ DraggableBodyRow = ({ className, style, ...restProps }) => {
321
+ const { sortDataSource } = this.state;
322
+ const index = sortDataSource.findIndex(
323
+ (x) => x.name === restProps['data-row-key'],
324
+ );
325
+ return <SortableItem index={index} {...restProps} />;
326
+ };
327
+
328
+ onChange = (e: CheckboxChangeEvent, label) => {
329
+ const { sortDataSource, dataSource } = this.state;
330
+ if (!e.target.checked) {
331
+ this.setState({
332
+ sortDataSource: sortDataSource.filter((item) => {
333
+ return item.label !== label;
334
+ }),
335
+ isDefaultValue: false,
336
+ dataSource: [
337
+ ...dataSource.map((item) => {
338
+ if (item.label === label) {
339
+ return {
340
+ ...item,
341
+ hidden: true,
342
+ };
343
+ }
344
+ return item;
345
+ }),
346
+ ],
347
+ });
348
+ } else {
349
+ let newSortData = [
350
+ ...sortDataSource,
351
+ ...dataSource
352
+ .filter((item) => item.label === label)
353
+ .map((source) => {
354
+ return {
355
+ ...source,
356
+ hidden: false,
357
+ };
358
+ }),
359
+ ];
360
+ this.setState({
361
+ sortDataSource: [...newSortData],
362
+ isDefaultValue: false,
363
+ dataSource: [
364
+ ...dataSource.map((item) => {
365
+ if (item.label === label) {
366
+ return {
367
+ ...item,
368
+ hidden: false,
369
+ };
370
+ }
371
+ return item;
372
+ }),
373
+ ],
374
+ });
375
+ }
376
+ };
377
+
378
+ handleReset = () => {
379
+ this.setInitValue(true);
380
+ };
381
+
382
+ handleResetSetting = () =>{
383
+ this.patchUserSearchFieldsConfig('');
384
+ }
385
+
386
+ onSearch = (e: any) => {
387
+ this.setState({
388
+ searchDataSource: e.target.value,
389
+ });
390
+ };
391
+
392
+ onSearchSort = (e: any) => {
393
+ this.setState({
394
+ onSearchSort: e.target.value,
395
+ });
396
+ };
397
+
398
+ render() {
399
+ const {
400
+ dataSource = [],
401
+ searchDataSource,
402
+ sortDataSource,
403
+ visible,
404
+ onSearchSort,
405
+ } = this.state;
406
+ let newSearchSource = dataSource.filter(
407
+ (item) => item?.label?.indexOf(searchDataSource||'') > -1,
408
+ );
409
+ return (
410
+ <div className={'sort_table_wrapper'}>
411
+ {visible && (
412
+ <Modal
413
+ title="设置搜索项内容"
414
+ wrapClassName={'sort_table_wrapper'}
415
+ width={820}
416
+ visible={visible}
417
+ onOk={this.handleOk}
418
+ onCancel={this.handleCancel}
419
+ footer={[
420
+ <div>
421
+ <Button key="back" onClick={this.handleReset} style={{marginRight: 0}}>
422
+ 恢复默认
423
+ </Button>,
424
+ <Button key="back" onClick={this.handleResetSetting}>
425
+ 重置设置
426
+ </Button>
427
+ </div>,
428
+ <div>
429
+ <Button key="submit" onClick={this.handleCancel} style={{marginRight: 0}}>
430
+ 取消
431
+ </Button>,
432
+ <Button key="submit" type="primary" onClick={this.handleOk}>
433
+ 确认
434
+ </Button>
435
+ </div>,
436
+ ]}
437
+ >
438
+ <div className={'sort_table'}>
439
+ <div className={'sort_table_column_wrapper'}>
440
+ <span className={'sort_table_column_count'}>
441
+ 可选字段 <span>(共{dataSource.length}个)</span>
442
+ </span>
443
+ <div className={'sort_table_column'}>
444
+ <Input
445
+ prefix={<SearchOutlined className="site-form-item-icon" />}
446
+ placeholder="搜索"
447
+ allowClear
448
+ onChange={this.onSearch}
449
+ style={{ width: 540 }}
450
+ />
451
+ <div>
452
+ {!searchDataSource && (
453
+ <Checkbox
454
+ checked={
455
+ !dataSource.some((item) => {
456
+ if (item.hidden) return true;
457
+
458
+ return false;
459
+ })
460
+ }
461
+ onClick={(e) => {
462
+ this.setState({
463
+ isDefaultValue: false,
464
+ dataSource: [
465
+ ...dataSource.map((item) => {
466
+ return {
467
+ ...item,
468
+ hidden: !e.target.checked,
469
+ };
470
+ }),
471
+ ],
472
+ sortDataSource: e.target.checked
473
+ ? [...dataSource.map((item) => ({...item,hidden: false}))]
474
+ : [],
475
+ });
476
+ }}
477
+ >
478
+ 全选
479
+ </Checkbox>
480
+ )}
481
+ </div>
482
+ <div className={'sort_table_column_all'}>
483
+ {searchDataSource
484
+ ? newSearchSource.map((item) => {
485
+ return (
486
+ <Checkbox
487
+ checked={!item.hidden}
488
+ onChange={(e) => {
489
+ this.onChange(e, item.label);
490
+ }}
491
+ >
492
+ {item.label}
493
+ </Checkbox>
494
+ );
495
+ })
496
+ : dataSource.map((item) => {
497
+ return (
498
+ <Checkbox
499
+ checked={!item.hidden}
500
+ onChange={(e) => {
501
+ this.onChange(e, item.label);
502
+ }}
503
+ >
504
+ {item.label}
505
+ </Checkbox>
506
+ );
507
+ })}
508
+ {!!newSearchSource.length && (
509
+ <span style={{ width: '144px' }}></span>
510
+ )}
511
+
512
+ {!newSearchSource.length && (
513
+ <div className={'sort_table_column_all_empty'}>
514
+ 未查询到结果
515
+ </div>
516
+ )}
517
+ </div>
518
+ </div>
519
+ </div>
520
+ <div className={'sort_table_content_wrapper'}>
521
+ <span className={'sort_table_content_count'}>
522
+ 已选字段 <span>(共{sortDataSource.length}个)</span>
523
+ </span>
524
+ <div className={'sort_table_content'}>
525
+ <span style={{ paddingLeft: '10px' }}>
526
+ <Input
527
+ prefix={
528
+ <SearchOutlined className="site-form-item-icon" />
529
+ }
530
+ placeholder="搜索"
531
+ allowClear
532
+ onChange={this.onSearchSort}
533
+ style={{ width: 190 }}
534
+ />
535
+ </span>
536
+ <Table
537
+ pagination={false}
538
+ showHeader={false}
539
+ dataSource={
540
+ onSearchSort
541
+ ? sortDataSource.filter(
542
+ (item) => item?.label?.indexOf(onSearchSort) > -1,
543
+ )
544
+ : sortDataSource
545
+ }
546
+ columns={this.columns}
547
+ rowKey="name"
548
+ components={{
549
+ body: {
550
+ wrapper: this.DraggableContainer,
551
+ row: this.DraggableBodyRow,
552
+ },
553
+ }}
554
+ />
555
+ </div>
556
+ </div>
557
+ </div>
558
+ </Modal>
559
+ )}
560
+ <div onClick={this.showModal} style={{fontSize:14, textAlign: 'center'}}>搜索项设置</div>
561
+ </div>
562
+ );
563
+ }
564
+ }
565
+
566
+ export default SearchItemTable;