@bit-sun/business-component 3.1.10-alpha.1 → 3.1.10-alpha.11

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