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

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 (183) 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/BsSulaQueryTable/SearchItemSetting.d.ts +59 -0
  9. package/dist/index.d.ts +1 -0
  10. package/dist/index.esm.js +7556 -6140
  11. package/dist/index.js +7555 -6138
  12. package/dist/plugin/TableColumnSetting/index.d.ts +64 -0
  13. package/dist/plugin/TableColumnSetting/utils.d.ts +1 -0
  14. package/dist/utils/LocalstorageUtils.d.ts +2 -0
  15. package/dist/utils/enumConfig.d.ts +1 -0
  16. package/docs/index.md +21 -21
  17. package/lib/assets/drag.svg +17 -17
  18. package/lib/assets/exportFail.svg +37 -37
  19. package/lib/assets/exportProcessing.svg +28 -28
  20. package/lib/assets/exportSuccess.svg +34 -34
  21. package/lib/assets/label_icon_bottom.svg +25 -25
  22. package/lib/assets/upExport.svg +22 -22
  23. package/package.json +77 -77
  24. package/src/assets/32.svg +27 -27
  25. package/src/assets/addIcon.svg +17 -17
  26. package/src/assets/allfunc.svg +27 -27
  27. package/src/assets/arrowRight.svg +24 -24
  28. package/src/assets/btn-delete.svg +29 -29
  29. package/src/assets/btn-edit.svg +19 -19
  30. package/src/assets/btn-more.svg +17 -17
  31. package/src/assets/btn-submit.svg +19 -19
  32. package/src/assets/caidan.svg +11 -11
  33. package/src/assets/close.svg +26 -26
  34. package/src/assets/drag.svg +17 -17
  35. package/src/assets/exportFail.svg +37 -37
  36. package/src/assets/exportProcessing.svg +28 -28
  37. package/src/assets/exportSuccess.svg +34 -34
  38. package/src/assets/fixed-left-active.svg +11 -11
  39. package/src/assets/fixed-left.svg +15 -15
  40. package/src/assets/fixed-right-active.svg +11 -11
  41. package/src/assets/fixed-right.svg +15 -15
  42. package/src/assets/guanbi.svg +15 -15
  43. package/src/assets/icon-quanping.svg +15 -15
  44. package/src/assets/icon-shezhi.svg +17 -17
  45. package/src/assets/label_icon_bottom.svg +25 -25
  46. package/src/assets/list-no-img.svg +21 -21
  47. package/src/assets/morentouxiang-32.svg +23 -23
  48. package/src/assets/scanning.svg +24 -24
  49. package/src/assets/upExport.svg +22 -22
  50. package/src/components/Business/AddSelectBusiness/index.md +63 -42
  51. package/src/components/Business/AddSelectBusiness/index.tsx +344 -341
  52. package/src/components/Business/BsLayouts/Components/AllFunc/drawContent.tsx +111 -111
  53. package/src/components/Business/BsLayouts/Components/AllFunc/index.less +153 -153
  54. package/src/components/Business/BsLayouts/Components/AllFunc/index.tsx +70 -70
  55. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.less +90 -90
  56. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.tsx +37 -37
  57. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.tsx +242 -242
  58. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.tsx +384 -384
  59. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.tsx +285 -285
  60. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.tsx +74 -74
  61. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/drawContent.less +170 -170
  62. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.less +64 -64
  63. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.tsx +153 -153
  64. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.less +72 -72
  65. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.tsx +157 -157
  66. package/src/components/Business/BsLayouts/Components/RightContent/LoginModal.tsx +85 -85
  67. package/src/components/Business/BsLayouts/Components/RightContent/home.less +218 -218
  68. package/src/components/Business/BsLayouts/Components/RightContent/index.tsx +156 -156
  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 +1479 -1479
  73. package/src/components/Business/BsLayouts/service.ts +10 -10
  74. package/src/components/Business/BsLayouts/utils.tsx +230 -230
  75. package/src/components/Business/BsSulaQueryTable/SearchItemSetting.tsx +538 -0
  76. package/src/components/Business/BsSulaQueryTable/index.less +219 -219
  77. package/src/components/Business/BsSulaQueryTable/index.tsx +529 -476
  78. package/src/components/Business/BsSulaQueryTable/setting.tsx +802 -802
  79. package/src/components/Business/BsSulaQueryTable/utils.less +65 -65
  80. package/src/components/Business/BsSulaQueryTable/utils.tsx +688 -688
  81. package/src/components/Business/CommodityEntry/index.md +70 -70
  82. package/src/components/Business/CommodityEntry/index.tsx +80 -80
  83. package/src/components/Business/CommonAlert/index.tsx +23 -23
  84. package/src/components/Business/CommonGuideWrapper/index.less +111 -111
  85. package/src/components/Business/CommonGuideWrapper/index.md +39 -39
  86. package/src/components/Business/CommonGuideWrapper/index.tsx +83 -83
  87. package/src/components/Business/DetailPageWrapper/index.less +79 -79
  88. package/src/components/Business/DetailPageWrapper/index.tsx +335 -335
  89. package/src/components/Business/DetailPageWrapper/utils.tsx +100 -100
  90. package/src/components/Business/HomePageWrapper/index.less +33 -33
  91. package/src/components/Business/HomePageWrapper/index.md +45 -45
  92. package/src/components/Business/HomePageWrapper/index.tsx +162 -162
  93. package/src/components/Business/JsonQueryTable/components/FieldsModifyModal.tsx +824 -824
  94. package/src/components/Business/JsonQueryTable/components/FieldsSettingsTable.tsx +201 -201
  95. package/src/components/Business/JsonQueryTable/components/Formula.tsx +205 -205
  96. package/src/components/Business/JsonQueryTable/components/MaintainOptions.tsx +127 -127
  97. package/src/components/Business/JsonQueryTable/configButton/index.js +20 -20
  98. package/src/components/Business/JsonQueryTable/configTree/component/compactArrayView.js +25 -25
  99. package/src/components/Business/JsonQueryTable/configTree/component/compactObjectView.js +30 -30
  100. package/src/components/Business/JsonQueryTable/configTree/index.js +82 -82
  101. package/src/components/Business/JsonQueryTable/configTree/index.less +44 -44
  102. package/src/components/Business/JsonQueryTable/configTree/parser/highlight.js +57 -57
  103. package/src/components/Business/JsonQueryTable/configTree/parser/index.js +124 -124
  104. package/src/components/Business/JsonQueryTable/configTree/render/iconRender.js +29 -29
  105. package/src/components/Business/JsonQueryTable/configTree/render/nameRender.js +22 -22
  106. package/src/components/Business/JsonQueryTable/configTree/treeNode.js +116 -116
  107. package/src/components/Business/JsonQueryTable/drawer/index.tsx +12 -12
  108. package/src/components/Business/JsonQueryTable/function.ts +62 -62
  109. package/src/components/Business/JsonQueryTable/index.less +16 -16
  110. package/src/components/Business/JsonQueryTable/index.md +328 -328
  111. package/src/components/Business/JsonQueryTable/index.tsx +320 -320
  112. package/src/components/Business/JsonQueryTable/jsonEditor/index.js +346 -346
  113. package/src/components/Business/JsonQueryTable/jsonEditor/index.less +22 -22
  114. package/src/components/Business/JsonQueryTable/jsonEditor/lint/basicType.js +147 -147
  115. package/src/components/Business/JsonQueryTable/jsonEditor/lint/index.js +389 -389
  116. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/actions.js +118 -118
  117. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/dependency.js +22 -22
  118. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/index.js +21 -21
  119. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/request.js +65 -65
  120. package/src/components/Business/JsonQueryTable/static.ts +356 -356
  121. package/src/components/Business/SearchSelect/BusinessUtils.ts +1586 -1586
  122. package/src/components/Business/SearchSelect/common.ts +53 -53
  123. package/src/components/Business/SearchSelect/index.md +1254 -1254
  124. package/src/components/Business/SearchSelect/index.tsx +51 -51
  125. package/src/components/Business/SearchSelect/utils.ts +100 -100
  126. package/src/components/Business/StateFlow/index.less +130 -130
  127. package/src/components/Business/StateFlow/index.md +60 -60
  128. package/src/components/Business/StateFlow/index.tsx +29 -29
  129. package/src/components/Business/TreeSearchSelect/index.md +126 -126
  130. package/src/components/Business/TreeSearchSelect/index.tsx +34 -34
  131. package/src/components/Business/TreeSearchSelect/utils.ts +60 -60
  132. package/src/components/Business/columnSettingTable/columnSetting.tsx +764 -764
  133. package/src/components/Business/columnSettingTable/index.less +247 -247
  134. package/src/components/Business/columnSettingTable/index.md +357 -357
  135. package/src/components/Business/columnSettingTable/index.tsx +232 -232
  136. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +240 -240
  137. package/src/components/Business/columnSettingTable/utils.tsx +68 -68
  138. package/src/components/Business/moreTreeTable/index.less +99 -99
  139. package/src/components/Business/moreTreeTable/index.md +508 -508
  140. package/src/components/Business/moreTreeTable/index.tsx +315 -315
  141. package/src/components/Business/moreTreeTable/utils.ts +126 -126
  142. package/src/components/Functional/AddSelect/index.less +367 -367
  143. package/src/components/Functional/AddSelect/index.md +155 -154
  144. package/src/components/Functional/AddSelect/index.tsx +1072 -994
  145. package/src/components/Functional/BillEntry/index.less +371 -371
  146. package/src/components/Functional/BillEntry/index.md +39 -39
  147. package/src/components/Functional/BillEntry/index.tsx +766 -670
  148. package/src/components/Functional/DataImport/index.less +63 -63
  149. package/src/components/Functional/DataImport/index.md +44 -44
  150. package/src/components/Functional/DataImport/index.tsx +695 -695
  151. package/src/components/Functional/DataValidation/index.less +63 -63
  152. package/src/components/Functional/DataValidation/index.md +39 -39
  153. package/src/components/Functional/DataValidation/index.tsx +687 -687
  154. package/src/components/Functional/ExportFunctions/ExportIcon/index.md +37 -37
  155. package/src/components/Functional/ExportFunctions/ExportIcon/index.tsx +59 -59
  156. package/src/components/Functional/QueryMutipleInput/index.less +37 -37
  157. package/src/components/Functional/QueryMutipleInput/index.md +33 -33
  158. package/src/components/Functional/QueryMutipleInput/index.tsx +128 -128
  159. package/src/components/Functional/SearchSelect/index.less +115 -115
  160. package/src/components/Functional/SearchSelect/index.md +141 -141
  161. package/src/components/Functional/SearchSelect/index.tsx +813 -813
  162. package/src/components/Functional/SearchSelect/utils.ts +3 -3
  163. package/src/components/Functional/TreeSearchSelect/index.md +47 -47
  164. package/src/components/Functional/TreeSearchSelect/index.tsx +160 -149
  165. package/src/index.ts +34 -34
  166. package/src/plugin/TableColumnSetting/index.less +247 -0
  167. package/src/plugin/TableColumnSetting/index.md +50 -0
  168. package/src/plugin/TableColumnSetting/index.tsx +724 -0
  169. package/src/plugin/TableColumnSetting/utils.ts +19 -0
  170. package/src/styles/bsDefault.less +1906 -1906
  171. package/src/utils/CheckOneUser/index.md +39 -39
  172. package/src/utils/CheckOneUser/index.ts +51 -51
  173. package/src/utils/LocalstorageUtils.ts +33 -0
  174. package/src/utils/TableUtils.tsx +18 -18
  175. package/src/utils/checkUtils.ts +39 -39
  176. package/src/utils/enumConfig.ts +11 -10
  177. package/src/utils/getFormMode.js +12 -12
  178. package/src/utils/index.ts +2 -2
  179. package/src/utils/requestUtils.ts +33 -33
  180. package/src/utils/serialize.js +7 -7
  181. package/src/utils/utils.ts +183 -183
  182. package/tsconfig.json +29 -29
  183. 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;