@bit-sun/business-component 2.4.24 → 2.4.25

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 (159) hide show
  1. package/dist/components/Business/BsLayouts/service.d.ts +1 -1
  2. package/dist/components/Business/BsSulaQueryTable/index.d.ts +0 -1
  3. package/dist/components/Business/BsSulaQueryTable/setting.d.ts +1 -1
  4. package/dist/components/Business/BsSulaQueryTable/utils.d.ts +0 -1
  5. package/dist/components/Business/columnSettingTable/columnSetting.d.ts +0 -1
  6. package/dist/components/Functional/ExportFunctions/ExportIcon/index.d.ts +1 -1
  7. package/dist/components/Functional/QueryMutipleInput/index.d.ts +1 -2
  8. package/dist/components/Solution/RuleComponent/services.d.ts +1 -1
  9. package/dist/index.esm.js +1181 -1737
  10. package/dist/index.js +1175 -1733
  11. package/dist/utils/TableUtils.d.ts +2 -93
  12. package/dist/utils/index.d.ts +4 -6
  13. package/dist/utils/utils.d.ts +0 -13
  14. package/package.json +4 -7
  15. package/src/assets/32.svg +27 -27
  16. package/src/assets/addIcon.svg +17 -17
  17. package/src/assets/allfunc.svg +27 -27
  18. package/src/assets/arrowRight.svg +24 -24
  19. package/src/assets/btn-delete.svg +29 -29
  20. package/src/assets/btn-edit.svg +19 -19
  21. package/src/assets/btn-more.svg +17 -17
  22. package/src/assets/btn-submit.svg +19 -19
  23. package/src/assets/close.svg +26 -26
  24. package/src/assets/drag.svg +17 -17
  25. package/src/assets/fixed-left.svg +15 -15
  26. package/src/assets/fixed-right.svg +15 -15
  27. package/src/assets/guanbi.svg +15 -15
  28. package/src/assets/icon-quanping.svg +15 -15
  29. package/src/assets/icon-shezhi.svg +17 -17
  30. package/src/assets/label_icon_bottom.svg +25 -25
  31. package/src/assets/list-no-img.svg +21 -21
  32. package/src/assets/morentouxiang-32.svg +23 -23
  33. package/src/assets/scanning.svg +24 -24
  34. package/src/assets/upExport.svg +22 -22
  35. package/src/common/ENUM.ts +41 -41
  36. package/src/components/Business/AddSelectBusiness/index.tsx +22 -40
  37. package/src/components/Business/BsLayouts/Components/AllFunc/index.less +153 -153
  38. package/src/components/Business/BsLayouts/Components/AllFunc/index.tsx +70 -70
  39. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.less +90 -90
  40. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.tsx +37 -37
  41. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.tsx +242 -242
  42. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.tsx +384 -384
  43. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.tsx +74 -74
  44. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.less +64 -64
  45. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.tsx +153 -153
  46. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.tsx +157 -163
  47. package/src/components/Business/BsLayouts/Components/RightContent/LoginModal.tsx +85 -85
  48. package/src/components/Business/BsLayouts/Components/RightContent/index.tsx +2 -19
  49. package/src/components/Business/BsLayouts/Components/SearchFunc/index.tsx +75 -75
  50. package/src/components/Business/BsLayouts/index.less +79 -79
  51. package/src/components/Business/BsLayouts/index.tsx +1484 -1494
  52. package/src/components/Business/BsLayouts/service.ts +2 -2
  53. package/src/components/Business/BsLayouts/utils.tsx +203 -203
  54. package/src/components/Business/BsSulaQueryTable/SearchItemSetting.tsx +9 -9
  55. package/src/components/Business/BsSulaQueryTable/index.less +221 -221
  56. package/src/components/Business/BsSulaQueryTable/index.tsx +175 -346
  57. package/src/components/Business/BsSulaQueryTable/setting.tsx +87 -125
  58. package/src/components/Business/BsSulaQueryTable/utils.tsx +34 -57
  59. package/src/components/Business/CommodityEntry/index.md +70 -70
  60. package/src/components/Business/CommodityEntry/index.tsx +80 -80
  61. package/src/components/Business/CommonGuideWrapper/index.less +112 -121
  62. package/src/components/Business/CommonGuideWrapper/index.md +39 -39
  63. package/src/components/Business/CommonGuideWrapper/index.tsx +84 -94
  64. package/src/components/Business/DetailPageWrapper/index.less +1 -9
  65. package/src/components/Business/DetailPageWrapper/index.tsx +110 -121
  66. package/src/components/Business/HomePageWrapper/index.md +45 -45
  67. package/src/components/Business/HomePageWrapper/index.tsx +162 -162
  68. package/src/components/Business/JsonQueryTable/configButton/index.js +20 -20
  69. package/src/components/Business/JsonQueryTable/configTree/component/compactArrayView.js +25 -25
  70. package/src/components/Business/JsonQueryTable/configTree/component/compactObjectView.js +30 -30
  71. package/src/components/Business/JsonQueryTable/configTree/index.js +82 -82
  72. package/src/components/Business/JsonQueryTable/configTree/index.less +44 -44
  73. package/src/components/Business/JsonQueryTable/configTree/parser/highlight.js +57 -57
  74. package/src/components/Business/JsonQueryTable/configTree/parser/index.js +124 -124
  75. package/src/components/Business/JsonQueryTable/configTree/render/iconRender.js +29 -29
  76. package/src/components/Business/JsonQueryTable/configTree/render/nameRender.js +22 -22
  77. package/src/components/Business/JsonQueryTable/configTree/treeNode.js +116 -116
  78. package/src/components/Business/JsonQueryTable/drawer/index.tsx +12 -12
  79. package/src/components/Business/JsonQueryTable/index.less +16 -16
  80. package/src/components/Business/JsonQueryTable/index.md +328 -328
  81. package/src/components/Business/JsonQueryTable/index.tsx +537 -535
  82. package/src/components/Business/JsonQueryTable/jsonEditor/index.js +346 -346
  83. package/src/components/Business/JsonQueryTable/jsonEditor/index.less +22 -22
  84. package/src/components/Business/JsonQueryTable/jsonEditor/lint/basicType.js +147 -147
  85. package/src/components/Business/JsonQueryTable/jsonEditor/lint/index.js +389 -389
  86. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/actions.js +118 -118
  87. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/dependency.js +22 -22
  88. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/index.js +21 -21
  89. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/request.js +65 -65
  90. package/src/components/Business/SearchSelect/utils.ts +3 -3
  91. package/src/components/Business/StateFlow/index.md +60 -60
  92. package/src/components/Business/StateFlow/index.tsx +29 -29
  93. package/src/components/Business/columnSettingTable/columnSetting.tsx +8 -10
  94. package/src/components/Business/columnSettingTable/index.less +247 -247
  95. package/src/components/Business/columnSettingTable/index.md +357 -357
  96. package/src/components/Business/columnSettingTable/utils.tsx +71 -71
  97. package/src/components/Business/moreTreeTable/FixedScrollBar.tsx +87 -87
  98. package/src/components/Business/moreTreeTable/hooks/useSticky.ts +21 -21
  99. package/src/components/Business/moreTreeTable/index.less +99 -99
  100. package/src/components/Business/moreTreeTable/index.tsx +387 -387
  101. package/src/components/Business/moreTreeTable/utils.ts +126 -126
  102. package/src/components/Functional/AddSelect/helps.ts +3 -4
  103. package/src/components/Functional/AddSelect/index.less +367 -367
  104. package/src/components/Functional/AddSelect/index.tsx +33 -79
  105. package/src/components/Functional/BillEntry/index.less +371 -371
  106. package/src/components/Functional/BillEntry/index.tsx +3 -3
  107. package/src/components/Functional/BsAntdSula/index.ts +2 -2
  108. package/src/components/Functional/DataImport/index.less +63 -63
  109. package/src/components/Functional/DataImport/index.tsx +3 -3
  110. package/src/components/Functional/DataValidation/index.less +63 -63
  111. package/src/components/Functional/DataValidation/index.tsx +3 -3
  112. package/src/components/Functional/EllipsisTooltip/index.d.ts +5 -5
  113. package/src/components/Functional/EllipsisTooltip/index.js +36 -36
  114. package/src/components/Functional/ExportFunctions/ExportIcon/index.tsx +5 -10
  115. package/src/components/Functional/QueryMutipleInput/index.less +37 -37
  116. package/src/components/Functional/QueryMutipleInput/index.tsx +1 -2
  117. package/src/components/Functional/SearchSelect/index.less +0 -6
  118. package/src/components/Functional/SearchSelect/index.tsx +45 -152
  119. package/src/components/Functional/SearchSelect/utils.ts +3 -3
  120. package/src/components/Functional/TreeSearchSelect/index.tsx +22 -24
  121. package/src/components/Solution/RuleComponent/Formula.tsx +335 -335
  122. package/src/components/Solution/RuleComponent/index.d.ts +29 -29
  123. package/src/components/Solution/RuleComponent/index.js +652 -7
  124. package/src/components/Solution/RuleComponent/index.less +230 -230
  125. package/src/components/Solution/RuleComponent/renderSpecificAction.js +99 -99
  126. package/src/components/Solution/RuleComponent/services.ts +13 -13
  127. package/src/plugin/TableColumnSetting/index.less +247 -247
  128. package/src/plugin/TableColumnSetting/index.md +50 -50
  129. package/src/plugin/TableColumnSetting/index.tsx +2 -2
  130. package/src/plugin/TableColumnSetting/utils.ts +19 -19
  131. package/src/utils/CheckOneUser/index.md +39 -39
  132. package/src/utils/CheckOneUser/index.ts +51 -51
  133. package/src/utils/LocalstorageUtils.ts +95 -95
  134. package/src/utils/TableUtils.tsx +18 -691
  135. package/src/utils/checkUtils.ts +39 -39
  136. package/src/utils/enumConfig.ts +11 -11
  137. package/src/utils/getFormMode.js +12 -12
  138. package/src/utils/index.ts +4 -6
  139. package/src/utils/requestUtils.ts +2 -29
  140. package/src/utils/serialize.js +7 -7
  141. package/src/utils/utils.ts +21 -64
  142. package/dist/components/Business/BsLayouts/Components/ChooseStore/index.d.ts +0 -3
  143. package/dist/components/Business/BsLayouts/Components/ChooseStore/services.d.ts +0 -1
  144. package/dist/components/Business/BsLayouts/Components/RightContent/i18n.d.ts +0 -9
  145. package/dist/components/Solution/RuleComponent/RenderCompItem.d.ts +0 -2
  146. package/dist/utils/businessUtils.d.ts +0 -27
  147. package/dist/utils/constant.d.ts +0 -37
  148. package/dist/utils/request.d.ts +0 -2
  149. package/src/assets/arrow_top.svg +0 -18
  150. package/src/components/Business/BsLayouts/Components/ChooseStore/index.less +0 -0
  151. package/src/components/Business/BsLayouts/Components/ChooseStore/index.tsx +0 -193
  152. package/src/components/Business/BsLayouts/Components/ChooseStore/services.ts +0 -10
  153. package/src/components/Business/BsLayouts/Components/RightContent/i18n.ts +0 -9
  154. package/src/components/Business/BsSulaQueryTable/bssulaquerytable.less +0 -5
  155. package/src/components/Solution/RuleComponent/RenderCompItem.tsx +0 -637
  156. package/src/utils/TableUtils.less +0 -52
  157. package/src/utils/businessUtils.ts +0 -441
  158. package/src/utils/constant.ts +0 -39
  159. package/src/utils/request.ts +0 -53
