@bit-sun/business-component 2.2.1 → 2.2.3

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 (180) 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/index.d.ts +1 -0
  9. package/dist/index.esm.js +6152 -5276
  10. package/dist/index.js +6151 -5274
  11. package/dist/plugin/TableColumnSetting/index.d.ts +64 -0
  12. package/dist/plugin/TableColumnSetting/utils.d.ts +1 -0
  13. package/dist/utils/LocalstorageUtils.d.ts +2 -0
  14. package/docs/index.md +21 -21
  15. package/lib/assets/drag.svg +17 -17
  16. package/lib/assets/exportFail.svg +37 -37
  17. package/lib/assets/exportProcessing.svg +28 -28
  18. package/lib/assets/exportSuccess.svg +34 -34
  19. package/lib/assets/label_icon_bottom.svg +25 -25
  20. package/lib/assets/upExport.svg +22 -22
  21. package/package.json +77 -77
  22. package/src/assets/32.svg +27 -27
  23. package/src/assets/addIcon.svg +17 -17
  24. package/src/assets/allfunc.svg +27 -27
  25. package/src/assets/arrowRight.svg +24 -24
  26. package/src/assets/btn-delete.svg +29 -29
  27. package/src/assets/btn-edit.svg +19 -19
  28. package/src/assets/btn-more.svg +17 -17
  29. package/src/assets/btn-submit.svg +19 -19
  30. package/src/assets/caidan.svg +11 -11
  31. package/src/assets/close.svg +26 -26
  32. package/src/assets/drag.svg +17 -17
  33. package/src/assets/exportFail.svg +37 -37
  34. package/src/assets/exportProcessing.svg +28 -28
  35. package/src/assets/exportSuccess.svg +34 -34
  36. package/src/assets/fixed-left-active.svg +11 -11
  37. package/src/assets/fixed-left.svg +15 -15
  38. package/src/assets/fixed-right-active.svg +11 -11
  39. package/src/assets/fixed-right.svg +15 -15
  40. package/src/assets/guanbi.svg +15 -15
  41. package/src/assets/icon-quanping.svg +15 -15
  42. package/src/assets/icon-shezhi.svg +17 -17
  43. package/src/assets/label_icon_bottom.svg +25 -25
  44. package/src/assets/list-no-img.svg +21 -21
  45. package/src/assets/morentouxiang-32.svg +23 -23
  46. package/src/assets/scanning.svg +24 -24
  47. package/src/assets/upExport.svg +22 -22
  48. package/src/components/Business/AddSelectBusiness/index.md +63 -42
  49. package/src/components/Business/AddSelectBusiness/index.tsx +344 -341
  50. package/src/components/Business/BsLayouts/Components/AllFunc/drawContent.tsx +111 -111
  51. package/src/components/Business/BsLayouts/Components/AllFunc/index.less +153 -153
  52. package/src/components/Business/BsLayouts/Components/AllFunc/index.tsx +70 -70
  53. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.less +90 -90
  54. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.tsx +37 -37
  55. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.tsx +242 -242
  56. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.tsx +384 -384
  57. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.tsx +285 -285
  58. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.tsx +74 -74
  59. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/drawContent.less +170 -170
  60. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.less +64 -64
  61. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.tsx +153 -153
  62. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.less +72 -72
  63. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.tsx +157 -157
  64. package/src/components/Business/BsLayouts/Components/RightContent/LoginModal.tsx +85 -85
  65. package/src/components/Business/BsLayouts/Components/RightContent/home.less +218 -218
  66. package/src/components/Business/BsLayouts/Components/RightContent/index.tsx +156 -156
  67. package/src/components/Business/BsLayouts/Components/SearchFunc/index.less +160 -160
  68. package/src/components/Business/BsLayouts/Components/SearchFunc/index.tsx +75 -75
  69. package/src/components/Business/BsLayouts/index.less +79 -79
  70. package/src/components/Business/BsLayouts/index.tsx +1479 -1479
  71. package/src/components/Business/BsLayouts/service.ts +10 -10
  72. package/src/components/Business/BsLayouts/utils.tsx +230 -230
  73. package/src/components/Business/BsSulaQueryTable/index.less +219 -219
  74. package/src/components/Business/BsSulaQueryTable/index.tsx +480 -480
  75. package/src/components/Business/BsSulaQueryTable/setting.tsx +802 -802
  76. package/src/components/Business/BsSulaQueryTable/utils.less +65 -65
  77. package/src/components/Business/BsSulaQueryTable/utils.tsx +688 -688
  78. package/src/components/Business/CommodityEntry/index.md +70 -70
  79. package/src/components/Business/CommodityEntry/index.tsx +80 -80
  80. package/src/components/Business/CommonAlert/index.tsx +23 -23
  81. package/src/components/Business/CommonGuideWrapper/index.less +111 -111
  82. package/src/components/Business/CommonGuideWrapper/index.md +39 -39
  83. package/src/components/Business/CommonGuideWrapper/index.tsx +83 -83
  84. package/src/components/Business/DetailPageWrapper/index.less +79 -79
  85. package/src/components/Business/DetailPageWrapper/index.tsx +335 -335
  86. package/src/components/Business/DetailPageWrapper/utils.tsx +100 -100
  87. package/src/components/Business/HomePageWrapper/index.less +33 -33
  88. package/src/components/Business/HomePageWrapper/index.md +45 -45
  89. package/src/components/Business/HomePageWrapper/index.tsx +162 -162
  90. package/src/components/Business/JsonQueryTable/components/FieldsModifyModal.tsx +824 -824
  91. package/src/components/Business/JsonQueryTable/components/FieldsSettingsTable.tsx +201 -201
  92. package/src/components/Business/JsonQueryTable/components/Formula.tsx +205 -205
  93. package/src/components/Business/JsonQueryTable/components/MaintainOptions.tsx +127 -127
  94. package/src/components/Business/JsonQueryTable/configButton/index.js +20 -20
  95. package/src/components/Business/JsonQueryTable/configTree/component/compactArrayView.js +25 -25
  96. package/src/components/Business/JsonQueryTable/configTree/component/compactObjectView.js +30 -30
  97. package/src/components/Business/JsonQueryTable/configTree/index.js +82 -82
  98. package/src/components/Business/JsonQueryTable/configTree/index.less +44 -44
  99. package/src/components/Business/JsonQueryTable/configTree/parser/highlight.js +57 -57
  100. package/src/components/Business/JsonQueryTable/configTree/parser/index.js +124 -124
  101. package/src/components/Business/JsonQueryTable/configTree/render/iconRender.js +29 -29
  102. package/src/components/Business/JsonQueryTable/configTree/render/nameRender.js +22 -22
  103. package/src/components/Business/JsonQueryTable/configTree/treeNode.js +116 -116
  104. package/src/components/Business/JsonQueryTable/drawer/index.tsx +12 -12
  105. package/src/components/Business/JsonQueryTable/function.ts +62 -62
  106. package/src/components/Business/JsonQueryTable/index.less +16 -16
  107. package/src/components/Business/JsonQueryTable/index.md +328 -328
  108. package/src/components/Business/JsonQueryTable/index.tsx +320 -320
  109. package/src/components/Business/JsonQueryTable/jsonEditor/index.js +346 -346
  110. package/src/components/Business/JsonQueryTable/jsonEditor/index.less +22 -22
  111. package/src/components/Business/JsonQueryTable/jsonEditor/lint/basicType.js +147 -147
  112. package/src/components/Business/JsonQueryTable/jsonEditor/lint/index.js +389 -389
  113. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/actions.js +118 -118
  114. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/dependency.js +22 -22
  115. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/index.js +21 -21
  116. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/request.js +65 -65
  117. package/src/components/Business/JsonQueryTable/static.ts +356 -356
  118. package/src/components/Business/SearchSelect/BusinessUtils.ts +1586 -1586
  119. package/src/components/Business/SearchSelect/common.ts +53 -53
  120. package/src/components/Business/SearchSelect/index.md +1254 -1254
  121. package/src/components/Business/SearchSelect/index.tsx +51 -51
  122. package/src/components/Business/SearchSelect/utils.ts +100 -100
  123. package/src/components/Business/StateFlow/index.less +130 -130
  124. package/src/components/Business/StateFlow/index.md +60 -60
  125. package/src/components/Business/StateFlow/index.tsx +29 -29
  126. package/src/components/Business/TreeSearchSelect/index.md +126 -126
  127. package/src/components/Business/TreeSearchSelect/index.tsx +34 -34
  128. package/src/components/Business/TreeSearchSelect/utils.ts +60 -60
  129. package/src/components/Business/columnSettingTable/columnSetting.tsx +764 -764
  130. package/src/components/Business/columnSettingTable/index.less +247 -247
  131. package/src/components/Business/columnSettingTable/index.md +357 -357
  132. package/src/components/Business/columnSettingTable/index.tsx +232 -232
  133. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +240 -240
  134. package/src/components/Business/columnSettingTable/utils.tsx +68 -68
  135. package/src/components/Business/moreTreeTable/index.less +99 -99
  136. package/src/components/Business/moreTreeTable/index.md +508 -508
  137. package/src/components/Business/moreTreeTable/index.tsx +315 -315
  138. package/src/components/Business/moreTreeTable/utils.ts +126 -126
  139. package/src/components/Functional/AddSelect/index.less +367 -367
  140. package/src/components/Functional/AddSelect/index.md +155 -154
  141. package/src/components/Functional/AddSelect/index.tsx +1072 -994
  142. package/src/components/Functional/BillEntry/index.less +371 -371
  143. package/src/components/Functional/BillEntry/index.md +39 -39
  144. package/src/components/Functional/BillEntry/index.tsx +766 -670
  145. package/src/components/Functional/DataImport/index.less +63 -63
  146. package/src/components/Functional/DataImport/index.md +44 -44
  147. package/src/components/Functional/DataImport/index.tsx +695 -695
  148. package/src/components/Functional/DataValidation/index.less +63 -63
  149. package/src/components/Functional/DataValidation/index.md +39 -39
  150. package/src/components/Functional/DataValidation/index.tsx +687 -687
  151. package/src/components/Functional/ExportFunctions/ExportIcon/index.md +37 -37
  152. package/src/components/Functional/ExportFunctions/ExportIcon/index.tsx +59 -59
  153. package/src/components/Functional/QueryMutipleInput/index.less +37 -37
  154. package/src/components/Functional/QueryMutipleInput/index.md +33 -33
  155. package/src/components/Functional/QueryMutipleInput/index.tsx +128 -128
  156. package/src/components/Functional/SearchSelect/index.less +115 -115
  157. package/src/components/Functional/SearchSelect/index.md +141 -141
  158. package/src/components/Functional/SearchSelect/index.tsx +813 -813
  159. package/src/components/Functional/SearchSelect/utils.ts +3 -3
  160. package/src/components/Functional/TreeSearchSelect/index.md +47 -47
  161. package/src/components/Functional/TreeSearchSelect/index.tsx +149 -149
  162. package/src/index.ts +34 -34
  163. package/src/plugin/TableColumnSetting/index.less +247 -0
  164. package/src/plugin/TableColumnSetting/index.md +50 -0
  165. package/src/plugin/TableColumnSetting/index.tsx +724 -0
  166. package/src/plugin/TableColumnSetting/utils.ts +19 -0
  167. package/src/styles/bsDefault.less +1906 -1906
  168. package/src/utils/CheckOneUser/index.md +39 -39
  169. package/src/utils/CheckOneUser/index.ts +51 -51
  170. package/src/utils/LocalstorageUtils.ts +33 -0
  171. package/src/utils/TableUtils.tsx +18 -18
  172. package/src/utils/checkUtils.ts +39 -39
  173. package/src/utils/enumConfig.ts +10 -10
  174. package/src/utils/getFormMode.js +12 -12
  175. package/src/utils/index.ts +2 -2
  176. package/src/utils/requestUtils.ts +33 -33
  177. package/src/utils/serialize.js +7 -7
  178. package/src/utils/utils.ts +183 -183
  179. package/tsconfig.json +29 -29
  180. package/typings.d.ts +4 -4
