@bit-sun/business-component 2.3.22-beta9 → 2.3.23-beta01

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