@@ -1,75 +1,75 @@
1
- // @ts-nocheck
2
- import React, {useState} from "react";
3
- import { Button, Drawer } from "antd";
4
- import DrawContent from "./DrawContent";
5
- import caidan from '../../../../../../assets/caidan.svg';
6
- import guanbi from '../../../../../../assets/guanbi.svg';
7
-
8
- const CustomerMenuHeader = ({collapsed, handleClose, originRoutes, itemPath}: any) => {
9
- const [isDrawer, setIsDrawer] = useState(false);
10
- const onClose = () => {
11
- setIsDrawer(false)
12
- }
13
- return (
14
- <>
15
- <div style={{width: '190px' }} className={'header_style'}>
16
- <div
17
- style={{
18
- padding: '0',
19
- }}
20
- >
21
- <div style={{display: 'flex',alignItems: 'center'}}>
22
- <Button
23
- // key={Math.random()}
24
- style={{
25
- width: '50px',
26
- height: '50px',
27
- borderRadius: '0px'
28
- }}
29
- type="primary"
30
- icon={
31
- !isDrawer ?
32
- <img style={{marginLeft: '-2px', height: '48px'}} src={caidan} width={48} height={48} /> :
33
- <img style={{marginLeft: '-2px', height: '48px'}} src={guanbi} width={48} height={48} />
34
- }
35
- onClick={(e) => {
36
- handleClose();
37
- e.stopPropagation();
38
- setIsDrawer(!isDrawer)
39
- }}
40
- />
41
- <div>
42
- {
43
- React.createElement('img', {
44
- src: './xinglan-logo.png',
45
- style: {
46
- width: '116px',
47
- height: '30px',
48
- marginLeft: '19px',
49
-
50
- },
51
- })
52
- }
53
- </div>
54
- </div>
55
- </div>
56
- </div>
57
- <Drawer
58
- style={{ top: 50, padding: '0' }}
59
- // title={<span style={{ fontWeight: 'bold', fontSize: 18 }}></span>}
60
- zIndex={9999}
61
- destroyOnClose
62
- headerStyle={{display: 'none'}}
63
- width={1080}
64
- className={'global_menu_draw'}
65
- placement="left"
66
- onClose={onClose}
67
- visible={isDrawer}
68
- >
69
- <DrawContent itemPath={itemPath} originRoutes={originRoutes} onClose={onClose} />
70
- </Drawer>
71
- </>
72
- )
73
- }
74
-
1
+ // @ts-nocheck
2
+ import React, {useState} from "react";
3
+ import { Button, Drawer } from "antd";
4
+ import DrawContent from "./DrawContent";
5
+ import caidan from '../../../../../../assets/caidan.svg';
6
+ import guanbi from '../../../../../../assets/guanbi.svg';
7
+
8
+ const CustomerMenuHeader = ({collapsed, handleClose, originRoutes, itemPath}: any) => {
9
+ const [isDrawer, setIsDrawer] = useState(false);
10
+ const onClose = () => {
11
+ setIsDrawer(false)
12
+ }
13
+ return (
14
+ <>
15
+ <div style={{width: '190px' }} className={'header_style'}>
16
+ <div
17
+ style={{
18
+ padding: '0',
19
+ }}
20
+ >
21
+ <div style={{display: 'flex',alignItems: 'center'}}>
22
+ <Button
23
+ // key={Math.random()}
24
+ style={{
25
+ width: '50px',
26
+ height: '50px',
27
+ borderRadius: '0px'
28
+ }}
29
+ type="primary"
30
+ icon={
31
+ !isDrawer ?
32
+ <img style={{marginLeft: '-2px', height: '48px'}} src={caidan} width={48} height={48} /> :
33
+ <img style={{marginLeft: '-2px', height: '48px'}} src={guanbi} width={48} height={48} />
34
+ }
35
+ onClick={(e) => {
36
+ handleClose();
37
+ e.stopPropagation();
38
+ setIsDrawer(!isDrawer)
39
+ }}
40
+ />
41
+ <div>
42
+ {
43
+ React.createElement('img', {
44
+ src: './xinglan-logo.png',
45
+ style: {
46
+ width: '116px',
47
+ height: '30px',
48
+ marginLeft: '19px',
49
+
50
+ },
51
+ })
52
+ }
53
+ </div>
54
+ </div>
55
+ </div>
56
+ </div>
57
+ <Drawer
58
+ style={{ top: 50, padding: '0' }}
59
+ // title={<span style={{ fontWeight: 'bold', fontSize: 18 }}></span>}
60
+ zIndex={9999}
61
+ destroyOnClose
62
+ headerStyle={{display: 'none'}}
63
+ width={1080}
64
+ className={'global_menu_draw'}
65
+ placement="left"
66
+ onClose={onClose}
67
+ visible={isDrawer}
68
+ >
69
+ <DrawContent itemPath={itemPath} originRoutes={originRoutes} onClose={onClose} />
70
+ </Drawer>
71
+ </>
72
+ )
73
+ }
74
+
75
75
  export default CustomerMenuHeader;
