@bit-sun/business-component 2.3.22 → 2.3.24-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 (270) 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/common/ENUM.d.ts +40 -0
  9. package/dist/components/Business/AddSelectBusiness/index.d.ts +3 -0
  10. package/dist/components/Business/BsLayouts/Components/AllFunc/drawContent.d.ts +4 -0
  11. package/dist/components/Business/BsLayouts/Components/AllFunc/index.d.ts +4 -0
  12. package/dist/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.d.ts +4 -0
  13. package/dist/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.d.ts +17 -0
  14. package/dist/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.d.ts +30 -0
  15. package/dist/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.d.ts +3 -0
  16. package/dist/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.d.ts +2 -0
  17. package/dist/components/Business/BsLayouts/Components/CustomerMenu/index.d.ts +4 -0
  18. package/dist/components/Business/BsLayouts/Components/GlobalHeader/index.d.ts +4 -0
  19. package/dist/components/Business/BsLayouts/Components/RightContent/LoginModal.d.ts +2 -0
  20. package/dist/components/Business/BsLayouts/Components/RightContent/index.d.ts +8 -0
  21. package/dist/components/Business/BsLayouts/Components/SearchFunc/index.d.ts +8 -0
  22. package/dist/components/Business/BsLayouts/index.d.ts +18 -0
  23. package/dist/components/Business/BsLayouts/service.d.ts +1 -0
  24. package/dist/components/Business/BsLayouts/utils.d.ts +10 -0
  25. package/dist/components/Business/BsSulaQueryTable/SearchItemSetting.d.ts +60 -0
  26. package/dist/components/Business/BsSulaQueryTable/index.d.ts +2 -0
  27. package/dist/components/Business/BsSulaQueryTable/setting.d.ts +60 -0
  28. package/dist/components/Business/BsSulaQueryTable/utils.d.ts +98 -0
  29. package/dist/components/Business/CommodityEntry/index.d.ts +2 -0
  30. package/dist/components/Business/CommonAlert/index.d.ts +3 -0
  31. package/dist/components/Business/CommonGuideWrapper/index.d.ts +6 -0
  32. package/dist/components/Business/DetailPageWrapper/index.d.ts +9 -0
  33. package/dist/components/Business/DetailPageWrapper/utils.d.ts +8 -0
  34. package/dist/components/Business/HomePageWrapper/index.d.ts +3 -0
  35. package/dist/components/Business/JsonQueryTable/components/FieldsModifyModal.d.ts +2 -0
  36. package/dist/components/Business/JsonQueryTable/components/FieldsSettingsTable.d.ts +2 -0
  37. package/dist/components/Business/JsonQueryTable/components/Formula.d.ts +6 -0
  38. package/dist/components/Business/JsonQueryTable/components/MaintainOptions.d.ts +2 -0
  39. package/dist/components/Business/JsonQueryTable/drawer/index.d.ts +2 -0
  40. package/dist/components/Business/JsonQueryTable/function.d.ts +37 -0
  41. package/dist/components/Business/JsonQueryTable/index.d.ts +4 -0
  42. package/dist/components/Business/JsonQueryTable/static.d.ts +41 -0
  43. package/dist/components/Business/SearchSelect/BusinessUtils.d.ts +5 -0
  44. package/dist/components/Business/SearchSelect/common.d.ts +25 -0
  45. package/dist/components/Business/SearchSelect/index.d.ts +3 -0
  46. package/dist/components/Business/SearchSelect/utils.d.ts +5 -0
  47. package/dist/components/Business/StateFlow/index.d.ts +3 -0
  48. package/dist/components/Business/TreeSearchSelect/index.d.ts +3 -0
  49. package/dist/components/Business/TreeSearchSelect/utils.d.ts +4 -0
  50. package/dist/components/Business/columnSettingTable/columnSetting.d.ts +54 -0
  51. package/dist/components/Business/columnSettingTable/index.d.ts +16 -0
  52. package/dist/components/Business/columnSettingTable/sulaSettingTable.d.ts +17 -0
  53. package/dist/components/Business/columnSettingTable/utils.d.ts +8 -0
  54. package/dist/components/Business/moreTreeTable/FixedScrollBar.d.ts +3 -0
  55. package/dist/components/Business/moreTreeTable/hooks/useSticky.d.ts +8 -0
  56. package/dist/components/Business/moreTreeTable/index.d.ts +4 -0
  57. package/dist/components/Business/moreTreeTable/utils.d.ts +9 -0
  58. package/dist/components/Functional/AddSelect/helps.d.ts +1 -0
  59. package/dist/components/Functional/AddSelect/index.d.ts +3 -0
  60. package/dist/components/Functional/BillEntry/index.d.ts +4 -0
  61. package/dist/components/Functional/BsAntdSula/BsCascader/index.d.ts +18 -0
  62. package/dist/components/Functional/BsAntdSula/index.d.ts +1 -0
  63. package/dist/components/Functional/DataImport/index.d.ts +144 -0
  64. package/dist/components/Functional/DataValidation/index.d.ts +144 -0
  65. package/dist/components/Functional/ExportFunctions/ExportIcon/index.d.ts +12 -0
  66. package/dist/components/Functional/QueryMutipleInput/index.d.ts +5 -0
  67. package/dist/components/Functional/SearchSelect/index.d.ts +4 -0
  68. package/dist/components/Functional/SearchSelect/utils.d.ts +1 -0
  69. package/dist/components/Functional/TreeSearchSelect/index.d.ts +2 -0
  70. package/dist/components/Solution/RuleComponent/Formula.d.ts +8 -0
  71. package/dist/components/Solution/RuleComponent/services.d.ts +1 -0
  72. package/dist/index.d.ts +28 -0
  73. package/dist/index.esm.js +30668 -0
  74. package/dist/index.js +30715 -0
  75. package/dist/plugin/TableColumnSetting/index.d.ts +64 -0
  76. package/dist/plugin/TableColumnSetting/utils.d.ts +1 -0
  77. package/dist/utils/CheckOneUser/index.d.ts +2 -0
  78. package/dist/utils/LocalstorageUtils.d.ts +17 -0
  79. package/dist/utils/TableUtils.d.ts +11 -0
  80. package/dist/utils/checkUtils.d.ts +3 -0
  81. package/dist/utils/enumConfig.d.ts +12 -0
  82. package/dist/utils/index.d.ts +4 -0
  83. package/dist/utils/requestUtils.d.ts +1 -0
  84. package/dist/utils/utils.d.ts +23 -0
  85. package/docs/index.md +21 -21
  86. package/lib/assets/drag.svg +17 -17
  87. package/lib/assets/exportFail.svg +37 -37
  88. package/lib/assets/exportProcessing.svg +28 -28
  89. package/lib/assets/exportSuccess.svg +34 -34
  90. package/lib/assets/label_icon_bottom.svg +25 -25
  91. package/lib/assets/upExport.svg +22 -22
  92. package/package.json +78 -78
  93. package/src/assets/32.svg +27 -27
  94. package/src/assets/addIcon.svg +17 -17
  95. package/src/assets/allfunc.svg +27 -27
  96. package/src/assets/arrowRight.svg +24 -24
  97. package/src/assets/btn-delete.svg +29 -29
  98. package/src/assets/btn-edit.svg +19 -19
  99. package/src/assets/btn-more.svg +17 -17
  100. package/src/assets/btn-submit.svg +19 -19
  101. package/src/assets/caidan.svg +11 -11
  102. package/src/assets/close.svg +26 -26
  103. package/src/assets/drag.svg +17 -17
  104. package/src/assets/exportFail.svg +37 -37
  105. package/src/assets/exportProcessing.svg +28 -28
  106. package/src/assets/exportSuccess.svg +34 -34
  107. package/src/assets/fixed-left-active.svg +11 -11
  108. package/src/assets/fixed-left.svg +15 -15
  109. package/src/assets/fixed-right-active.svg +11 -11
  110. package/src/assets/fixed-right.svg +15 -15
  111. package/src/assets/guanbi.svg +15 -15
  112. package/src/assets/icon-quanping.svg +15 -15
  113. package/src/assets/icon-shezhi.svg +17 -17
  114. package/src/assets/label_icon_bottom.svg +25 -25
  115. package/src/assets/list-no-img.svg +21 -21
  116. package/src/assets/morentouxiang-32.svg +23 -23
  117. package/src/assets/scanning.svg +24 -24
  118. package/src/assets/upExport.svg +22 -22
  119. package/src/common/ENUM.ts +41 -41
  120. package/src/components/Business/AddSelectBusiness/index.md +162 -162
  121. package/src/components/Business/AddSelectBusiness/index.tsx +895 -1060
  122. package/src/components/Business/BsLayouts/Components/AllFunc/drawContent.tsx +111 -111
  123. package/src/components/Business/BsLayouts/Components/AllFunc/index.less +153 -153
  124. package/src/components/Business/BsLayouts/Components/AllFunc/index.tsx +70 -70
  125. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.less +90 -90
  126. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.tsx +37 -37
  127. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.tsx +242 -242
  128. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.tsx +384 -384
  129. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.tsx +285 -285
  130. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.tsx +74 -74
  131. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/drawContent.less +170 -170
  132. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.less +64 -64
  133. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.tsx +153 -153
  134. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.less +72 -72
  135. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.tsx +157 -157
  136. package/src/components/Business/BsLayouts/Components/RightContent/LoginModal.tsx +85 -85
  137. package/src/components/Business/BsLayouts/Components/RightContent/home.less +218 -218
  138. package/src/components/Business/BsLayouts/Components/RightContent/index.tsx +155 -155
  139. package/src/components/Business/BsLayouts/Components/SearchFunc/index.less +160 -160
  140. package/src/components/Business/BsLayouts/Components/SearchFunc/index.tsx +75 -75
  141. package/src/components/Business/BsLayouts/index.less +79 -79
  142. package/src/components/Business/BsLayouts/index.tsx +1484 -1484
  143. package/src/components/Business/BsLayouts/service.ts +10 -10
  144. package/src/components/Business/BsLayouts/utils.tsx +203 -203
  145. package/src/components/Business/BsSulaQueryTable/SearchItemSetting.tsx +564 -564
  146. package/src/components/Business/BsSulaQueryTable/index.less +221 -221
  147. package/src/components/Business/BsSulaQueryTable/index.tsx +535 -535
  148. package/src/components/Business/BsSulaQueryTable/setting.tsx +852 -852
  149. package/src/components/Business/BsSulaQueryTable/utils.less +65 -65
  150. package/src/components/Business/BsSulaQueryTable/utils.tsx +688 -690
  151. package/src/components/Business/CommodityEntry/index.md +70 -70
  152. package/src/components/Business/CommodityEntry/index.tsx +80 -80
  153. package/src/components/Business/CommonAlert/index.tsx +23 -23
  154. package/src/components/Business/CommonGuideWrapper/index.less +111 -111
  155. package/src/components/Business/CommonGuideWrapper/index.md +39 -39
  156. package/src/components/Business/CommonGuideWrapper/index.tsx +83 -83
  157. package/src/components/Business/DetailPageWrapper/index.less +79 -79
  158. package/src/components/Business/DetailPageWrapper/index.tsx +315 -313
  159. package/src/components/Business/DetailPageWrapper/utils.tsx +100 -100
  160. package/src/components/Business/HomePageWrapper/index.less +33 -33
  161. package/src/components/Business/HomePageWrapper/index.md +45 -45
  162. package/src/components/Business/HomePageWrapper/index.tsx +162 -162
  163. package/src/components/Business/JsonQueryTable/components/FieldsModifyModal.tsx +824 -824
  164. package/src/components/Business/JsonQueryTable/components/FieldsSettingsTable.tsx +205 -205
  165. package/src/components/Business/JsonQueryTable/components/Formula.tsx +205 -205
  166. package/src/components/Business/JsonQueryTable/components/MaintainOptions.tsx +127 -127
  167. package/src/components/Business/JsonQueryTable/configButton/index.js +20 -20
  168. package/src/components/Business/JsonQueryTable/configTree/component/compactArrayView.js +25 -25
  169. package/src/components/Business/JsonQueryTable/configTree/component/compactObjectView.js +30 -30
  170. package/src/components/Business/JsonQueryTable/configTree/index.js +82 -82
  171. package/src/components/Business/JsonQueryTable/configTree/index.less +44 -44
  172. package/src/components/Business/JsonQueryTable/configTree/parser/highlight.js +57 -57
  173. package/src/components/Business/JsonQueryTable/configTree/parser/index.js +124 -124
  174. package/src/components/Business/JsonQueryTable/configTree/render/iconRender.js +29 -29
  175. package/src/components/Business/JsonQueryTable/configTree/render/nameRender.js +22 -22
  176. package/src/components/Business/JsonQueryTable/configTree/treeNode.js +116 -116
  177. package/src/components/Business/JsonQueryTable/drawer/index.tsx +12 -12
  178. package/src/components/Business/JsonQueryTable/function.ts +62 -62
  179. package/src/components/Business/JsonQueryTable/index.less +16 -16
  180. package/src/components/Business/JsonQueryTable/index.md +328 -328
  181. package/src/components/Business/JsonQueryTable/index.tsx +535 -535
  182. package/src/components/Business/JsonQueryTable/jsonEditor/index.js +346 -346
  183. package/src/components/Business/JsonQueryTable/jsonEditor/index.less +22 -22
  184. package/src/components/Business/JsonQueryTable/jsonEditor/lint/basicType.js +147 -147
  185. package/src/components/Business/JsonQueryTable/jsonEditor/lint/index.js +389 -389
  186. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/actions.js +118 -118
  187. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/dependency.js +22 -22
  188. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/index.js +21 -21
  189. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/request.js +65 -65
  190. package/src/components/Business/JsonQueryTable/static.ts +390 -390
  191. package/src/components/Business/SearchSelect/BusinessUtils.ts +1762 -1762
  192. package/src/components/Business/SearchSelect/common.ts +75 -75
  193. package/src/components/Business/SearchSelect/index.md +1329 -1329
  194. package/src/components/Business/SearchSelect/index.tsx +55 -55
  195. package/src/components/Business/SearchSelect/utils.ts +100 -100
  196. package/src/components/Business/StateFlow/index.less +130 -130
  197. package/src/components/Business/StateFlow/index.md +60 -60
  198. package/src/components/Business/StateFlow/index.tsx +29 -29
  199. package/src/components/Business/TreeSearchSelect/index.md +156 -156
  200. package/src/components/Business/TreeSearchSelect/index.tsx +33 -33
  201. package/src/components/Business/TreeSearchSelect/utils.ts +75 -75
  202. package/src/components/Business/columnSettingTable/columnSetting.tsx +764 -764
  203. package/src/components/Business/columnSettingTable/index.less +247 -247
  204. package/src/components/Business/columnSettingTable/index.md +357 -357
  205. package/src/components/Business/columnSettingTable/index.tsx +232 -232
  206. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +240 -240
  207. package/src/components/Business/columnSettingTable/utils.tsx +69 -71
  208. package/src/components/Business/moreTreeTable/FixedScrollBar.tsx +87 -87
  209. package/src/components/Business/moreTreeTable/hooks/useSticky.ts +21 -21
  210. package/src/components/Business/moreTreeTable/index.less +99 -99
  211. package/src/components/Business/moreTreeTable/index.md +448 -448
  212. package/src/components/Business/moreTreeTable/index.tsx +387 -387
  213. package/src/components/Business/moreTreeTable/utils.ts +126 -126
  214. package/src/components/Functional/AddSelect/helps.ts +14 -79
  215. package/src/components/Functional/AddSelect/index.less +367 -367
  216. package/src/components/Functional/AddSelect/index.md +155 -155
  217. package/src/components/Functional/AddSelect/index.tsx +1282 -1170
  218. package/src/components/Functional/BillEntry/index.less +371 -371
  219. package/src/components/Functional/BillEntry/index.md +39 -39
  220. package/src/components/Functional/BillEntry/index.tsx +772 -772
  221. package/src/components/Functional/BsAntdSula/BsCascader/index.md +62 -62
  222. package/src/components/Functional/BsAntdSula/BsCascader/index.tsx +178 -178
  223. package/src/components/Functional/BsAntdSula/index.ts +2 -2
  224. package/src/components/Functional/DataImport/index.less +63 -63
  225. package/src/components/Functional/DataImport/index.md +44 -44
  226. package/src/components/Functional/DataImport/index.tsx +695 -695
  227. package/src/components/Functional/DataValidation/index.less +63 -63
  228. package/src/components/Functional/DataValidation/index.md +39 -39
  229. package/src/components/Functional/DataValidation/index.tsx +687 -687
  230. package/src/components/Functional/EllipsisTooltip/index.d.ts +5 -5
  231. package/src/components/Functional/EllipsisTooltip/index.js +36 -36
  232. package/src/components/Functional/EllipsisTooltip/index.md +30 -30
  233. package/src/components/Functional/ExportFunctions/ExportIcon/index.md +37 -37
  234. package/src/components/Functional/ExportFunctions/ExportIcon/index.tsx +59 -59
  235. package/src/components/Functional/QueryMutipleInput/index.less +37 -37
  236. package/src/components/Functional/QueryMutipleInput/index.md +33 -33
  237. package/src/components/Functional/QueryMutipleInput/index.tsx +128 -128
  238. package/src/components/Functional/SearchSelect/index.less +115 -115
  239. package/src/components/Functional/SearchSelect/index.md +141 -141
  240. package/src/components/Functional/SearchSelect/index.tsx +879 -879
  241. package/src/components/Functional/SearchSelect/utils.ts +3 -3
  242. package/src/components/Functional/TreeSearchSelect/index.md +47 -47
  243. package/src/components/Functional/TreeSearchSelect/index.tsx +199 -199
  244. package/src/components/Solution/RuleComponent/Formula.tsx +335 -335
  245. package/src/components/Solution/RuleComponent/index.d.ts +29 -29
  246. package/src/components/Solution/RuleComponent/index.js +2032 -2032
  247. package/src/components/Solution/RuleComponent/index.less +230 -230
  248. package/src/components/Solution/RuleComponent/renderSpecificAction.js +99 -99
  249. package/src/components/Solution/RuleComponent/ruleFiled.js +2107 -2107
  250. package/src/components/Solution/RuleComponent/services.ts +13 -13
  251. package/src/components/Solution/RuleComponent/util.js +139 -139
  252. package/src/index.ts +38 -38
  253. package/src/plugin/TableColumnSetting/index.less +247 -247
  254. package/src/plugin/TableColumnSetting/index.md +50 -50
  255. package/src/plugin/TableColumnSetting/index.tsx +724 -724
  256. package/src/plugin/TableColumnSetting/utils.ts +19 -19
  257. package/src/styles/bsDefault.less +1912 -1912
  258. package/src/utils/CheckOneUser/index.md +39 -39
  259. package/src/utils/CheckOneUser/index.ts +51 -51
  260. package/src/utils/LocalstorageUtils.ts +95 -95
  261. package/src/utils/TableUtils.tsx +18 -18
  262. package/src/utils/checkUtils.ts +39 -39
  263. package/src/utils/enumConfig.ts +11 -11
  264. package/src/utils/getFormMode.js +12 -12
  265. package/src/utils/index.ts +4 -4
  266. package/src/utils/requestUtils.ts +34 -34
  267. package/src/utils/serialize.js +7 -7
  268. package/src/utils/utils.ts +212 -212
  269. package/tsconfig.json +29 -29
  270. package/typings.d.ts +4 -4
