@bit-sun/business-component 2.4.13 → 2.4.15-beta

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 (274) 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.js +336 -265
  9. package/docs/index.md +21 -21
  10. package/lib/assets/drag.svg +17 -17
  11. package/lib/assets/exportFail.svg +37 -37
  12. package/lib/assets/exportProcessing.svg +28 -28
  13. package/lib/assets/exportSuccess.svg +34 -34
  14. package/lib/assets/label_icon_bottom.svg +25 -25
  15. package/lib/assets/upExport.svg +22 -22
  16. package/package.json +79 -79
  17. package/src/assets/32.svg +27 -27
  18. package/src/assets/addIcon.svg +17 -17
  19. package/src/assets/allfunc.svg +27 -27
  20. package/src/assets/arrowRight.svg +24 -24
  21. package/src/assets/btn-delete.svg +29 -29
  22. package/src/assets/btn-edit.svg +19 -19
  23. package/src/assets/btn-more.svg +17 -17
  24. package/src/assets/btn-submit.svg +19 -19
  25. package/src/assets/caidan.svg +11 -11
  26. package/src/assets/close.svg +26 -26
  27. package/src/assets/drag.svg +17 -17
  28. package/src/assets/exportFail.svg +37 -37
  29. package/src/assets/exportProcessing.svg +28 -28
  30. package/src/assets/exportSuccess.svg +34 -34
  31. package/src/assets/fixed-left-active.svg +11 -11
  32. package/src/assets/fixed-left.svg +15 -15
  33. package/src/assets/fixed-right-active.svg +11 -11
  34. package/src/assets/fixed-right.svg +15 -15
  35. package/src/assets/guanbi.svg +15 -15
  36. package/src/assets/icon-quanping.svg +15 -15
  37. package/src/assets/icon-shezhi.svg +17 -17
  38. package/src/assets/label_icon_bottom.svg +25 -25
  39. package/src/assets/list-no-img.svg +21 -21
  40. package/src/assets/morentouxiang-32.svg +23 -23
  41. package/src/assets/scanning.svg +24 -24
  42. package/src/assets/upExport.svg +22 -22
  43. package/src/common/ENUM.ts +41 -41
  44. package/src/components/Business/AddSelectBusiness/index.md +162 -162
  45. package/src/components/Business/AddSelectBusiness/index.tsx +1061 -1061
  46. package/src/components/Business/BsLayouts/Components/AllFunc/drawContent.tsx +111 -111
  47. package/src/components/Business/BsLayouts/Components/AllFunc/index.less +153 -153
  48. package/src/components/Business/BsLayouts/Components/AllFunc/index.tsx +70 -70
  49. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.less +90 -90
  50. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.tsx +37 -37
  51. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.tsx +242 -242
  52. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.tsx +384 -384
  53. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.tsx +285 -285
  54. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.tsx +74 -74
  55. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/drawContent.less +170 -170
  56. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.less +64 -64
  57. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.tsx +153 -153
  58. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.less +72 -72
  59. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.tsx +157 -157
  60. package/src/components/Business/BsLayouts/Components/RightContent/LoginModal.tsx +85 -85
  61. package/src/components/Business/BsLayouts/Components/RightContent/home.less +218 -218
  62. package/src/components/Business/BsLayouts/Components/RightContent/index.tsx +155 -155
  63. package/src/components/Business/BsLayouts/Components/SearchFunc/index.less +160 -160
  64. package/src/components/Business/BsLayouts/Components/SearchFunc/index.tsx +75 -75
  65. package/src/components/Business/BsLayouts/index.less +79 -79
  66. package/src/components/Business/BsLayouts/index.tsx +1484 -1484
  67. package/src/components/Business/BsLayouts/service.ts +10 -10
  68. package/src/components/Business/BsLayouts/utils.tsx +203 -203
  69. package/src/components/Business/BsSulaQueryTable/SearchItemSetting.tsx +566 -566
  70. package/src/components/Business/BsSulaQueryTable/index.less +221 -221
  71. package/src/components/Business/BsSulaQueryTable/index.tsx +538 -538
  72. package/src/components/Business/BsSulaQueryTable/setting.tsx +854 -854
  73. package/src/components/Business/BsSulaQueryTable/utils.less +65 -65
  74. package/src/components/Business/BsSulaQueryTable/utils.tsx +690 -690
  75. package/src/components/Business/CommodityEntry/index.md +70 -70
  76. package/src/components/Business/CommodityEntry/index.tsx +80 -80
  77. package/src/components/Business/CommonAlert/index.tsx +23 -23
  78. package/src/components/Business/CommonGuideWrapper/index.less +111 -111
  79. package/src/components/Business/CommonGuideWrapper/index.md +39 -39
  80. package/src/components/Business/CommonGuideWrapper/index.tsx +83 -83
  81. package/src/components/Business/DetailPageWrapper/index.less +79 -79
  82. package/src/components/Business/DetailPageWrapper/index.tsx +315 -315
  83. package/src/components/Business/DetailPageWrapper/utils.tsx +100 -100
  84. package/src/components/Business/HomePageWrapper/index.less +33 -33
  85. package/src/components/Business/HomePageWrapper/index.md +45 -45
  86. package/src/components/Business/HomePageWrapper/index.tsx +162 -162
  87. package/src/components/Business/JsonQueryTable/components/FieldsModifyModal.tsx +824 -824
  88. package/src/components/Business/JsonQueryTable/components/FieldsSettingsTable.tsx +205 -205
  89. package/src/components/Business/JsonQueryTable/components/Formula.tsx +206 -206
  90. package/src/components/Business/JsonQueryTable/components/MaintainOptions.tsx +127 -127
  91. package/src/components/Business/JsonQueryTable/configButton/index.js +20 -20
  92. package/src/components/Business/JsonQueryTable/configTree/component/compactArrayView.js +25 -25
  93. package/src/components/Business/JsonQueryTable/configTree/component/compactObjectView.js +30 -30
  94. package/src/components/Business/JsonQueryTable/configTree/index.js +82 -82
  95. package/src/components/Business/JsonQueryTable/configTree/index.less +44 -44
  96. package/src/components/Business/JsonQueryTable/configTree/parser/highlight.js +57 -57
  97. package/src/components/Business/JsonQueryTable/configTree/parser/index.js +124 -124
  98. package/src/components/Business/JsonQueryTable/configTree/render/iconRender.js +29 -29
  99. package/src/components/Business/JsonQueryTable/configTree/render/nameRender.js +22 -22
  100. package/src/components/Business/JsonQueryTable/configTree/treeNode.js +116 -116
  101. package/src/components/Business/JsonQueryTable/drawer/index.tsx +12 -12
  102. package/src/components/Business/JsonQueryTable/function.ts +62 -62
  103. package/src/components/Business/JsonQueryTable/index.less +16 -16
  104. package/src/components/Business/JsonQueryTable/index.md +328 -328
  105. package/src/components/Business/JsonQueryTable/index.tsx +537 -537
  106. package/src/components/Business/JsonQueryTable/jsonEditor/index.js +346 -346
  107. package/src/components/Business/JsonQueryTable/jsonEditor/index.less +22 -22
  108. package/src/components/Business/JsonQueryTable/jsonEditor/lint/basicType.js +147 -147
  109. package/src/components/Business/JsonQueryTable/jsonEditor/lint/index.js +389 -389
  110. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/actions.js +118 -118
  111. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/dependency.js +22 -22
  112. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/index.js +21 -21
  113. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/request.js +65 -65
  114. package/src/components/Business/JsonQueryTable/static.ts +450 -450
  115. package/src/components/Business/SearchSelect/BusinessUtils.ts +1903 -1836
  116. package/src/components/Business/SearchSelect/common.ts +75 -75
  117. package/src/components/Business/SearchSelect/index.md +1387 -1387
  118. package/src/components/Business/SearchSelect/index.tsx +55 -55
  119. package/src/components/Business/SearchSelect/utils.ts +101 -101
  120. package/src/components/Business/StateFlow/index.less +130 -130
  121. package/src/components/Business/StateFlow/index.md +60 -60
  122. package/src/components/Business/StateFlow/index.tsx +29 -29
  123. package/src/components/Business/TreeSearchSelect/index.md +185 -185
  124. package/src/components/Business/TreeSearchSelect/index.tsx +33 -33
  125. package/src/components/Business/TreeSearchSelect/utils.ts +104 -104
  126. package/src/components/Business/columnSettingTable/columnSetting.tsx +766 -766
  127. package/src/components/Business/columnSettingTable/index.less +247 -247
  128. package/src/components/Business/columnSettingTable/index.md +357 -357
  129. package/src/components/Business/columnSettingTable/index.tsx +234 -234
  130. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +242 -242
  131. package/src/components/Business/columnSettingTable/utils.tsx +71 -71
  132. package/src/components/Business/moreTreeTable/FixedScrollBar.tsx +87 -87
  133. package/src/components/Business/moreTreeTable/hooks/useSticky.ts +21 -21
  134. package/src/components/Business/moreTreeTable/index.less +99 -99
  135. package/src/components/Business/moreTreeTable/index.md +448 -448
  136. package/src/components/Business/moreTreeTable/index.tsx +387 -387
  137. package/src/components/Business/moreTreeTable/utils.ts +126 -126
  138. package/src/components/Functional/AddSelect/helps.ts +80 -80
  139. package/src/components/Functional/AddSelect/index.less +367 -367
  140. package/src/components/Functional/AddSelect/index.md +155 -155
  141. package/src/components/Functional/AddSelect/index.tsx +1171 -1171
  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 +773 -773
  145. package/src/components/Functional/BsAntdSula/BsCascader/index.md +62 -62
  146. package/src/components/Functional/BsAntdSula/BsCascader/index.tsx +178 -178
  147. package/src/components/Functional/BsAntdSula/index.ts +2 -2
  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 +696 -696
  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 +688 -688
  154. package/src/components/Functional/EllipsisTooltip/index.d.ts +5 -5
  155. package/src/components/Functional/EllipsisTooltip/index.js +36 -36
  156. package/src/components/Functional/EllipsisTooltip/index.md +30 -30
  157. package/src/components/Functional/ExportFunctions/ExportIcon/index.md +37 -37
  158. package/src/components/Functional/ExportFunctions/ExportIcon/index.tsx +60 -60
  159. package/src/components/Functional/QueryMutipleInput/index.less +37 -37
  160. package/src/components/Functional/QueryMutipleInput/index.md +33 -33
  161. package/src/components/Functional/QueryMutipleInput/index.tsx +128 -128
  162. package/src/components/Functional/SearchSelect/index.less +115 -115
  163. package/src/components/Functional/SearchSelect/index.md +141 -141
  164. package/src/components/Functional/SearchSelect/index.tsx +896 -896
  165. package/src/components/Functional/SearchSelect/utils.ts +3 -3
  166. package/src/components/Functional/TreeSearchSelect/index.md +47 -47
  167. package/src/components/Functional/TreeSearchSelect/index.tsx +204 -201
  168. package/src/components/Solution/RuleComponent/Formula.tsx +335 -335
  169. package/src/components/Solution/RuleComponent/InnerSelect.tsx +62 -62
  170. package/src/components/Solution/RuleComponent/index.d.ts +29 -29
  171. package/src/components/Solution/RuleComponent/index.js +2073 -2073
  172. package/src/components/Solution/RuleComponent/index.less +230 -230
  173. package/src/components/Solution/RuleComponent/renderSpecificAction.js +99 -99
  174. package/src/components/Solution/RuleComponent/ruleFiled.js +2281 -2281
  175. package/src/components/Solution/RuleComponent/services.ts +13 -13
  176. package/src/components/Solution/RuleComponent/util.js +143 -143
  177. package/src/index.ts +38 -38
  178. package/src/plugin/TableColumnSetting/index.less +247 -247
  179. package/src/plugin/TableColumnSetting/index.md +50 -50
  180. package/src/plugin/TableColumnSetting/index.tsx +725 -725
  181. package/src/plugin/TableColumnSetting/utils.ts +19 -19
  182. package/src/styles/bsDefault.less +1912 -1912
  183. package/src/utils/CheckOneUser/index.md +39 -39
  184. package/src/utils/CheckOneUser/index.ts +51 -51
  185. package/src/utils/CustomLoginInfo.ts +55 -55
  186. package/src/utils/LocalstorageUtils.ts +95 -95
  187. package/src/utils/TableUtils.tsx +18 -18
  188. package/src/utils/checkUtils.ts +39 -39
  189. package/src/utils/enumConfig.ts +11 -11
  190. package/src/utils/getFormMode.js +12 -12
  191. package/src/utils/index.ts +4 -4
  192. package/src/utils/requestUtils.ts +166 -166
  193. package/src/utils/serialize.js +7 -7
  194. package/src/utils/utils.ts +195 -195
  195. package/tsconfig.json +29 -29
  196. package/typings.d.ts +4 -4
  197. package/dist/common/ENUM.d.ts +0 -40
  198. package/dist/components/Business/AddSelectBusiness/index.d.ts +0 -4
  199. package/dist/components/Business/BsLayouts/Components/AllFunc/drawContent.d.ts +0 -5
  200. package/dist/components/Business/BsLayouts/Components/AllFunc/index.d.ts +0 -4
  201. package/dist/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.d.ts +0 -4
  202. package/dist/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.d.ts +0 -17
  203. package/dist/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.d.ts +0 -30
  204. package/dist/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.d.ts +0 -4
  205. package/dist/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.d.ts +0 -3
  206. package/dist/components/Business/BsLayouts/Components/CustomerMenu/index.d.ts +0 -4
  207. package/dist/components/Business/BsLayouts/Components/GlobalHeader/index.d.ts +0 -5
  208. package/dist/components/Business/BsLayouts/Components/RightContent/LoginModal.d.ts +0 -3
  209. package/dist/components/Business/BsLayouts/Components/RightContent/index.d.ts +0 -8
  210. package/dist/components/Business/BsLayouts/Components/SearchFunc/index.d.ts +0 -8
  211. package/dist/components/Business/BsLayouts/index.d.ts +0 -18
  212. package/dist/components/Business/BsLayouts/service.d.ts +0 -1
  213. package/dist/components/Business/BsLayouts/utils.d.ts +0 -10
  214. package/dist/components/Business/BsSulaQueryTable/SearchItemSetting.d.ts +0 -60
  215. package/dist/components/Business/BsSulaQueryTable/index.d.ts +0 -3
  216. package/dist/components/Business/BsSulaQueryTable/setting.d.ts +0 -60
  217. package/dist/components/Business/BsSulaQueryTable/utils.d.ts +0 -99
  218. package/dist/components/Business/CommodityEntry/index.d.ts +0 -3
  219. package/dist/components/Business/CommonAlert/index.d.ts +0 -4
  220. package/dist/components/Business/CommonGuideWrapper/index.d.ts +0 -6
  221. package/dist/components/Business/DetailPageWrapper/index.d.ts +0 -10
  222. package/dist/components/Business/DetailPageWrapper/utils.d.ts +0 -8
  223. package/dist/components/Business/HomePageWrapper/index.d.ts +0 -4
  224. package/dist/components/Business/JsonQueryTable/components/FieldsModifyModal.d.ts +0 -3
  225. package/dist/components/Business/JsonQueryTable/components/FieldsSettingsTable.d.ts +0 -3
  226. package/dist/components/Business/JsonQueryTable/components/Formula.d.ts +0 -7
  227. package/dist/components/Business/JsonQueryTable/components/MaintainOptions.d.ts +0 -3
  228. package/dist/components/Business/JsonQueryTable/drawer/index.d.ts +0 -3
  229. package/dist/components/Business/JsonQueryTable/function.d.ts +0 -37
  230. package/dist/components/Business/JsonQueryTable/index.d.ts +0 -4
  231. package/dist/components/Business/JsonQueryTable/static.d.ts +0 -44
  232. package/dist/components/Business/SearchSelect/BusinessUtils.d.ts +0 -5
  233. package/dist/components/Business/SearchSelect/common.d.ts +0 -25
  234. package/dist/components/Business/SearchSelect/index.d.ts +0 -3
  235. package/dist/components/Business/SearchSelect/utils.d.ts +0 -5
  236. package/dist/components/Business/StateFlow/index.d.ts +0 -4
  237. package/dist/components/Business/TreeSearchSelect/index.d.ts +0 -3
  238. package/dist/components/Business/TreeSearchSelect/utils.d.ts +0 -4
  239. package/dist/components/Business/columnSettingTable/columnSetting.d.ts +0 -54
  240. package/dist/components/Business/columnSettingTable/index.d.ts +0 -16
  241. package/dist/components/Business/columnSettingTable/sulaSettingTable.d.ts +0 -17
  242. package/dist/components/Business/columnSettingTable/utils.d.ts +0 -9
  243. package/dist/components/Business/moreTreeTable/FixedScrollBar.d.ts +0 -3
  244. package/dist/components/Business/moreTreeTable/hooks/useSticky.d.ts +0 -8
  245. package/dist/components/Business/moreTreeTable/index.d.ts +0 -4
  246. package/dist/components/Business/moreTreeTable/utils.d.ts +0 -9
  247. package/dist/components/Functional/AddSelect/helps.d.ts +0 -14
  248. package/dist/components/Functional/AddSelect/index.d.ts +0 -4
  249. package/dist/components/Functional/BillEntry/index.d.ts +0 -4
  250. package/dist/components/Functional/BsAntdSula/BsCascader/index.d.ts +0 -18
  251. package/dist/components/Functional/BsAntdSula/index.d.ts +0 -1
  252. package/dist/components/Functional/DataImport/index.d.ts +0 -144
  253. package/dist/components/Functional/DataValidation/index.d.ts +0 -144
  254. package/dist/components/Functional/ExportFunctions/ExportIcon/index.d.ts +0 -13
  255. package/dist/components/Functional/QueryMutipleInput/index.d.ts +0 -6
  256. package/dist/components/Functional/SearchSelect/index.d.ts +0 -4
  257. package/dist/components/Functional/SearchSelect/utils.d.ts +0 -1
  258. package/dist/components/Functional/TreeSearchSelect/index.d.ts +0 -3
  259. package/dist/components/Solution/RuleComponent/Formula.d.ts +0 -9
  260. package/dist/components/Solution/RuleComponent/InnerSelect.d.ts +0 -12
  261. package/dist/components/Solution/RuleComponent/services.d.ts +0 -1
  262. package/dist/index.d.ts +0 -28
  263. package/dist/index.esm.js +0 -31379
  264. package/dist/plugin/TableColumnSetting/index.d.ts +0 -64
  265. package/dist/plugin/TableColumnSetting/utils.d.ts +0 -1
  266. package/dist/utils/CheckOneUser/index.d.ts +0 -2
  267. package/dist/utils/CustomLoginInfo.d.ts +0 -11
  268. package/dist/utils/LocalstorageUtils.d.ts +0 -17
  269. package/dist/utils/TableUtils.d.ts +0 -11
  270. package/dist/utils/checkUtils.d.ts +0 -3
  271. package/dist/utils/enumConfig.d.ts +0 -12
  272. package/dist/utils/index.d.ts +0 -4
  273. package/dist/utils/requestUtils.d.ts +0 -29
  274. package/dist/utils/utils.d.ts +0 -17
