@bit-sun/business-component 2.2.26 → 2.2.28

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/BsLayouts/Components/AllFunc/drawContent.d.ts +1 -1
  9. package/dist/components/Business/BsLayouts/Components/AllFunc/index.d.ts +1 -1
  10. package/dist/components/Business/BsLayouts/Components/RightContent/index.d.ts +2 -2
  11. package/dist/components/Business/BsLayouts/Components/SearchFunc/index.d.ts +2 -2
  12. package/dist/components/Business/BsLayouts/index.d.ts +2 -2
  13. package/dist/components/Business/BsSulaQueryTable/utils.d.ts +2 -2
  14. package/dist/index.esm.js +97 -103
  15. package/dist/index.js +104 -110
  16. package/dist/utils/TableUtils.d.ts +2 -2
  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 +1 -1
  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 +161 -161
  52. package/src/components/Business/AddSelectBusiness/index.tsx +859 -859
  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 +155 -155
  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 +1480 -1480
  74. package/src/components/Business/BsLayouts/service.ts +10 -10
  75. package/src/components/Business/BsLayouts/utils.tsx +203 -203
  76. package/src/components/Business/BsSulaQueryTable/SearchItemSetting.tsx +538 -538
  77. package/src/components/Business/BsSulaQueryTable/index.less +219 -219
  78. package/src/components/Business/BsSulaQueryTable/index.tsx +527 -527
  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 -313
  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 +201 -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 +320 -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 +390 -390
  122. package/src/components/Business/SearchSelect/BusinessUtils.ts +1730 -1730
  123. package/src/components/Business/SearchSelect/common.ts +53 -53
  124. package/src/components/Business/SearchSelect/index.md +1310 -1310
  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 +154 -154
  131. package/src/components/Business/TreeSearchSelect/index.tsx +34 -34
  132. package/src/components/Business/TreeSearchSelect/utils.ts +69 -69
  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 +448 -448
  141. package/src/components/Business/moreTreeTable/index.tsx +361 -361
  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 -155
  145. package/src/components/Functional/AddSelect/index.tsx +1263 -1249
  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 -766
  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 +846 -846
  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 +162 -162
  166. package/src/index.ts +34 -34
  167. package/src/plugin/TableColumnSetting/index.less +247 -247
  168. package/src/plugin/TableColumnSetting/index.md +50 -50
  169. package/src/plugin/TableColumnSetting/index.tsx +724 -724
  170. package/src/plugin/TableColumnSetting/utils.ts +19 -19
  171. package/src/styles/bsDefault.less +1912 -1912
  172. package/src/utils/CheckOneUser/index.md +39 -39
  173. package/src/utils/CheckOneUser/index.ts +51 -51
  174. package/src/utils/LocalstorageUtils.ts +90 -90
  175. package/src/utils/TableUtils.tsx +18 -18
  176. package/src/utils/checkUtils.ts +39 -39
  177. package/src/utils/enumConfig.ts +11 -11
  178. package/src/utils/getFormMode.js +12 -12
  179. package/src/utils/index.ts +3 -3
  180. package/src/utils/requestUtils.ts +34 -34
  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;