@bit-sun/business-component 2.1.24 → 2.2.0-alpha.10

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 (184) 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/AddSelectBusiness/index.d.ts +1 -0
  9. package/dist/components/Business/BsSulaQueryTable/SearchItemSetting.d.ts +59 -0
  10. package/dist/index.d.ts +1 -0
  11. package/dist/index.esm.js +5925 -3841
  12. package/dist/index.js +5924 -3838
  13. package/dist/plugin/TableColumnSetting/index.d.ts +64 -0
  14. package/dist/plugin/TableColumnSetting/utils.d.ts +1 -0
  15. package/dist/utils/LocalstorageUtils.d.ts +8 -0
  16. package/dist/utils/enumConfig.d.ts +1 -0
  17. package/docs/index.md +21 -21
  18. package/lib/assets/drag.svg +17 -17
  19. package/lib/assets/exportFail.svg +37 -37
  20. package/lib/assets/exportProcessing.svg +28 -28
  21. package/lib/assets/exportSuccess.svg +34 -34
  22. package/lib/assets/label_icon_bottom.svg +25 -25
  23. package/lib/assets/upExport.svg +22 -22
  24. package/package.json +77 -77
  25. package/src/assets/32.svg +27 -27
  26. package/src/assets/addIcon.svg +17 -17
  27. package/src/assets/allfunc.svg +27 -27
  28. package/src/assets/arrowRight.svg +24 -24
  29. package/src/assets/btn-delete.svg +29 -29
  30. package/src/assets/btn-edit.svg +19 -19
  31. package/src/assets/btn-more.svg +17 -17
  32. package/src/assets/btn-submit.svg +19 -19
  33. package/src/assets/caidan.svg +11 -11
  34. package/src/assets/close.svg +26 -26
  35. package/src/assets/drag.svg +17 -17
  36. package/src/assets/exportFail.svg +37 -37
  37. package/src/assets/exportProcessing.svg +28 -28
  38. package/src/assets/exportSuccess.svg +34 -34
  39. package/src/assets/fixed-left-active.svg +11 -11
  40. package/src/assets/fixed-left.svg +15 -15
  41. package/src/assets/fixed-right-active.svg +11 -11
  42. package/src/assets/fixed-right.svg +15 -15
  43. package/src/assets/guanbi.svg +15 -15
  44. package/src/assets/icon-quanping.svg +15 -15
  45. package/src/assets/icon-shezhi.svg +17 -17
  46. package/src/assets/label_icon_bottom.svg +25 -25
  47. package/src/assets/list-no-img.svg +21 -21
  48. package/src/assets/morentouxiang-32.svg +23 -23
  49. package/src/assets/scanning.svg +24 -24
  50. package/src/assets/upExport.svg +22 -22
  51. package/src/components/Business/AddSelectBusiness/index.md +93 -42
  52. package/src/components/Business/AddSelectBusiness/index.tsx +601 -341
  53. package/src/components/Business/BsLayouts/Components/AllFunc/drawContent.tsx +111 -111
  54. package/src/components/Business/BsLayouts/Components/AllFunc/index.less +153 -153
  55. package/src/components/Business/BsLayouts/Components/AllFunc/index.tsx +70 -70
  56. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.less +90 -90
  57. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.tsx +37 -37
  58. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.tsx +242 -242
  59. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.tsx +384 -384
  60. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.tsx +285 -285
  61. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.tsx +74 -74
  62. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/drawContent.less +170 -170
  63. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.less +64 -64
  64. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.tsx +153 -153
  65. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.less +72 -72
  66. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.tsx +157 -157
  67. package/src/components/Business/BsLayouts/Components/RightContent/LoginModal.tsx +85 -85
  68. package/src/components/Business/BsLayouts/Components/RightContent/home.less +218 -218
  69. package/src/components/Business/BsLayouts/Components/RightContent/index.tsx +156 -156
  70. package/src/components/Business/BsLayouts/Components/SearchFunc/index.less +160 -160
  71. package/src/components/Business/BsLayouts/Components/SearchFunc/index.tsx +75 -75
  72. package/src/components/Business/BsLayouts/index.less +79 -79
  73. package/src/components/Business/BsLayouts/index.tsx +1479 -1479
  74. package/src/components/Business/BsLayouts/service.ts +10 -10
  75. package/src/components/Business/BsLayouts/utils.tsx +225 -230
  76. package/src/components/Business/BsSulaQueryTable/SearchItemSetting.tsx +538 -0
  77. package/src/components/Business/BsSulaQueryTable/index.less +219 -219
  78. package/src/components/Business/BsSulaQueryTable/index.tsx +527 -476
  79. package/src/components/Business/BsSulaQueryTable/setting.tsx +802 -802
  80. package/src/components/Business/BsSulaQueryTable/utils.less +65 -65
  81. package/src/components/Business/BsSulaQueryTable/utils.tsx +688 -688
  82. package/src/components/Business/CommodityEntry/index.md +70 -70
  83. package/src/components/Business/CommodityEntry/index.tsx +80 -80
  84. package/src/components/Business/CommonAlert/index.tsx +23 -23
  85. package/src/components/Business/CommonGuideWrapper/index.less +111 -111
  86. package/src/components/Business/CommonGuideWrapper/index.md +39 -39
  87. package/src/components/Business/CommonGuideWrapper/index.tsx +83 -83
  88. package/src/components/Business/DetailPageWrapper/index.less +79 -79
  89. package/src/components/Business/DetailPageWrapper/index.tsx +313 -335
  90. package/src/components/Business/DetailPageWrapper/utils.tsx +100 -100
  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 +824 -824
  95. package/src/components/Business/JsonQueryTable/components/FieldsSettingsTable.tsx +205 -201
  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 +449 -320
  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 +356 -356
  122. package/src/components/Business/SearchSelect/BusinessUtils.ts +1723 -1586
  123. package/src/components/Business/SearchSelect/common.ts +53 -53
  124. package/src/components/Business/SearchSelect/index.md +1310 -1254
  125. package/src/components/Business/SearchSelect/index.tsx +51 -51
  126. package/src/components/Business/SearchSelect/utils.ts +100 -100
  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 +126 -126
  131. package/src/components/Business/TreeSearchSelect/index.tsx +34 -34
  132. package/src/components/Business/TreeSearchSelect/utils.ts +60 -60
  133. package/src/components/Business/columnSettingTable/columnSetting.tsx +764 -764
  134. package/src/components/Business/columnSettingTable/index.less +247 -247
  135. package/src/components/Business/columnSettingTable/index.md +357 -357
  136. package/src/components/Business/columnSettingTable/index.tsx +232 -232
  137. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +240 -240
  138. package/src/components/Business/columnSettingTable/utils.tsx +68 -68
  139. package/src/components/Business/moreTreeTable/index.less +99 -99
  140. package/src/components/Business/moreTreeTable/index.md +508 -508
  141. package/src/components/Business/moreTreeTable/index.tsx +315 -315
  142. package/src/components/Business/moreTreeTable/utils.ts +126 -126
  143. package/src/components/Functional/AddSelect/index.less +367 -367
  144. package/src/components/Functional/AddSelect/index.md +155 -154
  145. package/src/components/Functional/AddSelect/index.tsx +1165 -994
  146. package/src/components/Functional/BillEntry/index.less +371 -371
  147. package/src/components/Functional/BillEntry/index.md +39 -39
  148. package/src/components/Functional/BillEntry/index.tsx +766 -670
  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 +695 -695
  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 +687 -687
  155. package/src/components/Functional/ExportFunctions/ExportIcon/index.md +37 -37
  156. package/src/components/Functional/ExportFunctions/ExportIcon/index.tsx +59 -59
  157. package/src/components/Functional/QueryMutipleInput/index.less +37 -37
  158. package/src/components/Functional/QueryMutipleInput/index.md +33 -33
  159. package/src/components/Functional/QueryMutipleInput/index.tsx +128 -128
  160. package/src/components/Functional/SearchSelect/index.less +115 -115
  161. package/src/components/Functional/SearchSelect/index.md +141 -141
  162. package/src/components/Functional/SearchSelect/index.tsx +813 -813
  163. package/src/components/Functional/SearchSelect/utils.ts +3 -3
  164. package/src/components/Functional/TreeSearchSelect/index.md +47 -47
  165. package/src/components/Functional/TreeSearchSelect/index.tsx +160 -149
  166. package/src/index.ts +34 -34
  167. package/src/plugin/TableColumnSetting/index.less +247 -0
  168. package/src/plugin/TableColumnSetting/index.md +50 -0
  169. package/src/plugin/TableColumnSetting/index.tsx +724 -0
  170. package/src/plugin/TableColumnSetting/utils.ts +19 -0
  171. package/src/styles/bsDefault.less +1912 -1906
  172. package/src/utils/CheckOneUser/index.md +39 -39
  173. package/src/utils/CheckOneUser/index.ts +51 -51
  174. package/src/utils/LocalstorageUtils.ts +58 -0
  175. package/src/utils/TableUtils.tsx +18 -18
  176. package/src/utils/checkUtils.ts +39 -39
  177. package/src/utils/enumConfig.ts +11 -10
  178. package/src/utils/getFormMode.js +12 -12
  179. package/src/utils/index.ts +2 -2
  180. package/src/utils/requestUtils.ts +36 -33
  181. package/src/utils/serialize.js +7 -7
  182. package/src/utils/utils.ts +183 -183
  183. package/tsconfig.json +29 -29
  184. package/typings.d.ts +4 -4