@@ -1,101 +1,101 @@
1
- // @ts-nocheck
2
- import { request } from 'bssula';
3
- import { Modal } from 'antd';
4
- import { ExclamationCircleOutlined } from '@ant-design/icons';
5
- import React from 'react';
6
- import { history } from 'umi';
7
-
8
- interface actionItem {
9
- [propName: string]: any;
10
- }
11
-
12
- export const doDetailPageAction = (config: actionItem) => {
13
- if (config?.type == 'modal') {
14
- const { confirm } = Modal;
15
- let requestConfig = {
16
- url: config.url,
17
- method: config.method,
18
- params: config.params || {},
19
- successMessage: config?.successMessage,
20
- };
21
-
22
-
23
- const onOk = () => {
24
- request(requestConfig).then((res) => {
25
- if (config.backPath) {
26
- history.push({
27
- pathname: config.backPath
28
- })
29
- }
30
- // 是否执行成功之后的回调
31
- if (typeof (config.successCb) === 'function') {
32
- config.successCb(res);
33
- }
34
- });
35
- };
36
-
37
- if (config.noConfirm) {
38
- onOk();
39
- } else {
40
- confirm({
41
- title: config.title,
42
- icon: <ExclamationCircleOutlined />,
43
- content: config.content,
44
- okText: '确定',
45
- okType: 'danger',
46
- cancelText: '取消',
47
- onOk,
48
- onCancel() {
49
- console.log('Cancel');
50
- },
51
- });
52
- }
53
- }
54
- }
55
-
56
- export const getBreadcrumbNameMap = (menuData) => {
57
- const routerMap = {};
58
-
59
- const flattenMenuData = (data) => {
60
- data.forEach((menuItem) => {
61
- if (menuItem.children) {
62
- flattenMenuData(menuItem.children);
63
- }
64
- // Reduce memory usage
65
- routerMap[menuItem.path] = menuItem;
66
- });
67
- };
68
- flattenMenuData(menuData);
69
- return routerMap;
70
- };
71
-
72
- export const judgeIsEmpty = (value: any) => {
73
- if (value == null || value == undefined || String(value).trim() == '') {
74
- return true;
75
- }
76
- return false;
77
- };
78
-
79
- export const getMainCrumbNameMap = (menuData) => {
80
- const routerMap = {};
81
-
82
- const flattenMenuData = (data, parent) => {
83
- let pNameMap = parent.nameMap ? [...parent.nameMap] : [];
84
- data.forEach((menuItem) => {
85
- let newMenuItem = {
86
- ...menuItem,
87
- nameMap: [...pNameMap, menuItem.name]
88
- }
89
- if (newMenuItem.children) {
90
- flattenMenuData(newMenuItem.children, newMenuItem);
91
- }
92
-
93
- // Reduce memory usage
94
- routerMap[menuItem.path] = {
95
- ...newMenuItem,
96
- };
97
- });
98
- };
99
- flattenMenuData(menuData, {});
100
- return routerMap;
1
+ // @ts-nocheck
2
+ import { request } from 'bssula';
3
+ import { Modal } from 'antd';
4
+ import { ExclamationCircleOutlined } from '@ant-design/icons';
5
+ import React from 'react';
6
+ import { history } from 'umi';
7
+
8
+ interface actionItem {
9
+ [propName: string]: any;
10
+ }
11
+
12
+ export const doDetailPageAction = (config: actionItem) => {
13
+ if (config?.type == 'modal') {
14
+ const { confirm } = Modal;
15
+ let requestConfig = {
16
+ url: config.url,
17
+ method: config.method,
18
+ params: config.params || {},
19
+ successMessage: config?.successMessage,
20
+ };
21
+
22
+
23
+ const onOk = () => {
24
+ request(requestConfig).then((res) => {
25
+ if (config.backPath) {
26
+ history.push({
27
+ pathname: config.backPath
28
+ })
29
+ }
30
+ // 是否执行成功之后的回调
31
+ if (typeof (config.successCb) === 'function') {
32
+ config.successCb(res);
33
+ }
34
+ });
35
+ };
36
+
37
+ if (config.noConfirm) {
38
+ onOk();
39
+ } else {
40
+ confirm({
41
+ title: config.title,
42
+ icon: <ExclamationCircleOutlined />,
43
+ content: config.content,
44
+ okText: '确定',
45
+ okType: 'danger',
46
+ cancelText: '取消',
47
+ onOk,
48
+ onCancel() {
49
+ console.log('Cancel');
50
+ },
51
+ });
52
+ }
53
+ }
54
+ }
55
+
56
+ export const getBreadcrumbNameMap = (menuData) => {
57
+ const routerMap = {};
58
+
59
+ const flattenMenuData = (data) => {
60
+ data.forEach((menuItem) => {
61
+ if (menuItem.children) {
62
+ flattenMenuData(menuItem.children);
63
+ }
64
+ // Reduce memory usage
65
+ routerMap[menuItem.path] = menuItem;
66
+ });
67
+ };
68
+ flattenMenuData(menuData);
69
+ return routerMap;
70
+ };
71
+
72
+ export const judgeIsEmpty = (value: any) => {
73
+ if (value == null || value == undefined || String(value).trim() == '') {
74
+ return true;
75
+ }
76
+ return false;
77
+ };
78
+
79
+ export const getMainCrumbNameMap = (menuData) => {
80
+ const routerMap = {};
81
+
82
+ const flattenMenuData = (data, parent) => {
83
+ let pNameMap = parent.nameMap ? [...parent.nameMap] : [];
84
+ data.forEach((menuItem) => {
85
+ let newMenuItem = {
86
+ ...menuItem,
87
+ nameMap: [...pNameMap, menuItem.name]
88
+ }
89
+ if (newMenuItem.children) {
90
+ flattenMenuData(newMenuItem.children, newMenuItem);
91
+ }
92
+
93
+ // Reduce memory usage
94
+ routerMap[menuItem.path] = {
95
+ ...newMenuItem,
96
+ };
97
+ });
98
+ };
99
+ flattenMenuData(menuData, {});
100
+ return routerMap;
101
101
  }
@@ -1,33 +1,33 @@
1
- .home_page_head {
2
- height: 54px;
3
- display: flex;
4
- justify-content: space-between;
5
- align-items: center;
6
- background-color: #FFFFFF;
7
- border-bottom: 1px solid #f0f0f0;
8
- padding: 0 20px;
9
- .home_page_title {
10
- height: 20px;
11
- font-family: PingFangSC-Medium;
12
- font-weight: 600;
13
- font-size: 16px;
14
- color: #000000;
15
- letter-spacing: 0;
16
- line-height: 20px;
17
- flex-grow: 1;
18
- margin-top: 2px;
19
- }
20
- .ant-breadcrumb {
21
- display: block !important;
22
- .ant-breadcrumb-separator {
23
- margin: 0 2px;
24
- }
25
- li .bread_name {
26
-
27
- color: #8A8F8D;
28
- font-size: 12px;
29
- line-height: 16px;
30
- cursor: pointer;
31
- }
32
- }
33
- }
1
+ .home_page_head {
2
+ height: 54px;
3
+ display: flex;
4
+ justify-content: space-between;
5
+ align-items: center;
6
+ background-color: #FFFFFF;
7
+ border-bottom: 1px solid #f0f0f0;
8
+ padding: 0 20px;
9
+ .home_page_title {
10
+ height: 20px;
11
+ font-family: PingFangSC-Medium;
12
+ font-weight: 600;
13
+ font-size: 16px;
14
+ color: #000000;
15
+ letter-spacing: 0;
16
+ line-height: 20px;
17
+ flex-grow: 1;
18
+ margin-top: 2px;
19
+ }
20
+ .ant-breadcrumb {
21
+ display: block !important;
22
+ .ant-breadcrumb-separator {
23
+ margin: 0 2px;
24
+ }
25
+ li .bread_name {
26
+
27
+ color: #8A8F8D;
28
+ font-size: 12px;
29
+ line-height: 16px;
30
+ cursor: pointer;
31
+ }
32
+ }
33
+ }
@@ -1,45 +1,45 @@
1
- ---
2
- nav:
3
- title: '组件'
4
- order: 1
5
- group:
6
- title: 业务组件
7
- order: 1
8
- title: 标题组件
9
- order: 1
10
- ---
11
-
12
- # HomePageWrapper
13
-
14
-
15
- ## 首页标题组件
16
-
17
- ```tsx
18
- import { HomePageWrapper } from '../../../index.ts';
19
- import React, { useState } from 'react';
20
-
21
- export default () => {
22
- const routes = [
23
- {
24
- path: '/',
25
- name: 'welcome',
26
- routes: [
27
- {
28
- path: '/components',
29
- name: '组件',
30
- routes: [
31
- {
32
- path: '/components/business/home-page-wrapper',
33
- name: '标题组件',
34
- component: 'aaa'
35
- }
36
- ]
37
- }
38
- ]
39
- }
40
- ]
41
- return (
42
- <HomePageWrapper routes={routes} />
43
- );
44
- };
45
- ```
1
+ ---
2
+ nav:
3
+ title: '组件'
4
+ order: 1
5
+ group:
6
+ title: 业务组件
7
+ order: 1
8
+ title: 标题组件
9
+ order: 1
10
+ ---
11
+
12
+ # HomePageWrapper
13
+
14
+
15
+ ## 首页标题组件
16
+
17
+ ```tsx
18
+ import { HomePageWrapper } from '../../../index.ts';
19
+ import React, { useState } from 'react';
20
+
21
+ export default () => {
22
+ const routes = [
23
+ {
24
+ path: '/',
25
+ name: 'welcome',
26
+ routes: [
27
+ {
28
+ path: '/components',
29
+ name: '组件',
30
+ routes: [
31
+ {
32
+ path: '/components/business/home-page-wrapper',
33
+ name: '标题组件',
34
+ component: 'aaa'
35
+ }
36
+ ]
37
+ }
38
+ ]
39
+ }
40
+ ]
41
+ return (
42
+ <HomePageWrapper routes={routes} />
43
+ );
44
+ };
45
+ ```
@@ -1,162 +1,162 @@
1
- // @ts-nocheck
2
- import React, { useEffect, useState, useMemo } from 'react';
3
- import { getMainCrumbNameMap } from '../DetailPageWrapper/utils';
4
- import { memoizeOneFormatter } from '@/utils/utils';
5
- import { Breadcrumb, Space } from 'antd';
6
- import './index.less';
7
- import { useLocation, formatMessage } from 'umi';
8
- import CommonAlert from '../CommonAlert';
9
- import ENUM from '@/utils/enumConfig';
10
-
11
- export default (props: any) => {
12
- const { pathname } = useLocation();
13
- const [id]: any = useState(pathname + 'id');
14
- const { children, ...restProps} = props;
15
-
16
- return (
17
- <div id={id} className={'home_page_wrapper'}>
18
- <HeaderWrapper
19
- pathname={pathname}
20
- {
21
- ...restProps
22
- }
23
- />
24
- {props.children}
25
- </div>
26
- );
27
- };
28
-
29
- const HeaderWrapper = React.memo(
30
- ({
31
- pathname,
32
- routes=[],
33
- itemPath,
34
- alertProps,
35
- extra,
36
- title,
37
- pathToRegexp, //改为从项目代码透传该方法
38
- }: { pathname: string, routes: any[], itemPath: string, alertProps: any }) => {
39
- const [breadcrumbArr, setBreadCrumbArr]: any = useState([]);
40
- const basePath = window.top == window ? '' : `/${itemPath}`;
41
- const menuRoutes =
42
- window.top == window
43
- ? routes.find((item) => item.path === '/')?.routes || []
44
- : JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.LIMIT_MENU_DATA) || '[]');
45
-
46
- const breadcrumbNameMap = getMainCrumbNameMap(
47
- memoizeOneFormatter(menuRoutes, ''),
48
- );
49
-
50
- const matchParamsPath = (pathname: string, breadcrumbNameMap: object) => {
51
- const pathKey: any = Object.keys(breadcrumbNameMap).find((key) =>
52
- pathToRegexp ? pathToRegexp(key).test(pathname) : false
53
- );
54
-
55
- return pathKey ? breadcrumbNameMap[pathKey] : undefined;
56
- };
57
-
58
- const getPageTitle = (pathname: string) => {
59
- const currRouterData = matchParamsPath(
60
- `${basePath}${pathname}`,
61
- breadcrumbNameMap,
62
- );
63
-
64
- if (!currRouterData) {
65
- return '';
66
- }
67
-
68
- let breadcrumbArrs = currRouterData.nameMap || [];
69
- if (breadcrumbArrs.length && title) {
70
- breadcrumbArrs.pop();
71
- breadcrumbArrs.push(title)
72
- }
73
- setBreadCrumbArr([...breadcrumbArrs])
74
-
75
- const pageName = formatMessage({
76
- id: currRouterData.locale || currRouterData.name,
77
- defaultMessage: currRouterData.name,
78
- });
79
- return title ? title : window.top === window ? pageName : `${currRouterData.name}`;
80
- };
81
-
82
- const pageTitle = useMemo(() => getPageTitle(pathname), [pathname, title]);
83
-
84
- useEffect(() => {}, [pathname]);
85
-
86
- // const breadcrumbArr = `${basePath}${pathname}`
87
- // .split('/')
88
- // .slice(1)
89
- // .map((_item, index, arr) =>
90
- // matchParamsPath(
91
- // `/${arr.slice(0, index + 1).join('/')}`,
92
- // breadcrumbNameMap,
93
- // ),
94
- // )
95
- // .filter((item) => item);
96
-
97
-
98
- return (
99
- <div>
100
- <div className={'home_page_head'}>
101
- <div>
102
- <div className={'home_page_title'}>{pageTitle}</div>
103
- <Breadcrumb>
104
- {breadcrumbArr.map((item) => (
105
- <Breadcrumb.Item
106
- key={item}
107
- onClick={() => {
108
- // if (
109
- // item.path &&
110
- // !item.children &&
111
- // !pathToRegexp(item.path).test(`${basePath}${pathname}`)
112
- // ) {
113
- // history.push({
114
- // pathname: item.path.replace(basePath, ''),
115
- // });
116
- // }
117
- }}
118
- >
119
- <span
120
- style={{
121
- // color: pathToRegexp(item.path).test(
122
- // `${basePath}${pathname}`,
123
- // )
124
- // ? '#000000d9'
125
- // : '',
126
- }}
127
- className="bread_name"
128
- >
129
- {item}
130
- </span>
131
- </Breadcrumb.Item>
132
- ))}
133
- </Breadcrumb>
134
- </div>
135
- {
136
- extra ?
137
- <Space>
138
- {
139
- extra
140
- }
141
- </Space> : ''
142
- }
143
- </div>
144
- {
145
- alertProps && (
146
- <CommonAlert
147
- {
148
- ...alertProps
149
- }
150
- />
151
- )
152
- }
153
- </div>
154
- );
155
- },
156
- (prevProps, nextProps) => {
157
- if (prevProps.title !== nextProps.title) {
158
- return false;
159
- }
160
- return true;
161
- },
162
- );
1
+ // @ts-nocheck
2
+ import React, { useEffect, useState, useMemo } from 'react';
3
+ import { getMainCrumbNameMap } from '../DetailPageWrapper/utils';
4
+ import { memoizeOneFormatter } from '@/utils/utils';
5
+ import { Breadcrumb, Space } from 'antd';
6
+ import './index.less';
7
+ import { useLocation, formatMessage } from 'umi';
8
+ import CommonAlert from '../CommonAlert';
9
+ import ENUM from '@/utils/enumConfig';
10
+
11
+ export default (props: any) => {
12
+ const { pathname } = useLocation();
13
+ const [id]: any = useState(pathname + 'id');
14
+ const { children, ...restProps} = props;
15
+
16
+ return (
17
+ <div id={id} className={'home_page_wrapper'}>
18
+ <HeaderWrapper
19
+ pathname={pathname}
20
+ {
21
+ ...restProps
22
+ }
23
+ />
24
+ {props.children}
25
+ </div>
26
+ );
27
+ };
28
+
29
+ const HeaderWrapper = React.memo(
30
+ ({
31
+ pathname,
32
+ routes=[],
33
+ itemPath,
34
+ alertProps,
35
+ extra,
36
+ title,
37
+ pathToRegexp, //改为从项目代码透传该方法
38
+ }: { pathname: string, routes: any[], itemPath: string, alertProps: any }) => {
39
+ const [breadcrumbArr, setBreadCrumbArr]: any = useState([]);
40
+ const basePath = window.top == window ? '' : `/${itemPath}`;
41
+ const menuRoutes =
42
+ window.top == window
43
+ ? routes.find((item) => item.path === '/')?.routes || []
44
+ : JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.LIMIT_MENU_DATA) || '[]');
45
+
46
+ const breadcrumbNameMap = getMainCrumbNameMap(
47
+ memoizeOneFormatter(menuRoutes, ''),
48
+ );
49
+
50
+ const matchParamsPath = (pathname: string, breadcrumbNameMap: object) => {
51
+ const pathKey: any = Object.keys(breadcrumbNameMap).find((key) =>
52
+ pathToRegexp ? pathToRegexp(key).test(pathname) : false
53
+ );
54
+
55
+ return pathKey ? breadcrumbNameMap[pathKey] : undefined;
56
+ };
57
+
58
+ const getPageTitle = (pathname: string) => {
59
+ const currRouterData = matchParamsPath(
60
+ `${basePath}${pathname}`,
61
+ breadcrumbNameMap,
62
+ );
63
+
64
+ if (!currRouterData) {
65
+ return '';
66
+ }
67
+
68
+ let breadcrumbArrs = currRouterData.nameMap || [];
69
+ if (breadcrumbArrs.length && title) {
70
+ breadcrumbArrs.pop();
71
+ breadcrumbArrs.push(title)
72
+ }
73
+ setBreadCrumbArr([...breadcrumbArrs])
74
+
75
+ const pageName = formatMessage({
76
+ id: currRouterData.locale || currRouterData.name,
77
+ defaultMessage: currRouterData.name,
78
+ });
79
+ return title ? title : window.top === window ? pageName : `${currRouterData.name}`;
80
+ };
81
+
82
+ const pageTitle = useMemo(() => getPageTitle(pathname), [pathname, title]);
83
+
84
+ useEffect(() => {}, [pathname]);
85
+
86
+ // const breadcrumbArr = `${basePath}${pathname}`
87
+ // .split('/')
88
+ // .slice(1)
89
+ // .map((_item, index, arr) =>
90
+ // matchParamsPath(
91
+ // `/${arr.slice(0, index + 1).join('/')}`,
92
+ // breadcrumbNameMap,
93
+ // ),
94
+ // )
95
+ // .filter((item) => item);
96
+
97
+
98
+ return (
99
+ <div>
100
+ <div className={'home_page_head'}>
101
+ <div>
102
+ <div className={'home_page_title'}>{pageTitle}</div>
103
+ <Breadcrumb>
104
+ {breadcrumbArr.map((item) => (
105
+ <Breadcrumb.Item
106
+ key={item}
107
+ onClick={() => {
108
+ // if (
109
+ // item.path &&
110
+ // !item.children &&
111
+ // !pathToRegexp(item.path).test(`${basePath}${pathname}`)
112
+ // ) {
113
+ // history.push({
114
+ // pathname: item.path.replace(basePath, ''),
115
+ // });
116
+ // }
117
+ }}
118
+ >
119
+ <span
120
+ style={{
121
+ // color: pathToRegexp(item.path).test(
122
+ // `${basePath}${pathname}`,
123
+ // )
124
+ // ? '#000000d9'
125
+ // : '',
126
+ }}
127
+ className="bread_name"
128
+ >
129
+ {item}
130
+ </span>
131
+ </Breadcrumb.Item>
132
+ ))}
133
+ </Breadcrumb>
134
+ </div>
135
+ {
136
+ extra ?
137
+ <Space>
138
+ {
139
+ extra
140
+ }
141
+ </Space> : ''
142
+ }
143
+ </div>
144
+ {
145
+ alertProps && (
146
+ <CommonAlert
147
+ {
148
+ ...alertProps
149
+ }
150
+ />
151
+ )
152
+ }
153
+ </div>
154
+ );
155
+ },
156
+ (prevProps, nextProps) => {
157
+ if (prevProps.title !== nextProps.title) {
158
+ return false;
159
+ }
160
+ return true;
161
+ },
162
+ );