@@ -1,314 +1,316 @@
1
- // @ts-nocheck
2
- import {
3
- ArrowLeftOutlined,
4
- } from '@ant-design/icons';
5
- import { Anchor, Tooltip, Button, Menu, Dropdown, Breadcrumb } from 'antd';
6
- import React, { useEffect, useState, useMemo } from 'react';
7
- import { history } from 'umi';
8
- import { getMainCrumbNameMap, doDetailPageAction, judgeIsEmpty } from './utils';
9
- import { memoizeOneFormatter, go2BackAndClose } from '@/utils/utils';
10
- import './index.less';
11
- import quanping from '../../../assets/icon-quanping.svg';
12
- import scanning from '../../../assets/scanning.svg';
13
- import editIcon from '../../../assets/btn-edit.svg';
14
- import submitIcon from '../../../assets/btn-submit.svg';
15
- import deleteIcon from '../../../assets/btn-delete.svg';
16
- import moreIcon from '../../../assets/btn-more.svg';
17
- import { useLocation, formatMessage } from 'umi';
18
- import CommonAlert from '../CommonAlert';
19
- import ENUM from '@/utils/enumConfig';
20
-
21
- interface actionItem {
22
- type?: string;
23
- name: string;
24
- icon?: string;
25
- visible?: boolean | string;
26
- disabled?: boolean;
27
- code?: string; //权限过滤todo
28
- action: object;
29
- }
30
-
31
- export const iconMap = {
32
- edit: <img src={editIcon} />,
33
- delete: <img src={deleteIcon} />,
34
- submit: <img src={submitIcon} />,
35
- more: <img src={moreIcon} />,
36
- };
37
-
38
- export default (props: any) => {
39
- const { pathname } = useLocation();
40
- const [id]: any = useState(pathname + 'id');
41
- const { children, ...restProps } = props;
42
-
43
- return (
44
- <div id={id} className={'detail_page_wrapper'}>
45
- <DetailWrapper
46
- pathname={pathname}
47
- {
48
- ...restProps
49
- }
50
- />
51
- {children}
52
- </div>
53
- );
54
- };
55
-
56
- const DetailWrapper = React.memo(
57
- ({
58
- pathname,
59
- actionList=[],
60
- routes=[],
61
- itemPath,
62
- alertProps,
63
- donotNeedShowScreenIcon=false,
64
- title,
65
- pathToRegexp,
66
- }: any) => {
67
- const [isFullScreen, setIsFnllScreen]: any = useState(false);
68
- const [breadcrumbArr, setBreadCrumbArr]: any = useState([]);
69
-
70
- const basePath = window.top == window ? '' : `/${itemPath}`;
71
-
72
- const menuRoutes =
73
- window.top == window
74
- ? routes.find((item) => item.path === '/')?.routes || []
75
- : JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.LIMIT_MENU_DATA) || '[]');
76
-
77
- const breadcrumbNameMap = getMainCrumbNameMap(
78
- memoizeOneFormatter(menuRoutes, ''),
79
- );
80
- const matchParamsPath = (pathname: string, breadcrumbNameMap: object) => {
81
- const pathKey: any = Object.keys(breadcrumbNameMap).find((key) =>
82
- pathToRegexp ? pathToRegexp(key).test(pathname) : false
83
- );
84
- return pathKey ? breadcrumbNameMap[pathKey] : undefined;
85
- };
86
-
87
- const getPageTitle = (pathname: string) => {
88
- const currRouterData = matchParamsPath(
89
- `${basePath}${pathname}`,
90
- breadcrumbNameMap,
91
- );
92
-
93
- if (!currRouterData) {
94
- return '';
95
- }
96
-
97
- let breadcrumbArrs = currRouterData.nameMap || [];
98
- if (title && breadcrumbArrs.length) {
99
- breadcrumbArrs.pop();
100
- breadcrumbArrs.push(title)
101
- }
102
- setBreadCrumbArr([...breadcrumbArrs])
103
-
104
- const pageName = formatMessage({
105
- id: currRouterData.locale || currRouterData.name,
106
- defaultMessage: currRouterData.name,
107
- });
108
-
109
- return title ? title : window.top === window ? pageName : `${currRouterData.name}`;
110
- };
111
-
112
- const pageTitle = useMemo(() => getPageTitle(pathname), [pathname, title]);
113
-
114
- useEffect(() => {}, []);
115
-
116
- const ShowFullScreen = () => {
117
- const isFullScreen: any =
118
- window.top.document.fullScreen ||
119
- window.top.document.webkitIsFullScreen ||
120
- window.top.document.mozFullScreen;
121
- let contentEle: any = window.top.document.querySelector(`body`);
122
- // addTabsNavStyle(isFullScreen);
123
- if (contentEle && !isFullScreen) {
124
- let fullScreenEle =
125
- contentEle.requestFullscreen ||
126
- contentEle.mozRequestFullScreen ||
127
- contentEle.webkitRequestFullScreen ||
128
- contentEle.msRequestFullscreen;
129
- if (fullScreenEle) {
130
- fullScreenEle.call(contentEle);
131
- setIsFnllScreen(true);
132
- return;
133
- }
134
- }
135
- if (window.top.document && isFullScreen) {
136
- let exitFullScreen =
137
- window.top.document.exitFullscreen ||
138
- window.top.document.mozCancelFullScreen ||
139
- window.top.document.webkitCancelFullScreen ||
140
- window.top.document.msExitFullscreen;
141
- if (exitFullScreen) {
142
- exitFullScreen.call(window.top.document);
143
- setIsFnllScreen(false);
144
- return;
145
- }
146
- }
147
- };
148
-
149
- const renderPageActionList = (actionLists: Array<actionItem>) => {
150
- const authButton = localStorage.getItem(ENUM.BROWSER_CACHE.MAIN_AUTH_CODES)
151
- ? JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.MAIN_AUTH_CODES) as string)
152
- : [];
153
- let visibleActions = actionLists.filter(
154
- (action) =>
155
- ((action.visible && action.visible !== 'false') || judgeIsEmpty(action.visible)) &&
156
- (judgeIsEmpty(action.code) || authButton.filter(item => item === action.code)),
157
- );
158
-
159
- const renderButton = (item: actionItem, type?: any) => {
160
- return (
161
- <Button
162
- type={type || 'primary'}
163
- icon={item.icon ? iconMap[item.icon] : ''}
164
- danger={item.name === '删除' ? true : false}
165
- disabled={item.disabled}
166
- onClick={() => {
167
- if (typeof item.action === 'function') {
168
- item.action();
169
- } else {
170
- doDetailPageAction(item.action);
171
- }
172
- }}
173
- >
174
- {item.name}
175
- </Button>
176
- );
177
- };
178
-
179
- if (visibleActions.length <= 3) {
180
- return visibleActions.map((item) => {
181
- return renderButton(item);
182
- });
183
- }
184
-
185
- let moreOperate = visibleActions.splice(3);
186
- const menu = (
187
- <Menu>
188
- {moreOperate.map((item: any, index: number) => (
189
- <Menu.Item className="more-btn-action" key={index}>
190
- {renderButton(item, 'link')}
191
- </Menu.Item>
192
- ))}
193
- </Menu>
194
- );
195
- //按钮操作3个显示更多
196
- return (
197
- <div className="detail_btn_wrapper">
198
- {visibleActions.map((item: any, index: number) => {
199
- return renderButton(item);
200
- })}
201
- <Dropdown style={{ padding: '0px' }} overlay={menu}>
202
- <Button type="primary">
203
- <span style={{ margin: '0px' }}>更多</span>
204
- <img src={moreIcon} />
205
- </Button>
206
- </Dropdown>
207
- </div>
208
- );
209
- };
210
-
211
- return (
212
- <Anchor
213
- key={`${pathname}_anchor`}
214
- offsetTop={window.top == window ? 78 : 0}
215
- >
216
- <div>
217
- <div className={'detail_page_head'}>
218
- <div
219
- className={'back_home_img_content'}
220
- onClick={() => {
221
- go2BackAndClose();
222
- // history.goBack();
223
- }}
224
- >
225
- <ArrowLeftOutlined />
226
- </div>
227
- <div className={'detail_page_title_box'}>
228
- <div className={'detail_page_title'}>{pageTitle}</div>
229
- <Breadcrumb>
230
- {breadcrumbArr.map((item) => (
231
- <Breadcrumb.Item
232
- key={item}
233
- onClick={() => {
234
- // if (
235
- // item.path &&
236
- // !item.children &&
237
- // !pathToRegexp(item.path).test(`${basePath}${pathname}`)
238
- // ) {
239
- // history.push({
240
- // pathname: item.path.replace(basePath, ''),
241
- // });
242
- // }
243
- }}
244
- >
245
- <span
246
- style={{
247
- // color:
248
- // item.path &&
249
- // pathToRegexp(item.path).test(`${basePath}${pathname}`)
250
- // ? '#000000d9'
251
- // : '',
252
- }}
253
- className="bread_name"
254
- >
255
- {item}
256
- </span>
257
- </Breadcrumb.Item>
258
- ))}
259
- </Breadcrumb>
260
- </div>
261
- <div
262
- className={'detail_page_btns'}
263
- style={{ marginRight: '20px', display: 'flex', gap: '8px' }}
264
- >
265
- {renderPageActionList(actionList)}
266
- {
267
- !donotNeedShowScreenIcon ? ( <a>
268
- {isFullScreen ? (
269
- <Tooltip title="取消全屏">
270
- <img
271
- onClick={() => {
272
- ShowFullScreen();
273
- }}
274
- width={32}
275
- src={scanning}
276
- />
277
- </Tooltip>
278
- ) : (
279
- <Tooltip title="全屏">
280
- <img
281
- onClick={() => {
282
- ShowFullScreen();
283
- }}
284
- width={32}
285
- src={quanping}
286
- />
287
- </Tooltip>
288
- )}
289
- </a>) : null
290
- }
291
- </div>
292
- </div>
293
- {
294
- alertProps && (
295
- <CommonAlert
296
- {
297
- ...alertProps
298
- }
299
- />
300
- )
301
- }
302
- </div>
303
- </Anchor>
304
- );
305
- },
306
- (prevProps, nextProps) => {
307
- if (
308
- (JSON.stringify(prevProps.actionList) != JSON.stringify(nextProps.actionList)) || prevProps.title !== nextProps.title
309
- ) {
310
- return false;
311
- }
312
- return true;
313
- },
1
+ // @ts-nocheck
2
+ import {
3
+ ArrowLeftOutlined,
4
+ } from '@ant-design/icons';
5
+ import { Anchor, Tooltip, Button, Menu, Dropdown, Breadcrumb } from 'antd';
6
+ import React, { useEffect, useState, useMemo } from 'react';
7
+ import { history } from 'umi';
8
+ import { getMainCrumbNameMap, doDetailPageAction, judgeIsEmpty } from './utils';
9
+ import { memoizeOneFormatter, go2BackAndClose } from '@/utils/utils';
10
+ import './index.less';
11
+ import quanping from '../../../assets/icon-quanping.svg';
12
+ import scanning from '../../../assets/scanning.svg';
13
+ import editIcon from '../../../assets/btn-edit.svg';
14
+ import submitIcon from '../../../assets/btn-submit.svg';
15
+ import deleteIcon from '../../../assets/btn-delete.svg';
16
+ import moreIcon from '../../../assets/btn-more.svg';
17
+ import { useLocation, formatMessage } from 'umi';
18
+ import CommonAlert from '../CommonAlert';
19
+ import ENUM from '@/utils/enumConfig';
20
+
21
+ interface actionItem {
22
+ type?: string;
23
+ name: string;
24
+ icon?: string;
25
+ visible?: boolean | string;
26
+ disabled?: boolean;
27
+ code?: string; //权限过滤todo
28
+ action: object;
29
+ }
30
+
31
+ export const iconMap = {
32
+ edit: <img src={editIcon} />,
33
+ delete: <img src={deleteIcon} />,
34
+ submit: <img src={submitIcon} />,
35
+ more: <img src={moreIcon} />,
36
+ };
37
+
38
+ export default (props: any) => {
39
+ const { pathname } = useLocation();
40
+ const [id]: any = useState(pathname + 'id');
41
+ const { children, ...restProps } = props;
42
+
43
+ return (
44
+ <div id={id} className={'detail_page_wrapper'}>
45
+ <DetailWrapper
46
+ pathname={pathname}
47
+ {
48
+ ...restProps
49
+ }
50
+ />
51
+ {children}
52
+ </div>
53
+ );
54
+ };
55
+
56
+ const DetailWrapper = React.memo(
57
+ ({
58
+ pathname,
59
+ actionList=[],
60
+ routes=[],
61
+ itemPath,
62
+ alertProps,
63
+ donotNeedShowScreenIcon=false,
64
+ title,
65
+ pathToRegexp,
66
+ fixed=false,
67
+ }: any) => {
68
+ const [isFullScreen, setIsFnllScreen]: any = useState(false);
69
+ const [breadcrumbArr, setBreadCrumbArr]: any = useState([]);
70
+
71
+ const basePath = window.top == window ? '' : `/${itemPath}`;
72
+
73
+ const menuRoutes =
74
+ window.top == window
75
+ ? routes.find((item) => item.path === '/')?.routes || []
76
+ : JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.LIMIT_MENU_DATA) || '[]');
77
+
78
+ const breadcrumbNameMap = getMainCrumbNameMap(
79
+ memoizeOneFormatter(menuRoutes, ''),
80
+ );
81
+ const matchParamsPath = (pathname: string, breadcrumbNameMap: object) => {
82
+ const pathKey: any = Object.keys(breadcrumbNameMap).find((key) =>
83
+ pathToRegexp ? pathToRegexp(key).test(pathname) : false
84
+ );
85
+ return pathKey ? breadcrumbNameMap[pathKey] : undefined;
86
+ };
87
+
88
+ const getPageTitle = (pathname: string) => {
89
+ const currRouterData = matchParamsPath(
90
+ `${basePath}${pathname}`,
91
+ breadcrumbNameMap,
92
+ );
93
+
94
+ if (!currRouterData) {
95
+ return '';
96
+ }
97
+
98
+ let breadcrumbArrs = currRouterData.nameMap || [];
99
+ if (title && breadcrumbArrs.length) {
100
+ breadcrumbArrs.pop();
101
+ breadcrumbArrs.push(title)
102
+ }
103
+ setBreadCrumbArr([...breadcrumbArrs])
104
+
105
+ const pageName = formatMessage({
106
+ id: currRouterData.locale || currRouterData.name,
107
+ defaultMessage: currRouterData.name,
108
+ });
109
+
110
+ return title ? title : window.top === window ? pageName : `${currRouterData.name}`;
111
+ };
112
+
113
+ const pageTitle = useMemo(() => getPageTitle(pathname), [pathname, title]);
114
+
115
+ useEffect(() => {}, []);
116
+
117
+ const ShowFullScreen = () => {
118
+ const isFullScreen: any =
119
+ window.top.document.fullScreen ||
120
+ window.top.document.webkitIsFullScreen ||
121
+ window.top.document.mozFullScreen;
122
+ let contentEle: any = window.top.document.querySelector(`body`);
123
+ // addTabsNavStyle(isFullScreen);
124
+ if (contentEle && !isFullScreen) {
125
+ let fullScreenEle =
126
+ contentEle.requestFullscreen ||
127
+ contentEle.mozRequestFullScreen ||
128
+ contentEle.webkitRequestFullScreen ||
129
+ contentEle.msRequestFullscreen;
130
+ if (fullScreenEle) {
131
+ fullScreenEle.call(contentEle);
132
+ setIsFnllScreen(true);
133
+ return;
134
+ }
135
+ }
136
+ if (window.top.document && isFullScreen) {
137
+ let exitFullScreen =
138
+ window.top.document.exitFullscreen ||
139
+ window.top.document.mozCancelFullScreen ||
140
+ window.top.document.webkitCancelFullScreen ||
141
+ window.top.document.msExitFullscreen;
142
+ if (exitFullScreen) {
143
+ exitFullScreen.call(window.top.document);
144
+ setIsFnllScreen(false);
145
+ return;
146
+ }
147
+ }
148
+ };
149
+
150
+ const renderPageActionList = (actionLists: Array<actionItem>) => {
151
+ const authButton = localStorage.getItem(ENUM.BROWSER_CACHE.MAIN_AUTH_CODES)
152
+ ? JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.MAIN_AUTH_CODES) as string)
153
+ : [];
154
+ let visibleActions = actionLists.filter(
155
+ (action) =>
156
+ ((action.visible && action.visible !== 'false') || judgeIsEmpty(action.visible)) &&
157
+ (judgeIsEmpty(action.code) || authButton.filter(item => item === action.code)),
158
+ );
159
+
160
+ const renderButton = (item: actionItem, type?: any) => {
161
+ return (
162
+ <Button
163
+ type={type || 'primary'}
164
+ icon={item.icon ? iconMap[item.icon] : ''}
165
+ danger={item.name === '删除' ? true : false}
166
+ disabled={item.disabled}
167
+ onClick={() => {
168
+ if (typeof item.action === 'function') {
169
+ item.action();
170
+ } else {
171
+ doDetailPageAction(item.action);
172
+ }
173
+ }}
174
+ >
175
+ {item.name}
176
+ </Button>
177
+ );
178
+ };
179
+
180
+ if (visibleActions.length <= 3) {
181
+ return visibleActions.map((item) => {
182
+ return renderButton(item);
183
+ });
184
+ }
185
+
186
+ let moreOperate = visibleActions.splice(3);
187
+ const menu = (
188
+ <Menu>
189
+ {moreOperate.map((item: any, index: number) => (
190
+ <Menu.Item className="more-btn-action" key={index}>
191
+ {renderButton(item, 'link')}
192
+ </Menu.Item>
193
+ ))}
194
+ </Menu>
195
+ );
196
+ //按钮操作3个显示更多
197
+ return (
198
+ <div className="detail_btn_wrapper">
199
+ {visibleActions.map((item: any, index: number) => {
200
+ return renderButton(item);
201
+ })}
202
+ <Dropdown style={{ padding: '0px' }} overlay={menu}>
203
+ <Button type="primary">
204
+ <span style={{ margin: '0px' }}>更多</span>
205
+ <img src={moreIcon} />
206
+ </Button>
207
+ </Dropdown>
208
+ </div>
209
+ );
210
+ };
211
+
212
+ return (
213
+ <Anchor
214
+ key={`${pathname}_anchor`}
215
+ offsetTop={fixed ? 78 : 0}
216
+ getContainer={() => window.document.body}
217
+ >
218
+ <div>
219
+ <div className={'detail_page_head'}>
220
+ <div
221
+ className={'back_home_img_content'}
222
+ onClick={() => {
223
+ go2BackAndClose();
224
+ // history.goBack();
225
+ }}
226
+ >
227
+ <ArrowLeftOutlined />
228
+ </div>
229
+ <div className={'detail_page_title_box'}>
230
+ <div className={'detail_page_title'}>{pageTitle}</div>
231
+ <Breadcrumb>
232
+ {breadcrumbArr.map((item) => (
233
+ <Breadcrumb.Item
234
+ key={item}
235
+ onClick={() => {
236
+ // if (
237
+ // item.path &&
238
+ // !item.children &&
239
+ // !pathToRegexp(item.path).test(`${basePath}${pathname}`)
240
+ // ) {
241
+ // history.push({
242
+ // pathname: item.path.replace(basePath, ''),
243
+ // });
244
+ // }
245
+ }}
246
+ >
247
+ <span
248
+ style={{
249
+ // color:
250
+ // item.path &&
251
+ // pathToRegexp(item.path).test(`${basePath}${pathname}`)
252
+ // ? '#000000d9'
253
+ // : '',
254
+ }}
255
+ className="bread_name"
256
+ >
257
+ {item}
258
+ </span>
259
+ </Breadcrumb.Item>
260
+ ))}
261
+ </Breadcrumb>
262
+ </div>
263
+ <div
264
+ className={'detail_page_btns'}
265
+ style={{ marginRight: '20px', display: 'flex', gap: '8px' }}
266
+ >
267
+ {renderPageActionList(actionList)}
268
+ {
269
+ !donotNeedShowScreenIcon ? ( <a>
270
+ {isFullScreen ? (
271
+ <Tooltip title="取消全屏">
272
+ <img
273
+ onClick={() => {
274
+ ShowFullScreen();
275
+ }}
276
+ width={32}
277
+ src={scanning}
278
+ />
279
+ </Tooltip>
280
+ ) : (
281
+ <Tooltip title="全屏">
282
+ <img
283
+ onClick={() => {
284
+ ShowFullScreen();
285
+ }}
286
+ width={32}
287
+ src={quanping}
288
+ />
289
+ </Tooltip>
290
+ )}
291
+ </a>) : null
292
+ }
293
+ </div>
294
+ </div>
295
+ {
296
+ alertProps && (
297
+ <CommonAlert
298
+ {
299
+ ...alertProps
300
+ }
301
+ />
302
+ )
303
+ }
304
+ </div>
305
+ </Anchor>
306
+ );
307
+ },
308
+ (prevProps, nextProps) => {
309
+ if (
310
+ (JSON.stringify(prevProps.actionList) != JSON.stringify(nextProps.actionList)) || prevProps.title !== nextProps.title
311
+ ) {
312
+ return false;
313
+ }
314
+ return true;
315
+ },
314
316
  );