aldehyde 0.2.490 → 0.2.491

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 (689) hide show
  1. package/LICENSE +201 -201
  2. package/README.md +2 -2
  3. package/lib/controls/2dEditor/2dEditor/index.less +5 -5
  4. package/lib/controls/2dEditor/2dView/index.less +8 -8
  5. package/lib/controls/2dEditor/components/component.less +83 -83
  6. package/lib/controls/action/index.css +8 -8
  7. package/lib/controls/action/index.d.ts.map +1 -1
  8. package/lib/controls/chemstruc/graph.d.ts.map +1 -1
  9. package/lib/controls/chemstruc/index.css +28 -28
  10. package/lib/controls/collapse-card/index.css +8 -8
  11. package/lib/controls/collapse-card/index.d.ts.map +1 -1
  12. package/lib/controls/cquery/cquick-button.d.ts.map +1 -1
  13. package/lib/controls/date-picker/index.js +9 -9
  14. package/lib/controls/date-picker/index.js.map +1 -1
  15. package/lib/controls/entity-select/entity-select.d.ts.map +1 -1
  16. package/lib/controls/entity-select/index.css +7 -7
  17. package/lib/controls/entity-select/lab-tree-select.d.ts.map +1 -1
  18. package/lib/controls/entity-select/popover-entity-select.d.ts.map +1 -1
  19. package/lib/controls/file-view/index.less +9 -9
  20. package/lib/controls/html-editor/index.less +67 -67
  21. package/lib/controls/icon-selector/icon/aldehyde-menu-icon/iconfont.css +147 -147
  22. package/lib/controls/icon-selector/icon/phonenode-menu-icon/iconfont.css +63 -63
  23. package/lib/controls/password-setter/index.css +2 -2
  24. package/lib/controls/password-setter/index.d.ts.map +1 -1
  25. package/lib/controls/qr-code/index.less +28 -28
  26. package/lib/controls/relation-existion/index.css +3 -3
  27. package/lib/controls/relation-existion/index.d.ts.map +1 -1
  28. package/lib/controls/rfield/index.css +4 -4
  29. package/lib/controls/rfield/index.d.ts.map +1 -1
  30. package/lib/controls/select/index.d.ts.map +1 -1
  31. package/lib/controls/signature/index.d.ts.map +1 -1
  32. package/lib/controls/text/ellipsis-text.d.ts.map +1 -1
  33. package/lib/controls/text/index.less +7 -7
  34. package/lib/controls/upload/index.d.ts.map +1 -1
  35. package/lib/controls/upload/mult-file-upload.d.ts.map +1 -1
  36. package/lib/custom-page/dtmpl-custom-edit-modal-page.d.ts +4 -0
  37. package/lib/custom-page/dtmpl-custom-edit-modal-page.d.ts.map +1 -1
  38. package/lib/custom-page/dtmpl-custom-edit-modal-page.js +3 -1
  39. package/lib/custom-page/dtmpl-custom-edit-modal-page.js.map +1 -1
  40. package/lib/detail/button/bottom-submit-button-bar.d.ts.map +1 -1
  41. package/lib/detail/button/cquery-button-bar.d.ts.map +1 -1
  42. package/lib/detail/button/fix-right-submit-button-bar.d.ts.map +1 -1
  43. package/lib/detail/button/index.css +42 -42
  44. package/lib/detail/dtmpl.css +72 -72
  45. package/lib/detail/edit/fields-edit-card.d.ts.map +1 -1
  46. package/lib/detail/edit/modal-row-edit.d.ts.map +1 -1
  47. package/lib/detail/edit/popover-edit-card.d.ts.map +1 -1
  48. package/lib/detail/rightbar/index.css +34 -34
  49. package/lib/detail/rightbar/index.d.ts.map +1 -1
  50. package/lib/detail/view/act-dtmpl-view.d.ts.map +1 -1
  51. package/lib/detail/view/field-view-group.d.ts.map +1 -1
  52. package/lib/detail/view/modal-dtmpl-view.d.ts.map +1 -1
  53. package/lib/detail/view/snapshot-timeline.d.ts.map +1 -1
  54. package/lib/detail/view/tab-act-dtmpl-view.d.ts.map +1 -1
  55. package/lib/draw-canvas-edit/components/asset-bar/index.less +35 -35
  56. package/lib/draw-canvas-edit/components/main-header/index.less +23 -23
  57. package/lib/draw-canvas-edit/components/render/components/index.less +60 -60
  58. package/lib/draw-canvas-edit/components/render/components/workstation-component.js +6 -6
  59. package/lib/draw-canvas-edit/index.less +48 -48
  60. package/lib/draw-canvas-view/index.less +66 -66
  61. package/lib/export/export-frame.css +2 -2
  62. package/lib/export/export-frame.d.ts.map +1 -1
  63. package/lib/export/select-code-export-frame.d.ts.map +1 -1
  64. package/lib/form/dtmpl-form.css +3 -3
  65. package/lib/form/dtmpl-form.d.ts.map +1 -1
  66. package/lib/form/field-group-form.d.ts.map +1 -1
  67. package/lib/form/form-Item-group.d.ts.map +1 -1
  68. package/lib/form/index.css +12 -12
  69. package/lib/import/excel-import.d.ts.map +1 -1
  70. package/lib/import/index.css +53 -53
  71. package/lib/import/template.css +50 -50
  72. package/lib/layout/common.css +64 -64
  73. package/lib/layout/coverstyle.css +51 -51
  74. package/lib/layout/footer/index.css +5 -5
  75. package/lib/layout/header/index.css +122 -122
  76. package/lib/layout/menu/block.css +7 -7
  77. package/lib/layout/menu/block.d.ts.map +1 -1
  78. package/lib/layout/menu/l2menu-quick-bar.d.ts.map +1 -1
  79. package/lib/layout/menu/menu-2layers.d.ts.map +1 -1
  80. package/lib/layout/menu/message-bar.less +73 -73
  81. package/lib/layout/menu/reset-password.d.ts.map +1 -1
  82. package/lib/layout/menu/user-bar.d.ts.map +1 -1
  83. package/lib/layout/menu/userinfo-bar.d.ts.map +1 -1
  84. package/lib/layout/sidebar/index.css +57 -57
  85. package/lib/layout2/components/system-messages.js +1 -1
  86. package/lib/layout2/components/system-messages.js.map +1 -1
  87. package/lib/layout2/components/user-notification.js +1 -1
  88. package/lib/layout2/components/user-notification.js.map +1 -1
  89. package/lib/layout2/css/header.css +41 -41
  90. package/lib/layout2/css/sider.less +17 -17
  91. package/lib/layout2/css/tabs-layout.less +18 -18
  92. package/lib/layout3/css/header.less +195 -195
  93. package/lib/layout3/css/main.less +161 -161
  94. package/lib/layout3/css/sider.less +32 -32
  95. package/lib/layout3/css/tabs-layout.less +38 -38
  96. package/lib/layout4/css/header.less +196 -196
  97. package/lib/layout4/css/main.less +154 -154
  98. package/lib/layout4/css/sider.less +37 -37
  99. package/lib/layout4/css/tabs-layout.less +42 -42
  100. package/lib/layout5/css/header.less +35 -35
  101. package/lib/layout5/css/sider.less +18 -18
  102. package/lib/list/calendar/index.less +20 -20
  103. package/lib/list/card-list/index.less +154 -154
  104. package/lib/list/gantt/index.less +8 -8
  105. package/lib/list/vertical-list/index.less +208 -208
  106. package/lib/login/index.css +19 -19
  107. package/lib/login/login.d.ts.map +1 -1
  108. package/lib/login/vertify/index.css +143 -143
  109. package/lib/login3/index.less +136 -136
  110. package/lib/lowcode-components/act-table/index.less +26 -26
  111. package/lib/lowcode-components/base-button/index.less +7 -7
  112. package/lib/lowcode-components/base-map/index.js +6 -6
  113. package/lib/lowcode-components/base-radio/index.less +23 -23
  114. package/lib/lowcode-components/base-table/index.less +61 -61
  115. package/lib/lowcode-components/base-tabs/index.less +14 -14
  116. package/lib/lowcode-components/base-text/index.less +19 -19
  117. package/lib/lowcode-components/border/border10/index.less +26 -26
  118. package/lib/lowcode-components/border/border11/index.js +46 -46
  119. package/lib/lowcode-components/border/border11/index.less +17 -17
  120. package/lib/lowcode-components/border/border12/index.js +13 -13
  121. package/lib/lowcode-components/border/border12/index.less +13 -13
  122. package/lib/lowcode-components/border/border13/index.js +5 -5
  123. package/lib/lowcode-components/border/border13/index.less +13 -13
  124. package/lib/lowcode-components/border/border2/index.less +17 -17
  125. package/lib/lowcode-components/border/border3/index.less +25 -25
  126. package/lib/lowcode-components/border/border4/index.js +2 -2
  127. package/lib/lowcode-components/border/border4/index.less +72 -72
  128. package/lib/lowcode-components/border/border5/index.js +2 -2
  129. package/lib/lowcode-components/border/border5/index.less +35 -35
  130. package/lib/lowcode-components/border/border6/index.less +17 -17
  131. package/lib/lowcode-components/border/border7/index.less +26 -26
  132. package/lib/lowcode-components/border/border8/index.less +13 -13
  133. package/lib/lowcode-components/border/border9/index.js +14 -14
  134. package/lib/lowcode-components/border/border9/index.less +13 -13
  135. package/lib/lowcode-components/column-chart/index.d.ts +1 -0
  136. package/lib/lowcode-components/column-chart/index.d.ts.map +1 -1
  137. package/lib/lowcode-components/column-chart/index.js +49 -7
  138. package/lib/lowcode-components/column-chart/index.js.map +1 -1
  139. package/lib/lowcode-components/data-number/index.less +10 -10
  140. package/lib/lowcode-components/date-time/index.less +4 -4
  141. package/lib/lowcode-components/decoration/decoration1/index.less +7 -7
  142. package/lib/lowcode-components/decoration/decoration10/index.js +3 -3
  143. package/lib/lowcode-components/decoration/decoration10/index.less +5 -5
  144. package/lib/lowcode-components/decoration/decoration11/index.less +5 -5
  145. package/lib/lowcode-components/decoration/decoration2/index.less +6 -6
  146. package/lib/lowcode-components/decoration/decoration3/index.less +7 -7
  147. package/lib/lowcode-components/decoration/decoration4/index.less +29 -29
  148. package/lib/lowcode-components/decoration/decoration5/index.less +3 -3
  149. package/lib/lowcode-components/decoration/decoration6/index.less +7 -7
  150. package/lib/lowcode-components/decoration/decoration7/index.less +4 -4
  151. package/lib/lowcode-components/decoration/decoration8/index.less +14 -14
  152. package/lib/lowcode-components/decoration/decoration9/index.less +4 -4
  153. package/lib/lowcode-components/effectScatter-map/index.js +6 -6
  154. package/lib/lowcode-components/effectScatter-map-3d/index.js +6 -6
  155. package/lib/lowcode-components/four-angle-glow-border/index.less +49 -49
  156. package/lib/lowcode-components/line-bar-chart/index.d.ts +2 -1
  157. package/lib/lowcode-components/line-bar-chart/index.d.ts.map +1 -1
  158. package/lib/lowcode-components/line-bar-chart/index.js +53 -11
  159. package/lib/lowcode-components/line-bar-chart/index.js.map +1 -1
  160. package/lib/lowcode-components/line-chart/index.d.ts +1 -0
  161. package/lib/lowcode-components/line-chart/index.d.ts.map +1 -1
  162. package/lib/lowcode-components/line-chart/index.js +52 -10
  163. package/lib/lowcode-components/line-chart/index.js.map +1 -1
  164. package/lib/lowcode-components/lowcode-view/component/font/FontGlobal.css +26 -26
  165. package/lib/lowcode-components/lowcode-view/component/screen-fit/index.less +13 -13
  166. package/lib/lowcode-components/lowcode-view/index.d.ts.map +1 -1
  167. package/lib/lowcode-components/lowcode-view/index.js +3 -1
  168. package/lib/lowcode-components/lowcode-view/index.js.map +1 -1
  169. package/lib/lowcode-components/lowcode-view/index.less +19 -19
  170. package/lib/lowcode-components/search-form/index.less +25 -25
  171. package/lib/lowcode-components/text-scroller/index.less +28 -28
  172. package/lib/module/dtmpl-edit-card.d.ts +2 -0
  173. package/lib/module/dtmpl-edit-card.d.ts.map +1 -1
  174. package/lib/module/dtmpl-edit-card.js +15 -12
  175. package/lib/module/dtmpl-edit-card.js.map +1 -1
  176. package/lib/module/dtmpl-edit-drawer.d.ts +1 -0
  177. package/lib/module/dtmpl-edit-drawer.d.ts.map +1 -1
  178. package/lib/module/dtmpl-edit-drawer.js.map +1 -1
  179. package/lib/module/dtmpl-edit-modal.d.ts +1 -0
  180. package/lib/module/dtmpl-edit-modal.d.ts.map +1 -1
  181. package/lib/module/dtmpl-edit-modal.js.map +1 -1
  182. package/lib/module/dtmpl-edit-page.d.ts +2 -0
  183. package/lib/module/dtmpl-edit-page.d.ts.map +1 -1
  184. package/lib/module/dtmpl-edit-page.js +16 -12
  185. package/lib/module/dtmpl-edit-page.js.map +1 -1
  186. package/lib/module/index.less +4 -4
  187. package/lib/module/ltmpl-modal.d.ts.map +1 -1
  188. package/lib/module/ltmpl-table.d.ts +4 -0
  189. package/lib/module/ltmpl-table.d.ts.map +1 -1
  190. package/lib/module/ltmpl-table.js +10 -6
  191. package/lib/module/ltmpl-table.js.map +1 -1
  192. package/lib/routable/index.less +25 -25
  193. package/lib/routable/ltmpl-route.d.ts +1 -0
  194. package/lib/routable/ltmpl-route.d.ts.map +1 -1
  195. package/lib/routable/ltmpl-route.js +5 -3
  196. package/lib/routable/ltmpl-route.js.map +1 -1
  197. package/lib/routable/splitview-ltmpl-route.d.ts.map +1 -1
  198. package/lib/routable/splitview-ltmpl-route.js +4 -2
  199. package/lib/routable/splitview-ltmpl-route.js.map +1 -1
  200. package/lib/table/act-table.d.ts +3 -1
  201. package/lib/table/act-table.d.ts.map +1 -1
  202. package/lib/table/act-table.js +8 -7
  203. package/lib/table/act-table.js.map +1 -1
  204. package/lib/table/column/column-builder.d.ts.map +1 -1
  205. package/lib/table/column/column-builder.js +15 -6
  206. package/lib/table/column/column-builder.js.map +1 -1
  207. package/lib/table/column/index.less +85 -85
  208. package/lib/table/index.css +211 -211
  209. package/lib/table/modal-select-table.d.ts.map +1 -1
  210. package/lib/table/page-chart.less +9 -9
  211. package/lib/table/pagination.css +14 -14
  212. package/lib/table/pagination.d.ts.map +1 -1
  213. package/lib/table/relation-table.d.ts.map +1 -1
  214. package/lib/table/selected-rows-card.d.ts.map +1 -1
  215. package/lib/table/stat/restat.d.ts.map +1 -1
  216. package/lib/tmpl/interface.d.ts +4 -1
  217. package/lib/tmpl/interface.d.ts.map +1 -1
  218. package/lib/tmpl/interface.js.map +1 -1
  219. package/lib/tree/act-tree.d.ts.map +1 -1
  220. package/lib/tree/block-menu-auth-tree.d.ts.map +1 -1
  221. package/lib/tree/index.css +22 -22
  222. package/lib/tree/tmpl-tree.d.ts.map +1 -1
  223. package/lib/welcome/components/menu-card.less +96 -96
  224. package/lib/welcome/components/page-card.less +49 -49
  225. package/lib/welcome/components/quick-entrance.less +120 -120
  226. package/lib/welcome/components/user-menus.less +192 -192
  227. package/lib/welcome/components/workbench.less +118 -118
  228. package/lib/welcome/index.css +13 -13
  229. package/package.json +224 -224
  230. package/src/aldehyde/controls/2dEditor/2dEditor/index.less +5 -5
  231. package/src/aldehyde/controls/2dEditor/2dEditor/index.tsx +270 -270
  232. package/src/aldehyde/controls/2dEditor/2dView/index.less +8 -8
  233. package/src/aldehyde/controls/2dEditor/2dView/index.tsx +110 -110
  234. package/src/aldehyde/controls/2dEditor/components/card.tsx +256 -256
  235. package/src/aldehyde/controls/2dEditor/components/component.less +83 -83
  236. package/src/aldehyde/controls/2dEditor/components/data.d.ts +32 -32
  237. package/src/aldehyde/controls/2dEditor/components/hotspot.tsx +80 -80
  238. package/src/aldehyde/controls/2dEditor/components/html-box.tsx +101 -101
  239. package/src/aldehyde/controls/2dEditor/components/image.tsx +99 -99
  240. package/src/aldehyde/controls/2dEditor/components/line.tsx +73 -73
  241. package/src/aldehyde/controls/action/index.css +8 -8
  242. package/src/aldehyde/controls/action/index.tsx +406 -406
  243. package/src/aldehyde/controls/action/utils.tsx +306 -306
  244. package/src/aldehyde/controls/auto-complete/index.tsx +82 -82
  245. package/src/aldehyde/controls/cascader/index.tsx +112 -112
  246. package/src/aldehyde/controls/chemstruc/graph.tsx +185 -185
  247. package/src/aldehyde/controls/chemstruc/index.css +28 -28
  248. package/src/aldehyde/controls/code-editor/sql-code-editor.tsx +73 -73
  249. package/src/aldehyde/controls/collapse-card/index.css +8 -8
  250. package/src/aldehyde/controls/collapse-card/index.tsx +109 -109
  251. package/src/aldehyde/controls/color-picker/index.tsx +21 -21
  252. package/src/aldehyde/controls/counting-tag/index.tsx +53 -53
  253. package/src/aldehyde/controls/cquery/cquick-button.tsx +145 -145
  254. package/src/aldehyde/controls/date-picker/index.tsx +199 -199
  255. package/src/aldehyde/controls/direct-file-view/drawer-file-view.tsx +54 -54
  256. package/src/aldehyde/controls/direct-file-view/index.tsx +147 -147
  257. package/src/aldehyde/controls/direct-upload/index.tsx +140 -140
  258. package/src/aldehyde/controls/entity-select/entity-select.tsx +791 -791
  259. package/src/aldehyde/controls/entity-select/index.css +7 -7
  260. package/src/aldehyde/controls/entity-select/lab-tree-select.tsx +154 -154
  261. package/src/aldehyde/controls/entity-select/popover-entity-select.tsx +205 -205
  262. package/src/aldehyde/controls/entry-control.tsx +431 -431
  263. package/src/aldehyde/controls/enum-badge/index.tsx +42 -42
  264. package/src/aldehyde/controls/enum-tag/index.tsx +45 -45
  265. package/src/aldehyde/controls/field-history/index.tsx +81 -81
  266. package/src/aldehyde/controls/file-export/select-code-export.tsx +40 -40
  267. package/src/aldehyde/controls/file-view/drawer-file-view.tsx +117 -117
  268. package/src/aldehyde/controls/file-view/index.less +9 -9
  269. package/src/aldehyde/controls/file-view/index.tsx +148 -148
  270. package/src/aldehyde/controls/file-view/multi-file-view.tsx +39 -39
  271. package/src/aldehyde/controls/file-view/newin-file-view.tsx +40 -40
  272. package/src/aldehyde/controls/html-editor/draft.tsx +136 -136
  273. package/src/aldehyde/controls/html-editor/index.less +67 -67
  274. package/src/aldehyde/controls/icon-selector/app-icon-selector.tsx +68 -68
  275. package/src/aldehyde/controls/icon-selector/icon/aldehyde-menu-icon/iconfont.css +147 -147
  276. package/src/aldehyde/controls/icon-selector/icon/aldehyde-menu-icon/iconfont.json +240 -240
  277. package/src/aldehyde/controls/icon-selector/icon/phonenode-menu-icon/iconfont.css +63 -63
  278. package/src/aldehyde/controls/icon-selector/icon/phonenode-menu-icon/iconfont.json +93 -93
  279. package/src/aldehyde/controls/icon-selector/pc-icon-selector.tsx +68 -68
  280. package/src/aldehyde/controls/input-number/index.tsx +148 -148
  281. package/src/aldehyde/controls/input-range/index.tsx +59 -59
  282. package/src/aldehyde/controls/password-setter/index.css +2 -2
  283. package/src/aldehyde/controls/password-setter/index.js +88 -88
  284. package/src/aldehyde/controls/progress/index.tsx +74 -74
  285. package/src/aldehyde/controls/qr-code/index.less +28 -28
  286. package/src/aldehyde/controls/qr-code/index.tsx +40 -40
  287. package/src/aldehyde/controls/relation-existion/index.css +3 -3
  288. package/src/aldehyde/controls/relation-existion/index.tsx +144 -144
  289. package/src/aldehyde/controls/rfield/index.css +4 -4
  290. package/src/aldehyde/controls/rfield/index.tsx +225 -225
  291. package/src/aldehyde/controls/select/index.tsx +226 -226
  292. package/src/aldehyde/controls/signature/index.tsx +226 -226
  293. package/src/aldehyde/controls/single-checkbox/index.tsx +18 -18
  294. package/src/aldehyde/controls/steps/index.tsx +59 -59
  295. package/src/aldehyde/controls/text/ellipsis-text.tsx +98 -98
  296. package/src/aldehyde/controls/text/index.less +7 -7
  297. package/src/aldehyde/controls/tree-select/navigation-tree.tsx +122 -122
  298. package/src/aldehyde/controls/tree-select/tree-entity-select.tsx +121 -121
  299. package/src/aldehyde/controls/upload/index.tsx +128 -128
  300. package/src/aldehyde/controls/upload/mult-file-upload.tsx +240 -240
  301. package/src/aldehyde/controls/upload-read-excel/index.tsx +43 -43
  302. package/src/aldehyde/controls/view-control.tsx +289 -289
  303. package/src/aldehyde/custom-page/custom-detail-modal-page.tsx +69 -69
  304. package/src/aldehyde/custom-page/custom-page-router.tsx +64 -64
  305. package/src/aldehyde/custom-page/def-custom-page.tsx +17 -17
  306. package/src/aldehyde/custom-page/dtmpl-custom-edit-modal-page.tsx +91 -88
  307. package/src/aldehyde/detail/button/bottom-submit-button-bar.tsx +91 -91
  308. package/src/aldehyde/detail/button/cquery-button-bar.tsx +144 -144
  309. package/src/aldehyde/detail/button/edit-button.tsx +61 -61
  310. package/src/aldehyde/detail/button/fix-right-submit-button-bar.tsx +186 -186
  311. package/src/aldehyde/detail/button/index.css +42 -42
  312. package/src/aldehyde/detail/button/inline-edit-button.tsx +40 -40
  313. package/src/aldehyde/detail/button/submit-button-bar.tsx +57 -57
  314. package/src/aldehyde/detail/button/view-button.tsx +64 -64
  315. package/src/aldehyde/detail/dtmpl.css +72 -72
  316. package/src/aldehyde/detail/edit/dtmpl-edit.tsx +279 -279
  317. package/src/aldehyde/detail/edit/fields-edit-card.tsx +145 -145
  318. package/src/aldehyde/detail/edit/modal-row-edit.tsx +95 -95
  319. package/src/aldehyde/detail/edit/popover-edit-card.tsx +167 -167
  320. package/src/aldehyde/detail/edit/popover-editor.tsx +70 -70
  321. package/src/aldehyde/detail/edit/post-result/index.tsx +86 -86
  322. package/src/aldehyde/detail/rightbar/index.css +34 -34
  323. package/src/aldehyde/detail/rightbar/index.tsx +92 -92
  324. package/src/aldehyde/detail/tooltipbar/index.tsx +32 -32
  325. package/src/aldehyde/detail/view/act-dtmpl-view.tsx +288 -288
  326. package/src/aldehyde/detail/view/dtmpl-view.tsx +334 -334
  327. package/src/aldehyde/detail/view/field-view-group.tsx +88 -88
  328. package/src/aldehyde/detail/view/modal-dtmpl-view.tsx +73 -73
  329. package/src/aldehyde/detail/view/snapshot-timeline.tsx +231 -231
  330. package/src/aldehyde/detail/view/tab-act-dtmpl-view.tsx +304 -304
  331. package/src/aldehyde/detail/view/view-compare-panel.tsx +57 -57
  332. package/src/aldehyde/draw-canvas-edit/components/asset-bar/index.less +35 -35
  333. package/src/aldehyde/draw-canvas-edit/components/asset-bar/index.tsx +110 -110
  334. package/src/aldehyde/draw-canvas-edit/components/main-header/index.less +23 -23
  335. package/src/aldehyde/draw-canvas-edit/components/main-header/index.tsx +263 -263
  336. package/src/aldehyde/draw-canvas-edit/components/render/components/index.less +60 -60
  337. package/src/aldehyde/draw-canvas-edit/components/render/components/index.ts +3 -3
  338. package/src/aldehyde/draw-canvas-edit/components/render/components/workstation-component.tsx +220 -220
  339. package/src/aldehyde/draw-canvas-edit/components/render/draws/bg-draw.ts +177 -177
  340. package/src/aldehyde/draw-canvas-edit/components/render/draws/contextmenu-draw.ts +330 -330
  341. package/src/aldehyde/draw-canvas-edit/components/render/draws/graph-draw.ts +249 -249
  342. package/src/aldehyde/draw-canvas-edit/components/render/draws/index.ts +7 -7
  343. package/src/aldehyde/draw-canvas-edit/components/render/draws/link-draw.ts +1415 -1415
  344. package/src/aldehyde/draw-canvas-edit/components/render/draws/preview-draw.ts +274 -274
  345. package/src/aldehyde/draw-canvas-edit/components/render/draws/ref-line-draw.ts +71 -71
  346. package/src/aldehyde/draw-canvas-edit/components/render/draws/ruler-draw.ts +166 -166
  347. package/src/aldehyde/draw-canvas-edit/components/render/graphs/base-graph.ts +241 -241
  348. package/src/aldehyde/draw-canvas-edit/components/render/graphs/bezier.ts +542 -542
  349. package/src/aldehyde/draw-canvas-edit/components/render/graphs/circle.ts +699 -699
  350. package/src/aldehyde/draw-canvas-edit/components/render/graphs/curve.ts +500 -500
  351. package/src/aldehyde/draw-canvas-edit/components/render/graphs/index.ts +5 -5
  352. package/src/aldehyde/draw-canvas-edit/components/render/graphs/line.ts +493 -493
  353. package/src/aldehyde/draw-canvas-edit/components/render/graphs/rect.ts +680 -680
  354. package/src/aldehyde/draw-canvas-edit/components/render/handlers/drag-handlers.ts +68 -68
  355. package/src/aldehyde/draw-canvas-edit/components/render/handlers/drag-outside-handlers.ts +77 -77
  356. package/src/aldehyde/draw-canvas-edit/components/render/handlers/graph-handlers.ts +113 -113
  357. package/src/aldehyde/draw-canvas-edit/components/render/handlers/index.ts +9 -9
  358. package/src/aldehyde/draw-canvas-edit/components/render/handlers/key-move-handlers.ts +49 -49
  359. package/src/aldehyde/draw-canvas-edit/components/render/handlers/link-handlers.ts +45 -45
  360. package/src/aldehyde/draw-canvas-edit/components/render/handlers/selection-handlers.ts +410 -410
  361. package/src/aldehyde/draw-canvas-edit/components/render/handlers/shutcut-handlers.ts +45 -45
  362. package/src/aldehyde/draw-canvas-edit/components/render/handlers/text-handlers.ts +81 -81
  363. package/src/aldehyde/draw-canvas-edit/components/render/handlers/zoom-handlers.ts +59 -59
  364. package/src/aldehyde/draw-canvas-edit/components/render/index.ts +817 -817
  365. package/src/aldehyde/draw-canvas-edit/components/render/tools/align-tool.ts +89 -89
  366. package/src/aldehyde/draw-canvas-edit/components/render/tools/asset-tool.ts +154 -154
  367. package/src/aldehyde/draw-canvas-edit/components/render/tools/attract-tool.ts +457 -457
  368. package/src/aldehyde/draw-canvas-edit/components/render/tools/component-factory.ts +269 -269
  369. package/src/aldehyde/draw-canvas-edit/components/render/tools/copy-tool.ts +244 -244
  370. package/src/aldehyde/draw-canvas-edit/components/render/tools/import-export-tool.ts +588 -588
  371. package/src/aldehyde/draw-canvas-edit/components/render/tools/index.ts +10 -10
  372. package/src/aldehyde/draw-canvas-edit/components/render/tools/link-tool.ts +222 -222
  373. package/src/aldehyde/draw-canvas-edit/components/render/tools/position-tool.ts +191 -191
  374. package/src/aldehyde/draw-canvas-edit/components/render/tools/selection-tool.ts +140 -140
  375. package/src/aldehyde/draw-canvas-edit/components/render/tools/z-index-tool.ts +224 -224
  376. package/src/aldehyde/draw-canvas-edit/components/render/types.ts +298 -298
  377. package/src/aldehyde/draw-canvas-edit/components/render/utils/a-star.ts +116 -116
  378. package/src/aldehyde/draw-canvas-edit/components/render/utils/bezier-scene-func.ts +72 -72
  379. package/src/aldehyde/draw-canvas-edit/components/setting-form/imag-upload.tsx +119 -119
  380. package/src/aldehyde/draw-canvas-edit/components/setting-form/index.tsx +305 -305
  381. package/src/aldehyde/draw-canvas-edit/constant.ts +5 -5
  382. package/src/aldehyde/draw-canvas-edit/index.less +48 -48
  383. package/src/aldehyde/draw-canvas-edit/index.tsx +213 -213
  384. package/src/aldehyde/draw-canvas-view/index.less +66 -66
  385. package/src/aldehyde/draw-canvas-view/index.tsx +49 -49
  386. package/src/aldehyde/draw-canvas-view/view.tsx +237 -237
  387. package/src/aldehyde/export/export-frame.css +2 -2
  388. package/src/aldehyde/export/export-frame.tsx +301 -301
  389. package/src/aldehyde/export/select-code-export-frame.tsx +212 -212
  390. package/src/aldehyde/form/criteria-form.tsx +604 -604
  391. package/src/aldehyde/form/dtmpl-form.css +3 -3
  392. package/src/aldehyde/form/dtmpl-form.tsx +571 -571
  393. package/src/aldehyde/form/field-group-form.tsx +103 -103
  394. package/src/aldehyde/form/fields-form.tsx +45 -45
  395. package/src/aldehyde/form/form-Item-group.tsx +246 -246
  396. package/src/aldehyde/form/index.css +12 -12
  397. package/src/aldehyde/hooks/use-match-route/index.tsx +62 -62
  398. package/src/aldehyde/hooks/use-tabs/index.tsx +139 -139
  399. package/src/aldehyde/hooks/useVarCssColor.ts +6 -6
  400. package/src/aldehyde/icon/aliIcon.tsx +9 -9
  401. package/src/aldehyde/icon/index.tsx +28 -28
  402. package/src/aldehyde/import/excel-import.tsx +450 -450
  403. package/src/aldehyde/import/index.css +53 -53
  404. package/src/aldehyde/import/template.css +50 -50
  405. package/src/aldehyde/index.tsx +220 -220
  406. package/src/aldehyde/layout/MainPage.tsx +334 -334
  407. package/src/aldehyde/layout/common.css +64 -64
  408. package/src/aldehyde/layout/coverstyle.css +51 -51
  409. package/src/aldehyde/layout/footer/index.css +5 -5
  410. package/src/aldehyde/layout/footer/index.js +17 -17
  411. package/src/aldehyde/layout/header/index.css +122 -122
  412. package/src/aldehyde/layout/header/index.tsx +152 -152
  413. package/src/aldehyde/layout/menu/block.css +7 -7
  414. package/src/aldehyde/layout/menu/block.tsx +174 -174
  415. package/src/aldehyde/layout/menu/l2menu-message-bar.tsx +160 -160
  416. package/src/aldehyde/layout/menu/l2menu-quick-bar.tsx +175 -175
  417. package/src/aldehyde/layout/menu/menu-2layers.tsx +117 -117
  418. package/src/aldehyde/layout/menu/menu-render.tsx +168 -168
  419. package/src/aldehyde/layout/menu/message-bar.less +73 -73
  420. package/src/aldehyde/layout/menu/reset-password.tsx +255 -255
  421. package/src/aldehyde/layout/menu/user-bar.tsx +259 -259
  422. package/src/aldehyde/layout/menu/userinfo-bar.tsx +69 -69
  423. package/src/aldehyde/layout/sidebar/index.css +57 -57
  424. package/src/aldehyde/layout/sidebar/index.tsx +84 -84
  425. package/src/aldehyde/layout2/components/icon-font.tsx +7 -7
  426. package/src/aldehyde/layout2/components/screenfull-button.tsx +21 -21
  427. package/src/aldehyde/layout2/components/search-menu.tsx +85 -85
  428. package/src/aldehyde/layout2/components/system-messages.tsx +75 -75
  429. package/src/aldehyde/layout2/components/theme-button.tsx +65 -65
  430. package/src/aldehyde/layout2/components/user-button.tsx +258 -258
  431. package/src/aldehyde/layout2/components/user-notification.tsx +74 -74
  432. package/src/aldehyde/layout2/css/header.css +41 -41
  433. package/src/aldehyde/layout2/css/sider.less +17 -17
  434. package/src/aldehyde/layout2/css/tabs-layout.less +18 -18
  435. package/src/aldehyde/layout2/header.tsx +278 -278
  436. package/src/aldehyde/layout2/layout-context.tsx +95 -95
  437. package/src/aldehyde/layout2/main.tsx +30 -30
  438. package/src/aldehyde/layout2/page.tsx +315 -315
  439. package/src/aldehyde/layout2/sider.tsx +230 -230
  440. package/src/aldehyde/layout2/tabs/tabs-context.tsx +37 -37
  441. package/src/aldehyde/layout2/tabs/tabs-layout.tsx +146 -146
  442. package/src/aldehyde/layout2/type/layout-type.ts +15 -15
  443. package/src/aldehyde/layout2/util/menu-util.tsx +125 -125
  444. package/src/aldehyde/layout3/components/tabs-layout.tsx +110 -110
  445. package/src/aldehyde/layout3/components/time.tsx +25 -25
  446. package/src/aldehyde/layout3/css/header.less +195 -195
  447. package/src/aldehyde/layout3/css/main.less +161 -161
  448. package/src/aldehyde/layout3/css/sider.less +32 -32
  449. package/src/aldehyde/layout3/css/tabs-layout.less +38 -38
  450. package/src/aldehyde/layout3/header.tsx +187 -187
  451. package/src/aldehyde/layout3/main.tsx +29 -29
  452. package/src/aldehyde/layout3/page.tsx +110 -110
  453. package/src/aldehyde/layout3/sider.tsx +198 -198
  454. package/src/aldehyde/layout4/components/tabs-layout.tsx +110 -110
  455. package/src/aldehyde/layout4/css/header.less +196 -196
  456. package/src/aldehyde/layout4/css/main.less +154 -154
  457. package/src/aldehyde/layout4/css/sider.less +37 -37
  458. package/src/aldehyde/layout4/css/tabs-layout.less +42 -42
  459. package/src/aldehyde/layout4/header.tsx +190 -190
  460. package/src/aldehyde/layout4/imgs/user.svg +26 -26
  461. package/src/aldehyde/layout4/main.tsx +29 -29
  462. package/src/aldehyde/layout4/page.tsx +125 -125
  463. package/src/aldehyde/layout4/sider.tsx +201 -201
  464. package/src/aldehyde/layout5/css/header.less +35 -35
  465. package/src/aldehyde/layout5/css/sider.less +18 -18
  466. package/src/aldehyde/layout5/header.tsx +204 -204
  467. package/src/aldehyde/layout5/page.tsx +107 -107
  468. package/src/aldehyde/layout5/sider.tsx +235 -235
  469. package/src/aldehyde/list/calendar/index.less +20 -20
  470. package/src/aldehyde/list/calendar/index.tsx +157 -157
  471. package/src/aldehyde/list/card-list/card-list-item.tsx +112 -112
  472. package/src/aldehyde/list/card-list/index.less +154 -154
  473. package/src/aldehyde/list/card-list/index.tsx +83 -83
  474. package/src/aldehyde/list/gantt/index.less +8 -8
  475. package/src/aldehyde/list/gantt/index.tsx +508 -508
  476. package/src/aldehyde/list/vertical-list/index.less +208 -208
  477. package/src/aldehyde/list/vertical-list/index.tsx +55 -55
  478. package/src/aldehyde/list/vertical-list/item.tsx +136 -136
  479. package/src/aldehyde/locale/LocaleButton.tsx +48 -48
  480. package/src/aldehyde/locale/LocaleProvider.tsx +265 -265
  481. package/src/aldehyde/locale/langMp.ts +45 -45
  482. package/src/aldehyde/locale/translate.ts +80 -80
  483. package/src/aldehyde/locale/useLocale.ts +72 -72
  484. package/src/aldehyde/login/context-setter.tsx +130 -130
  485. package/src/aldehyde/login/index.css +19 -19
  486. package/src/aldehyde/login/login.tsx +255 -255
  487. package/src/aldehyde/login/router-login.tsx +107 -107
  488. package/src/aldehyde/login/vertify/index.css +143 -143
  489. package/src/aldehyde/login/vertify/index.tsx +360 -360
  490. package/src/aldehyde/login/vertify/tool.ts +13 -13
  491. package/src/aldehyde/login2/login-page.tsx +92 -92
  492. package/src/aldehyde/login2/login.tsx +227 -227
  493. package/src/aldehyde/login3/index.less +136 -136
  494. package/src/aldehyde/login3/login-page.tsx +71 -71
  495. package/src/aldehyde/lowcode-components/act-table/index.less +26 -26
  496. package/src/aldehyde/lowcode-components/act-table/index.tsx +139 -139
  497. package/src/aldehyde/lowcode-components/assets/lowcode-constant.tsx +12 -12
  498. package/src/aldehyde/lowcode-components/bar-chart/index.tsx +272 -272
  499. package/src/aldehyde/lowcode-components/base-button/index.less +7 -7
  500. package/src/aldehyde/lowcode-components/base-button/index.tsx +197 -197
  501. package/src/aldehyde/lowcode-components/base-color-block/index.tsx +31 -31
  502. package/src/aldehyde/lowcode-components/base-image/index.tsx +220 -220
  503. package/src/aldehyde/lowcode-components/base-map/index.tsx +292 -292
  504. package/src/aldehyde/lowcode-components/base-radio/index.less +23 -23
  505. package/src/aldehyde/lowcode-components/base-radio/index.tsx +157 -157
  506. package/src/aldehyde/lowcode-components/base-table/index.less +61 -61
  507. package/src/aldehyde/lowcode-components/base-table/index.tsx +268 -268
  508. package/src/aldehyde/lowcode-components/base-tabs/index.less +14 -14
  509. package/src/aldehyde/lowcode-components/base-tabs/index.tsx +183 -183
  510. package/src/aldehyde/lowcode-components/base-text/index.less +19 -19
  511. package/src/aldehyde/lowcode-components/base-text/index.tsx +58 -58
  512. package/src/aldehyde/lowcode-components/border/border1/index.tsx +70 -70
  513. package/src/aldehyde/lowcode-components/border/border10/index.less +26 -26
  514. package/src/aldehyde/lowcode-components/border/border10/index.tsx +45 -45
  515. package/src/aldehyde/lowcode-components/border/border11/index.less +17 -17
  516. package/src/aldehyde/lowcode-components/border/border11/index.tsx +232 -232
  517. package/src/aldehyde/lowcode-components/border/border12/index.less +13 -13
  518. package/src/aldehyde/lowcode-components/border/border12/index.tsx +115 -115
  519. package/src/aldehyde/lowcode-components/border/border13/index.less +13 -13
  520. package/src/aldehyde/lowcode-components/border/border13/index.tsx +69 -69
  521. package/src/aldehyde/lowcode-components/border/border2/index.less +17 -17
  522. package/src/aldehyde/lowcode-components/border/border2/index.tsx +51 -51
  523. package/src/aldehyde/lowcode-components/border/border3/index.less +25 -25
  524. package/src/aldehyde/lowcode-components/border/border3/index.tsx +61 -61
  525. package/src/aldehyde/lowcode-components/border/border4/index.less +72 -72
  526. package/src/aldehyde/lowcode-components/border/border4/index.tsx +79 -79
  527. package/src/aldehyde/lowcode-components/border/border5/index.less +35 -35
  528. package/src/aldehyde/lowcode-components/border/border5/index.tsx +75 -75
  529. package/src/aldehyde/lowcode-components/border/border6/index.less +17 -17
  530. package/src/aldehyde/lowcode-components/border/border6/index.tsx +60 -60
  531. package/src/aldehyde/lowcode-components/border/border7/index.less +26 -26
  532. package/src/aldehyde/lowcode-components/border/border7/index.tsx +75 -75
  533. package/src/aldehyde/lowcode-components/border/border8/index.less +13 -13
  534. package/src/aldehyde/lowcode-components/border/border8/index.tsx +84 -84
  535. package/src/aldehyde/lowcode-components/border/border9/index.less +13 -13
  536. package/src/aldehyde/lowcode-components/border/border9/index.tsx +154 -154
  537. package/src/aldehyde/lowcode-components/capsule-bar-chart/index.tsx +290 -290
  538. package/src/aldehyde/lowcode-components/carousel/index.tsx +218 -218
  539. package/src/aldehyde/lowcode-components/circular-progress-chart/index.tsx +263 -263
  540. package/src/aldehyde/lowcode-components/column-3d-chart/index.tsx +442 -442
  541. package/src/aldehyde/lowcode-components/column-chart/index.tsx +349 -297
  542. package/src/aldehyde/lowcode-components/data-number/index.less +10 -10
  543. package/src/aldehyde/lowcode-components/data-number/index.tsx +219 -219
  544. package/src/aldehyde/lowcode-components/data.d.ts +19 -19
  545. package/src/aldehyde/lowcode-components/date-time/index.less +4 -4
  546. package/src/aldehyde/lowcode-components/date-time/index.tsx +64 -64
  547. package/src/aldehyde/lowcode-components/decoration/decoration1/index.less +7 -7
  548. package/src/aldehyde/lowcode-components/decoration/decoration1/index.tsx +153 -153
  549. package/src/aldehyde/lowcode-components/decoration/decoration10/index.less +5 -5
  550. package/src/aldehyde/lowcode-components/decoration/decoration10/index.tsx +89 -89
  551. package/src/aldehyde/lowcode-components/decoration/decoration11/index.less +5 -5
  552. package/src/aldehyde/lowcode-components/decoration/decoration11/index.tsx +133 -133
  553. package/src/aldehyde/lowcode-components/decoration/decoration2/index.less +6 -6
  554. package/src/aldehyde/lowcode-components/decoration/decoration2/index.tsx +61 -61
  555. package/src/aldehyde/lowcode-components/decoration/decoration3/index.less +7 -7
  556. package/src/aldehyde/lowcode-components/decoration/decoration3/index.tsx +87 -87
  557. package/src/aldehyde/lowcode-components/decoration/decoration4/index.less +29 -29
  558. package/src/aldehyde/lowcode-components/decoration/decoration4/index.tsx +53 -53
  559. package/src/aldehyde/lowcode-components/decoration/decoration5/index.less +3 -3
  560. package/src/aldehyde/lowcode-components/decoration/decoration5/index.tsx +116 -116
  561. package/src/aldehyde/lowcode-components/decoration/decoration6/index.less +7 -7
  562. package/src/aldehyde/lowcode-components/decoration/decoration6/index.tsx +121 -121
  563. package/src/aldehyde/lowcode-components/decoration/decoration7/index.less +4 -4
  564. package/src/aldehyde/lowcode-components/decoration/decoration7/index.tsx +70 -70
  565. package/src/aldehyde/lowcode-components/decoration/decoration8/index.less +14 -14
  566. package/src/aldehyde/lowcode-components/decoration/decoration8/index.tsx +122 -122
  567. package/src/aldehyde/lowcode-components/decoration/decoration9/index.less +4 -4
  568. package/src/aldehyde/lowcode-components/decoration/decoration9/index.tsx +196 -196
  569. package/src/aldehyde/lowcode-components/effectScatter-map/index.tsx +315 -315
  570. package/src/aldehyde/lowcode-components/effectScatter-map-3d/index.tsx +419 -419
  571. package/src/aldehyde/lowcode-components/four-angle-glow-border/index.less +49 -49
  572. package/src/aldehyde/lowcode-components/four-angle-glow-border/index.tsx +53 -53
  573. package/src/aldehyde/lowcode-components/gauge-chart/index.tsx +254 -254
  574. package/src/aldehyde/lowcode-components/index.ts +130 -130
  575. package/src/aldehyde/lowcode-components/line-bar-chart/index.tsx +356 -304
  576. package/src/aldehyde/lowcode-components/line-chart/index.tsx +346 -294
  577. package/src/aldehyde/lowcode-components/liquid-chart/index.tsx +250 -250
  578. package/src/aldehyde/lowcode-components/lowcode-view/component/abstract-controller.ts +64 -64
  579. package/src/aldehyde/lowcode-components/lowcode-view/component/abstract-definition.ts +77 -77
  580. package/src/aldehyde/lowcode-components/lowcode-view/component/abstract-designer-loader.ts +36 -36
  581. package/src/aldehyde/lowcode-components/lowcode-view/component/assets.ts +478 -478
  582. package/src/aldehyde/lowcode-components/lowcode-view/component/component-container.tsx +91 -91
  583. package/src/aldehyde/lowcode-components/lowcode-view/component/component-controller.ts +153 -153
  584. package/src/aldehyde/lowcode-components/lowcode-view/component/component-definition.ts +23 -23
  585. package/src/aldehyde/lowcode-components/lowcode-view/component/font/FontGlobal.css +26 -26
  586. package/src/aldehyde/lowcode-components/lowcode-view/component/group-layer/controller.ts +36 -36
  587. package/src/aldehyde/lowcode-components/lowcode-view/component/group-layer/definition.ts +53 -53
  588. package/src/aldehyde/lowcode-components/lowcode-view/component/group-layer/index.tsx +15 -15
  589. package/src/aldehyde/lowcode-components/lowcode-view/component/layer-builder.tsx +98 -98
  590. package/src/aldehyde/lowcode-components/lowcode-view/component/loading.tsx +20 -20
  591. package/src/aldehyde/lowcode-components/lowcode-view/component/screen-fit/index.less +13 -13
  592. package/src/aldehyde/lowcode-components/lowcode-view/component/screen-fit/index.tsx +121 -121
  593. package/src/aldehyde/lowcode-components/lowcode-view/component/util.ts +27 -27
  594. package/src/aldehyde/lowcode-components/lowcode-view/index.less +19 -19
  595. package/src/aldehyde/lowcode-components/lowcode-view/index.tsx +279 -277
  596. package/src/aldehyde/lowcode-components/lowcode-view/interface.ts +189 -189
  597. package/src/aldehyde/lowcode-components/pie-chart/index.tsx +353 -353
  598. package/src/aldehyde/lowcode-components/placeholder-component/index.tsx +81 -81
  599. package/src/aldehyde/lowcode-components/progress-chart/index.tsx +295 -295
  600. package/src/aldehyde/lowcode-components/radar-chart/index.tsx +322 -322
  601. package/src/aldehyde/lowcode-components/search-form/index.less +25 -25
  602. package/src/aldehyde/lowcode-components/search-form/index.tsx +121 -121
  603. package/src/aldehyde/lowcode-components/stroke-animation/index.tsx +219 -219
  604. package/src/aldehyde/lowcode-components/text-scroller/index.less +28 -28
  605. package/src/aldehyde/lowcode-components/text-scroller/index.tsx +173 -173
  606. package/src/aldehyde/module/block-menu-tree-drawer.tsx +118 -118
  607. package/src/aldehyde/module/criteria-page.tsx1 +175 -175
  608. package/src/aldehyde/module/draggable-modal.tsx +66 -66
  609. package/src/aldehyde/module/dtmpl-edit-card.tsx +479 -477
  610. package/src/aldehyde/module/dtmpl-edit-drawer.tsx +24 -23
  611. package/src/aldehyde/module/dtmpl-edit-modal.tsx +26 -25
  612. package/src/aldehyde/module/dtmpl-edit-page.tsx +600 -597
  613. package/src/aldehyde/module/dtmpl-editor.tsx +165 -165
  614. package/src/aldehyde/module/dtmpl-view-card.tsx +64 -64
  615. package/src/aldehyde/module/dtmpl-view-drawer.tsx +71 -71
  616. package/src/aldehyde/module/dtmpl-view-modal.tsx +56 -56
  617. package/src/aldehyde/module/embed-dtmpl-edit-page.tsx +137 -137
  618. package/src/aldehyde/module/index.less +4 -4
  619. package/src/aldehyde/module/ltmpl-drawer.tsx +60 -60
  620. package/src/aldehyde/module/ltmpl-modal.tsx +63 -63
  621. package/src/aldehyde/module/ltmpl-table.tsx +388 -379
  622. package/src/aldehyde/module/ttmpl-tree.tsx +47 -47
  623. package/src/aldehyde/routable/dtmpl-route.tsx +173 -173
  624. package/src/aldehyde/routable/import-route.tsx +35 -35
  625. package/src/aldehyde/routable/index.less +25 -25
  626. package/src/aldehyde/routable/ltmpl-route.tsx +544 -539
  627. package/src/aldehyde/routable/splitview-ltmpl-route.tsx +382 -377
  628. package/src/aldehyde/routable/ttmpl-route.tsx +93 -93
  629. package/src/aldehyde/routable/withroute.tsx +36 -36
  630. package/src/aldehyde/sso-Login/index.tsx +73 -73
  631. package/src/aldehyde/sso-Login/service/index.js +16 -16
  632. package/src/aldehyde/sso-Login/service/login.js +75 -75
  633. package/src/aldehyde/table/act-table.tsx +1846 -1844
  634. package/src/aldehyde/table/column/column-builder.tsx +882 -876
  635. package/src/aldehyde/table/column/column-selector.tsx +130 -130
  636. package/src/aldehyde/table/column/index.less +85 -85
  637. package/src/aldehyde/table/column/summary-builder.tsx +712 -712
  638. package/src/aldehyde/table/column/theme-color-getter.tsx +25 -25
  639. package/src/aldehyde/table/control-table-x-axis-wrapper.tsx +80 -80
  640. package/src/aldehyde/table/index.css +211 -211
  641. package/src/aldehyde/table/l2-act-table.tsx +91 -91
  642. package/src/aldehyde/table/modal-select-table.tsx +308 -308
  643. package/src/aldehyde/table/page-chart.less +9 -9
  644. package/src/aldehyde/table/page-chart.tsx +196 -196
  645. package/src/aldehyde/table/page-config-button.tsx +203 -203
  646. package/src/aldehyde/table/pagination.css +14 -14
  647. package/src/aldehyde/table/pagination.tsx +81 -81
  648. package/src/aldehyde/table/query-table.tsx +668 -668
  649. package/src/aldehyde/table/relation-table.tsx +1078 -1078
  650. package/src/aldehyde/table/report-table.tsx +125 -125
  651. package/src/aldehyde/table/resizable-table.tsx +97 -97
  652. package/src/aldehyde/table/row-table.tsx +22 -22
  653. package/src/aldehyde/table/select-table.tsx +559 -559
  654. package/src/aldehyde/table/selected-rows-card.tsx +78 -78
  655. package/src/aldehyde/table/stat/restat.tsx +122 -122
  656. package/src/aldehyde/table/table-util.tsx +25 -25
  657. package/src/aldehyde/tmpl/control-type-supportor.tsx +154 -154
  658. package/src/aldehyde/tmpl/hc-data-source.tsx +574 -574
  659. package/src/aldehyde/tmpl/hcservice-v3.tsx +1590 -1590
  660. package/src/aldehyde/tmpl/interface.tsx +939 -936
  661. package/src/aldehyde/tmpl/model-struc-v3.tsx +111 -111
  662. package/src/aldehyde/tmpl/superagent.js +146 -146
  663. package/src/aldehyde/tmpl/tmpl-config-analysis.tsx +585 -585
  664. package/src/aldehyde/tmpl/web-socket.ts +366 -366
  665. package/src/aldehyde/tree/act-tree.tsx +217 -217
  666. package/src/aldehyde/tree/block-menu-auth-tree.tsx +189 -189
  667. package/src/aldehyde/tree/index.css +22 -22
  668. package/src/aldehyde/tree/navigation-tree.tsx +39 -39
  669. package/src/aldehyde/tree/tmpl-tree.tsx +751 -751
  670. package/src/aldehyde/tree/tree-node.tsx +73 -73
  671. package/src/aldehyde/tree/tree-utils.tsx +317 -317
  672. package/src/aldehyde/units/EncryptUtils.js +37 -37
  673. package/src/aldehyde/units/image.d.ts +7 -7
  674. package/src/aldehyde/units/index.tsx +1367 -1367
  675. package/src/aldehyde/units/storage.js +2 -2
  676. package/src/aldehyde/utils/dsu.ts +27 -27
  677. package/src/aldehyde/welcome/HCWelcome.js +404 -404
  678. package/src/aldehyde/welcome/HCWelcome1.js +259 -259
  679. package/src/aldehyde/welcome/components/menu-card.less +96 -96
  680. package/src/aldehyde/welcome/components/menu-card.tsx +70 -70
  681. package/src/aldehyde/welcome/components/page-card.less +49 -49
  682. package/src/aldehyde/welcome/components/page-card.tsx +97 -97
  683. package/src/aldehyde/welcome/components/quick-entrance.less +120 -120
  684. package/src/aldehyde/welcome/components/quick-entrance.tsx +80 -80
  685. package/src/aldehyde/welcome/components/user-menus.less +192 -192
  686. package/src/aldehyde/welcome/components/user-menus.tsx +279 -279
  687. package/src/aldehyde/welcome/components/workbench.less +118 -118
  688. package/src/aldehyde/welcome/components/workbench.tsx +146 -146
  689. package/src/aldehyde/welcome/index.css +13 -13