@@ -1,243 +1,243 @@
1
- // @ts-nocheck
2
- import { Tree, Input, Tooltip, message } from 'antd';
3
- import React from 'react';
4
- import './index.less';
5
- import {
6
- SearchOutlined,
7
- FolderOutlined,
8
- } from '@ant-design/icons';
9
- import arrowRight from '../../../../../../assets/arrowRight.svg';
10
- import {
11
- setMenuTreeData,
12
- } from '../../../utils';
13
- import { memoizeOneFormatter } from '@/utils/utils';
14
-
15
-
16
- const { TreeNode } = Tree;
17
- const { Search } = Input;
18
-
19
- const dataList: any[] = [];
20
- const generateList = data => {
21
- for (let i = 0; i < data.length; i++) {
22
- const node = data[i];
23
- const { path, name } = node;
24
- dataList.push({ path, name });
25
- if (node.children) {
26
- generateList(node.children);
27
- }
28
- }
29
- };
30
-
31
-
32
- const getParentKey = (path, tree) => {
33
- let parentKey;
34
- for (let i = 0; i < tree.length; i++) {
35
- const node = tree[i];
36
- if (node.children) {
37
- if (node.children.some(item => item.path === path)) {
38
- parentKey = node.path;
39
- } else if (getParentKey(path, node.children)) {
40
- parentKey = getParentKey(path, node.children);
41
- }
42
- }
43
- }
44
- return parentKey;
45
- };
46
-
47
- class LeftTree extends React.Component<any> {
48
- state = {
49
- treeData: [],
50
- expandedKeys: [],
51
- searchValue: '',
52
- autoExpandParent: true,
53
- };
54
-
55
-
56
- componentDidMount() {
57
- const {originRoutes = [] } = this.props;
58
- const showMenu = originRoutes.find(item => item.path === '/')?.routes || [];
59
- let routesData = JSON.parse(JSON.stringify(memoizeOneFormatter(showMenu, '')));
60
- setMenuTreeData(routesData);
61
- generateList(routesData);
62
-
63
- this.setState({
64
- treeData: routesData
65
- })
66
-
67
- }
68
-
69
- onExpand = expandedKeys => {
70
- this.setState({
71
- expandedKeys,
72
- autoExpandParent: false,
73
- });
74
- };
75
-
76
- onChange = e => {
77
- const { value } = e.target;
78
- const { treeData } = this.state;
79
- const expandedKeys = dataList
80
- .map(item => {
81
- if (item.name.indexOf(value) > -1) {
82
- return getParentKey(item.path, treeData);
83
- }
84
- return null;
85
- })
86
- .filter((item, i, self) => item && self.indexOf(item) === i);
87
- this.setState({
88
- expandedKeys,
89
- searchValue: value,
90
- autoExpandParent: true,
91
- });
92
- };
93
-
94
- getPathList = (originData: any): Array<any> => {
95
- let pathList: Array<any> = [];
96
- const getList = (data) => {
97
- if (Array.isArray(data)) {
98
- data.forEach(item => {
99
- pathList.push(item.path);
100
- if (item.children) {
101
- getList(item.children)
102
- }
103
- })
104
- } else {
105
- pathList.push(data.path);
106
- if (data.children) {
107
- getList(data.children);
108
- }
109
- }
110
- }
111
- getList(originData);
112
- return pathList;
113
- }
114
-
115
-
116
- handleAdd2Menu = (path: string) => {
117
- const { treeData } = this.state;
118
- const { customerMenuData, setCustomerMenuData } = this.props;
119
- let filterItem;
120
- const filterMenuItem = (menuData: Array<any>) => {
121
- menuData.forEach(item => {
122
- if (item.path === path) {
123
- filterItem = { ...item };
124
- return;
125
- }
126
- if (item.children) {
127
- filterMenuItem(item.children);
128
- }
129
- })
130
- }
131
- filterMenuItem(treeData);
132
- let addPathList = this.getPathList(filterItem);
133
- let oldPathList = this.getPathList(customerMenuData);
134
- let isRepet = false;
135
- oldPathList.forEach(oldPath => {
136
- if (addPathList.find(newPath => newPath === oldPath)) {
137
- isRepet = true;
138
- }
139
- })
140
- if (isRepet) {
141
- message.warning('存在已经添加的菜单,请检查!');
142
- return;
143
- }
144
- setCustomerMenuData([
145
- ...customerMenuData,
146
- filterItem
147
- ])
148
- }
149
-
150
-
151
- render() {
152
- const { searchValue, expandedKeys, autoExpandParent, treeData } = this.state;
153
- const loop = data =>
154
- data.map(item => {
155
- const index = item.name.indexOf(searchValue);
156
- const beforeStr = item.name.substr(0, index);
157
- const afterStr = item.name.substr(index + searchValue.length);
158
- const name =
159
- index > -1 ? (
160
- <span>
161
- {beforeStr}
162
- <span style={{ color: '#f50' }}>{searchValue}</span>
163
- {afterStr}
164
- </span>
165
- ) : (
166
- <span>{item.name}</span>
167
- );
168
- if (item.children && item.children.length) {
169
- return (
170
- <TreeNode
171
- path={item.path}
172
- icon={<FolderOutlined />}
173
- name={<div className={'node_title_content'}>
174
- <span>{name}</span>
175
- <div
176
- className={'right_arrow'}
177
- onClick={() => {
178
- this.handleAdd2Menu(item.path);
179
- }}
180
- >
181
- <Tooltip placement="topRight" title={'单击加入自定义菜单'}>
182
- <img style={{ marginTop: '-3px' }} width={18} src={arrowRight} />
183
- </Tooltip>
184
- </div>
185
- </div>}
186
- >
187
- {loop(item.children)}
188
- </TreeNode>
189
- );
190
- }
191
- return <TreeNode
192
- path={item.path}
193
- // icon={<FileOutlined />}
194
- name={<div className={'node_title_content'}>
195
- <span>{name}</span>
196
- <div
197
- className={'right_arrow'}
198
- onClick={() => {
199
- this.handleAdd2Menu(item.path);
200
- }}
201
- >
202
- <Tooltip placement="topRight" title={'单击加入自定义菜单'}>
203
- <img style={{ marginTop: '-3px' }} width={18} src={arrowRight} />
204
- </Tooltip>
205
- </div>
206
- </div>}
207
- />;
208
- });
209
- return (
210
- <div className={'left_tree_content'}>
211
- <div className={'tree_title'}>
212
- <div>菜单列表(选中菜单,可快速设置)</div>
213
- <Input
214
- style={{ marginBottom: 8 }}
215
- placeholder="请搜索"
216
- allowClear
217
-
218
- prefix={<SearchOutlined />}
219
- onChange={this.onChange}
220
- />
221
- </div>
222
- <div className={'tree_content'}>
223
- <Tree
224
- showIcon
225
- showLine={true}
226
- fieldNames={{
227
- title: 'name',
228
- key: 'path',
229
- children: 'children'
230
- }}
231
- onExpand={this.onExpand}
232
- expandedKeys={expandedKeys}
233
- autoExpandParent={autoExpandParent}
234
- >
235
- {loop(treeData)}
236
- </Tree>
237
- </div>
238
- </div>
239
- );
240
- }
241
- }
242
-
1
+ // @ts-nocheck
2
+ import { Tree, Input, Tooltip, message } from 'antd';
3
+ import React from 'react';
4
+ import './index.less';
5
+ import {
6
+ SearchOutlined,
7
+ FolderOutlined,
8
+ } from '@ant-design/icons';
9
+ import arrowRight from '../../../../../../assets/arrowRight.svg';
10
+ import {
11
+ setMenuTreeData,
12
+ } from '../../../utils';
13
+ import { memoizeOneFormatter } from '@/utils/utils';
14
+
15
+
16
+ const { TreeNode } = Tree;
17
+ const { Search } = Input;
18
+
19
+ const dataList: any[] = [];
20
+ const generateList = data => {
21
+ for (let i = 0; i < data.length; i++) {
22
+ const node = data[i];
23
+ const { path, name } = node;
24
+ dataList.push({ path, name });
25
+ if (node.children) {
26
+ generateList(node.children);
27
+ }
28
+ }
29
+ };
30
+
31
+
32
+ const getParentKey = (path, tree) => {
33
+ let parentKey;
34
+ for (let i = 0; i < tree.length; i++) {
35
+ const node = tree[i];
36
+ if (node.children) {
37
+ if (node.children.some(item => item.path === path)) {
38
+ parentKey = node.path;
39
+ } else if (getParentKey(path, node.children)) {
40
+ parentKey = getParentKey(path, node.children);
41
+ }
42
+ }
43
+ }
44
+ return parentKey;
45
+ };
46
+
47
+ class LeftTree extends React.Component<any> {
48
+ state = {
49
+ treeData: [],
50
+ expandedKeys: [],
51
+ searchValue: '',
52
+ autoExpandParent: true,
53
+ };
54
+
55
+
56
+ componentDidMount() {
57
+ const {originRoutes = [] } = this.props;
58
+ const showMenu = originRoutes.find(item => item.path === '/')?.routes || [];
59
+ let routesData = JSON.parse(JSON.stringify(memoizeOneFormatter(showMenu, '')));
60
+ setMenuTreeData(routesData);
61
+ generateList(routesData);
62
+
63
+ this.setState({
64
+ treeData: routesData
65
+ })
66
+
67
+ }
68
+
69
+ onExpand = expandedKeys => {
70
+ this.setState({
71
+ expandedKeys,
72
+ autoExpandParent: false,
73
+ });
74
+ };
75
+
76
+ onChange = e => {
77
+ const { value } = e.target;
78
+ const { treeData } = this.state;
79
+ const expandedKeys = dataList
80
+ .map(item => {
81
+ if (item.name.indexOf(value) > -1) {
82
+ return getParentKey(item.path, treeData);
83
+ }
84
+ return null;
85
+ })
86
+ .filter((item, i, self) => item && self.indexOf(item) === i);
87
+ this.setState({
88
+ expandedKeys,
89
+ searchValue: value,
90
+ autoExpandParent: true,
91
+ });
92
+ };
93
+
94
+ getPathList = (originData: any): Array<any> => {
95
+ let pathList: Array<any> = [];
96
+ const getList = (data) => {
97
+ if (Array.isArray(data)) {
98
+ data.forEach(item => {
99
+ pathList.push(item.path);
100
+ if (item.children) {
101
+ getList(item.children)
102
+ }
103
+ })
104
+ } else {
105
+ pathList.push(data.path);
106
+ if (data.children) {
107
+ getList(data.children);
108
+ }
109
+ }
110
+ }
111
+ getList(originData);
112
+ return pathList;
113
+ }
114
+
115
+
116
+ handleAdd2Menu = (path: string) => {
117
+ const { treeData } = this.state;
118
+ const { customerMenuData, setCustomerMenuData } = this.props;
119
+ let filterItem;
120
+ const filterMenuItem = (menuData: Array<any>) => {
121
+ menuData.forEach(item => {
122
+ if (item.path === path) {
123
+ filterItem = { ...item };
124
+ return;
125
+ }
126
+ if (item.children) {
127
+ filterMenuItem(item.children);
128
+ }
129
+ })
130
+ }
131
+ filterMenuItem(treeData);
132
+ let addPathList = this.getPathList(filterItem);
133
+ let oldPathList = this.getPathList(customerMenuData);
134
+ let isRepet = false;
135
+ oldPathList.forEach(oldPath => {
136
+ if (addPathList.find(newPath => newPath === oldPath)) {
137
+ isRepet = true;
138
+ }
139
+ })
140
+ if (isRepet) {
141
+ message.warning('存在已经添加的菜单,请检查!');
142
+ return;
143
+ }
144
+ setCustomerMenuData([
145
+ ...customerMenuData,
146
+ filterItem
147
+ ])
148
+ }
149
+
150
+
151
+ render() {
152
+ const { searchValue, expandedKeys, autoExpandParent, treeData } = this.state;
153
+ const loop = data =>
154
+ data.map(item => {
155
+ const index = item.name.indexOf(searchValue);
156
+ const beforeStr = item.name.substr(0, index);
157
+ const afterStr = item.name.substr(index + searchValue.length);
158
+ const name =
159
+ index > -1 ? (
160
+ <span>
161
+ {beforeStr}
162
+ <span style={{ color: '#f50' }}>{searchValue}</span>
163
+ {afterStr}
164
+ </span>
165
+ ) : (
166
+ <span>{item.name}</span>
167
+ );
168
+ if (item.children && item.children.length) {
169
+ return (
170
+ <TreeNode
171
+ path={item.path}
172
+ icon={<FolderOutlined />}
173
+ name={<div className={'node_title_content'}>
174
+ <span>{name}</span>
175
+ <div
176
+ className={'right_arrow'}
177
+ onClick={() => {
178
+ this.handleAdd2Menu(item.path);
179
+ }}
180
+ >
181
+ <Tooltip placement="topRight" title={'单击加入自定义菜单'}>
182
+ <img style={{ marginTop: '-3px' }} width={18} src={arrowRight} />
183
+ </Tooltip>
184
+ </div>
185
+ </div>}
186
+ >
187
+ {loop(item.children)}
188
+ </TreeNode>
189
+ );
190
+ }
191
+ return <TreeNode
192
+ path={item.path}
193
+ // icon={<FileOutlined />}
194
+ name={<div className={'node_title_content'}>
195
+ <span>{name}</span>
196
+ <div
197
+ className={'right_arrow'}
198
+ onClick={() => {
199
+ this.handleAdd2Menu(item.path);
200
+ }}
201
+ >
202
+ <Tooltip placement="topRight" title={'单击加入自定义菜单'}>
203
+ <img style={{ marginTop: '-3px' }} width={18} src={arrowRight} />
204
+ </Tooltip>
205
+ </div>
206
+ </div>}
207
+ />;
208
+ });
209
+ return (
210
+ <div className={'left_tree_content'}>
211
+ <div className={'tree_title'}>
212
+ <div>菜单列表(选中菜单,可快速设置)</div>
213
+ <Input
214
+ style={{ marginBottom: 8 }}
215
+ placeholder="请搜索"
216
+ allowClear
217
+
218
+ prefix={<SearchOutlined />}
219
+ onChange={this.onChange}
220
+ />
221
+ </div>
222
+ <div className={'tree_content'}>
223
+ <Tree
224
+ showIcon
225
+ showLine={true}
226
+ fieldNames={{
227
+ title: 'name',
228
+ key: 'path',
229
+ children: 'children'
230
+ }}
231
+ onExpand={this.onExpand}
232
+ expandedKeys={expandedKeys}
233
+ autoExpandParent={autoExpandParent}
234
+ >
235
+ {loop(treeData)}
236
+ </Tree>
237
+ </div>
238
+ </div>
239
+ );
240
+ }
241
+ }
242
+
243
243
  export default LeftTree;