@@ -1,65 +1,65 @@
1
- .customer_menu_content {
2
- color: #b1bad4;
3
- background: #141620;
4
- display: flex;
5
- align-items: center;
6
- justify-content: center;
7
- font-size: 18px;
8
- height: 45px;
9
- border-bottom: 1px solid #3d4047;
10
- .ant-btn-link {
11
- color: #b1bad4 !important;
12
- font-size: 16px;
13
- height: 36px;
14
- }
15
- .ant-drawer-body {
16
- padding: 10px !important;
17
- }
18
- }
19
-
20
- .menu_drawer_header_warp {
21
- .ant-drawer-body {
22
- background-color: #F8F9FA;
23
- padding: 10px 0 0 0 !important;
24
- }
25
- }
26
-
27
- .menu_title_line {
28
- font-size: 16px;
29
- font-weight: bold;
30
- color: #b1bad4;
31
- text-align: center;
32
- margin-bottom: 10px;
33
- }
34
-
35
- .menu_item {
36
- line-height: 30px;
37
- color: rgba(44, 47, 46);
38
- overflow: hidden;
39
- text-overflow: ellipsis;
40
- white-space: nowrap;
41
- }
42
-
43
- .link_style:hover {
44
- background-color: #E4E7ED;
45
- cursor: pointer;
46
- }
47
-
48
-
49
-
50
- .header_style {
51
- height: 50px;
52
- position: fixed;
53
- top: 0;
54
- left: 0;
55
- padding: 0;
56
- display: flex;
57
- align-items: center;
58
- background-color: #ffffff;
59
- }
60
-
61
- .global_menu_draw {
62
- .ant-drawer-body {
63
- padding: 10px !important;
64
- }
1
+ .customer_menu_content {
2
+ color: #b1bad4;
3
+ background: #141620;
4
+ display: flex;
5
+ align-items: center;
6
+ justify-content: center;
7
+ font-size: 18px;
8
+ height: 45px;
9
+ border-bottom: 1px solid #3d4047;
10
+ .ant-btn-link {
11
+ color: #b1bad4 !important;
12
+ font-size: 16px;
13
+ height: 36px;
14
+ }
15
+ .ant-drawer-body {
16
+ padding: 10px !important;
17
+ }
18
+ }
19
+
20
+ .menu_drawer_header_warp {
21
+ .ant-drawer-body {
22
+ background-color: #F8F9FA;
23
+ padding: 10px 0 0 0 !important;
24
+ }
25
+ }
26
+
27
+ .menu_title_line {
28
+ font-size: 16px;
29
+ font-weight: bold;
30
+ color: #b1bad4;
31
+ text-align: center;
32
+ margin-bottom: 10px;
33
+ }
34
+
35
+ .menu_item {
36
+ line-height: 30px;
37
+ color: rgba(44, 47, 46);
38
+ overflow: hidden;
39
+ text-overflow: ellipsis;
40
+ white-space: nowrap;
41
+ }
42
+
43
+ .link_style:hover {
44
+ background-color: #E4E7ED;
45
+ cursor: pointer;
46
+ }
47
+
48
+
49
+
50
+ .header_style {
51
+ height: 50px;
52
+ position: fixed;
53
+ top: 0;
54
+ left: 0;
55
+ padding: 0;
56
+ display: flex;
57
+ align-items: center;
58
+ background-color: #ffffff;
59
+ }
60
+
61
+ .global_menu_draw {
62
+ .ant-drawer-body {
63
+ padding: 10px !important;
64
+ }
65
65
  }
@@ -1,154 +1,154 @@
1
- // @ts-nocheck
2
- import React, {
3
- useState,
4
- useEffect,
5
- forwardRef,
6
- useRef,
7
- useImperativeHandle
8
- } from "react";
9
- import { Button, Drawer, Modal, Menu } from 'antd';
10
- import addIcon from '../../../../../assets/addIcon.svg';
11
- import MenuSetting from "./MenuSetting";
12
- import { history } from "umi";
13
- import './index.less'
14
-
15
- const CustomerMenu = forwardRef(({isCollapse, handleClose, actionRef, originRoutes, itemPath}: any, ref) => {
16
- const menuSettingRef = useRef(null);
17
- const menuData = JSON.parse(localStorage.getItem(`customerMenu_${itemPath}_front`) || '[]');
18
-
19
- const [isDrawer, setIsDrawer]: any = useState(false);
20
- useImperativeHandle(ref, () => ({
21
- close: () => {
22
- setIsDrawer(false);
23
- },
24
- }));
25
-
26
- useEffect(() => {
27
- if (isCollapse) {
28
- setIsDrawer(false);
29
- }
30
- }, [isCollapse]);
31
-
32
- const onClose = () => {
33
- setIsDrawer(!isDrawer);
34
- };
35
-
36
- const showDrawer = (e) => {
37
- if (isCollapse) {
38
- return;
39
- }
40
- handleClose();
41
- e.stopPropagation();
42
- setIsDrawer(!isDrawer);
43
- };
44
-
45
-
46
- const handleOk = () => {
47
- menuSettingRef?.current?.saveMenuData();
48
- settingModalFn({
49
- ...settingModal,
50
- visible: false,
51
- });
52
- };
53
-
54
- const handleCancel = () => {
55
- settingModalFn({
56
- ...settingModal,
57
- visible: false,
58
- });
59
- };
60
-
61
- const [settingModal, settingModalFn] = useState({
62
- visible: false,
63
- onOk: handleOk,
64
- onCancel: handleCancel,
65
- })
66
-
67
-
68
- const handleMenuClick = (item: any) => {
69
- if (item.children || !item.component) return;
70
- setIsDrawer(!isDrawer);
71
- history.push({
72
- pathname: item.path
73
- })
74
- }
75
-
76
- const getMenuDom = (menuData) => {
77
- return menuData.map(item => (
78
- <div style={{paddingLeft: '10px'}}>
79
- <div onClick={()=> {handleMenuClick(item)}} className={`${'menu_item'} ${item.children || !item.component ? '' : 'link_style'}`}
80
- style={{fontWeight: item.children || !item.component ? 'bolder' : '400', paddingLeft: '4px'}}>
81
- {item.name}
82
- </div>
83
- {
84
- !!item.children && !!item.children.length && getMenuDom(item.children)
85
- }
86
- </div>
87
- ))
88
- }
89
-
90
- return (
91
- <div className={'customer_menu_content'}>
92
- <div
93
- style={{cursor: 'pointer'}}
94
- onClick={(e) => {
95
- handleClose();
96
- settingModalFn({
97
- ...settingModal,
98
- visible: true,
99
- });
100
- }}
101
- >
102
- <img style={{marginTop: '-3px'}} width={24} src={addIcon} />
103
- <Button
104
- type='link'
105
- style={{paddingLeft: '5px'}}
106
- >
107
- 自定义菜单
108
- </Button>
109
- </div>
110
- {!isCollapse && (
111
- <Drawer
112
- style={{ left: isDrawer ? 140 : 0 }}
113
- title={
114
- <span style={{ fontWeight: 'bold', fontSize: 18 }}>自定义菜单</span>
115
- }
116
- zIndex={19}
117
- headerStyle={{display: 'none'}}
118
- width={200}
119
- className={'menu_drawer_header_warp'}
120
- placement="left"
121
- onClose={onClose}
122
- visible={isDrawer}
123
- >
124
- <div>
125
- <p className={'menu_title_line'}>自定义菜单</p>
126
- {
127
- getMenuDom(menuData)
128
- }
129
- </div>
130
- </Drawer>
131
- )}
132
- <Modal
133
- title={
134
- <span style={{ fontWeight: '600', fontSize: 18}}>自定义菜单设置</span>
135
- }
136
- zIndex={999}
137
- width={800}
138
- destroyOnClose
139
- {
140
- ...settingModal
141
- }
142
- >
143
- <MenuSetting
144
- originRoutes={originRoutes}
145
- actionRef={actionRef}
146
- ref={menuSettingRef}
147
- itemPath={itemPath}
148
- />
149
- </Modal>
150
- </div>
151
- )
152
- })
153
-
1
+ // @ts-nocheck
2
+ import React, {
3
+ useState,
4
+ useEffect,
5
+ forwardRef,
6
+ useRef,
7
+ useImperativeHandle
8
+ } from "react";
9
+ import { Button, Drawer, Modal, Menu } from 'antd';
10
+ import addIcon from '../../../../../assets/addIcon.svg';
11
+ import MenuSetting from "./MenuSetting";
12
+ import { history } from "umi";
13
+ import './index.less'
14
+
15
+ const CustomerMenu = forwardRef(({isCollapse, handleClose, actionRef, originRoutes, itemPath}: any, ref) => {
16
+ const menuSettingRef = useRef(null);
17
+ const menuData = JSON.parse(localStorage.getItem(`customerMenu_${itemPath}_front`) || '[]');
18
+
19
+ const [isDrawer, setIsDrawer]: any = useState(false);
20
+ useImperativeHandle(ref, () => ({
21
+ close: () => {
22
+ setIsDrawer(false);
23
+ },
24
+ }));
25
+
26
+ useEffect(() => {
27
+ if (isCollapse) {
28
+ setIsDrawer(false);
29
+ }
30
+ }, [isCollapse]);
31
+
32
+ const onClose = () => {
33
+ setIsDrawer(!isDrawer);
34
+ };
35
+
36
+ const showDrawer = (e) => {
37
+ if (isCollapse) {
38
+ return;
39
+ }
40
+ handleClose();
41
+ e.stopPropagation();
42
+ setIsDrawer(!isDrawer);
43
+ };
44
+
45
+
46
+ const handleOk = () => {
47
+ menuSettingRef?.current?.saveMenuData();
48
+ settingModalFn({
49
+ ...settingModal,
50
+ visible: false,
51
+ });
52
+ };
53
+
54
+ const handleCancel = () => {
55
+ settingModalFn({
56
+ ...settingModal,
57
+ visible: false,
58
+ });
59
+ };
60
+
61
+ const [settingModal, settingModalFn] = useState({
62
+ visible: false,
63
+ onOk: handleOk,
64
+ onCancel: handleCancel,
65
+ })
66
+
67
+
68
+ const handleMenuClick = (item: any) => {
69
+ if (item.children || !item.component) return;
70
+ setIsDrawer(!isDrawer);
71
+ history.push({
72
+ pathname: item.path
73
+ })
74
+ }
75
+
76
+ const getMenuDom = (menuData) => {
77
+ return menuData.map(item => (
78
+ <div style={{paddingLeft: '10px'}}>
79
+ <div onClick={()=> {handleMenuClick(item)}} className={`${'menu_item'} ${item.children || !item.component ? '' : 'link_style'}`}
80
+ style={{fontWeight: item.children || !item.component ? 'bolder' : '400', paddingLeft: '4px'}}>
81
+ {item.name}
82
+ </div>
83
+ {
84
+ !!item.children && !!item.children.length && getMenuDom(item.children)
85
+ }
86
+ </div>
87
+ ))
88
+ }
89
+
90
+ return (
91
+ <div className={'customer_menu_content'}>
92
+ <div
93
+ style={{cursor: 'pointer'}}
94
+ onClick={(e) => {
95
+ handleClose();
96
+ settingModalFn({
97
+ ...settingModal,
98
+ visible: true,
99
+ });
100
+ }}
101
+ >
102
+ <img style={{marginTop: '-3px'}} width={24} src={addIcon} />
103
+ <Button
104
+ type='link'
105
+ style={{paddingLeft: '5px'}}
106
+ >
107
+ 自定义菜单
108
+ </Button>
109
+ </div>
110
+ {!isCollapse && (
111
+ <Drawer
112
+ style={{ left: isDrawer ? 140 : 0 }}
113
+ title={
114
+ <span style={{ fontWeight: 'bold', fontSize: 18 }}>自定义菜单</span>
115
+ }
116
+ zIndex={19}
117
+ headerStyle={{display: 'none'}}
118
+ width={200}
119
+ className={'menu_drawer_header_warp'}
120
+ placement="left"
121
+ onClose={onClose}
122
+ visible={isDrawer}
123
+ >
124
+ <div>
125
+ <p className={'menu_title_line'}>自定义菜单</p>
126
+ {
127
+ getMenuDom(menuData)
128
+ }
129
+ </div>
130
+ </Drawer>
131
+ )}
132
+ <Modal
133
+ title={
134
+ <span style={{ fontWeight: '600', fontSize: 18}}>自定义菜单设置</span>
135
+ }
136
+ zIndex={999}
137
+ width={800}
138
+ destroyOnClose
139
+ {
140
+ ...settingModal
141
+ }
142
+ >
143
+ <MenuSetting
144
+ originRoutes={originRoutes}
145
+ actionRef={actionRef}
146
+ ref={menuSettingRef}
147
+ itemPath={itemPath}
148
+ />
149
+ </Modal>
150
+ </div>
151
+ )
152
+ })
153
+
154
154
  export default CustomerMenu;