@@ -1,1367 +1,1367 @@
1
- // import React from 'react'
2
- import {
3
- CriteriaConfig, CustomButtonConfig,
4
- DtmplConfig,
5
- DtmplData,
6
- DtmplFormProps,
7
- EnumItem,
8
- LtmplConfig,
9
- SelectConfig,
10
- ThemeConfig
11
- } from "../tmpl/interface";
12
- import dayjs from "dayjs";
13
- import TmplConfigAnalysis from "../tmpl/tmpl-config-analysis";
14
- import { ProgramConfig } from "../index";
15
- import { CriteriaFormProps } from "../form/criteria-form";
16
- import ControlTypeSupportor from "../tmpl/control-type-supportor";
17
- import HcserviceV3 from "../tmpl/hcservice-v3";
18
- import { UserInfo } from "../tmpl/interface";
19
-
20
- let storageKeyPrefix = undefined;
21
-
22
- const CUSTOM_PAGE_MAP = {};
23
-
24
- let MENU_MAP = {};
25
-
26
- let MENU_ID_ICON_MAP = {};
27
-
28
- const CustomButtonConfig_Map = {}
29
-
30
- const CUSTOM_VIEW_CONTROL_MAP = {};
31
-
32
- const AppDtmplConfigFuncMap = {};
33
-
34
- const AppCtmplConfigFuncMap = {};
35
-
36
- const CUSTOM_EDIT_CONTROL_MAP = {};
37
-
38
- let currentUser = undefined;
39
-
40
- const extendServerMap = {};
41
-
42
- let antdUseToken = undefined;
43
-
44
- const CUSTOM_COMPONENT_MAP = {};
45
-
46
- // 主题url vx替换正则
47
- const regexTheme = /(?<=#\/)vx/g;
48
-
49
- let themeConfig: ThemeConfig = undefined; // 系统配置主题等
50
-
51
- const pageConfigCommons = {}; // 用户页面自定义配置
52
-
53
- let components2DMap = {}; // 2D图形组件
54
-
55
- // let siderCollapsed:boolean = true;
56
-
57
- export default {
58
- setAntdUseToken(antdUseToken_) {
59
- antdUseToken = antdUseToken_;
60
- },
61
- getAntdUseToken() {
62
- return antdUseToken;
63
- },
64
-
65
- //静态补充
66
- setAppDtmplConfigFunc(
67
- key: string,
68
- func: (dtmplConfig: DtmplConfig, dtmplData: DtmplData) => DtmplConfig
69
- ) {
70
- AppDtmplConfigFuncMap[key] = func;
71
- },
72
-
73
-
74
- setMenuIconMap(menuIconMap) {
75
- MENU_ID_ICON_MAP = menuIconMap;
76
- },
77
- mapMenuIcon(menuId) {
78
- return MENU_ID_ICON_MAP[menuId];
79
- },
80
-
81
- setMenuMap(menuMap) {
82
- MENU_MAP = menuMap;
83
- },
84
- mapMenu(menuId) {
85
- if (menuId == 'home') {
86
- return "首页"
87
- }
88
- return MENU_MAP[menuId];
89
- },
90
-
91
-
92
- getAppDtmplConfig(
93
- dtmplConfig: DtmplConfig,
94
- dtmplData: DtmplData,
95
- props: DtmplFormProps
96
- ) {
97
- if (dtmplConfig) {
98
- if (AppDtmplConfigFuncMap[dtmplConfig.id]) {
99
- return AppDtmplConfigFuncMap[dtmplConfig.id](
100
- dtmplConfig,
101
- dtmplData,
102
- props
103
- );
104
- } else {
105
- //用内置的
106
- return TmplConfigAnalysis.buildInDtmplConfig(
107
- dtmplConfig,
108
- dtmplData,
109
- props
110
- );
111
- }
112
- }
113
- return dtmplConfig;
114
- },
115
-
116
- setCustomButtonConfig(
117
- key: string,
118
- config: CustomButtonConfig
119
- ) {
120
- CustomButtonConfig_Map[key] = config;
121
- },
122
-
123
- getCustomButtonConfig(
124
- key: string
125
- ) {
126
- return CustomButtonConfig_Map[key];
127
- },
128
-
129
- setAppCtmplConfigFunc(
130
- key: string,
131
- func: (ltmplConfig: SelectConfig, data: Object) => SelectConfig
132
- ) {
133
- AppCtmplConfigFuncMap[key] = func;
134
- },
135
-
136
- getAppCtmplConfig(
137
- ltmplConfig: SelectConfig,
138
- criteriaData: Object,
139
- props: CriteriaFormProps
140
- ) {
141
- if (ltmplConfig) {
142
- if (AppCtmplConfigFuncMap[ltmplConfig.id]) {
143
- return AppCtmplConfigFuncMap[ltmplConfig.id](
144
- ltmplConfig,
145
- criteriaData,
146
- props
147
- );
148
- } else {
149
- //用内置的
150
- return TmplConfigAnalysis.buildInCtmplConfig(
151
- ltmplConfig,
152
- criteriaData,
153
- props
154
- );
155
- }
156
- }
157
- return ltmplConfig;
158
- },
159
-
160
- isDynamicDtmplConfig(dtmplConfig: DtmplConfig) {
161
- if (dtmplConfig && AppDtmplConfigFuncMap[dtmplConfig.id]) {
162
- return true;
163
- }
164
- return false;
165
- },
166
-
167
- setCustomPage(key_: string, name: object) {
168
- let key = key_;
169
- if (!key) {
170
- return;
171
- }
172
- if (!key.startsWith("/")) {
173
- key = "/" + key;
174
- }
175
- CUSTOM_PAGE_MAP[key] = name;
176
- },
177
- setCustomControl(key_: string, view: object, edit: object) {
178
- let key = key_;
179
- if (!key.startsWith("/")) {
180
- key = "/" + key;
181
- }
182
- CUSTOM_VIEW_CONTROL_MAP[key] = view;
183
- CUSTOM_EDIT_CONTROL_MAP[key] = edit;
184
- },
185
- getCustomViewControl(key: string) {
186
- if (!key) {
187
- return null;
188
- }
189
- if (!key.startsWith("/")) {
190
- return CUSTOM_VIEW_CONTROL_MAP["/" + key];
191
- } else {
192
- return CUSTOM_VIEW_CONTROL_MAP[key];
193
- }
194
- },
195
- getCustomEditControl(key: string) {
196
- if (!key) {
197
- return null;
198
- }
199
- if (!key.startsWith("/")) {
200
- return CUSTOM_EDIT_CONTROL_MAP["/" + key];
201
- } else {
202
- return CUSTOM_EDIT_CONTROL_MAP[key];
203
- }
204
- },
205
- getCustomPage(key: string) {
206
- if (!key) {
207
- return null;
208
- }
209
- if (!key.startsWith("/")) {
210
- return CUSTOM_PAGE_MAP["/" + key];
211
- } else {
212
- return CUSTOM_PAGE_MAP[key];
213
- }
214
- },
215
- setProgramCode(programCode_: string, key?: string) {
216
- if (programCode_) {
217
- if (key) {
218
- window.localStorage.setItem(key + "programCode", programCode_);
219
- } else {
220
- window.localStorage.setItem("programCode", programCode_);
221
- window.sessionStorage.setItem("programCode", programCode_);
222
- }
223
- }
224
- },
225
- setSessionProgramCode(programCode_: string) {
226
- if (programCode_) {
227
- window.sessionStorage.setItem("programCode", programCode_);
228
- }
229
- },
230
- programCode(key?: string) {
231
- let programCode = null;
232
- if (key) {
233
- programCode = window.localStorage.getItem(key + "programCode");
234
- if (!programCode && key === "localDevopsServer") { // 2D图图片上传模型,配置为空则使用默认值
235
- programCode = "282877560559017986";
236
- }
237
- } else {
238
- programCode = window.sessionStorage.getItem("programCode");
239
- }
240
-
241
- if (!programCode) {
242
- programCode = window.localStorage.getItem("programCode");
243
- this.setSessionProgramCode(programCode);
244
- }
245
- return programCode;
246
- },
247
- setApplicationCode(applicationCode_: string, key?: string) {
248
- if (applicationCode_) {
249
- if (key) {
250
- window.localStorage.setItem(key + "applicationCode", applicationCode_);
251
- } else {
252
- window.localStorage.setItem("applicationCode", applicationCode_);
253
- window.sessionStorage.setItem("applicationCode", applicationCode_);
254
- }
255
- }
256
- },
257
- setSessionApplicationCode(applicationCode_: string) {
258
- if (applicationCode_) {
259
- window.sessionStorage.setItem("applicationCode", applicationCode_);
260
- }
261
- },
262
- applicationCode(key?: string) {
263
- let applicationCode = null;
264
- if (key) {
265
- applicationCode = window.localStorage.getItem(key + "applicationCode");
266
- } else {
267
- applicationCode = window.sessionStorage.getItem("applicationCode");
268
- }
269
-
270
- if (!applicationCode) {
271
- applicationCode = window.localStorage.getItem("applicationCode");
272
- this.setSessionProgramCode(applicationCode);
273
- }
274
- return applicationCode;
275
- },
276
- setHydrocarbonServer(url: string, key?: string) {
277
- if (key) {
278
- window.localStorage.setItem(key + "hydrocarbonServer", url);
279
- } else if (this.programCode()) {
280
- window.localStorage.setItem(
281
- this.programCode() + "hydrocarbonServer",
282
- url
283
- );
284
- } else {
285
- window.localStorage.setItem("hydrocarbonServer", url);
286
- }
287
- },
288
- setProgramName_Logo(logo1: string) {
289
- if (this.programCode()) {
290
- window.localStorage.setItem(
291
- this.programCode() + "programName_Logo",
292
- logo1
293
- );
294
- } else {
295
- window.localStorage.setItem("programName_Logo", logo1);
296
- }
297
- },
298
- api(key?: string) {
299
- let appi = null;
300
- if (key) {
301
- appi = window.localStorage.getItem(key + "hydrocarbonServer");
302
- } else {
303
- appi = window.localStorage.getItem(
304
- this.programCode() + "hydrocarbonServer"
305
- );
306
- }
307
- if (!appi) {
308
- appi = window.localStorage.getItem("hydrocarbonServer");
309
- }
310
-
311
- if (!appi) {
312
- let url = new URL(window.location.href);
313
- let pathname = null;
314
- if (url.pathname.indexOf("/kuangkie") > 0) {
315
- pathname = url.pathname.split("/kuangkie")[0];
316
- }
317
- appi = this.joinPath(url.origin, pathname);
318
- } else if (appi == "/") {
319
- //以当前为主
320
- let url = new URL(window.location.href);
321
- let pathname = url.pathname.split("/kuangkie")[0];
322
- appi = this.joinPath(url.origin, pathname);
323
- } else if (appi.startsWith("/-")) {
324
- let url = new URL(window.location.href);
325
- let afterOrigin = url.href.replace(`${url.origin}/`, '').split("/");
326
- let num = appi.match(/-/g)?.length || 0;
327
- let pathname = afterOrigin.slice(0, num).join("/");
328
- appi = this.joinPath(url.origin, pathname);
329
- } else if (!appi.startsWith("http")) {
330
- appi = this.joinPath(new URL(window.location.href).origin, appi);
331
- }
332
- return appi;
333
- },
334
- hydrocarbonToken(programCode_?: string, applicationCode_?: string) {
335
- let programCode = programCode_ ? programCode_ : this.programCode();
336
- let applicationCode = applicationCode_ || this.applicationCode() || "";
337
- let hydrocarbonToken = window.sessionStorage.getItem(
338
- programCode + applicationCode + "hydrocarbonToken"
339
- );
340
- if (!hydrocarbonToken) {
341
- hydrocarbonToken = window.sessionStorage.getItem("hydrocarbonToken");
342
- }
343
- if (!hydrocarbonToken) {
344
- hydrocarbonToken = window.localStorage.getItem(
345
- programCode + applicationCode + "hydrocarbonToken"
346
- );
347
- if (!hydrocarbonToken) {
348
- hydrocarbonToken = window.localStorage.getItem("hydrocarbonToken");
349
- }
350
- if (hydrocarbonToken) {
351
- this.setSessionHydrocarbonToken(hydrocarbonToken, programCode, applicationCode);
352
- }
353
- }
354
- return hydrocarbonToken;
355
- },
356
- setServerHydrocarbonToken(serverkey: string, token: string) {
357
- if (serverkey && token) {
358
- window.sessionStorage.setItem(serverkey + "hydrocarbonToken", token);
359
- }
360
- this.setHydrocarbonToken(token, serverkey);
361
- },
362
- serverHydrocarbonToken(serverKey: string) {
363
- let hydrocarbonToken = window.sessionStorage.getItem(serverKey + "hydrocarbonToken");
364
- if (!hydrocarbonToken) {
365
- hydrocarbonToken = window.localStorage.getItem(serverKey + "hydrocarbonToken");
366
- }
367
- if (!serverKey || !hydrocarbonToken) { // serverKey不存在
368
- hydrocarbonToken = this.hydrocarbonToken();
369
- }
370
- return hydrocarbonToken;
371
- },
372
- putExtendServers(extendServers) {
373
- for (let es of extendServers) {
374
- extendServerMap[es.key] = es;
375
- if (es.key && es["hydrocarbonServer"]) {
376
- ProgramConfig.setProgramCode(es["programCode"], es.key);
377
- ProgramConfig.setHydrocarbonServer(es["hydrocarbonServer"], es.key);
378
- }
379
- }
380
- },
381
- getExtendServers(serverKey) {
382
- return extendServerMap[serverKey];
383
- },
384
- setHydrocarbonToken(token: string, serverkey?: string) {
385
- let programCode = this.programCode(serverkey);
386
- let applicationCode = this.applicationCode(serverkey);
387
- this.setLocalHydrocarbonToken(token, programCode, applicationCode);
388
- this.setSessionHydrocarbonToken(token, programCode, applicationCode);
389
- },
390
- setLocalHydrocarbonToken(token: string, programCode_?: string, applicationCode_?: string) {
391
- if (!programCode_) {
392
- // if(!window.localStorage.getItem('hydrocarbonToken')){
393
- window.localStorage.setItem("hydrocarbonToken", token);
394
- //}
395
- }
396
- let programCode = programCode_ ? programCode_ : this.programCode();
397
- let applicationCode = applicationCode_ || this.applicationCode() || "";
398
- if (programCode) {
399
- window.localStorage.setItem(programCode + applicationCode + "hydrocarbonToken", token);
400
- //初次设为默认
401
- if (!window.localStorage.getItem("hydrocarbonToken")) {
402
- window.localStorage.setItem("hydrocarbonToken", token);
403
- }
404
- }
405
- // else{
406
- // window.localStorage.setItem('hydrocarbonToken',token);
407
- // }
408
- },
409
- setSessionHydrocarbonToken(token: string, programCode_?: string, applicationCode_?: string) {
410
- if (!programCode_) {
411
- //初次设为默认
412
- //if(!window.sessionStorage.getItem('hydrocarbonToken')){
413
- window.sessionStorage.setItem("hydrocarbonToken", token);
414
- // }
415
- }
416
- let programCode = programCode_ ? programCode_ : this.programCode();
417
- let applicationCode = applicationCode_ || this.applicationCode() || "";
418
- if (programCode) {
419
- window.sessionStorage.setItem(programCode + applicationCode + "hydrocarbonToken", token);
420
- if (!window.sessionStorage.getItem("hydrocarbonToken")) {
421
- window.sessionStorage.setItem("hydrocarbonToken", token);
422
- }
423
- }
424
- // else{
425
- // window.sessionStorage.setItem('hydrocarbonToken',token) ;
426
- // }
427
- },
428
- setProgramName(programName_: string) {
429
- if (this.programCode()) {
430
- window.localStorage.setItem(
431
- this.programCode() + "programName",
432
- programName_
433
- );
434
- } else {
435
- window.localStorage.setItem("programName", programName_);
436
- }
437
- },
438
- programName() {
439
- if (this.programCode()) {
440
- return window.localStorage.getItem(this.programCode() + "programName");
441
- } else {
442
- return window.localStorage.getItem("programName");
443
- }
444
- },
445
- setProgramName_sub(programName_sub_: string) {
446
- if (this.programCode()) {
447
- window.localStorage.setItem(
448
- this.programCode() + "programName_sub",
449
- programName_sub_
450
- );
451
- } else {
452
- window.localStorage.setItem("programName_sub", programName_sub_);
453
- }
454
- },
455
- programName_sub() {
456
- if (this.programCode()) {
457
- return window.localStorage.getItem(
458
- this.programCode() + "programName_sub"
459
- );
460
- } else {
461
- return window.localStorage.getItem("programName_sub");
462
- }
463
- },
464
- setProgramName_NavLeft(programName_NavLeft_: string) {
465
- if (this.programCode()) {
466
- window.localStorage.setItem(
467
- this.programCode() + "programName_NavLeft",
468
- programName_NavLeft_
469
- );
470
- } else {
471
- window.localStorage.setItem("programName_NavLeft", programName_NavLeft_);
472
- }
473
- },
474
- programName_NavLeft() {
475
- let result;
476
- if (this.programCode()) {
477
- result = window.localStorage.getItem(
478
- this.programCode() + "programName_NavLeft"
479
- );
480
- }
481
- if (!result) {
482
- result = window.localStorage.getItem("programName_NavLeft");
483
- }
484
- return result ? result : "管理平台";
485
- },
486
- programName_Logo() {
487
- let item = null;
488
- if (this.programCode()) {
489
- item = window.localStorage.getItem(
490
- this.programCode() + "programName_Logo"
491
- );
492
- }
493
- if (!item) {
494
- item = window.localStorage.getItem("programName_Logo");
495
- }
496
- return item && item == "undefined" ? null : item;
497
- },
498
-
499
- setThemes(themes: string[]) {
500
- const themesStr = themes?.length ? themes.join(",") : "";
501
- if (this.programCode()) {
502
- window.localStorage.setItem(
503
- this.programCode() + "themes",
504
- themesStr
505
- );
506
- } else {
507
- window.localStorage.setItem("themes", themesStr);
508
- }
509
- },
510
-
511
- themes() {
512
- let themes = "";
513
- if (this.programCode()) {
514
- themes = window.localStorage.getItem(
515
- this.programCode() + "themes"
516
- );
517
- } else {
518
- themes = window.localStorage.getItem("themes");
519
- }
520
-
521
- return themes ? themes.split(",") : [];
522
- },
523
-
524
- setDefaultTheme(theme: string) {
525
- let key = "defaultTheme";
526
- if (this.programCode()) {
527
- key = this.programCode() + "defaultTheme";
528
- }
529
- if (!theme) {
530
- window.localStorage.removeItem(key);
531
- return;
532
- }
533
- window.localStorage.setItem(key, theme);
534
- },
535
-
536
- getDefaultTheme() {
537
- let theme = "";
538
- if (this.programCode()) {
539
- theme = window.localStorage.getItem(
540
- this.programCode() + "defaultTheme"
541
- );
542
- } else {
543
- theme = window.localStorage.getItem("defaultTheme");
544
- }
545
- return theme || "v2";
546
- },
547
-
548
- formateDate(time) {
549
- if (!time) return "";
550
- return dayjs(new Date(time)).format("YYYY-MM-DD HH:mm:ss");
551
- //let str=date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + ' ' + date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds();
552
- // return str;
553
- },
554
- dateToString(date) {
555
- //日期转字符串
556
- //console.log(date)
557
- let year = date.getFullYear();
558
- let month = (date.getMonth() + 1).toString();
559
- let day = date.getDate().toString();
560
- if (month.length === 1) {
561
- month = "0" + month;
562
- }
563
- if (day.length === 1) {
564
- day = "0" + day;
565
- }
566
- const dateTime = year + "-" + month + "-" + day;
567
- return dateTime;
568
- },
569
- pagination(data, callback) {
570
- const page = {
571
- onchange: (current) => {
572
- callback(current);
573
- },
574
- current: data.pageInfo.pageNo,
575
- pageSize: data.pageInfo.pageSize,
576
- total: data.pageInfo.count,
577
- showTotal: () => {
578
- return `共${data.pageInfo.count}条`;
579
- },
580
- showQuickIumper: true,
581
- };
582
- return page;
583
- },
584
- // getRadioList(data) {
585
- // if (!data) {
586
- // return [];
587
- // }
588
- // const options = []
589
- // data.map((item) => {
590
- // options.push(<Radio value={item.id} key={item.id}>{item.name}</Radio>)
591
- // return false
592
- // })
593
- // return options
594
- // },
595
- // downloadFile_(url) {
596
- // try {
597
- // let elemIF = document.createElement("iframe");
598
- // //elemIF.src = url;
599
- // elemIF.src = "javascript: '<script>location.href=\"" + url + "\"</script>'"
600
- // elemIF.style.display = "none";
601
- // document.body.appendChild(elemIF);
602
- // } catch (e) {
603
- // message.error(e)
604
- // }
605
- // },
606
- openFile(url, fileName, toolbar) {
607
- try {
608
- let a = document.createElement("a");
609
- a.href = url + toolbar;
610
- a.target = "_blank";
611
- document.body.appendChild(a);
612
- a.click();
613
- document.body.removeChild(a);
614
- } catch (e) {
615
- console.log(e);
616
- }
617
- },
618
- toLogin() {
619
- let programCode = this.programCode();
620
- let applicationCode = this.applicationCode();
621
- const version = localStorage.getItem("version");
622
- const themes = this.getAllThemes();
623
- const loginPath = themes[version]?.loginPath || "login2";
624
- if (programCode && programCode != "null" && programCode != "undefined") {
625
- window.location.hash = applicationCode && applicationCode != "null" && applicationCode != "undefined" ? `#/${loginPath}/${programCode}/${applicationCode}` : `#/${loginPath}/${programCode}`;
626
- } else {
627
- window.location.hash = `#/${loginPath}`;
628
- }
629
- },
630
- logout() { // 退出登录,清除数据缓存
631
- currentUser = undefined;
632
- },
633
- async downloadFile(url, fileName) {
634
- try {
635
- // 检查是否跨域
636
- if (new URL(url).origin !== window.location.origin) {
637
- // 跨域资源使用Fetch API方式
638
- const response = await fetch(url);
639
- const blob = await response.blob();
640
- const blobUrl = window.URL.createObjectURL(blob);
641
- let a = document.createElement('a');
642
- a.href = blobUrl;
643
- a.download = fileName;
644
- document.body.appendChild(a);
645
- a.click();
646
- // 清理
647
- window.URL.revokeObjectURL(blobUrl);
648
- document.body.removeChild(a);
649
- } else {
650
- let a = document.createElement("a");
651
- a.download = fileName;
652
- a.href = url;
653
- //a.target= "_blank";
654
- document.body.appendChild(a);
655
- a.click();
656
- document.body.removeChild(a);
657
- }
658
- } catch (e) {
659
- console.log(e);
660
- }
661
- },
662
- downloadFile_old(url) {
663
- try {
664
- let a = document.createElement("form");
665
- a.action = url;
666
- //a.target= "_blank";
667
- document.body.appendChild(a);
668
- a.submit();
669
- document.body.removeChild(a);
670
- } catch (e) {
671
- console.log(e);
672
- }
673
- },
674
- //随机数
675
- getRandomNum(n) {
676
- let rnd = "";
677
- let f = Math.floor(Math.random() * 10);
678
- rnd += f == 0 ? "1" : f + "";
679
- for (let i = 1; i < n; i++) {
680
- rnd += Math.floor(Math.random() * 10);
681
- }
682
- return rnd;
683
- },
684
- /**
685
- * 获得用于在本地持久缓存的数据的Key前缀
686
- * 当前返回的值是第一次访问当前方法时的所在页面链接的pathname
687
- * 表示在不同的pathname下,永久缓存的数据将互不干扰
688
- * @returns {undefined}
689
- */
690
- getStorageKeyPrefix() {
691
- if (storageKeyPrefix === undefined) {
692
- storageKeyPrefix = window.location.pathname || "";
693
- }
694
- return storageKeyPrefix;
695
- },
696
-
697
- getLongTextStyle(value) {
698
- if (!value) {
699
- return {};
700
- }
701
- let style = {
702
- minWidth: "normal",
703
- maxWidth: "1000px",
704
- display: "block",
705
- // textAlign: 'left',
706
- whiteSpace: "normal",
707
- lineHeight: "20px",
708
- };
709
- let min_value_length =
710
- value.length > 200
711
- ? "350px"
712
- : value.length > 150
713
- ? "300px"
714
- : value.length > 100
715
- ? "250px"
716
- : value.length > 50
717
- ? "200px"
718
- : value.length >= 20
719
- ? "160px"
720
- : "80px";
721
- //let min_value_length = value.length > 20 ? '160px' : '80px';
722
- style.minWidth = min_value_length;
723
- return style;
724
- },
725
-
726
- setLocalStorge(key, value, min = 60) {
727
- if (key) {
728
- key = this.getStorageKeyPrefix() + key;
729
- }
730
- // 设置过期原则
731
- if (!value) {
732
- localStorage.removeItem(key);
733
- } else {
734
- const Min = min || 60;
735
- const exp = new Date();
736
- const expireAddTime = Min * 60 * 1000;
737
- localStorage.setItem(
738
- key,
739
- JSON.stringify({
740
- value,
741
- expireAddTime,
742
- expires: exp.getTime() + expireAddTime,
743
- })
744
- );
745
- }
746
- },
747
- getLocalStorge(name) {
748
- if (name) {
749
- name = this.getStorageKeyPrefix() + name;
750
- }
751
- try {
752
- let o = JSON.parse(localStorage[name]);
753
- if (!o || o.expires < Date.now()) {
754
- return null;
755
- } else {
756
- o.expires = Date.now() + o.expireAddTime;
757
- localStorage.setItem(name, JSON.stringify(o));
758
- return o.value;
759
- }
760
- } catch (e) {
761
- // 兼容其他localstorage
762
- return localStorage[name];
763
- } finally {
764
- }
765
- },
766
- getAnoHydrocarbonToken() {
767
- let token = this.getLocalStorge("anoHydrocarbonToken");
768
- if (!token) {
769
- token = "tmpl" + this.getRandomNum(6);
770
- this.setLocalStorge("anoHydrocarbonToken", token);
771
- }
772
- return token;
773
- },
774
- transQueryParamsToStr(data, isPrefix = false, excudekeys = []) {
775
- let prefix = isPrefix ? "?" : "";
776
- let _result = [];
777
- let paramKeys = [];
778
- //寻找参数
779
- for (let key in data) {
780
- if (excudekeys.indexOf(key) >= 0) {
781
- continue;
782
- }
783
- let value = data[key];
784
- // 去掉为空的参数
785
- if ([undefined, null].includes(value)) {
786
- value = "";
787
- continue;
788
- } else {
789
- paramKeys.push(key);
790
- }
791
- }
792
- //排序
793
- paramKeys.sort();
794
- for (let key of paramKeys) {
795
- let value = data[key];
796
- let str = encodeURIComponent(key);
797
- if (!value) {
798
- } else if (key === "sortColIds") {
799
- value.forEach((_value) => {
800
- _result.push(str + "[]=" + encodeURIComponent(_value));
801
- });
802
- } else if (value && value.constructor === Array) {
803
- value.forEach((_value) => {
804
- _result.push(str + "[]=" + encodeURIComponent(_value));
805
- });
806
- } else {
807
- _result.push(str + "=" + encodeURIComponent(value));
808
- }
809
- }
810
- return _result.length ? prefix + _result.join("&") : "";
811
- },
812
- getItemType(name_: string, value: string, ltmplConfig: LtmplConfig) {
813
- let name = name_;
814
- if (!value || !ltmplConfig) {
815
- return null;
816
- }
817
-
818
- if (name.startsWith("c_")) {
819
- name = name.substring(2);
820
- }
821
- let cs: CriteriaConfig[] = [];
822
- if (ltmplConfig.criteria) {
823
- cs.push(...ltmplConfig.criteria);
824
- }
825
- if (ltmplConfig.updrillButtonConfigs) {
826
- cs.push(...ltmplConfig.updrillButtonConfigs);
827
- }
828
- if (ltmplConfig.innerParams) {
829
- cs.push(...ltmplConfig.innerParams);
830
- }
831
- if (ltmplConfig.drillingParams) {
832
- cs.push(...ltmplConfig.drillingParams);
833
- }
834
-
835
- for (let c of cs) {
836
- if (c.id == name) {
837
- return ControlTypeSupportor.getControlType(c, value);
838
- }
839
- }
840
- return null;
841
- },
842
- transQueryStrToParams(str, ltmplConfig: LtmplConfig) {
843
- let obj = {};
844
- const arr1 = str.split("?");
845
-
846
- if (arr1 && arr1.length == 2) {
847
- const arr2 = arr1[1].split("&");
848
- for (let i = 0; i < arr2.length; i++) {
849
- if (arr2[i].indexOf("[]=") > 0) {
850
- const res = arr2[i].split("[]=");
851
- const name = res[0];
852
- if (!obj[name]) {
853
- obj[name] = [];
854
- }
855
- let pvalue = decodeURIComponent(res[1]);
856
- obj[name].push(
857
- this.configParamTrans(
858
- pvalue,
859
- this.getItemType(name, pvalue, ltmplConfig)
860
- )
861
- );
862
- } else {
863
- const res = arr2[i].split("=");
864
- const name = res[0];
865
- if (name) {
866
- let pvalue = decodeURIComponent(res[1]);
867
- obj[name] =
868
- this.configParamTrans(
869
- pvalue,
870
- this.getItemType(name, pvalue, ltmplConfig)
871
- );
872
- }
873
- }
874
- }
875
- }
876
- return obj;
877
- },
878
- isConfigDefaultValue(defaultValue) {
879
- if (!defaultValue) {
880
- return false;
881
- }
882
- return defaultValue.startsWith("$$current");
883
- },
884
- configParamTrans(value: string, itemType: string) {
885
- if (value && value.startsWith && value.startsWith("$$current")) {
886
- return TmplConfigAnalysis.current(value, this.getDayjsFormat(itemType));
887
- } else if (value?.startsWith && value.startsWith("$$user.")) { // 默认值根据用户配置
888
- let userInfo: UserInfo = this.getCurrentUserInfo();
889
- if (!userInfo) {
890
- return null;
891
- }
892
- if (value?.startsWith && value.startsWith("$$user.code")) {
893
- return userInfo.id + "@R@";
894
- } else {
895
- return userInfo?.extInfo?.fieldMap?.[value.split("user.")[1]] || null;
896
- }
897
- } else {
898
- return value;
899
- }
900
-
901
- },
902
-
903
- uniq(array, gWord) {
904
- const res = [];
905
- array.map((item) => {
906
- let flag = true;
907
- res.map((it) => {
908
- if (item[gWord] === it[gWord]) {
909
- flag = false;
910
- }
911
- return false;
912
- });
913
- if (flag) {
914
- res.push(item);
915
- }
916
- return false;
917
- });
918
- return res;
919
- },
920
- deepCopy(obj) {
921
- var result = Array.isArray(obj) ? [] : {};
922
- for (var key in obj) {
923
- if (obj.hasOwnProperty(key)) {
924
- if (typeof obj[key] === "object") {
925
- result[key] = this.deepCopy(obj[key]); //递归复制
926
- } else {
927
- result[key] = obj[key];
928
- }
929
- }
930
- }
931
- return result;
932
- },
933
- // forPic(fieldMap) { //原始数据的图片url转化为图片
934
- // for (let i in fieldMap) {
935
- // if (fieldMap[i] && fieldMap[i].includes("download-files")) {
936
- // const url = this.api() + fieldMap[i]
937
- // fieldMap[i] = <img
938
- // style={{width: 55}}
939
- // src={url}
940
- // alt=""/>
941
- // }
942
- // }
943
- // return fieldMap
944
- // },
945
- getFileUrl(file) {
946
- if (!file) {
947
- return file;
948
- } else if (file.constructor === String) {
949
- return file;
950
- } else if (file.constructor === Object) {
951
- if (file.props.children.props) {
952
- const { href } = file.props.children.props;
953
- return href;
954
- } else if (file.props.owlner) {
955
- return file.props.owlner;
956
- } else {
957
- return file;
958
- }
959
- } else {
960
- return file;
961
- }
962
- },
963
-
964
- getOptionColor(options: EnumItem[], value) {
965
- if (!value) {
966
- return null;
967
- }
968
- let color;
969
- if (options) {
970
- options.forEach((option) => {
971
- if (option.value === value) {
972
- if (option.color) {
973
- color = option.color;
974
- }
975
- return;
976
- }
977
- });
978
- }
979
- return color;
980
- },
981
-
982
- getFieldItemType(item) {
983
- return item.extType
984
- ? item.extType
985
- : item.msExtType
986
- ? item.msExtType
987
- : item.msType
988
- ? item.msType
989
- : item.type;
990
- },
991
- isEmpty(obj) {
992
- if (!obj) {
993
- return true;
994
- }
995
- for (let key in obj) {
996
- return false; //非空
997
- }
998
- return true;
999
- },
1000
- getDayjsFormat(itemType) {
1001
- let format = "YYYY-MM-DD HH:mm:ss";
1002
-
1003
- switch (itemType) {
1004
- case "daterange-YY":
1005
- case "date-YY":
1006
- format = "YYYY";
1007
- break;
1008
- case "date-M1":
1009
- case "daterange-M1":
1010
- format = "YYYY-MM";
1011
- break;
1012
- case "date":
1013
- case "daterange":
1014
- format = "YYYY-MM-DD";
1015
- break;
1016
- case "datetime-HH":
1017
- case "datetimerange-HH":
1018
- format = "YYYY-MM-DD HH";
1019
- break;
1020
- case "datetime-mm":
1021
- case "datetimerange-mm":
1022
- format = "YYYY-MM-DD HH:mm";
1023
- break;
1024
- case "datetime":
1025
- case "datetimerange":
1026
- format = "YYYY-MM-DD HH:mm:ss";
1027
- break;
1028
- case "timestamp":
1029
- format = "YYYY-MM-DD HH:mm:ss SSS";
1030
- break;
1031
- case "time-HH":
1032
- case "timerange-HH":
1033
- case "timerange-HH-unorder":
1034
- format = "HH";
1035
- break;
1036
- case "time-mm":
1037
- case "timerange-mm":
1038
- case "timerange-mm-unorder":
1039
- format = "HH:mm";
1040
- break;
1041
- case "time":
1042
- case "timerange":
1043
- case "timerange-unorder":
1044
- format = "HH:mm:ss";
1045
- break;
1046
- }
1047
-
1048
- return format;
1049
- },
1050
- getDateTimeFormat(itemType) {
1051
- let format = "";
1052
- switch (itemType) {
1053
- case "time-HH":
1054
- case "timerange-HH":
1055
- case "datetime-HH":
1056
- case "datetimerange-HH":
1057
- return "HH";
1058
- case "time-mm":
1059
- case "timerange-mm":
1060
- case "datetime-mm":
1061
- case "datetimerange-mm":
1062
- return "HH:mm";
1063
- case "timestamp":
1064
- case "time":
1065
- case "timerange":
1066
- case "datetime":
1067
- case "datetimerange":
1068
- return "HH:mm:ss";
1069
- default:
1070
- return "";
1071
- }
1072
-
1073
- return format;
1074
- },
1075
- // getSelectOptions(data: EnumItem[]) {
1076
- //
1077
- // if (!data) {
1078
- // return [];
1079
- // }
1080
- // const options = []
1081
- // data.map((item) => {
1082
- // options.push(<Option value={item.value} key={item.title}>{item.title}</Option>)
1083
- // return false
1084
- // })
1085
- // return options
1086
- // },
1087
- // getSelectListOfStrList(data) {
1088
- //
1089
- // if (!data) {
1090
- // return [];
1091
- // }
1092
- // const options = []
1093
- // data.map((item) => {
1094
- // options.push(<Option value={item} key={item}>{item}</Option>)
1095
- // return false
1096
- // })
1097
- // return options
1098
- // },
1099
- // getSelectOptionsOfMstrucId(mstrucId: string) {
1100
- // return this.getSelectOptions(HCDataSource.getEnums(mstrucId));
1101
- // },
1102
- concatValue(value1, vaule2) {
1103
- let newValue = undefined;
1104
- if (value1) {
1105
- newValue = value1 + "~";
1106
- } else {
1107
- newValue = "~";
1108
- }
1109
-
1110
- if (vaule2) {
1111
- newValue = newValue + vaule2;
1112
- }
1113
- return newValue;
1114
- },
1115
- splitValue(value) {
1116
- let valueBegin, valueEnd;
1117
- if (value) {
1118
- if (value.toString().indexOf("~") >= 0) {
1119
- let splitValue: string[] = value.split("~");
1120
- valueBegin = splitValue[0] ? splitValue[0] : undefined;
1121
- valueEnd = splitValue[1] ? splitValue[1] : undefined;
1122
- } else {
1123
- valueBegin = value;
1124
- }
1125
- }
1126
-
1127
- return { valueBegin, valueEnd };
1128
- },
1129
- str2UTF8(str) {
1130
- var bytes = new Array();
1131
- var len, c;
1132
- len = str.length;
1133
- for (var i = 0; i < len; i++) {
1134
- c = str.charCodeAt(i);
1135
- if (c >= 0x010000 && c <= 0x10ffff) {
1136
- bytes.push(((c >> 18) & 0x07) | 0xf0);
1137
- bytes.push(((c >> 12) & 0x3f) | 0x80);
1138
- bytes.push(((c >> 6) & 0x3f) | 0x80);
1139
- bytes.push((c & 0x3f) | 0x80);
1140
- } else if (c >= 0x000800 && c <= 0x00ffff) {
1141
- bytes.push(((c >> 12) & 0x0f) | 0xe0);
1142
- bytes.push(((c >> 6) & 0x3f) | 0x80);
1143
- bytes.push((c & 0x3f) | 0x80);
1144
- } else if (c >= 0x000080 && c <= 0x0007ff) {
1145
- bytes.push(((c >> 6) & 0x1f) | 0xc0);
1146
- bytes.push((c & 0x3f) | 0x80);
1147
- } else {
1148
- bytes.push(c & 0xff);
1149
- }
1150
- }
1151
- return bytes;
1152
- },
1153
- joinPath(path1, path2) {
1154
- let path = path1;
1155
- if (!path.endsWith("/") && !path.endsWith("\\")) {
1156
- path = path + "/";
1157
- }
1158
- if (path2) {
1159
- if (path2.startsWith("/") || path.startsWith("\\")) {
1160
- path = path + path2.slice(1);
1161
- } else {
1162
- path = path + path2;
1163
- }
1164
- }
1165
- return path;
1166
- },
1167
- // getRouteProgramCode(pathProps){
1168
- // if (pathProps && pathProps.match && pathProps.match.params) {
1169
- // const {programCode} = pathProps.match.params;
1170
- // return programCode;
1171
- // }
1172
- // },
1173
- setProgramCode4RoutePath(pathParams) {
1174
- const { programCode, applicationCode } = pathParams;
1175
- this.setProgramCode(programCode);
1176
- this.setApplicationCode(applicationCode);
1177
- },
1178
- setSessionProgramCode4RoutePath(pathParams) {
1179
- const { programCode, applicationCode } = pathParams;
1180
- this.setSessionProgramCode(programCode);
1181
- this.setSessionApplicationCode(applicationCode);
1182
- },
1183
- getReactKey() {
1184
- return new Date().getTime().toString();
1185
- },
1186
- async getUserInfo(programCode?: string, token?: string, applicationCode?: string) {
1187
- if (currentUser?.name) {
1188
- return currentUser;
1189
- }
1190
- let user = await HcserviceV3.getUser(programCode, token, applicationCode);
1191
- if (user?.orgGtmplSourceId && !["null"].includes(user.orgGtmplSourceId)) {
1192
- const { ltmplConfig } = await HcserviceV3.requestLtmplConfig(null, user.orgGtmplSourceId) || {};
1193
- const { entities } = await HcserviceV3.requestLtmplQueryTop(null, user.orgGtmplSourceId, { top: 1 }) || {};
1194
- const primaryColumnId = ltmplConfig?.extDisplayConfig?.primaryColumn?.id; // 首字段
1195
- const mainPictureId = ltmplConfig?.extDisplayConfig?.mainPicture?.id; // 主图字段
1196
- const orgName = entities?.[0]?.fieldMap?.[primaryColumnId];
1197
- const homeImg = entities?.[0]?.fieldMap?.[mainPictureId];
1198
- user = { ...user, orgName, homeImg }
1199
- }
1200
- currentUser = user;
1201
- return currentUser;
1202
- },
1203
- getCurrentUserInfo() {
1204
- return currentUser;
1205
- },
1206
- // 低代码拖拽页面-自定义组件
1207
- setCustomComponent(key_: string, name: object) {
1208
- let key = key_;
1209
- if (!key) {
1210
- return;
1211
- }
1212
- CUSTOM_COMPONENT_MAP[key] = name;
1213
- },
1214
- getCustomComponent(key: string) {
1215
- if (!key) {
1216
- return null;
1217
- }
1218
- return CUSTOM_COMPONENT_MAP[key];
1219
- },
1220
- getAllThemes() { // 主题风格-路径配置
1221
- const themes = {
1222
- v2: { path: "v2", loginPath: "login2" },
1223
- v3: { path: "v3", loginPath: "login3" },
1224
- v4: { path: "v4", loginPath: "login4" },
1225
- v5: { path: "v5", loginPath: "login2" },
1226
- };
1227
- return themes;
1228
- },
1229
- toDefaultTheme(defTheme?: string) {
1230
- const temTheme = defTheme || ProgramConfig.getDefaultTheme();
1231
- let hash = window.location.hash;
1232
- if (regexTheme.test(hash)) {
1233
- hash = hash.replace(regexTheme, `${temTheme}/home`);
1234
- window.location.hash = hash;
1235
- } else {
1236
- const localVersion = localStorage.getItem("version");
1237
- if (!localVersion) {
1238
- window.location.hash = `#/${temTheme}/home`;
1239
- }
1240
- }
1241
- },
1242
- async getThemeConfig(serverKey?: string) {
1243
- if (themeConfig) {
1244
- return themeConfig;
1245
- }
1246
- const programCode = this.programCode();
1247
- const applicationCode = this.applicationCode();
1248
- const server = this.api(serverKey);
1249
- const { themeConfig: temConfig } = await HcserviceV3.getThemeConfig(serverKey, programCode) || {};
1250
- const loginMainPicture = temConfig?.loginMainPicture ? this.joinPath(server, `/v3/theme-files/${temConfig?.loginMainPicture}?@programToken=${programCode}&@applicationToken=${applicationCode}`) : null;
1251
- const programIcon = temConfig?.programIcon ? this.joinPath(server, `/v3/theme-files/${temConfig?.programIcon}?@programToken=${programCode}&@applicationToken=${applicationCode}`) : null;
1252
- themeConfig = { ...temConfig, loginMainPicture, programIcon };
1253
- return themeConfig;
1254
- },
1255
- getThemeConfigInfo() {
1256
- return themeConfig;
1257
- },
1258
- coverUserPageConfig(setting: { [key: string]: any }) { // 页面配置覆盖
1259
- const currentUser = this.getCurrentUserInfo();
1260
- if (!setting || !currentUser) return;
1261
- const programCode = this.programCode();
1262
- const applicationCode = this.applicationCode();
1263
- const localKey = `${currentUser.id}-${programCode}${applicationCode ? `-${applicationCode}` : ""}-userPageConfig`;
1264
- localStorage.setItem(localKey, JSON.stringify(setting));
1265
- },
1266
- setUserPageConfig(key: string, setting: { [key: string]: any }) { // 页面配置(视图、列、分页等)存本地
1267
- const currentUser = this.getCurrentUserInfo();
1268
- if (!key || !setting || !currentUser) return;
1269
- const programCode = this.programCode();
1270
- const applicationCode = this.applicationCode();
1271
- const localKey = `${currentUser.id}-${programCode}${applicationCode ? `-${applicationCode}` : ""}-userPageConfig`;
1272
- const userPageConfig = localStorage.getItem(localKey) || "{}";
1273
- let config = {};
1274
- try {
1275
- config = JSON.parse(userPageConfig);
1276
- } catch {
1277
- config = {};
1278
- }
1279
- config[key] = { ...(config[key] || {}), ...setting };
1280
- localStorage.setItem(localKey, JSON.stringify(config));
1281
- return config[key];
1282
- },
1283
- async getUserPageConfig(key: string) { // 获取当前页面配置本地缓存
1284
- const currentUser = await this.getUserInfo();
1285
- if (!key || !currentUser) return;
1286
- const programCode = this.programCode();
1287
- const applicationCode = this.applicationCode();
1288
- const localKey = `${currentUser.id}-${programCode}${applicationCode ? `-${applicationCode}` : ""}-userPageConfig`;
1289
- const userPageConfig = localStorage.getItem(localKey) || "{}";
1290
- try {
1291
- const config = JSON.parse(userPageConfig);
1292
- return config[key];
1293
- } catch {
1294
- return;
1295
- }
1296
- },
1297
- resetUserPageConfig(key: string) { // 重置当前页面配置本地缓存
1298
- const currentUser = this.getCurrentUserInfo();
1299
- if (!key || !currentUser) return;
1300
- const programCode = this.programCode();
1301
- const applicationCode = this.applicationCode();
1302
- const localKey = `${currentUser.id}-${programCode}${applicationCode ? `-${applicationCode}` : ""}-userPageConfig`;
1303
- const userPageConfig = localStorage.getItem(localKey) || "{}";
1304
- try {
1305
- const config = JSON.parse(userPageConfig);
1306
- config[key] = undefined;
1307
- localStorage.setItem(localKey, JSON.stringify(config));
1308
- } catch {
1309
- return;
1310
- }
1311
- },
1312
- async getPageConfigCommon(menuCode: string, type?: "default" | "refresh") {
1313
- // type == refresh 请求新数据,不使用缓存
1314
- if ((!type || type === "default") && pageConfigCommons[menuCode]) {
1315
- return pageConfigCommons[menuCode];
1316
- }
1317
- const configs = await HcserviceV3.getPageConfigCommon(menuCode);
1318
- pageConfigCommons[menuCode] = configs;
1319
- return configs;
1320
- },
1321
- async getPageConfigDefault() { // 拉取用户默认配置
1322
- const configs = await HcserviceV3.getPageConfigDefault();
1323
- const defUserPageConfig = configs.reduce((total, cur) => {
1324
- total[cur.menuCode] = cur.content ? JSON.parse(cur.content) : undefined;
1325
- return total;
1326
- }, {});
1327
- this.coverUserPageConfig(defUserPageConfig); // 覆盖本地缓存
1328
- return configs;
1329
- },
1330
- findItemByIdIterative(tree: any[], value: string | number, key = "id") { // 查找树级数组中的指定项
1331
- if (!tree?.length) {
1332
- return undefined;
1333
- }
1334
- // 使用一个栈来存储待遍历的节点
1335
- const stack = [...tree];
1336
- while (stack.length > 0) {
1337
- const node = stack.pop();
1338
- if (node[key] === value) {
1339
- return node;
1340
- }
1341
- if (node.children && node.children.length > 0) {
1342
- stack.push(...node.children);
1343
- }
1344
- }
1345
- return undefined;
1346
- },
1347
- async get2DComponent(groups: string[]) { // 获取2D组件数据
1348
- const temGroups = groups.filter(r => !components2DMap[r]);
1349
- if (!temGroups?.length) {
1350
- return components2DMap;
1351
- }
1352
- const res = await HcserviceV3.get2DComponent(temGroups);
1353
- const temObj = Object.keys(res).reduce((total, next) => {
1354
- total[next] = res[next] || [];
1355
- return total;
1356
- }, {});
1357
- components2DMap = { ...components2DMap, ...temObj };
1358
- return components2DMap;
1359
- },
1360
- get2DComponentByType(type: string) { // 获取指定类型组件
1361
- if (!type) {
1362
- return;
1363
- }
1364
- const item = Object.values(components2DMap).flat(Infinity).find((r: any) => r.type === type);
1365
- return item;
1366
- }
1367
- };
1
+ // import React from 'react'
2
+ import {
3
+ CriteriaConfig, CustomButtonConfig,
4
+ DtmplConfig,
5
+ DtmplData,
6
+ DtmplFormProps,
7
+ EnumItem,
8
+ LtmplConfig,
9
+ SelectConfig,
10
+ ThemeConfig
11
+ } from "../tmpl/interface";
12
+ import dayjs from "dayjs";
13
+ import TmplConfigAnalysis from "../tmpl/tmpl-config-analysis";
14
+ import { ProgramConfig } from "../index";
15
+ import { CriteriaFormProps } from "../form/criteria-form";
16
+ import ControlTypeSupportor from "../tmpl/control-type-supportor";
17
+ import HcserviceV3 from "../tmpl/hcservice-v3";
18
+ import { UserInfo } from "../tmpl/interface";
19
+
20
+ let storageKeyPrefix = undefined;
21
+
22
+ const CUSTOM_PAGE_MAP = {};
23
+
24
+ let MENU_MAP = {};
25
+
26
+ let MENU_ID_ICON_MAP = {};
27
+
28
+ const CustomButtonConfig_Map = {}
29
+
30
+ const CUSTOM_VIEW_CONTROL_MAP = {};
31
+
32
+ const AppDtmplConfigFuncMap = {};
33
+
34
+ const AppCtmplConfigFuncMap = {};
35
+
36
+ const CUSTOM_EDIT_CONTROL_MAP = {};
37
+
38
+ let currentUser = undefined;
39
+
40
+ const extendServerMap = {};
41
+
42
+ let antdUseToken = undefined;
43
+
44
+ const CUSTOM_COMPONENT_MAP = {};
45
+
46
+ // 主题url vx替换正则
47
+ const regexTheme = /(?<=#\/)vx/g;
48
+
49
+ let themeConfig: ThemeConfig = undefined; // 系统配置主题等
50
+
51
+ const pageConfigCommons = {}; // 用户页面自定义配置
52
+
53
+ let components2DMap = {}; // 2D图形组件
54
+
55
+ // let siderCollapsed:boolean = true;
56
+
57
+ export default {
58
+ setAntdUseToken(antdUseToken_) {
59
+ antdUseToken = antdUseToken_;
60
+ },
61
+ getAntdUseToken() {
62
+ return antdUseToken;
63
+ },
64
+
65
+ //静态补充
66
+ setAppDtmplConfigFunc(
67
+ key: string,
68
+ func: (dtmplConfig: DtmplConfig, dtmplData: DtmplData) => DtmplConfig
69
+ ) {
70
+ AppDtmplConfigFuncMap[key] = func;
71
+ },
72
+
73
+
74
+ setMenuIconMap(menuIconMap) {
75
+ MENU_ID_ICON_MAP = menuIconMap;
76
+ },
77
+ mapMenuIcon(menuId) {
78
+ return MENU_ID_ICON_MAP[menuId];
79
+ },
80
+
81
+ setMenuMap(menuMap) {
82
+ MENU_MAP = menuMap;
83
+ },
84
+ mapMenu(menuId) {
85
+ if (menuId == 'home') {
86
+ return "首页"
87
+ }
88
+ return MENU_MAP[menuId];
89
+ },
90
+
91
+
92
+ getAppDtmplConfig(
93
+ dtmplConfig: DtmplConfig,
94
+ dtmplData: DtmplData,
95
+ props: DtmplFormProps
96
+ ) {
97
+ if (dtmplConfig) {
98
+ if (AppDtmplConfigFuncMap[dtmplConfig.id]) {
99
+ return AppDtmplConfigFuncMap[dtmplConfig.id](
100
+ dtmplConfig,
101
+ dtmplData,
102
+ props
103
+ );
104
+ } else {
105
+ //用内置的
106
+ return TmplConfigAnalysis.buildInDtmplConfig(
107
+ dtmplConfig,
108
+ dtmplData,
109
+ props
110
+ );
111
+ }
112
+ }
113
+ return dtmplConfig;
114
+ },
115
+
116
+ setCustomButtonConfig(
117
+ key: string,
118
+ config: CustomButtonConfig
119
+ ) {
120
+ CustomButtonConfig_Map[key] = config;
121
+ },
122
+
123
+ getCustomButtonConfig(
124
+ key: string
125
+ ) {
126
+ return CustomButtonConfig_Map[key];
127
+ },
128
+
129
+ setAppCtmplConfigFunc(
130
+ key: string,
131
+ func: (ltmplConfig: SelectConfig, data: Object) => SelectConfig
132
+ ) {
133
+ AppCtmplConfigFuncMap[key] = func;
134
+ },
135
+
136
+ getAppCtmplConfig(
137
+ ltmplConfig: SelectConfig,
138
+ criteriaData: Object,
139
+ props: CriteriaFormProps
140
+ ) {
141
+ if (ltmplConfig) {
142
+ if (AppCtmplConfigFuncMap[ltmplConfig.id]) {
143
+ return AppCtmplConfigFuncMap[ltmplConfig.id](
144
+ ltmplConfig,
145
+ criteriaData,
146
+ props
147
+ );
148
+ } else {
149
+ //用内置的
150
+ return TmplConfigAnalysis.buildInCtmplConfig(
151
+ ltmplConfig,
152
+ criteriaData,
153
+ props
154
+ );
155
+ }
156
+ }
157
+ return ltmplConfig;
158
+ },
159
+
160
+ isDynamicDtmplConfig(dtmplConfig: DtmplConfig) {
161
+ if (dtmplConfig && AppDtmplConfigFuncMap[dtmplConfig.id]) {
162
+ return true;
163
+ }
164
+ return false;
165
+ },
166
+
167
+ setCustomPage(key_: string, name: object) {
168
+ let key = key_;
169
+ if (!key) {
170
+ return;
171
+ }
172
+ if (!key.startsWith("/")) {
173
+ key = "/" + key;
174
+ }
175
+ CUSTOM_PAGE_MAP[key] = name;
176
+ },
177
+ setCustomControl(key_: string, view: object, edit: object) {
178
+ let key = key_;
179
+ if (!key.startsWith("/")) {
180
+ key = "/" + key;
181
+ }
182
+ CUSTOM_VIEW_CONTROL_MAP[key] = view;
183
+ CUSTOM_EDIT_CONTROL_MAP[key] = edit;
184
+ },
185
+ getCustomViewControl(key: string) {
186
+ if (!key) {
187
+ return null;
188
+ }
189
+ if (!key.startsWith("/")) {
190
+ return CUSTOM_VIEW_CONTROL_MAP["/" + key];
191
+ } else {
192
+ return CUSTOM_VIEW_CONTROL_MAP[key];
193
+ }
194
+ },
195
+ getCustomEditControl(key: string) {
196
+ if (!key) {
197
+ return null;
198
+ }
199
+ if (!key.startsWith("/")) {
200
+ return CUSTOM_EDIT_CONTROL_MAP["/" + key];
201
+ } else {
202
+ return CUSTOM_EDIT_CONTROL_MAP[key];
203
+ }
204
+ },
205
+ getCustomPage(key: string) {
206
+ if (!key) {
207
+ return null;
208
+ }
209
+ if (!key.startsWith("/")) {
210
+ return CUSTOM_PAGE_MAP["/" + key];
211
+ } else {
212
+ return CUSTOM_PAGE_MAP[key];
213
+ }
214
+ },
215
+ setProgramCode(programCode_: string, key?: string) {
216
+ if (programCode_) {
217
+ if (key) {
218
+ window.localStorage.setItem(key + "programCode", programCode_);
219
+ } else {
220
+ window.localStorage.setItem("programCode", programCode_);
221
+ window.sessionStorage.setItem("programCode", programCode_);
222
+ }
223
+ }
224
+ },
225
+ setSessionProgramCode(programCode_: string) {
226
+ if (programCode_) {
227
+ window.sessionStorage.setItem("programCode", programCode_);
228
+ }
229
+ },
230
+ programCode(key?: string) {
231
+ let programCode = null;
232
+ if (key) {
233
+ programCode = window.localStorage.getItem(key + "programCode");
234
+ if (!programCode && key === "localDevopsServer") { // 2D图图片上传模型,配置为空则使用默认值
235
+ programCode = "282877560559017986";
236
+ }
237
+ } else {
238
+ programCode = window.sessionStorage.getItem("programCode");
239
+ }
240
+
241
+ if (!programCode) {
242
+ programCode = window.localStorage.getItem("programCode");
243
+ this.setSessionProgramCode(programCode);
244
+ }
245
+ return programCode;
246
+ },
247
+ setApplicationCode(applicationCode_: string, key?: string) {
248
+ if (applicationCode_) {
249
+ if (key) {
250
+ window.localStorage.setItem(key + "applicationCode", applicationCode_);
251
+ } else {
252
+ window.localStorage.setItem("applicationCode", applicationCode_);
253
+ window.sessionStorage.setItem("applicationCode", applicationCode_);
254
+ }
255
+ }
256
+ },
257
+ setSessionApplicationCode(applicationCode_: string) {
258
+ if (applicationCode_) {
259
+ window.sessionStorage.setItem("applicationCode", applicationCode_);
260
+ }
261
+ },
262
+ applicationCode(key?: string) {
263
+ let applicationCode = null;
264
+ if (key) {
265
+ applicationCode = window.localStorage.getItem(key + "applicationCode");
266
+ } else {
267
+ applicationCode = window.sessionStorage.getItem("applicationCode");
268
+ }
269
+
270
+ if (!applicationCode) {
271
+ applicationCode = window.localStorage.getItem("applicationCode");
272
+ this.setSessionProgramCode(applicationCode);
273
+ }
274
+ return applicationCode;
275
+ },
276
+ setHydrocarbonServer(url: string, key?: string) {
277
+ if (key) {
278
+ window.localStorage.setItem(key + "hydrocarbonServer", url);
279
+ } else if (this.programCode()) {
280
+ window.localStorage.setItem(
281
+ this.programCode() + "hydrocarbonServer",
282
+ url
283
+ );
284
+ } else {
285
+ window.localStorage.setItem("hydrocarbonServer", url);
286
+ }
287
+ },
288
+ setProgramName_Logo(logo1: string) {
289
+ if (this.programCode()) {
290
+ window.localStorage.setItem(
291
+ this.programCode() + "programName_Logo",
292
+ logo1
293
+ );
294
+ } else {
295
+ window.localStorage.setItem("programName_Logo", logo1);
296
+ }
297
+ },
298
+ api(key?: string) {
299
+ let appi = null;
300
+ if (key) {
301
+ appi = window.localStorage.getItem(key + "hydrocarbonServer");
302
+ } else {
303
+ appi = window.localStorage.getItem(
304
+ this.programCode() + "hydrocarbonServer"
305
+ );
306
+ }
307
+ if (!appi) {
308
+ appi = window.localStorage.getItem("hydrocarbonServer");
309
+ }
310
+
311
+ if (!appi) {
312
+ let url = new URL(window.location.href);
313
+ let pathname = null;
314
+ if (url.pathname.indexOf("/kuangkie") > 0) {
315
+ pathname = url.pathname.split("/kuangkie")[0];
316
+ }
317
+ appi = this.joinPath(url.origin, pathname);
318
+ } else if (appi == "/") {
319
+ //以当前为主
320
+ let url = new URL(window.location.href);
321
+ let pathname = url.pathname.split("/kuangkie")[0];
322
+ appi = this.joinPath(url.origin, pathname);
323
+ } else if (appi.startsWith("/-")) {
324
+ let url = new URL(window.location.href);
325
+ let afterOrigin = url.href.replace(`${url.origin}/`, '').split("/");
326
+ let num = appi.match(/-/g)?.length || 0;
327
+ let pathname = afterOrigin.slice(0, num).join("/");
328
+ appi = this.joinPath(url.origin, pathname);
329
+ } else if (!appi.startsWith("http")) {
330
+ appi = this.joinPath(new URL(window.location.href).origin, appi);
331
+ }
332
+ return appi;
333
+ },
334
+ hydrocarbonToken(programCode_?: string, applicationCode_?: string) {
335
+ let programCode = programCode_ ? programCode_ : this.programCode();
336
+ let applicationCode = applicationCode_ || this.applicationCode() || "";
337
+ let hydrocarbonToken = window.sessionStorage.getItem(
338
+ programCode + applicationCode + "hydrocarbonToken"
339
+ );
340
+ if (!hydrocarbonToken) {
341
+ hydrocarbonToken = window.sessionStorage.getItem("hydrocarbonToken");
342
+ }
343
+ if (!hydrocarbonToken) {
344
+ hydrocarbonToken = window.localStorage.getItem(
345
+ programCode + applicationCode + "hydrocarbonToken"
346
+ );
347
+ if (!hydrocarbonToken) {
348
+ hydrocarbonToken = window.localStorage.getItem("hydrocarbonToken");
349
+ }
350
+ if (hydrocarbonToken) {
351
+ this.setSessionHydrocarbonToken(hydrocarbonToken, programCode, applicationCode);
352
+ }
353
+ }
354
+ return hydrocarbonToken;
355
+ },
356
+ setServerHydrocarbonToken(serverkey: string, token: string) {
357
+ if (serverkey && token) {
358
+ window.sessionStorage.setItem(serverkey + "hydrocarbonToken", token);
359
+ }
360
+ this.setHydrocarbonToken(token, serverkey);
361
+ },
362
+ serverHydrocarbonToken(serverKey: string) {
363
+ let hydrocarbonToken = window.sessionStorage.getItem(serverKey + "hydrocarbonToken");
364
+ if (!hydrocarbonToken) {
365
+ hydrocarbonToken = window.localStorage.getItem(serverKey + "hydrocarbonToken");
366
+ }
367
+ if (!serverKey || !hydrocarbonToken) { // serverKey不存在
368
+ hydrocarbonToken = this.hydrocarbonToken();
369
+ }
370
+ return hydrocarbonToken;
371
+ },
372
+ putExtendServers(extendServers) {
373
+ for (let es of extendServers) {
374
+ extendServerMap[es.key] = es;
375
+ if (es.key && es["hydrocarbonServer"]) {
376
+ ProgramConfig.setProgramCode(es["programCode"], es.key);
377
+ ProgramConfig.setHydrocarbonServer(es["hydrocarbonServer"], es.key);
378
+ }
379
+ }
380
+ },
381
+ getExtendServers(serverKey) {
382
+ return extendServerMap[serverKey];
383
+ },
384
+ setHydrocarbonToken(token: string, serverkey?: string) {
385
+ let programCode = this.programCode(serverkey);
386
+ let applicationCode = this.applicationCode(serverkey);
387
+ this.setLocalHydrocarbonToken(token, programCode, applicationCode);
388
+ this.setSessionHydrocarbonToken(token, programCode, applicationCode);
389
+ },
390
+ setLocalHydrocarbonToken(token: string, programCode_?: string, applicationCode_?: string) {
391
+ if (!programCode_) {
392
+ // if(!window.localStorage.getItem('hydrocarbonToken')){
393
+ window.localStorage.setItem("hydrocarbonToken", token);
394
+ //}
395
+ }
396
+ let programCode = programCode_ ? programCode_ : this.programCode();
397
+ let applicationCode = applicationCode_ || this.applicationCode() || "";
398
+ if (programCode) {
399
+ window.localStorage.setItem(programCode + applicationCode + "hydrocarbonToken", token);
400
+ //初次设为默认
401
+ if (!window.localStorage.getItem("hydrocarbonToken")) {
402
+ window.localStorage.setItem("hydrocarbonToken", token);
403
+ }
404
+ }
405
+ // else{
406
+ // window.localStorage.setItem('hydrocarbonToken',token);
407
+ // }
408
+ },
409
+ setSessionHydrocarbonToken(token: string, programCode_?: string, applicationCode_?: string) {
410
+ if (!programCode_) {
411
+ //初次设为默认
412
+ //if(!window.sessionStorage.getItem('hydrocarbonToken')){
413
+ window.sessionStorage.setItem("hydrocarbonToken", token);
414
+ // }
415
+ }
416
+ let programCode = programCode_ ? programCode_ : this.programCode();
417
+ let applicationCode = applicationCode_ || this.applicationCode() || "";
418
+ if (programCode) {
419
+ window.sessionStorage.setItem(programCode + applicationCode + "hydrocarbonToken", token);
420
+ if (!window.sessionStorage.getItem("hydrocarbonToken")) {
421
+ window.sessionStorage.setItem("hydrocarbonToken", token);
422
+ }
423
+ }
424
+ // else{
425
+ // window.sessionStorage.setItem('hydrocarbonToken',token) ;
426
+ // }
427
+ },
428
+ setProgramName(programName_: string) {
429
+ if (this.programCode()) {
430
+ window.localStorage.setItem(
431
+ this.programCode() + "programName",
432
+ programName_
433
+ );
434
+ } else {
435
+ window.localStorage.setItem("programName", programName_);
436
+ }
437
+ },
438
+ programName() {
439
+ if (this.programCode()) {
440
+ return window.localStorage.getItem(this.programCode() + "programName");
441
+ } else {
442
+ return window.localStorage.getItem("programName");
443
+ }
444
+ },
445
+ setProgramName_sub(programName_sub_: string) {
446
+ if (this.programCode()) {
447
+ window.localStorage.setItem(
448
+ this.programCode() + "programName_sub",
449
+ programName_sub_
450
+ );
451
+ } else {
452
+ window.localStorage.setItem("programName_sub", programName_sub_);
453
+ }
454
+ },
455
+ programName_sub() {
456
+ if (this.programCode()) {
457
+ return window.localStorage.getItem(
458
+ this.programCode() + "programName_sub"
459
+ );
460
+ } else {
461
+ return window.localStorage.getItem("programName_sub");
462
+ }
463
+ },
464
+ setProgramName_NavLeft(programName_NavLeft_: string) {
465
+ if (this.programCode()) {
466
+ window.localStorage.setItem(
467
+ this.programCode() + "programName_NavLeft",
468
+ programName_NavLeft_
469
+ );
470
+ } else {
471
+ window.localStorage.setItem("programName_NavLeft", programName_NavLeft_);
472
+ }
473
+ },
474
+ programName_NavLeft() {
475
+ let result;
476
+ if (this.programCode()) {
477
+ result = window.localStorage.getItem(
478
+ this.programCode() + "programName_NavLeft"
479
+ );
480
+ }
481
+ if (!result) {
482
+ result = window.localStorage.getItem("programName_NavLeft");
483
+ }
484
+ return result ? result : "管理平台";
485
+ },
486
+ programName_Logo() {
487
+ let item = null;
488
+ if (this.programCode()) {
489
+ item = window.localStorage.getItem(
490
+ this.programCode() + "programName_Logo"
491
+ );
492
+ }
493
+ if (!item) {
494
+ item = window.localStorage.getItem("programName_Logo");
495
+ }
496
+ return item && item == "undefined" ? null : item;
497
+ },
498
+
499
+ setThemes(themes: string[]) {
500
+ const themesStr = themes?.length ? themes.join(",") : "";
501
+ if (this.programCode()) {
502
+ window.localStorage.setItem(
503
+ this.programCode() + "themes",
504
+ themesStr
505
+ );
506
+ } else {
507
+ window.localStorage.setItem("themes", themesStr);
508
+ }
509
+ },
510
+
511
+ themes() {
512
+ let themes = "";
513
+ if (this.programCode()) {
514
+ themes = window.localStorage.getItem(
515
+ this.programCode() + "themes"
516
+ );
517
+ } else {
518
+ themes = window.localStorage.getItem("themes");
519
+ }
520
+
521
+ return themes ? themes.split(",") : [];
522
+ },
523
+
524
+ setDefaultTheme(theme: string) {
525
+ let key = "defaultTheme";
526
+ if (this.programCode()) {
527
+ key = this.programCode() + "defaultTheme";
528
+ }
529
+ if (!theme) {
530
+ window.localStorage.removeItem(key);
531
+ return;
532
+ }
533
+ window.localStorage.setItem(key, theme);
534
+ },
535
+
536
+ getDefaultTheme() {
537
+ let theme = "";
538
+ if (this.programCode()) {
539
+ theme = window.localStorage.getItem(
540
+ this.programCode() + "defaultTheme"
541
+ );
542
+ } else {
543
+ theme = window.localStorage.getItem("defaultTheme");
544
+ }
545
+ return theme || "v2";
546
+ },
547
+
548
+ formateDate(time) {
549
+ if (!time) return "";
550
+ return dayjs(new Date(time)).format("YYYY-MM-DD HH:mm:ss");
551
+ //let str=date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + ' ' + date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds();
552
+ // return str;
553
+ },
554
+ dateToString(date) {
555
+ //日期转字符串
556
+ //console.log(date)
557
+ let year = date.getFullYear();
558
+ let month = (date.getMonth() + 1).toString();
559
+ let day = date.getDate().toString();
560
+ if (month.length === 1) {
561
+ month = "0" + month;
562
+ }
563
+ if (day.length === 1) {
564
+ day = "0" + day;
565
+ }
566
+ const dateTime = year + "-" + month + "-" + day;
567
+ return dateTime;
568
+ },
569
+ pagination(data, callback) {
570
+ const page = {
571
+ onchange: (current) => {
572
+ callback(current);
573
+ },
574
+ current: data.pageInfo.pageNo,
575
+ pageSize: data.pageInfo.pageSize,
576
+ total: data.pageInfo.count,
577
+ showTotal: () => {
578
+ return `共${data.pageInfo.count}条`;
579
+ },
580
+ showQuickIumper: true,
581
+ };
582
+ return page;
583
+ },
584
+ // getRadioList(data) {
585
+ // if (!data) {
586
+ // return [];
587
+ // }
588
+ // const options = []
589
+ // data.map((item) => {
590
+ // options.push(<Radio value={item.id} key={item.id}>{item.name}</Radio>)
591
+ // return false
592
+ // })
593
+ // return options
594
+ // },
595
+ // downloadFile_(url) {
596
+ // try {
597
+ // let elemIF = document.createElement("iframe");
598
+ // //elemIF.src = url;
599
+ // elemIF.src = "javascript: '<script>location.href=\"" + url + "\"</script>'"
600
+ // elemIF.style.display = "none";
601
+ // document.body.appendChild(elemIF);
602
+ // } catch (e) {
603
+ // message.error(e)
604
+ // }
605
+ // },
606
+ openFile(url, fileName, toolbar) {
607
+ try {
608
+ let a = document.createElement("a");
609
+ a.href = url + toolbar;
610
+ a.target = "_blank";
611
+ document.body.appendChild(a);
612
+ a.click();
613
+ document.body.removeChild(a);
614
+ } catch (e) {
615
+ console.log(e);
616
+ }
617
+ },
618
+ toLogin() {
619
+ let programCode = this.programCode();
620
+ let applicationCode = this.applicationCode();
621
+ const version = localStorage.getItem("version");
622
+ const themes = this.getAllThemes();
623
+ const loginPath = themes[version]?.loginPath || "login2";
624
+ if (programCode && programCode != "null" && programCode != "undefined") {
625
+ window.location.hash = applicationCode && applicationCode != "null" && applicationCode != "undefined" ? `#/${loginPath}/${programCode}/${applicationCode}` : `#/${loginPath}/${programCode}`;
626
+ } else {
627
+ window.location.hash = `#/${loginPath}`;
628
+ }
629
+ },
630
+ logout() { // 退出登录,清除数据缓存
631
+ currentUser = undefined;
632
+ },
633
+ async downloadFile(url, fileName) {
634
+ try {
635
+ // 检查是否跨域
636
+ if (new URL(url).origin !== window.location.origin) {
637
+ // 跨域资源使用Fetch API方式
638
+ const response = await fetch(url);
639
+ const blob = await response.blob();
640
+ const blobUrl = window.URL.createObjectURL(blob);
641
+ let a = document.createElement('a');
642
+ a.href = blobUrl;
643
+ a.download = fileName;
644
+ document.body.appendChild(a);
645
+ a.click();
646
+ // 清理
647
+ window.URL.revokeObjectURL(blobUrl);
648
+ document.body.removeChild(a);
649
+ } else {
650
+ let a = document.createElement("a");
651
+ a.download = fileName;
652
+ a.href = url;
653
+ //a.target= "_blank";
654
+ document.body.appendChild(a);
655
+ a.click();
656
+ document.body.removeChild(a);
657
+ }
658
+ } catch (e) {
659
+ console.log(e);
660
+ }
661
+ },
662
+ downloadFile_old(url) {
663
+ try {
664
+ let a = document.createElement("form");
665
+ a.action = url;
666
+ //a.target= "_blank";
667
+ document.body.appendChild(a);
668
+ a.submit();
669
+ document.body.removeChild(a);
670
+ } catch (e) {
671
+ console.log(e);
672
+ }
673
+ },
674
+ //随机数
675
+ getRandomNum(n) {
676
+ let rnd = "";
677
+ let f = Math.floor(Math.random() * 10);
678
+ rnd += f == 0 ? "1" : f + "";
679
+ for (let i = 1; i < n; i++) {
680
+ rnd += Math.floor(Math.random() * 10);
681
+ }
682
+ return rnd;
683
+ },
684
+ /**
685
+ * 获得用于在本地持久缓存的数据的Key前缀
686
+ * 当前返回的值是第一次访问当前方法时的所在页面链接的pathname
687
+ * 表示在不同的pathname下,永久缓存的数据将互不干扰
688
+ * @returns {undefined}
689
+ */
690
+ getStorageKeyPrefix() {
691
+ if (storageKeyPrefix === undefined) {
692
+ storageKeyPrefix = window.location.pathname || "";
693
+ }
694
+ return storageKeyPrefix;
695
+ },
696
+
697
+ getLongTextStyle(value) {
698
+ if (!value) {
699
+ return {};
700
+ }
701
+ let style = {
702
+ minWidth: "normal",
703
+ maxWidth: "1000px",
704
+ display: "block",
705
+ // textAlign: 'left',
706
+ whiteSpace: "normal",
707
+ lineHeight: "20px",
708
+ };
709
+ let min_value_length =
710
+ value.length > 200
711
+ ? "350px"
712
+ : value.length > 150
713
+ ? "300px"
714
+ : value.length > 100
715
+ ? "250px"
716
+ : value.length > 50
717
+ ? "200px"
718
+ : value.length >= 20
719
+ ? "160px"
720
+ : "80px";
721
+ //let min_value_length = value.length > 20 ? '160px' : '80px';
722
+ style.minWidth = min_value_length;
723
+ return style;
724
+ },
725
+
726
+ setLocalStorge(key, value, min = 60) {
727
+ if (key) {
728
+ key = this.getStorageKeyPrefix() + key;
729
+ }
730
+ // 设置过期原则
731
+ if (!value) {
732
+ localStorage.removeItem(key);
733
+ } else {
734
+ const Min = min || 60;
735
+ const exp = new Date();
736
+ const expireAddTime = Min * 60 * 1000;
737
+ localStorage.setItem(
738
+ key,
739
+ JSON.stringify({
740
+ value,
741
+ expireAddTime,
742
+ expires: exp.getTime() + expireAddTime,
743
+ })
744
+ );
745
+ }
746
+ },
747
+ getLocalStorge(name) {
748
+ if (name) {
749
+ name = this.getStorageKeyPrefix() + name;
750
+ }
751
+ try {
752
+ let o = JSON.parse(localStorage[name]);
753
+ if (!o || o.expires < Date.now()) {
754
+ return null;
755
+ } else {
756
+ o.expires = Date.now() + o.expireAddTime;
757
+ localStorage.setItem(name, JSON.stringify(o));
758
+ return o.value;
759
+ }
760
+ } catch (e) {
761
+ // 兼容其他localstorage
762
+ return localStorage[name];
763
+ } finally {
764
+ }
765
+ },
766
+ getAnoHydrocarbonToken() {
767
+ let token = this.getLocalStorge("anoHydrocarbonToken");
768
+ if (!token) {
769
+ token = "tmpl" + this.getRandomNum(6);
770
+ this.setLocalStorge("anoHydrocarbonToken", token);
771
+ }
772
+ return token;
773
+ },
774
+ transQueryParamsToStr(data, isPrefix = false, excudekeys = []) {
775
+ let prefix = isPrefix ? "?" : "";
776
+ let _result = [];
777
+ let paramKeys = [];
778
+ //寻找参数
779
+ for (let key in data) {
780
+ if (excudekeys.indexOf(key) >= 0) {
781
+ continue;
782
+ }
783
+ let value = data[key];
784
+ // 去掉为空的参数
785
+ if ([undefined, null].includes(value)) {
786
+ value = "";
787
+ continue;
788
+ } else {
789
+ paramKeys.push(key);
790
+ }
791
+ }
792
+ //排序
793
+ paramKeys.sort();
794
+ for (let key of paramKeys) {
795
+ let value = data[key];
796
+ let str = encodeURIComponent(key);
797
+ if (!value) {
798
+ } else if (key === "sortColIds") {
799
+ value.forEach((_value) => {
800
+ _result.push(str + "[]=" + encodeURIComponent(_value));
801
+ });
802
+ } else if (value && value.constructor === Array) {
803
+ value.forEach((_value) => {
804
+ _result.push(str + "[]=" + encodeURIComponent(_value));
805
+ });
806
+ } else {
807
+ _result.push(str + "=" + encodeURIComponent(value));
808
+ }
809
+ }
810
+ return _result.length ? prefix + _result.join("&") : "";
811
+ },
812
+ getItemType(name_: string, value: string, ltmplConfig: LtmplConfig) {
813
+ let name = name_;
814
+ if (!value || !ltmplConfig) {
815
+ return null;
816
+ }
817
+
818
+ if (name.startsWith("c_")) {
819
+ name = name.substring(2);
820
+ }
821
+ let cs: CriteriaConfig[] = [];
822
+ if (ltmplConfig.criteria) {
823
+ cs.push(...ltmplConfig.criteria);
824
+ }
825
+ if (ltmplConfig.updrillButtonConfigs) {
826
+ cs.push(...ltmplConfig.updrillButtonConfigs);
827
+ }
828
+ if (ltmplConfig.innerParams) {
829
+ cs.push(...ltmplConfig.innerParams);
830
+ }
831
+ if (ltmplConfig.drillingParams) {
832
+ cs.push(...ltmplConfig.drillingParams);
833
+ }
834
+
835
+ for (let c of cs) {
836
+ if (c.id == name) {
837
+ return ControlTypeSupportor.getControlType(c, value);
838
+ }
839
+ }
840
+ return null;
841
+ },
842
+ transQueryStrToParams(str, ltmplConfig: LtmplConfig) {
843
+ let obj = {};
844
+ const arr1 = str.split("?");
845
+
846
+ if (arr1 && arr1.length == 2) {
847
+ const arr2 = arr1[1].split("&");
848
+ for (let i = 0; i < arr2.length; i++) {
849
+ if (arr2[i].indexOf("[]=") > 0) {
850
+ const res = arr2[i].split("[]=");
851
+ const name = res[0];
852
+ if (!obj[name]) {
853
+ obj[name] = [];
854
+ }
855
+ let pvalue = decodeURIComponent(res[1]);
856
+ obj[name].push(
857
+ this.configParamTrans(
858
+ pvalue,
859
+ this.getItemType(name, pvalue, ltmplConfig)
860
+ )
861
+ );
862
+ } else {
863
+ const res = arr2[i].split("=");
864
+ const name = res[0];
865
+ if (name) {
866
+ let pvalue = decodeURIComponent(res[1]);
867
+ obj[name] =
868
+ this.configParamTrans(
869
+ pvalue,
870
+ this.getItemType(name, pvalue, ltmplConfig)
871
+ );
872
+ }
873
+ }
874
+ }
875
+ }
876
+ return obj;
877
+ },
878
+ isConfigDefaultValue(defaultValue) {
879
+ if (!defaultValue) {
880
+ return false;
881
+ }
882
+ return defaultValue.startsWith("$$current");
883
+ },
884
+ configParamTrans(value: string, itemType: string) {
885
+ if (value && value.startsWith && value.startsWith("$$current")) {
886
+ return TmplConfigAnalysis.current(value, this.getDayjsFormat(itemType));
887
+ } else if (value?.startsWith && value.startsWith("$$user.")) { // 默认值根据用户配置
888
+ let userInfo: UserInfo = this.getCurrentUserInfo();
889
+ if (!userInfo) {
890
+ return null;
891
+ }
892
+ if (value?.startsWith && value.startsWith("$$user.code")) {
893
+ return userInfo.id + "@R@";
894
+ } else {
895
+ return userInfo?.extInfo?.fieldMap?.[value.split("user.")[1]] || null;
896
+ }
897
+ } else {
898
+ return value;
899
+ }
900
+
901
+ },
902
+
903
+ uniq(array, gWord) {
904
+ const res = [];
905
+ array.map((item) => {
906
+ let flag = true;
907
+ res.map((it) => {
908
+ if (item[gWord] === it[gWord]) {
909
+ flag = false;
910
+ }
911
+ return false;
912
+ });
913
+ if (flag) {
914
+ res.push(item);
915
+ }
916
+ return false;
917
+ });
918
+ return res;
919
+ },
920
+ deepCopy(obj) {
921
+ var result = Array.isArray(obj) ? [] : {};
922
+ for (var key in obj) {
923
+ if (obj.hasOwnProperty(key)) {
924
+ if (typeof obj[key] === "object") {
925
+ result[key] = this.deepCopy(obj[key]); //递归复制
926
+ } else {
927
+ result[key] = obj[key];
928
+ }
929
+ }
930
+ }
931
+ return result;
932
+ },
933
+ // forPic(fieldMap) { //原始数据的图片url转化为图片
934
+ // for (let i in fieldMap) {
935
+ // if (fieldMap[i] && fieldMap[i].includes("download-files")) {
936
+ // const url = this.api() + fieldMap[i]
937
+ // fieldMap[i] = <img
938
+ // style={{width: 55}}
939
+ // src={url}
940
+ // alt=""/>
941
+ // }
942
+ // }
943
+ // return fieldMap
944
+ // },
945
+ getFileUrl(file) {
946
+ if (!file) {
947
+ return file;
948
+ } else if (file.constructor === String) {
949
+ return file;
950
+ } else if (file.constructor === Object) {
951
+ if (file.props.children.props) {
952
+ const { href } = file.props.children.props;
953
+ return href;
954
+ } else if (file.props.owlner) {
955
+ return file.props.owlner;
956
+ } else {
957
+ return file;
958
+ }
959
+ } else {
960
+ return file;
961
+ }
962
+ },
963
+
964
+ getOptionColor(options: EnumItem[], value) {
965
+ if (!value) {
966
+ return null;
967
+ }
968
+ let color;
969
+ if (options) {
970
+ options.forEach((option) => {
971
+ if (option.value === value) {
972
+ if (option.color) {
973
+ color = option.color;
974
+ }
975
+ return;
976
+ }
977
+ });
978
+ }
979
+ return color;
980
+ },
981
+
982
+ getFieldItemType(item) {
983
+ return item.extType
984
+ ? item.extType
985
+ : item.msExtType
986
+ ? item.msExtType
987
+ : item.msType
988
+ ? item.msType
989
+ : item.type;
990
+ },
991
+ isEmpty(obj) {
992
+ if (!obj) {
993
+ return true;
994
+ }
995
+ for (let key in obj) {
996
+ return false; //非空
997
+ }
998
+ return true;
999
+ },
1000
+ getDayjsFormat(itemType) {
1001
+ let format = "YYYY-MM-DD HH:mm:ss";
1002
+
1003
+ switch (itemType) {
1004
+ case "daterange-YY":
1005
+ case "date-YY":
1006
+ format = "YYYY";
1007
+ break;
1008
+ case "date-M1":
1009
+ case "daterange-M1":
1010
+ format = "YYYY-MM";
1011
+ break;
1012
+ case "date":
1013
+ case "daterange":
1014
+ format = "YYYY-MM-DD";
1015
+ break;
1016
+ case "datetime-HH":
1017
+ case "datetimerange-HH":
1018
+ format = "YYYY-MM-DD HH";
1019
+ break;
1020
+ case "datetime-mm":
1021
+ case "datetimerange-mm":
1022
+ format = "YYYY-MM-DD HH:mm";
1023
+ break;
1024
+ case "datetime":
1025
+ case "datetimerange":
1026
+ format = "YYYY-MM-DD HH:mm:ss";
1027
+ break;
1028
+ case "timestamp":
1029
+ format = "YYYY-MM-DD HH:mm:ss SSS";
1030
+ break;
1031
+ case "time-HH":
1032
+ case "timerange-HH":
1033
+ case "timerange-HH-unorder":
1034
+ format = "HH";
1035
+ break;
1036
+ case "time-mm":
1037
+ case "timerange-mm":
1038
+ case "timerange-mm-unorder":
1039
+ format = "HH:mm";
1040
+ break;
1041
+ case "time":
1042
+ case "timerange":
1043
+ case "timerange-unorder":
1044
+ format = "HH:mm:ss";
1045
+ break;
1046
+ }
1047
+
1048
+ return format;
1049
+ },
1050
+ getDateTimeFormat(itemType) {
1051
+ let format = "";
1052
+ switch (itemType) {
1053
+ case "time-HH":
1054
+ case "timerange-HH":
1055
+ case "datetime-HH":
1056
+ case "datetimerange-HH":
1057
+ return "HH";
1058
+ case "time-mm":
1059
+ case "timerange-mm":
1060
+ case "datetime-mm":
1061
+ case "datetimerange-mm":
1062
+ return "HH:mm";
1063
+ case "timestamp":
1064
+ case "time":
1065
+ case "timerange":
1066
+ case "datetime":
1067
+ case "datetimerange":
1068
+ return "HH:mm:ss";
1069
+ default:
1070
+ return "";
1071
+ }
1072
+
1073
+ return format;
1074
+ },
1075
+ // getSelectOptions(data: EnumItem[]) {
1076
+ //
1077
+ // if (!data) {
1078
+ // return [];
1079
+ // }
1080
+ // const options = []
1081
+ // data.map((item) => {
1082
+ // options.push(<Option value={item.value} key={item.title}>{item.title}</Option>)
1083
+ // return false
1084
+ // })
1085
+ // return options
1086
+ // },
1087
+ // getSelectListOfStrList(data) {
1088
+ //
1089
+ // if (!data) {
1090
+ // return [];
1091
+ // }
1092
+ // const options = []
1093
+ // data.map((item) => {
1094
+ // options.push(<Option value={item} key={item}>{item}</Option>)
1095
+ // return false
1096
+ // })
1097
+ // return options
1098
+ // },
1099
+ // getSelectOptionsOfMstrucId(mstrucId: string) {
1100
+ // return this.getSelectOptions(HCDataSource.getEnums(mstrucId));
1101
+ // },
1102
+ concatValue(value1, vaule2) {
1103
+ let newValue = undefined;
1104
+ if (value1) {
1105
+ newValue = value1 + "~";
1106
+ } else {
1107
+ newValue = "~";
1108
+ }
1109
+
1110
+ if (vaule2) {
1111
+ newValue = newValue + vaule2;
1112
+ }
1113
+ return newValue;
1114
+ },
1115
+ splitValue(value) {
1116
+ let valueBegin, valueEnd;
1117
+ if (value) {
1118
+ if (value.toString().indexOf("~") >= 0) {
1119
+ let splitValue: string[] = value.split("~");
1120
+ valueBegin = splitValue[0] ? splitValue[0] : undefined;
1121
+ valueEnd = splitValue[1] ? splitValue[1] : undefined;
1122
+ } else {
1123
+ valueBegin = value;
1124
+ }
1125
+ }
1126
+
1127
+ return { valueBegin, valueEnd };
1128
+ },
1129
+ str2UTF8(str) {
1130
+ var bytes = new Array();
1131
+ var len, c;
1132
+ len = str.length;
1133
+ for (var i = 0; i < len; i++) {
1134
+ c = str.charCodeAt(i);
1135
+ if (c >= 0x010000 && c <= 0x10ffff) {
1136
+ bytes.push(((c >> 18) & 0x07) | 0xf0);
1137
+ bytes.push(((c >> 12) & 0x3f) | 0x80);
1138
+ bytes.push(((c >> 6) & 0x3f) | 0x80);
1139
+ bytes.push((c & 0x3f) | 0x80);
1140
+ } else if (c >= 0x000800 && c <= 0x00ffff) {
1141
+ bytes.push(((c >> 12) & 0x0f) | 0xe0);
1142
+ bytes.push(((c >> 6) & 0x3f) | 0x80);
1143
+ bytes.push((c & 0x3f) | 0x80);
1144
+ } else if (c >= 0x000080 && c <= 0x0007ff) {
1145
+ bytes.push(((c >> 6) & 0x1f) | 0xc0);
1146
+ bytes.push((c & 0x3f) | 0x80);
1147
+ } else {
1148
+ bytes.push(c & 0xff);
1149
+ }
1150
+ }
1151
+ return bytes;
1152
+ },
1153
+ joinPath(path1, path2) {
1154
+ let path = path1;
1155
+ if (!path.endsWith("/") && !path.endsWith("\\")) {
1156
+ path = path + "/";
1157
+ }
1158
+ if (path2) {
1159
+ if (path2.startsWith("/") || path.startsWith("\\")) {
1160
+ path = path + path2.slice(1);
1161
+ } else {
1162
+ path = path + path2;
1163
+ }
1164
+ }
1165
+ return path;
1166
+ },
1167
+ // getRouteProgramCode(pathProps){
1168
+ // if (pathProps && pathProps.match && pathProps.match.params) {
1169
+ // const {programCode} = pathProps.match.params;
1170
+ // return programCode;
1171
+ // }
1172
+ // },
1173
+ setProgramCode4RoutePath(pathParams) {
1174
+ const { programCode, applicationCode } = pathParams;
1175
+ this.setProgramCode(programCode);
1176
+ this.setApplicationCode(applicationCode);
1177
+ },
1178
+ setSessionProgramCode4RoutePath(pathParams) {
1179
+ const { programCode, applicationCode } = pathParams;
1180
+ this.setSessionProgramCode(programCode);
1181
+ this.setSessionApplicationCode(applicationCode);
1182
+ },
1183
+ getReactKey() {
1184
+ return new Date().getTime().toString();
1185
+ },
1186
+ async getUserInfo(programCode?: string, token?: string, applicationCode?: string) {
1187
+ if (currentUser?.name) {
1188
+ return currentUser;
1189
+ }
1190
+ let user = await HcserviceV3.getUser(programCode, token, applicationCode);
1191
+ if (user?.orgGtmplSourceId && !["null"].includes(user.orgGtmplSourceId)) {
1192
+ const { ltmplConfig } = await HcserviceV3.requestLtmplConfig(null, user.orgGtmplSourceId) || {};
1193
+ const { entities } = await HcserviceV3.requestLtmplQueryTop(null, user.orgGtmplSourceId, { top: 1 }) || {};
1194
+ const primaryColumnId = ltmplConfig?.extDisplayConfig?.primaryColumn?.id; // 首字段
1195
+ const mainPictureId = ltmplConfig?.extDisplayConfig?.mainPicture?.id; // 主图字段
1196
+ const orgName = entities?.[0]?.fieldMap?.[primaryColumnId];
1197
+ const homeImg = entities?.[0]?.fieldMap?.[mainPictureId];
1198
+ user = { ...user, orgName, homeImg }
1199
+ }
1200
+ currentUser = user;
1201
+ return currentUser;
1202
+ },
1203
+ getCurrentUserInfo() {
1204
+ return currentUser;
1205
+ },
1206
+ // 低代码拖拽页面-自定义组件
1207
+ setCustomComponent(key_: string, name: object) {
1208
+ let key = key_;
1209
+ if (!key) {
1210
+ return;
1211
+ }
1212
+ CUSTOM_COMPONENT_MAP[key] = name;
1213
+ },
1214
+ getCustomComponent(key: string) {
1215
+ if (!key) {
1216
+ return null;
1217
+ }
1218
+ return CUSTOM_COMPONENT_MAP[key];
1219
+ },
1220
+ getAllThemes() { // 主题风格-路径配置
1221
+ const themes = {
1222
+ v2: { path: "v2", loginPath: "login2" },
1223
+ v3: { path: "v3", loginPath: "login3" },
1224
+ v4: { path: "v4", loginPath: "login4" },
1225
+ v5: { path: "v5", loginPath: "login2" },
1226
+ };
1227
+ return themes;
1228
+ },
1229
+ toDefaultTheme(defTheme?: string) {
1230
+ const temTheme = defTheme || ProgramConfig.getDefaultTheme();
1231
+ let hash = window.location.hash;
1232
+ if (regexTheme.test(hash)) {
1233
+ hash = hash.replace(regexTheme, `${temTheme}/home`);
1234
+ window.location.hash = hash;
1235
+ } else {
1236
+ const localVersion = localStorage.getItem("version");
1237
+ if (!localVersion) {
1238
+ window.location.hash = `#/${temTheme}/home`;
1239
+ }
1240
+ }
1241
+ },
1242
+ async getThemeConfig(serverKey?: string) {
1243
+ if (themeConfig) {
1244
+ return themeConfig;
1245
+ }
1246
+ const programCode = this.programCode();
1247
+ const applicationCode = this.applicationCode();
1248
+ const server = this.api(serverKey);
1249
+ const { themeConfig: temConfig } = await HcserviceV3.getThemeConfig(serverKey, programCode) || {};
1250
+ const loginMainPicture = temConfig?.loginMainPicture ? this.joinPath(server, `/v3/theme-files/${temConfig?.loginMainPicture}?@programToken=${programCode}&@applicationToken=${applicationCode}`) : null;
1251
+ const programIcon = temConfig?.programIcon ? this.joinPath(server, `/v3/theme-files/${temConfig?.programIcon}?@programToken=${programCode}&@applicationToken=${applicationCode}`) : null;
1252
+ themeConfig = { ...temConfig, loginMainPicture, programIcon };
1253
+ return themeConfig;
1254
+ },
1255
+ getThemeConfigInfo() {
1256
+ return themeConfig;
1257
+ },
1258
+ coverUserPageConfig(setting: { [key: string]: any }) { // 页面配置覆盖
1259
+ const currentUser = this.getCurrentUserInfo();
1260
+ if (!setting || !currentUser) return;
1261
+ const programCode = this.programCode();
1262
+ const applicationCode = this.applicationCode();
1263
+ const localKey = `${currentUser.id}-${programCode}${applicationCode ? `-${applicationCode}` : ""}-userPageConfig`;
1264
+ localStorage.setItem(localKey, JSON.stringify(setting));
1265
+ },
1266
+ setUserPageConfig(key: string, setting: { [key: string]: any }) { // 页面配置(视图、列、分页等)存本地
1267
+ const currentUser = this.getCurrentUserInfo();
1268
+ if (!key || !setting || !currentUser) return;
1269
+ const programCode = this.programCode();
1270
+ const applicationCode = this.applicationCode();
1271
+ const localKey = `${currentUser.id}-${programCode}${applicationCode ? `-${applicationCode}` : ""}-userPageConfig`;
1272
+ const userPageConfig = localStorage.getItem(localKey) || "{}";
1273
+ let config = {};
1274
+ try {
1275
+ config = JSON.parse(userPageConfig);
1276
+ } catch {
1277
+ config = {};
1278
+ }
1279
+ config[key] = { ...(config[key] || {}), ...setting };
1280
+ localStorage.setItem(localKey, JSON.stringify(config));
1281
+ return config[key];
1282
+ },
1283
+ async getUserPageConfig(key: string) { // 获取当前页面配置本地缓存
1284
+ const currentUser = await this.getUserInfo();
1285
+ if (!key || !currentUser) return;
1286
+ const programCode = this.programCode();
1287
+ const applicationCode = this.applicationCode();
1288
+ const localKey = `${currentUser.id}-${programCode}${applicationCode ? `-${applicationCode}` : ""}-userPageConfig`;
1289
+ const userPageConfig = localStorage.getItem(localKey) || "{}";
1290
+ try {
1291
+ const config = JSON.parse(userPageConfig);
1292
+ return config[key];
1293
+ } catch {
1294
+ return;
1295
+ }
1296
+ },
1297
+ resetUserPageConfig(key: string) { // 重置当前页面配置本地缓存
1298
+ const currentUser = this.getCurrentUserInfo();
1299
+ if (!key || !currentUser) return;
1300
+ const programCode = this.programCode();
1301
+ const applicationCode = this.applicationCode();
1302
+ const localKey = `${currentUser.id}-${programCode}${applicationCode ? `-${applicationCode}` : ""}-userPageConfig`;
1303
+ const userPageConfig = localStorage.getItem(localKey) || "{}";
1304
+ try {
1305
+ const config = JSON.parse(userPageConfig);
1306
+ config[key] = undefined;
1307
+ localStorage.setItem(localKey, JSON.stringify(config));
1308
+ } catch {
1309
+ return;
1310
+ }
1311
+ },
1312
+ async getPageConfigCommon(menuCode: string, type?: "default" | "refresh") {
1313
+ // type == refresh 请求新数据,不使用缓存
1314
+ if ((!type || type === "default") && pageConfigCommons[menuCode]) {
1315
+ return pageConfigCommons[menuCode];
1316
+ }
1317
+ const configs = await HcserviceV3.getPageConfigCommon(menuCode);
1318
+ pageConfigCommons[menuCode] = configs;
1319
+ return configs;
1320
+ },
1321
+ async getPageConfigDefault() { // 拉取用户默认配置
1322
+ const configs = await HcserviceV3.getPageConfigDefault();
1323
+ const defUserPageConfig = configs.reduce((total, cur) => {
1324
+ total[cur.menuCode] = cur.content ? JSON.parse(cur.content) : undefined;
1325
+ return total;
1326
+ }, {});
1327
+ this.coverUserPageConfig(defUserPageConfig); // 覆盖本地缓存
1328
+ return configs;
1329
+ },
1330
+ findItemByIdIterative(tree: any[], value: string | number, key = "id") { // 查找树级数组中的指定项
1331
+ if (!tree?.length) {
1332
+ return undefined;
1333
+ }
1334
+ // 使用一个栈来存储待遍历的节点
1335
+ const stack = [...tree];
1336
+ while (stack.length > 0) {
1337
+ const node = stack.pop();
1338
+ if (node[key] === value) {
1339
+ return node;
1340
+ }
1341
+ if (node.children && node.children.length > 0) {
1342
+ stack.push(...node.children);
1343
+ }
1344
+ }
1345
+ return undefined;
1346
+ },
1347
+ async get2DComponent(groups: string[]) { // 获取2D组件数据
1348
+ const temGroups = groups.filter(r => !components2DMap[r]);
1349
+ if (!temGroups?.length) {
1350
+ return components2DMap;
1351
+ }
1352
+ const res = await HcserviceV3.get2DComponent(temGroups);
1353
+ const temObj = Object.keys(res).reduce((total, next) => {
1354
+ total[next] = res[next] || [];
1355
+ return total;
1356
+ }, {});
1357
+ components2DMap = { ...components2DMap, ...temObj };
1358
+ return components2DMap;
1359
+ },
1360
+ get2DComponentByType(type: string) { // 获取指定类型组件
1361
+ if (!type) {
1362
+ return;
1363
+ }
1364
+ const item = Object.values(components2DMap).flat(Infinity).find((r: any) => r.type === type);
1365
+ return item;
1366
+ }
1367
+ };