@@ -1,315 +1,315 @@
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
- backHistoryPath,
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={window.top == window ? 78 : 0}
216
- >
217
- <div>
218
- <div className={'detail_page_head'}>
219
- <div
220
- className={'back_home_img_content'}
221
- onClick={() => {
222
- go2BackAndClose(backHistoryPath);
223
- // history.goBack();
224
- }}
225
- >
226
- <ArrowLeftOutlined />
227
- </div>
228
- <div className={'detail_page_title_box'}>
229
- <div className={'detail_page_title'}>{pageTitle}</div>
230
- <Breadcrumb>
231
- {breadcrumbArr.map((item) => (
232
- <Breadcrumb.Item
233
- key={item}
234
- onClick={() => {
235
- // if (
236
- // item.path &&
237
- // !item.children &&
238
- // !pathToRegexp(item.path).test(`${basePath}${pathname}`)
239
- // ) {
240
- // history.push({
241
- // pathname: item.path.replace(basePath, ''),
242
- // });
243
- // }
244
- }}
245
- >
246
- <span
247
- style={{
248
- // color:
249
- // item.path &&
250
- // pathToRegexp(item.path).test(`${basePath}${pathname}`)
251
- // ? '#000000d9'
252
- // : '',
253
- }}
254
- className="bread_name"
255
- >
256
- {item}
257
- </span>
258
- </Breadcrumb.Item>
259
- ))}
260
- </Breadcrumb>
261
- </div>
262
- <div
263
- className={'detail_page_btns'}
264
- style={{ marginRight: '20px', display: 'flex', gap: '8px' }}
265
- >
266
- {renderPageActionList(actionList)}
267
- {
268
- !donotNeedShowScreenIcon ? ( <a>
269
- {isFullScreen ? (
270
- <Tooltip title="取消全屏">
271
- <img
272
- onClick={() => {
273
- ShowFullScreen();
274
- }}
275
- width={32}
276
- src={scanning}
277
- />
278
- </Tooltip>
279
- ) : (
280
- <Tooltip title="全屏">
281
- <img
282
- onClick={() => {
283
- ShowFullScreen();
284
- }}
285
- width={32}
286
- src={quanping}
287
- />
288
- </Tooltip>
289
- )}
290
- </a>) : null
291
- }
292
- </div>
293
- </div>
294
- {
295
- alertProps && (
296
- <CommonAlert
297
- {
298
- ...alertProps
299
- }
300
- />
301
- )
302
- }
303
- </div>
304
- </Anchor>
305
- );
306
- },
307
- (prevProps, nextProps) => {
308
- if (
309
- (JSON.stringify(prevProps.actionList) != JSON.stringify(nextProps.actionList)) || prevProps.title !== nextProps.title
310
- ) {
311
- return false;
312
- }
313
- return true;
314
- },
315
- );
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
+ backHistoryPath,
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={window.top == window ? 78 : 0}
216
+ >
217
+ <div>
218
+ <div className={'detail_page_head'}>
219
+ <div
220
+ className={'back_home_img_content'}
221
+ onClick={() => {
222
+ go2BackAndClose(backHistoryPath);
223
+ // history.goBack();
224
+ }}
225
+ >
226
+ <ArrowLeftOutlined />
227
+ </div>
228
+ <div className={'detail_page_title_box'}>
229
+ <div className={'detail_page_title'}>{pageTitle}</div>
230
+ <Breadcrumb>
231
+ {breadcrumbArr.map((item) => (
232
+ <Breadcrumb.Item
233
+ key={item}
234
+ onClick={() => {
235
+ // if (
236
+ // item.path &&
237
+ // !item.children &&
238
+ // !pathToRegexp(item.path).test(`${basePath}${pathname}`)
239
+ // ) {
240
+ // history.push({
241
+ // pathname: item.path.replace(basePath, ''),
242
+ // });
243
+ // }
244
+ }}
245
+ >
246
+ <span
247
+ style={{
248
+ // color:
249
+ // item.path &&
250
+ // pathToRegexp(item.path).test(`${basePath}${pathname}`)
251
+ // ? '#000000d9'
252
+ // : '',
253
+ }}
254
+ className="bread_name"
255
+ >
256
+ {item}
257
+ </span>
258
+ </Breadcrumb.Item>
259
+ ))}
260
+ </Breadcrumb>
261
+ </div>
262
+ <div
263
+ className={'detail_page_btns'}
264
+ style={{ marginRight: '20px', display: 'flex', gap: '8px' }}
265
+ >
266
+ {renderPageActionList(actionList)}
267
+ {
268
+ !donotNeedShowScreenIcon ? ( <a>
269
+ {isFullScreen ? (
270
+ <Tooltip title="取消全屏">
271
+ <img
272
+ onClick={() => {
273
+ ShowFullScreen();
274
+ }}
275
+ width={32}
276
+ src={scanning}
277
+ />
278
+ </Tooltip>
279
+ ) : (
280
+ <Tooltip title="全屏">
281
+ <img
282
+ onClick={() => {
283
+ ShowFullScreen();
284
+ }}
285
+ width={32}
286
+ src={quanping}
287
+ />
288
+ </Tooltip>
289
+ )}
290
+ </a>) : null
291
+ }
292
+ </div>
293
+ </div>
294
+ {
295
+ alertProps && (
296
+ <CommonAlert
297
+ {
298
+ ...alertProps
299
+ }
300
+ />
301
+ )
302
+ }
303
+ </div>
304
+ </Anchor>
305
+ );
306
+ },
307
+ (prevProps, nextProps) => {
308
+ if (
309
+ (JSON.stringify(prevProps.actionList) != JSON.stringify(nextProps.actionList)) || prevProps.title !== nextProps.title
310
+ ) {
311
+ return false;
312
+ }
313
+ return true;
314
+ },
315
+ );