aldehyde 0.2.480 → 0.2.481

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 (582) 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/entity-select/entity-select.d.ts.map +1 -1
  14. package/lib/controls/entity-select/index.css +7 -7
  15. package/lib/controls/entity-select/lab-tree-select.d.ts.map +1 -1
  16. package/lib/controls/entity-select/popover-entity-select.d.ts.map +1 -1
  17. package/lib/controls/file-view/index.less +9 -9
  18. package/lib/controls/html-editor/index.less +67 -67
  19. package/lib/controls/icon-selector/icon/aldehyde-menu-icon/iconfont.css +147 -147
  20. package/lib/controls/password-setter/index.css +2 -2
  21. package/lib/controls/password-setter/index.d.ts.map +1 -1
  22. package/lib/controls/qr-code/index.less +28 -28
  23. package/lib/controls/relation-existion/index.css +3 -3
  24. package/lib/controls/relation-existion/index.d.ts.map +1 -1
  25. package/lib/controls/rfield/index.css +4 -4
  26. package/lib/controls/rfield/index.d.ts.map +1 -1
  27. package/lib/controls/select/index.d.ts.map +1 -1
  28. package/lib/controls/signature/index.d.ts.map +1 -1
  29. package/lib/controls/text/ellipsis-text.d.ts.map +1 -1
  30. package/lib/controls/text/index.less +7 -7
  31. package/lib/controls/upload/index.d.ts.map +1 -1
  32. package/lib/controls/upload/mult-file-upload.d.ts.map +1 -1
  33. package/lib/custom-page/dtmpl-custom-edit-modal-page.d.ts.map +1 -1
  34. package/lib/detail/button/bottom-submit-button-bar.d.ts.map +1 -1
  35. package/lib/detail/button/cquery-button-bar.d.ts.map +1 -1
  36. package/lib/detail/button/fix-right-submit-button-bar.d.ts.map +1 -1
  37. package/lib/detail/button/index.css +42 -42
  38. package/lib/detail/dtmpl.css +67 -67
  39. package/lib/detail/edit/fields-edit-card.d.ts.map +1 -1
  40. package/lib/detail/edit/modal-row-edit.d.ts.map +1 -1
  41. package/lib/detail/edit/popover-edit-card.d.ts.map +1 -1
  42. package/lib/detail/rightbar/index.css +34 -34
  43. package/lib/detail/rightbar/index.d.ts.map +1 -1
  44. package/lib/detail/view/act-dtmpl-view.d.ts.map +1 -1
  45. package/lib/detail/view/field-view-group.d.ts.map +1 -1
  46. package/lib/detail/view/modal-dtmpl-view.d.ts.map +1 -1
  47. package/lib/detail/view/snapshot-timeline.d.ts.map +1 -1
  48. package/lib/detail/view/tab-act-dtmpl-view.d.ts.map +1 -1
  49. package/lib/draw-canvas-edit/components/render/components/index.d.ts +3 -0
  50. package/lib/draw-canvas-edit/components/render/components/index.d.ts.map +1 -0
  51. package/lib/draw-canvas-edit/components/render/components/index.js +3 -0
  52. package/lib/draw-canvas-edit/components/render/components/index.js.map +1 -0
  53. package/lib/draw-canvas-edit/components/render/components/workstation-component.d.ts +31 -0
  54. package/lib/draw-canvas-edit/components/render/components/workstation-component.d.ts.map +1 -0
  55. package/lib/draw-canvas-edit/components/render/components/workstation-component.js +105 -0
  56. package/lib/draw-canvas-edit/components/render/components/workstation-component.js.map +1 -0
  57. package/lib/draw-canvas-edit/components/render/tools/component-factory.d.ts +2 -0
  58. package/lib/draw-canvas-edit/components/render/tools/component-factory.d.ts.map +1 -1
  59. package/lib/draw-canvas-edit/components/render/tools/component-factory.js +10 -42
  60. package/lib/draw-canvas-edit/components/render/tools/component-factory.js.map +1 -1
  61. package/lib/draw-canvas-edit/components/render/types.d.ts +3 -0
  62. package/lib/draw-canvas-edit/components/render/types.d.ts.map +1 -1
  63. package/lib/draw-canvas-edit/components/render/types.js.map +1 -1
  64. package/lib/draw-canvas-edit/index.less +48 -48
  65. package/lib/draw-canvas-view/index.less +59 -59
  66. package/lib/draw-canvas-view/view.d.ts.map +1 -1
  67. package/lib/draw-canvas-view/view.js +19 -6
  68. package/lib/draw-canvas-view/view.js.map +1 -1
  69. package/lib/export/export-frame.css +2 -2
  70. package/lib/export/export-frame.d.ts.map +1 -1
  71. package/lib/export/select-code-export-frame.d.ts.map +1 -1
  72. package/lib/form/dtmpl-form.css +3 -3
  73. package/lib/form/dtmpl-form.d.ts.map +1 -1
  74. package/lib/form/dtmpl-form.js +1 -1
  75. package/lib/form/dtmpl-form.js.map +1 -1
  76. package/lib/form/field-group-form.d.ts.map +1 -1
  77. package/lib/form/form-Item-group.d.ts.map +1 -1
  78. package/lib/form/index.css +12 -12
  79. package/lib/import/excel-import.d.ts.map +1 -1
  80. package/lib/import/index.css +53 -53
  81. package/lib/import/template.css +50 -50
  82. package/lib/layout/common.css +64 -64
  83. package/lib/layout/coverstyle.css +51 -51
  84. package/lib/layout/footer/index.css +5 -5
  85. package/lib/layout/header/index.css +122 -122
  86. package/lib/layout/menu/block.css +7 -7
  87. package/lib/layout/menu/block.d.ts.map +1 -1
  88. package/lib/layout/menu/l2menu-quick-bar.d.ts.map +1 -1
  89. package/lib/layout/menu/menu-2layers.d.ts.map +1 -1
  90. package/lib/layout/menu/message-bar.less +73 -73
  91. package/lib/layout/menu/reset-password.d.ts.map +1 -1
  92. package/lib/layout/menu/user-bar.d.ts.map +1 -1
  93. package/lib/layout/menu/userinfo-bar.d.ts.map +1 -1
  94. package/lib/layout/sidebar/index.css +57 -57
  95. package/lib/layout2/css/header.css +41 -41
  96. package/lib/layout2/css/sider.less +17 -17
  97. package/lib/layout2/css/tabs-layout.less +18 -18
  98. package/lib/layout3/css/header.less +195 -195
  99. package/lib/layout3/css/main.less +161 -161
  100. package/lib/layout3/css/sider.less +32 -32
  101. package/lib/layout3/css/tabs-layout.less +38 -38
  102. package/lib/layout4/css/header.less +196 -196
  103. package/lib/layout4/css/main.less +154 -154
  104. package/lib/layout4/css/sider.less +37 -37
  105. package/lib/layout4/css/tabs-layout.less +42 -42
  106. package/lib/layout5/css/header.less +35 -35
  107. package/lib/layout5/css/sider.less +18 -18
  108. package/lib/list/calendar/index.less +20 -20
  109. package/lib/list/card-list/index.less +154 -154
  110. package/lib/list/gantt/index.less +8 -8
  111. package/lib/list/vertical-list/index.less +208 -208
  112. package/lib/login/index.css +19 -19
  113. package/lib/login/login.d.ts.map +1 -1
  114. package/lib/login/vertify/index.css +143 -143
  115. package/lib/login3/index.less +136 -136
  116. package/lib/lowcode-components/act-table/index.less +26 -26
  117. package/lib/lowcode-components/base-button/index.less +7 -7
  118. package/lib/lowcode-components/base-map/index.js +6 -6
  119. package/lib/lowcode-components/base-radio/index.less +23 -23
  120. package/lib/lowcode-components/base-tabs/index.less +14 -14
  121. package/lib/lowcode-components/border/border10/index.less +26 -26
  122. package/lib/lowcode-components/border/border11/index.js +46 -46
  123. package/lib/lowcode-components/border/border11/index.less +17 -17
  124. package/lib/lowcode-components/border/border12/index.js +13 -13
  125. package/lib/lowcode-components/border/border12/index.less +13 -13
  126. package/lib/lowcode-components/border/border13/index.js +5 -5
  127. package/lib/lowcode-components/border/border13/index.less +13 -13
  128. package/lib/lowcode-components/border/border2/index.less +17 -17
  129. package/lib/lowcode-components/border/border3/index.less +25 -25
  130. package/lib/lowcode-components/border/border4/index.js +2 -2
  131. package/lib/lowcode-components/border/border4/index.less +72 -72
  132. package/lib/lowcode-components/border/border5/index.js +2 -2
  133. package/lib/lowcode-components/border/border5/index.less +35 -35
  134. package/lib/lowcode-components/border/border6/index.less +17 -17
  135. package/lib/lowcode-components/border/border7/index.less +26 -26
  136. package/lib/lowcode-components/border/border8/index.less +13 -13
  137. package/lib/lowcode-components/border/border9/index.js +14 -14
  138. package/lib/lowcode-components/border/border9/index.less +13 -13
  139. package/lib/lowcode-components/decoration/decoration1/index.less +7 -7
  140. package/lib/lowcode-components/decoration/decoration10/index.js +3 -3
  141. package/lib/lowcode-components/decoration/decoration10/index.less +5 -5
  142. package/lib/lowcode-components/decoration/decoration11/index.less +5 -5
  143. package/lib/lowcode-components/decoration/decoration2/index.less +6 -6
  144. package/lib/lowcode-components/decoration/decoration3/index.less +7 -7
  145. package/lib/lowcode-components/decoration/decoration4/index.less +29 -29
  146. package/lib/lowcode-components/decoration/decoration5/index.less +3 -3
  147. package/lib/lowcode-components/decoration/decoration6/index.less +7 -7
  148. package/lib/lowcode-components/decoration/decoration7/index.less +4 -4
  149. package/lib/lowcode-components/decoration/decoration8/index.less +14 -14
  150. package/lib/lowcode-components/decoration/decoration9/index.less +4 -4
  151. package/lib/lowcode-components/effectScatter-map/index.js +6 -6
  152. package/lib/lowcode-components/effectScatter-map-3d/index.js +6 -6
  153. package/lib/lowcode-components/lowcode-view/index.less +19 -19
  154. package/lib/lowcode-components/search-form/index.less +25 -25
  155. package/lib/module/dtmpl-edit-card.d.ts.map +1 -1
  156. package/lib/module/dtmpl-edit-page.d.ts.map +1 -1
  157. package/lib/module/index.less +4 -4
  158. package/lib/module/ltmpl-modal.d.ts.map +1 -1
  159. package/lib/module/ltmpl-table.d.ts.map +1 -1
  160. package/lib/routable/index.less +25 -25
  161. package/lib/table/act-table.d.ts.map +1 -1
  162. package/lib/table/column/index.less +63 -63
  163. package/lib/table/index.css +211 -211
  164. package/lib/table/modal-select-table.d.ts.map +1 -1
  165. package/lib/table/pagination.css +14 -14
  166. package/lib/table/pagination.d.ts.map +1 -1
  167. package/lib/table/relation-table.d.ts.map +1 -1
  168. package/lib/table/select-table.d.ts.map +1 -1
  169. package/lib/table/select-table.js +14 -2
  170. package/lib/table/select-table.js.map +1 -1
  171. package/lib/table/selected-rows-card.d.ts.map +1 -1
  172. package/lib/table/stat/restat.d.ts.map +1 -1
  173. package/lib/tree/act-tree.d.ts.map +1 -1
  174. package/lib/tree/block-menu-auth-tree.d.ts.map +1 -1
  175. package/lib/tree/index.css +22 -22
  176. package/lib/tree/tmpl-tree.d.ts.map +1 -1
  177. package/lib/welcome/components/menu-card.less +96 -96
  178. package/lib/welcome/components/page-card.less +49 -49
  179. package/lib/welcome/components/quick-entrance.less +120 -120
  180. package/lib/welcome/components/user-menus.less +192 -192
  181. package/lib/welcome/components/workbench.less +118 -118
  182. package/lib/welcome/index.css +13 -13
  183. package/package.json +223 -223
  184. package/src/aldehyde/controls/2dEditor/2dEditor/index.less +5 -5
  185. package/src/aldehyde/controls/2dEditor/2dEditor/index.tsx +270 -270
  186. package/src/aldehyde/controls/2dEditor/2dView/index.less +8 -8
  187. package/src/aldehyde/controls/2dEditor/2dView/index.tsx +110 -110
  188. package/src/aldehyde/controls/2dEditor/components/card.tsx +256 -256
  189. package/src/aldehyde/controls/2dEditor/components/component.less +83 -83
  190. package/src/aldehyde/controls/2dEditor/components/data.d.ts +32 -32
  191. package/src/aldehyde/controls/2dEditor/components/hotspot.tsx +80 -80
  192. package/src/aldehyde/controls/2dEditor/components/html-box.tsx +101 -101
  193. package/src/aldehyde/controls/2dEditor/components/image.tsx +99 -99
  194. package/src/aldehyde/controls/2dEditor/components/line.tsx +73 -73
  195. package/src/aldehyde/controls/action/index.css +8 -8
  196. package/src/aldehyde/controls/action/index.tsx +406 -406
  197. package/src/aldehyde/controls/action/utils.tsx +306 -306
  198. package/src/aldehyde/controls/auto-complete/index.tsx +82 -82
  199. package/src/aldehyde/controls/cascader/index.tsx +112 -112
  200. package/src/aldehyde/controls/chemstruc/graph.tsx +185 -185
  201. package/src/aldehyde/controls/chemstruc/index.css +28 -28
  202. package/src/aldehyde/controls/code-editor/sql-code-editor.tsx +73 -73
  203. package/src/aldehyde/controls/collapse-card/index.css +8 -8
  204. package/src/aldehyde/controls/collapse-card/index.tsx +109 -109
  205. package/src/aldehyde/controls/color-picker/index.tsx +21 -21
  206. package/src/aldehyde/controls/counting-tag/index.tsx +53 -53
  207. package/src/aldehyde/controls/cquery/cquick-button.tsx +145 -145
  208. package/src/aldehyde/controls/date-picker/index.tsx +199 -199
  209. package/src/aldehyde/controls/direct-file-view/drawer-file-view.tsx +54 -54
  210. package/src/aldehyde/controls/direct-file-view/index.tsx +145 -145
  211. package/src/aldehyde/controls/direct-upload/index.tsx +139 -139
  212. package/src/aldehyde/controls/entity-select/entity-select.tsx +791 -791
  213. package/src/aldehyde/controls/entity-select/index.css +7 -7
  214. package/src/aldehyde/controls/entity-select/lab-tree-select.tsx +154 -154
  215. package/src/aldehyde/controls/entity-select/popover-entity-select.tsx +205 -205
  216. package/src/aldehyde/controls/entry-control.tsx +418 -418
  217. package/src/aldehyde/controls/enum-badge/index.tsx +42 -42
  218. package/src/aldehyde/controls/enum-tag/index.tsx +45 -45
  219. package/src/aldehyde/controls/field-history/index.tsx +81 -81
  220. package/src/aldehyde/controls/file-export/select-code-export.tsx +40 -40
  221. package/src/aldehyde/controls/file-view/drawer-file-view.tsx +117 -117
  222. package/src/aldehyde/controls/file-view/index.less +9 -9
  223. package/src/aldehyde/controls/file-view/index.tsx +148 -148
  224. package/src/aldehyde/controls/file-view/multi-file-view.tsx +39 -39
  225. package/src/aldehyde/controls/file-view/newin-file-view.tsx +40 -40
  226. package/src/aldehyde/controls/html-editor/draft.tsx +136 -136
  227. package/src/aldehyde/controls/html-editor/index.less +67 -67
  228. package/src/aldehyde/controls/icon-selector/app-icon-selector.tsx +68 -68
  229. package/src/aldehyde/controls/icon-selector/icon/aldehyde-menu-icon/iconfont.css +147 -147
  230. package/src/aldehyde/controls/icon-selector/icon/aldehyde-menu-icon/iconfont.json +240 -240
  231. package/src/aldehyde/controls/icon-selector/pc-icon-selector.tsx +68 -68
  232. package/src/aldehyde/controls/input-number/index.tsx +148 -148
  233. package/src/aldehyde/controls/input-range/index.tsx +59 -59
  234. package/src/aldehyde/controls/password-setter/index.css +2 -2
  235. package/src/aldehyde/controls/password-setter/index.js +88 -88
  236. package/src/aldehyde/controls/progress/index.tsx +74 -74
  237. package/src/aldehyde/controls/qr-code/index.less +28 -28
  238. package/src/aldehyde/controls/qr-code/index.tsx +40 -40
  239. package/src/aldehyde/controls/relation-existion/index.css +3 -3
  240. package/src/aldehyde/controls/relation-existion/index.tsx +144 -144
  241. package/src/aldehyde/controls/rfield/index.css +4 -4
  242. package/src/aldehyde/controls/rfield/index.tsx +225 -225
  243. package/src/aldehyde/controls/select/index.tsx +216 -216
  244. package/src/aldehyde/controls/signature/index.tsx +226 -226
  245. package/src/aldehyde/controls/single-checkbox/index.tsx +18 -18
  246. package/src/aldehyde/controls/steps/index.tsx +59 -59
  247. package/src/aldehyde/controls/text/ellipsis-text.tsx +98 -98
  248. package/src/aldehyde/controls/text/index.less +7 -7
  249. package/src/aldehyde/controls/tree-select/navigation-tree.tsx +122 -122
  250. package/src/aldehyde/controls/tree-select/tree-entity-select.tsx +121 -121
  251. package/src/aldehyde/controls/upload/index.tsx +128 -128
  252. package/src/aldehyde/controls/upload/mult-file-upload.tsx +240 -240
  253. package/src/aldehyde/controls/view-control.tsx +289 -289
  254. package/src/aldehyde/custom-page/custom-detail-modal-page.tsx +69 -69
  255. package/src/aldehyde/custom-page/custom-page-router.tsx +64 -64
  256. package/src/aldehyde/custom-page/def-custom-page.tsx +17 -17
  257. package/src/aldehyde/custom-page/dtmpl-custom-edit-modal-page.tsx +88 -88
  258. package/src/aldehyde/detail/button/bottom-submit-button-bar.tsx +91 -91
  259. package/src/aldehyde/detail/button/cquery-button-bar.tsx +144 -144
  260. package/src/aldehyde/detail/button/edit-button.tsx +61 -61
  261. package/src/aldehyde/detail/button/fix-right-submit-button-bar.tsx +186 -186
  262. package/src/aldehyde/detail/button/index.css +42 -42
  263. package/src/aldehyde/detail/button/inline-edit-button.tsx +40 -40
  264. package/src/aldehyde/detail/button/submit-button-bar.tsx +57 -57
  265. package/src/aldehyde/detail/button/view-button.tsx +64 -64
  266. package/src/aldehyde/detail/dtmpl.css +67 -67
  267. package/src/aldehyde/detail/edit/dtmpl-edit.tsx +279 -279
  268. package/src/aldehyde/detail/edit/fields-edit-card.tsx +145 -145
  269. package/src/aldehyde/detail/edit/modal-row-edit.tsx +95 -95
  270. package/src/aldehyde/detail/edit/popover-edit-card.tsx +167 -167
  271. package/src/aldehyde/detail/edit/popover-editor.tsx +70 -70
  272. package/src/aldehyde/detail/edit/post-result/index.tsx +86 -86
  273. package/src/aldehyde/detail/rightbar/index.css +34 -34
  274. package/src/aldehyde/detail/rightbar/index.tsx +92 -92
  275. package/src/aldehyde/detail/tooltipbar/index.tsx +32 -32
  276. package/src/aldehyde/detail/view/act-dtmpl-view.tsx +288 -288
  277. package/src/aldehyde/detail/view/dtmpl-view.tsx +314 -314
  278. package/src/aldehyde/detail/view/field-view-group.tsx +88 -88
  279. package/src/aldehyde/detail/view/modal-dtmpl-view.tsx +73 -73
  280. package/src/aldehyde/detail/view/snapshot-timeline.tsx +231 -231
  281. package/src/aldehyde/detail/view/tab-act-dtmpl-view.tsx +304 -304
  282. package/src/aldehyde/detail/view/view-compare-panel.tsx +57 -57
  283. package/src/aldehyde/draw-canvas-edit/components/render/components/index.ts +3 -0
  284. package/src/aldehyde/draw-canvas-edit/components/render/components/workstation-component.tsx +104 -0
  285. package/src/aldehyde/draw-canvas-edit/components/render/draws/bg-draw.ts +176 -176
  286. package/src/aldehyde/draw-canvas-edit/components/render/draws/contextmenu-draw.ts +329 -329
  287. package/src/aldehyde/draw-canvas-edit/components/render/graphs/bezier.ts +542 -542
  288. package/src/aldehyde/draw-canvas-edit/components/render/handlers/drag-outside-handlers.ts +72 -72
  289. package/src/aldehyde/draw-canvas-edit/components/render/handlers/selection-handlers.ts +396 -396
  290. package/src/aldehyde/draw-canvas-edit/components/render/index.ts +808 -808
  291. package/src/aldehyde/draw-canvas-edit/components/render/tools/attract-tool.ts +457 -457
  292. package/src/aldehyde/draw-canvas-edit/components/render/tools/component-factory.ts +270 -302
  293. package/src/aldehyde/draw-canvas-edit/components/render/tools/copy-tool.ts +244 -244
  294. package/src/aldehyde/draw-canvas-edit/components/render/tools/import-export-tool.ts +576 -576
  295. package/src/aldehyde/draw-canvas-edit/components/render/tools/index.ts +10 -10
  296. package/src/aldehyde/draw-canvas-edit/components/render/tools/position-tool.ts +191 -191
  297. package/src/aldehyde/draw-canvas-edit/components/render/tools/selection-tool.ts +140 -140
  298. package/src/aldehyde/draw-canvas-edit/components/render/types.ts +294 -291
  299. package/src/aldehyde/draw-canvas-edit/components/setting-form/index.tsx +291 -291
  300. package/src/aldehyde/draw-canvas-edit/constant.ts +5 -5
  301. package/src/aldehyde/draw-canvas-edit/index.less +48 -48
  302. package/src/aldehyde/draw-canvas-edit/index.tsx +201 -201
  303. package/src/aldehyde/draw-canvas-view/index.less +59 -59
  304. package/src/aldehyde/draw-canvas-view/index.tsx +49 -49
  305. package/src/aldehyde/draw-canvas-view/view.tsx +17 -5
  306. package/src/aldehyde/export/export-frame.css +2 -2
  307. package/src/aldehyde/export/export-frame.tsx +301 -301
  308. package/src/aldehyde/export/select-code-export-frame.tsx +212 -212
  309. package/src/aldehyde/form/criteria-form.tsx +604 -604
  310. package/src/aldehyde/form/dtmpl-form.css +3 -3
  311. package/src/aldehyde/form/dtmpl-form.tsx +552 -552
  312. package/src/aldehyde/form/field-group-form.tsx +102 -102
  313. package/src/aldehyde/form/fields-form.tsx +45 -45
  314. package/src/aldehyde/form/form-Item-group.tsx +245 -245
  315. package/src/aldehyde/form/index.css +12 -12
  316. package/src/aldehyde/hooks/use-match-route/index.tsx +62 -62
  317. package/src/aldehyde/hooks/use-tabs/index.tsx +139 -139
  318. package/src/aldehyde/hooks/useVarCssColor.ts +6 -6
  319. package/src/aldehyde/icon/aliIcon.tsx +9 -9
  320. package/src/aldehyde/icon/index.tsx +28 -28
  321. package/src/aldehyde/import/excel-import.tsx +450 -450
  322. package/src/aldehyde/import/index.css +53 -53
  323. package/src/aldehyde/import/template.css +50 -50
  324. package/src/aldehyde/index.tsx +220 -220
  325. package/src/aldehyde/layout/MainPage.tsx +334 -334
  326. package/src/aldehyde/layout/common.css +64 -64
  327. package/src/aldehyde/layout/coverstyle.css +51 -51
  328. package/src/aldehyde/layout/footer/index.css +5 -5
  329. package/src/aldehyde/layout/footer/index.js +17 -17
  330. package/src/aldehyde/layout/header/index.css +122 -122
  331. package/src/aldehyde/layout/header/index.tsx +152 -152
  332. package/src/aldehyde/layout/menu/block.css +7 -7
  333. package/src/aldehyde/layout/menu/block.tsx +174 -174
  334. package/src/aldehyde/layout/menu/l2menu-message-bar.tsx +160 -160
  335. package/src/aldehyde/layout/menu/l2menu-quick-bar.tsx +175 -175
  336. package/src/aldehyde/layout/menu/menu-2layers.tsx +117 -117
  337. package/src/aldehyde/layout/menu/menu-render.tsx +168 -168
  338. package/src/aldehyde/layout/menu/message-bar.less +73 -73
  339. package/src/aldehyde/layout/menu/reset-password.tsx +255 -255
  340. package/src/aldehyde/layout/menu/user-bar.tsx +259 -259
  341. package/src/aldehyde/layout/menu/userinfo-bar.tsx +69 -69
  342. package/src/aldehyde/layout/sidebar/index.css +57 -57
  343. package/src/aldehyde/layout/sidebar/index.tsx +84 -84
  344. package/src/aldehyde/layout2/components/icon-font.tsx +7 -7
  345. package/src/aldehyde/layout2/components/screenfull-button.tsx +21 -21
  346. package/src/aldehyde/layout2/components/search-menu.tsx +85 -85
  347. package/src/aldehyde/layout2/components/system-messages.tsx +75 -75
  348. package/src/aldehyde/layout2/components/theme-button.tsx +65 -65
  349. package/src/aldehyde/layout2/components/user-button.tsx +258 -258
  350. package/src/aldehyde/layout2/components/user-notification.tsx +74 -74
  351. package/src/aldehyde/layout2/css/header.css +41 -41
  352. package/src/aldehyde/layout2/css/sider.less +17 -17
  353. package/src/aldehyde/layout2/css/tabs-layout.less +18 -18
  354. package/src/aldehyde/layout2/header.tsx +278 -278
  355. package/src/aldehyde/layout2/layout-context.tsx +95 -95
  356. package/src/aldehyde/layout2/main.tsx +30 -30
  357. package/src/aldehyde/layout2/page.tsx +315 -315
  358. package/src/aldehyde/layout2/sider.tsx +230 -230
  359. package/src/aldehyde/layout2/tabs/tabs-context.tsx +37 -37
  360. package/src/aldehyde/layout2/tabs/tabs-layout.tsx +146 -146
  361. package/src/aldehyde/layout2/type/layout-type.ts +15 -15
  362. package/src/aldehyde/layout2/util/menu-util.tsx +125 -125
  363. package/src/aldehyde/layout3/components/tabs-layout.tsx +110 -110
  364. package/src/aldehyde/layout3/components/time.tsx +25 -25
  365. package/src/aldehyde/layout3/css/header.less +195 -195
  366. package/src/aldehyde/layout3/css/main.less +161 -161
  367. package/src/aldehyde/layout3/css/sider.less +32 -32
  368. package/src/aldehyde/layout3/css/tabs-layout.less +38 -38
  369. package/src/aldehyde/layout3/header.tsx +187 -187
  370. package/src/aldehyde/layout3/main.tsx +29 -29
  371. package/src/aldehyde/layout3/page.tsx +110 -110
  372. package/src/aldehyde/layout3/sider.tsx +198 -198
  373. package/src/aldehyde/layout4/components/tabs-layout.tsx +110 -110
  374. package/src/aldehyde/layout4/css/header.less +196 -196
  375. package/src/aldehyde/layout4/css/main.less +154 -154
  376. package/src/aldehyde/layout4/css/sider.less +37 -37
  377. package/src/aldehyde/layout4/css/tabs-layout.less +42 -42
  378. package/src/aldehyde/layout4/header.tsx +190 -190
  379. package/src/aldehyde/layout4/main.tsx +29 -29
  380. package/src/aldehyde/layout4/page.tsx +125 -125
  381. package/src/aldehyde/layout4/sider.tsx +201 -201
  382. package/src/aldehyde/layout5/css/header.less +35 -35
  383. package/src/aldehyde/layout5/css/sider.less +18 -18
  384. package/src/aldehyde/layout5/header.tsx +204 -204
  385. package/src/aldehyde/layout5/page.tsx +107 -107
  386. package/src/aldehyde/layout5/sider.tsx +235 -235
  387. package/src/aldehyde/list/calendar/index.less +20 -20
  388. package/src/aldehyde/list/calendar/index.tsx +157 -157
  389. package/src/aldehyde/list/card-list/card-list-item.tsx +111 -111
  390. package/src/aldehyde/list/card-list/index.less +154 -154
  391. package/src/aldehyde/list/card-list/index.tsx +83 -83
  392. package/src/aldehyde/list/gantt/index.less +8 -8
  393. package/src/aldehyde/list/gantt/index.tsx +508 -508
  394. package/src/aldehyde/list/vertical-list/index.less +208 -208
  395. package/src/aldehyde/list/vertical-list/index.tsx +55 -55
  396. package/src/aldehyde/list/vertical-list/item.tsx +136 -136
  397. package/src/aldehyde/locale/LocaleButton.tsx +48 -48
  398. package/src/aldehyde/locale/LocaleProvider.tsx +265 -265
  399. package/src/aldehyde/locale/langMp.ts +45 -45
  400. package/src/aldehyde/locale/translate.ts +80 -80
  401. package/src/aldehyde/locale/useLocale.ts +72 -72
  402. package/src/aldehyde/login/context-setter.tsx +130 -130
  403. package/src/aldehyde/login/index.css +19 -19
  404. package/src/aldehyde/login/login.tsx +255 -255
  405. package/src/aldehyde/login/router-login.tsx +107 -107
  406. package/src/aldehyde/login/vertify/index.css +143 -143
  407. package/src/aldehyde/login/vertify/index.tsx +360 -360
  408. package/src/aldehyde/login/vertify/tool.ts +13 -13
  409. package/src/aldehyde/login2/login-page.tsx +92 -92
  410. package/src/aldehyde/login2/login.tsx +226 -226
  411. package/src/aldehyde/login3/index.less +136 -136
  412. package/src/aldehyde/login3/login-page.tsx +71 -71
  413. package/src/aldehyde/lowcode-components/act-table/index.less +26 -26
  414. package/src/aldehyde/lowcode-components/act-table/index.tsx +139 -139
  415. package/src/aldehyde/lowcode-components/assets/lowcode-constant.tsx +12 -12
  416. package/src/aldehyde/lowcode-components/bar-chart/index.tsx +268 -268
  417. package/src/aldehyde/lowcode-components/base-button/index.less +7 -7
  418. package/src/aldehyde/lowcode-components/base-button/index.tsx +197 -197
  419. package/src/aldehyde/lowcode-components/base-image/index.tsx +220 -220
  420. package/src/aldehyde/lowcode-components/base-map/index.tsx +292 -292
  421. package/src/aldehyde/lowcode-components/base-radio/index.less +23 -23
  422. package/src/aldehyde/lowcode-components/base-radio/index.tsx +157 -157
  423. package/src/aldehyde/lowcode-components/base-table/index.tsx +268 -268
  424. package/src/aldehyde/lowcode-components/base-tabs/index.less +14 -14
  425. package/src/aldehyde/lowcode-components/base-tabs/index.tsx +183 -183
  426. package/src/aldehyde/lowcode-components/base-text/index.tsx +58 -58
  427. package/src/aldehyde/lowcode-components/border/border1/index.tsx +70 -70
  428. package/src/aldehyde/lowcode-components/border/border10/index.less +26 -26
  429. package/src/aldehyde/lowcode-components/border/border10/index.tsx +45 -45
  430. package/src/aldehyde/lowcode-components/border/border11/index.less +17 -17
  431. package/src/aldehyde/lowcode-components/border/border11/index.tsx +232 -232
  432. package/src/aldehyde/lowcode-components/border/border12/index.less +13 -13
  433. package/src/aldehyde/lowcode-components/border/border12/index.tsx +115 -115
  434. package/src/aldehyde/lowcode-components/border/border13/index.less +13 -13
  435. package/src/aldehyde/lowcode-components/border/border13/index.tsx +69 -69
  436. package/src/aldehyde/lowcode-components/border/border2/index.less +17 -17
  437. package/src/aldehyde/lowcode-components/border/border2/index.tsx +51 -51
  438. package/src/aldehyde/lowcode-components/border/border3/index.less +25 -25
  439. package/src/aldehyde/lowcode-components/border/border3/index.tsx +61 -61
  440. package/src/aldehyde/lowcode-components/border/border4/index.less +72 -72
  441. package/src/aldehyde/lowcode-components/border/border4/index.tsx +79 -79
  442. package/src/aldehyde/lowcode-components/border/border5/index.less +35 -35
  443. package/src/aldehyde/lowcode-components/border/border5/index.tsx +75 -75
  444. package/src/aldehyde/lowcode-components/border/border6/index.less +17 -17
  445. package/src/aldehyde/lowcode-components/border/border6/index.tsx +60 -60
  446. package/src/aldehyde/lowcode-components/border/border7/index.less +26 -26
  447. package/src/aldehyde/lowcode-components/border/border7/index.tsx +75 -75
  448. package/src/aldehyde/lowcode-components/border/border8/index.less +13 -13
  449. package/src/aldehyde/lowcode-components/border/border8/index.tsx +84 -84
  450. package/src/aldehyde/lowcode-components/border/border9/index.less +13 -13
  451. package/src/aldehyde/lowcode-components/border/border9/index.tsx +154 -154
  452. package/src/aldehyde/lowcode-components/capsule-bar-chart/index.tsx +290 -290
  453. package/src/aldehyde/lowcode-components/carousel/index.tsx +218 -218
  454. package/src/aldehyde/lowcode-components/circular-progress-chart/index.tsx +263 -263
  455. package/src/aldehyde/lowcode-components/column-3d-chart/index.tsx +438 -438
  456. package/src/aldehyde/lowcode-components/column-chart/index.tsx +293 -293
  457. package/src/aldehyde/lowcode-components/data-number/index.tsx +219 -219
  458. package/src/aldehyde/lowcode-components/data.d.ts +18 -18
  459. package/src/aldehyde/lowcode-components/decoration/decoration1/index.less +7 -7
  460. package/src/aldehyde/lowcode-components/decoration/decoration1/index.tsx +153 -153
  461. package/src/aldehyde/lowcode-components/decoration/decoration10/index.less +5 -5
  462. package/src/aldehyde/lowcode-components/decoration/decoration10/index.tsx +89 -89
  463. package/src/aldehyde/lowcode-components/decoration/decoration11/index.less +5 -5
  464. package/src/aldehyde/lowcode-components/decoration/decoration11/index.tsx +133 -133
  465. package/src/aldehyde/lowcode-components/decoration/decoration2/index.less +6 -6
  466. package/src/aldehyde/lowcode-components/decoration/decoration2/index.tsx +61 -61
  467. package/src/aldehyde/lowcode-components/decoration/decoration3/index.less +7 -7
  468. package/src/aldehyde/lowcode-components/decoration/decoration3/index.tsx +87 -87
  469. package/src/aldehyde/lowcode-components/decoration/decoration4/index.less +29 -29
  470. package/src/aldehyde/lowcode-components/decoration/decoration4/index.tsx +53 -53
  471. package/src/aldehyde/lowcode-components/decoration/decoration5/index.less +3 -3
  472. package/src/aldehyde/lowcode-components/decoration/decoration5/index.tsx +116 -116
  473. package/src/aldehyde/lowcode-components/decoration/decoration6/index.less +7 -7
  474. package/src/aldehyde/lowcode-components/decoration/decoration6/index.tsx +121 -121
  475. package/src/aldehyde/lowcode-components/decoration/decoration7/index.less +4 -4
  476. package/src/aldehyde/lowcode-components/decoration/decoration7/index.tsx +70 -70
  477. package/src/aldehyde/lowcode-components/decoration/decoration8/index.less +14 -14
  478. package/src/aldehyde/lowcode-components/decoration/decoration8/index.tsx +122 -122
  479. package/src/aldehyde/lowcode-components/decoration/decoration9/index.less +4 -4
  480. package/src/aldehyde/lowcode-components/decoration/decoration9/index.tsx +196 -196
  481. package/src/aldehyde/lowcode-components/effectScatter-map/index.tsx +315 -315
  482. package/src/aldehyde/lowcode-components/effectScatter-map-3d/index.tsx +419 -419
  483. package/src/aldehyde/lowcode-components/gauge-chart/index.tsx +254 -254
  484. package/src/aldehyde/lowcode-components/index.ts +130 -130
  485. package/src/aldehyde/lowcode-components/line-bar-chart/index.tsx +300 -300
  486. package/src/aldehyde/lowcode-components/line-chart/index.tsx +290 -290
  487. package/src/aldehyde/lowcode-components/liquid-chart/index.tsx +250 -250
  488. package/src/aldehyde/lowcode-components/lowcode-view/component/assets.ts +478 -478
  489. package/src/aldehyde/lowcode-components/lowcode-view/component/component-controller.ts +153 -153
  490. package/src/aldehyde/lowcode-components/lowcode-view/component/component-definition.ts +23 -23
  491. package/src/aldehyde/lowcode-components/lowcode-view/component/loading.tsx +20 -20
  492. package/src/aldehyde/lowcode-components/lowcode-view/component/util.ts +27 -27
  493. package/src/aldehyde/lowcode-components/lowcode-view/index.less +19 -19
  494. package/src/aldehyde/lowcode-components/lowcode-view/index.tsx +277 -277
  495. package/src/aldehyde/lowcode-components/lowcode-view/interface.ts +189 -189
  496. package/src/aldehyde/lowcode-components/pie-chart/index.tsx +349 -349
  497. package/src/aldehyde/lowcode-components/progress-chart/index.tsx +295 -295
  498. package/src/aldehyde/lowcode-components/radar-chart/index.tsx +322 -322
  499. package/src/aldehyde/lowcode-components/search-form/index.less +25 -25
  500. package/src/aldehyde/lowcode-components/search-form/index.tsx +121 -121
  501. package/src/aldehyde/lowcode-components/stroke-animation/index.tsx +219 -219
  502. package/src/aldehyde/module/block-menu-tree-drawer.tsx +118 -118
  503. package/src/aldehyde/module/criteria-page.tsx1 +175 -175
  504. package/src/aldehyde/module/draggable-modal.tsx +66 -66
  505. package/src/aldehyde/module/dtmpl-edit-card.tsx +437 -437
  506. package/src/aldehyde/module/dtmpl-edit-drawer.tsx +23 -23
  507. package/src/aldehyde/module/dtmpl-edit-modal.tsx +25 -25
  508. package/src/aldehyde/module/dtmpl-edit-page.tsx +558 -558
  509. package/src/aldehyde/module/dtmpl-editor.tsx +165 -165
  510. package/src/aldehyde/module/dtmpl-view-card.tsx +64 -64
  511. package/src/aldehyde/module/dtmpl-view-drawer.tsx +71 -71
  512. package/src/aldehyde/module/dtmpl-view-modal.tsx +56 -56
  513. package/src/aldehyde/module/embed-dtmpl-edit-page.tsx +137 -137
  514. package/src/aldehyde/module/index.less +4 -4
  515. package/src/aldehyde/module/ltmpl-drawer.tsx +60 -60
  516. package/src/aldehyde/module/ltmpl-modal.tsx +63 -63
  517. package/src/aldehyde/module/ltmpl-table.tsx +378 -378
  518. package/src/aldehyde/module/ttmpl-tree.tsx +47 -47
  519. package/src/aldehyde/routable/dtmpl-route.tsx +173 -173
  520. package/src/aldehyde/routable/import-route.tsx +35 -35
  521. package/src/aldehyde/routable/index.less +25 -25
  522. package/src/aldehyde/routable/ltmpl-route.tsx +539 -539
  523. package/src/aldehyde/routable/splitview-ltmpl-route.tsx +377 -377
  524. package/src/aldehyde/routable/ttmpl-route.tsx +93 -93
  525. package/src/aldehyde/routable/withroute.tsx +36 -36
  526. package/src/aldehyde/sso-Login/index.tsx +73 -73
  527. package/src/aldehyde/sso-Login/service/index.js +16 -16
  528. package/src/aldehyde/sso-Login/service/login.js +75 -75
  529. package/src/aldehyde/table/act-table.tsx +1831 -1831
  530. package/src/aldehyde/table/column/column-builder.tsx +864 -864
  531. package/src/aldehyde/table/column/column-selector.tsx +130 -130
  532. package/src/aldehyde/table/column/index.less +63 -63
  533. package/src/aldehyde/table/column/summary-builder.tsx +712 -712
  534. package/src/aldehyde/table/column/theme-color-getter.tsx +25 -25
  535. package/src/aldehyde/table/control-table-x-axis-wrapper.tsx +80 -80
  536. package/src/aldehyde/table/index.css +211 -211
  537. package/src/aldehyde/table/l2-act-table.tsx +91 -91
  538. package/src/aldehyde/table/modal-select-table.tsx +308 -308
  539. package/src/aldehyde/table/page-config-button.tsx +203 -203
  540. package/src/aldehyde/table/pagination.css +14 -14
  541. package/src/aldehyde/table/pagination.tsx +81 -81
  542. package/src/aldehyde/table/query-table.tsx +658 -658
  543. package/src/aldehyde/table/relation-table.tsx +1093 -1093
  544. package/src/aldehyde/table/report-table.tsx +125 -125
  545. package/src/aldehyde/table/resizable-table.tsx +97 -97
  546. package/src/aldehyde/table/select-table.tsx +559 -548
  547. package/src/aldehyde/table/selected-rows-card.tsx +78 -78
  548. package/src/aldehyde/table/stat/restat.tsx +122 -122
  549. package/src/aldehyde/table/table-util.tsx +25 -25
  550. package/src/aldehyde/tmpl/control-type-supportor.tsx +154 -154
  551. package/src/aldehyde/tmpl/hc-data-source.tsx +566 -566
  552. package/src/aldehyde/tmpl/hcservice-v3.tsx +1590 -1590
  553. package/src/aldehyde/tmpl/interface.tsx +919 -919
  554. package/src/aldehyde/tmpl/model-struc-v3.tsx +111 -111
  555. package/src/aldehyde/tmpl/superagent.js +146 -146
  556. package/src/aldehyde/tmpl/tmpl-config-analysis.tsx +585 -585
  557. package/src/aldehyde/tmpl/web-socket.ts +366 -366
  558. package/src/aldehyde/tree/act-tree.tsx +217 -217
  559. package/src/aldehyde/tree/block-menu-auth-tree.tsx +189 -189
  560. package/src/aldehyde/tree/index.css +22 -22
  561. package/src/aldehyde/tree/navigation-tree.tsx +39 -39
  562. package/src/aldehyde/tree/tmpl-tree.tsx +751 -751
  563. package/src/aldehyde/tree/tree-node.tsx +73 -73
  564. package/src/aldehyde/tree/tree-utils.tsx +317 -317
  565. package/src/aldehyde/units/EncryptUtils.js +37 -37
  566. package/src/aldehyde/units/image.d.ts +7 -7
  567. package/src/aldehyde/units/index.tsx +1367 -1367
  568. package/src/aldehyde/units/storage.js +2 -2
  569. package/src/aldehyde/utils/dsu.ts +27 -27
  570. package/src/aldehyde/welcome/HCWelcome.js +404 -404
  571. package/src/aldehyde/welcome/HCWelcome1.js +259 -259
  572. package/src/aldehyde/welcome/components/menu-card.less +96 -96
  573. package/src/aldehyde/welcome/components/menu-card.tsx +70 -70
  574. package/src/aldehyde/welcome/components/page-card.less +49 -49
  575. package/src/aldehyde/welcome/components/page-card.tsx +97 -97
  576. package/src/aldehyde/welcome/components/quick-entrance.less +120 -120
  577. package/src/aldehyde/welcome/components/quick-entrance.tsx +80 -80
  578. package/src/aldehyde/welcome/components/user-menus.less +192 -192
  579. package/src/aldehyde/welcome/components/user-menus.tsx +279 -279
  580. package/src/aldehyde/welcome/components/workbench.less +118 -118
  581. package/src/aldehyde/welcome/components/workbench.tsx +146 -146
  582. package/src/aldehyde/welcome/index.css +13 -13
@@ -1,420 +1,420 @@
1
- import * as echarts from 'echarts';
2
- import React, { useEffect, useRef, useState, ForwardedRef, forwardRef, useImperativeHandle } from 'react';
3
- import _ from 'lodash';
4
- import { Spin } from "antd";
5
- import ProgramConfig from "../../units";
6
- import chinaJson from "../assets/china.json";
7
- import HydrocarbonService from "../../tmpl/hcservice-v3";
8
- import { DataConfigProps } from "../data";
9
-
10
- // 处理提示框背景图片地址
11
- const handleImgUrl = (basePath: string) => {
12
- if (!basePath) {
13
- return "";
14
- }
15
- if (basePath.startsWith("http")) {
16
- return basePath;
17
- }
18
- const url = encodeURI(ProgramConfig.joinPath(
19
- ProgramConfig.joinPath(ProgramConfig.api(), "/v3/files"),
20
- basePath
21
- )) +
22
- `?@token=${ProgramConfig.hydrocarbonToken()}&@programToken=${ProgramConfig.programCode()}&@applicationToken=${ProgramConfig.applicationCode()}`;
23
- return url;
24
- }
25
-
26
- const defData = [{ name: '北京', value: [116.41, 40.19, 100] }];
27
-
28
- const defOption = {
29
- animationDurationUpdate: 0, // 重要:禁用动画更新,防止缩放卡顿和不同步
30
- tooltip: {
31
- trigger: 'item',
32
- triggerOn: "mousemove",
33
- },
34
- geo: [
35
- { // 边框 map
36
- zlevel: 6,
37
- map: "china",
38
- // 取消一些交互
39
- select: { disabled: false },
40
- emphasis: { disabled: true, },
41
- silent: true,
42
- // 位置大小调整
43
- layoutCenter: ["50%", "50%"], //位置
44
- layoutSize: "125%", //大小
45
- aspectScale: 0.84,
46
- // 框颜色
47
- itemStyle: {
48
- color: "transparent",
49
- opacity: 1,
50
- borderWidth: 1,
51
- borderColor: "#92C1F0",
52
- borderCap: "round",
53
- shadowBlur: 20,
54
- shadowColor: "#92C1F0",
55
- borderType: "solid"
56
- },
57
- label: {
58
- show: false
59
- }
60
- },
61
- { // 顶层map
62
- map: "china",
63
- zlevel: 5,
64
- z: 4,
65
- select: { disabled: false },
66
- emphasis: { disabled: true, },
67
- silent: true,
68
- layoutCenter: ["50%", "50%"], //位置
69
- layoutSize: "125%", //大小
70
- aspectScale: 0.84,
71
- // 调整颜色
72
- itemStyle: { areaColor: "#02142A" },
73
- },
74
- { // 第二层,下层地图,防3d效果
75
- zlevel: 5,
76
- z: 3,
77
- map: "china",
78
- select: { disabled: false },
79
- emphasis: { disabled: true, },
80
- silent: true,
81
- layoutCenter: ["50%", "50.6%"], //位置
82
- layoutSize: "125%", //大小
83
- aspectScale: 0.84,
84
- // 颜色
85
- itemStyle: {
86
- borderWidth: 0,
87
- borderCap: "round",
88
- areaColor: "#38609B",
89
- },
90
- regions: [{
91
- name: '南海诸岛',
92
- itemStyle: { opacity: 0 },
93
- label: { show: false }
94
- }]
95
- },
96
- { // 第三层,下层地图,防3d效果
97
- zlevel: 5,
98
- z: 2,
99
- map: "china",
100
- select: { disabled: false },
101
- emphasis: { disabled: true, },
102
- silent: true,
103
- layoutCenter: ["50%", "51%"], //位置
104
- layoutSize: "125%", //大小
105
- aspectScale: 0.84,
106
- // 颜色
107
- itemStyle: {
108
- borderWidth: 0,
109
- borderCap: "round",
110
- areaColor: "#38609B",
111
- },
112
- regions: [{
113
- name: '南海诸岛',
114
- itemStyle: { opacity: 0 },
115
- label: { show: false }
116
- }]
117
- },
118
- { // 第四层,下层地图,防3d效果
119
- zlevel: 5,
120
- z: 1,
121
- map: "china",
122
- select: { disabled: false },
123
- emphasis: { disabled: true, },
124
- silent: true,
125
- layoutCenter: ["50%", "51.3%"], //位置
126
- layoutSize: "124.5%", //大小
127
- aspectScale: 0.84,
128
- // 颜色
129
- itemStyle: {
130
- borderColor: "rgba(0, 0, 0, 0.3)",
131
- borderWidth: 1,
132
- borderCap: "round",
133
- areaColor: "#38609B",
134
- shadowBlur: 10,
135
- shadowColor: "rgba(0, 0, 0, 0.6)",
136
- },
137
- regions: [{
138
- name: '南海诸岛',
139
- itemStyle: { opacity: 0 },
140
- label: { show: false }
141
- }]
142
- },
143
- ],
144
- series: [
145
- {
146
- type: 'effectScatter',
147
- coordinateSystem: "geo",
148
- showEffectOn: 'render',
149
- rippleEffect: { brushType: 'stroke' },
150
- label: {
151
- formatter: '{b}',
152
- position: 'right',
153
- show: true,
154
- },
155
- itemStyle: {
156
- color: '#f4e925',
157
- },
158
- zlevel: 6,
159
- encode: { value: 2 },
160
- data: defData
161
- }
162
- ]
163
- };
164
-
165
- // 处理数据格式
166
- const handleData = (data: { config: { [key: string]: string }, value: { [key: string]: any }[] }[]) => {
167
- if (!data?.length) {
168
- return [];
169
- }
170
- const temData = data.map((r) => {
171
- const { config, value } = r;
172
- const temVal = value.filter(v => v["v2"]);
173
- return {
174
- name: config.v1,
175
- data: temVal.map(v => {
176
- const lonLat = v["v2"].split(",") || []; // 坐标经纬度;value:[经度,纬度,数值]
177
- return { name: v["d1"], value: [lonLat[0], lonLat[1], v["v1"]], itemData: { config, value: v } };
178
- })
179
- };
180
- });
181
- return temData[0]?.data || [];
182
- };
183
-
184
- export interface ComponentStyle {
185
- tooltip?: { show: boolean, triggerOn: string, type: string, customize: { [key: string]: any } };
186
- effectScatter?: { [key: string]: any };
187
- areaColor?: string;
188
- backgroundColor?: string;
189
- borderColor?: string;
190
- borderWidth?: number;
191
- borderType?: string;
192
- label?: { [key: string]: any };
193
- roam?: boolean;
194
- zoom?: number;
195
- }
196
-
197
- export interface ComponentProps {
198
- style?: ComponentStyle;
199
- base: { width: number, height: number };
200
- data?: DataConfigProps;
201
- isDesignMode?: boolean; // 是否编辑模式
202
- initSearchParams?: { [key: string]: any }; // 全局初始化外部参数,例:传参包含设备id,则在查询时带上设备id
203
- }
204
-
205
- export interface ComponentRef {
206
- updateConfig: (newConfig: ComponentProps) => void;
207
- destroy: () => void;
208
- }
209
-
210
- const Index = forwardRef((props: ComponentProps, ref: ForwardedRef<ComponentRef>) => {
211
- const { style, data: propsData, isDesignMode } = props;
212
- const [config, setConfig] = useState<ComponentStyle>(style || {});
213
- const [size, setSize] = useState<{ width: number, height: number }>();
214
- const [dataConfig, setDataConfig] = useState<DataConfigProps>({ ...propsData }); // 数据源配置
215
- const [data, setData] = useState<{ name: string, value: number[] }[]>([]);
216
- const [searchParams, setSearchParams] = useState<{ [key: string]: any }>();
217
- const [initSearchParams, setInitSearchParams] = useState<{ [key: string]: any }>();
218
- const [loading, setLoading] = useState<boolean>(false);
219
- const chartRef = useRef<HTMLDivElement>(null);
220
- const chart = useRef<any>(null);
221
- const pollingIntervalRef = useRef<number | NodeJS.Timeout>(null);
222
-
223
- const handleDestroy = () => {
224
- pollingIntervalRef.current && clearInterval(pollingIntervalRef.current);
225
- window.removeEventListener('resize', handleResize);
226
- chart.current.dispose();
227
- };
228
-
229
- // 全局初始化请求数据处理
230
- const handleInitData = (val: DataConfigProps) => {
231
- if (val.sourceType === "sourceId" && val.isInit && val.initData) {
232
- const { config, value } = val.initData;
233
- const temData = handleData(value);
234
- setData(temData);
235
- if (config?.requestMode === "polling") {
236
- pollingIntervalRef.current = setInterval(() => { getData() }, config?.pollingInterval || 60000);
237
- }
238
- }
239
- }
240
-
241
- // ws订阅数据更新
242
- const handleWSData = (val: DataConfigProps) => {
243
- if (val.sourceType === "sourceId" && val.wsData) {
244
- const { value } = val.initData;
245
- const temData = handleData(value);
246
- setData(temData);
247
- }
248
- }
249
-
250
- useImperativeHandle(ref, () => ({
251
- updateConfig: (newConfig) => {
252
- const { base, style: newStyle, data: newDataConfig, initSearchParams: newISParams } = newConfig;
253
- setConfig({ ...(newStyle || {}) });
254
- setSize({ width: base.width, height: base.height });
255
- setDataConfig(newDataConfig);
256
- handleInitData(newDataConfig);
257
- setSearchParams(newDataConfig.searchParams);
258
- setInitSearchParams(newISParams);
259
- handleWSData(newDataConfig);
260
- },
261
- destroy: handleDestroy,
262
- }));
263
-
264
- // 窗口大小变化时重新调整图表大小
265
- const handleResize = () => {
266
- chart.current.resize({ animation: { duration: 500 } });
267
- };
268
-
269
- useEffect(() => {
270
- echarts.registerMap('china', chinaJson as any);
271
- chart.current = echarts.init(chartRef.current, null, { renderer: "svg" });
272
- chart.current.on('georoam', () => { // 地图拖拽时,同步其他层级地图的缩放和中心点
273
- const currentOption = chart.current.getOption();
274
- // 获取主 geo (数组中的第一个) 当前的缩放和中心点
275
- const masterZoom = currentOption.geo[0].zoom;
276
- const masterCenter = currentOption.geo[0].center;
277
- // 遍历并同步所有其他的 geo 组件(从第二个开始)
278
- for (let i = 1; i < currentOption.geo.length; i++) {
279
- currentOption.geo[i].zoom = masterZoom; // 同步缩放等级
280
- currentOption.geo[i].center = masterCenter; // 同步中心位置
281
- }
282
- // 使用 setOption 更新所有从 geo 的配置
283
- // 注意:这里只更新需要变化的 geo 数组,避免不必要的重绘
284
- chart.current.setOption({ geo: currentOption.geo });
285
- });
286
- window.addEventListener('resize', handleResize);
287
- return () => {
288
- handleDestroy();
289
- }
290
- }, []);
291
-
292
- // 请求数据
293
- const getData = async (params?: object) => {
294
- setLoading(true);
295
- const { data } = await HydrocarbonService.requestChartData(null, dataConfig?.sourceId, params) || {};
296
- setLoading(false);
297
- const { config, value } = data || {};
298
- setData(handleData(value));
299
- return config;
300
- };
301
-
302
- // 初始化请求数据
303
- const getInitData = async (params?: object) => {
304
- pollingIntervalRef.current && clearInterval(pollingIntervalRef.current);
305
- const config = await getData(params);
306
- if (config?.requestMode === "polling") {
307
- pollingIntervalRef.current = setInterval(() => getData(params), config?.pollingInterval || 60000);
308
- }
309
- };
310
-
311
- // 静态数据处理
312
- useEffect(() => {
313
- if (dataConfig?.sourceType === 'staticData') {
314
- setData(dataConfig.staticData || []);
315
- }
316
- }, [dataConfig?.sourceType, dataConfig?.staticData]);
317
-
318
- /**
319
- * 数据源数据请求
320
- * 1、编辑态不请求数据
321
- */
322
- useEffect(() => {
323
- if (!isDesignMode && dataConfig?.sourceType === 'sourceId' && dataConfig?.sourceId && !dataConfig?.isInit && dataConfig?.isDefRequest !== false) {
324
- if (dataConfig?.isInitParams) { // 组件数据源接收外部参数
325
- initSearchParams && getInitData(initSearchParams);
326
- } else {
327
- getInitData();
328
- }
329
- } else if (dataConfig?.sourceType === 'sourceId') {
330
- setData([]);
331
- }
332
- }, [dataConfig?.sourceType, dataConfig?.sourceId, initSearchParams]);
333
-
334
- // 搜索参数变化时重新请求数据
335
- useEffect(() => {
336
- if (searchParams) {
337
- const params = { ...(initSearchParams || {}), ...searchParams };
338
- if (dataConfig?.isInitParams) { // 数据源接收外部参数,则参数存在再请求
339
- initSearchParams && getInitData(params);
340
- } else {
341
- getInitData(params);
342
- }
343
- }
344
- }, [searchParams, initSearchParams]);
345
-
346
- // 自定义弹窗渲染
347
- const customizeTooltipConfig = (config) => {
348
- const { title, width, height, padding, backgroundColor, content } = config;
349
- const backgroundImage = handleImgUrl(config?.backgroundImage);
350
- let titleText = title.text;
351
- return {
352
- padding: 0,
353
- borderWidth: 0,
354
- enterable: true,
355
- backgroundColor: "rgba(0,0,0,0)",
356
- confine: false,
357
- appendTo: document.body,
358
- formatter: (params) => {
359
- const itemData = params.data.itemData;
360
- const dom = document.createElement("div");
361
- if (title.titleType === "d1") { titleText = itemData?.value?.[title.titleType]; }
362
- const bgImg = `background-image: url(${backgroundImage});background-size: 100% 100%;background-repeat: no-repeat;background-position: center;`;
363
- dom.style = `z-index:9999;width:${width}px;height:${height}px;${backgroundImage ? bgImg : `background:${backgroundColor}`}`;
364
- dom.innerHTML = `<div style="padding:${padding}px;width:100%;height:100%;overflow:auto;">
365
- ${title?.text ? `<div style="width:100%;margin-bottom:4px; font-size: ${title.fontSize}px; color: ${title.color}; text-align: ${title.position}">${titleText}</div>` : ""}
366
- ${content?.value?.map(r => itemData?.config?.[r] && `<div style="width:100%;display:flex;justify-content:space-between;align-items:center; font-size: ${content.fontSize}px; color: ${content.color};">
367
- <div style="width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;">${itemData?.config?.[r] || ""}</div>
368
- <div style="width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right">${itemData?.value?.[r] || ""}</div>
369
- </div>`)?.filter(Boolean)?.join("")}
370
- </div>`;
371
- return dom;
372
- }
373
- }
374
- };
375
-
376
- const renderChart = () => {
377
- const { roam, zoom, tooltip, areaColor, backgroundColor, borderColor, borderWidth, borderType, label, effectScatter } = config;
378
- const option = _.cloneDeep(defOption);
379
- // 编辑态无数据显示默认数据
380
- const temData = isDesignMode && !data?.length ? defData : data;
381
- option.tooltip = { trigger: "item", ...tooltip, ...(tooltip.type === "customize" ? customizeTooltipConfig(tooltip.customize || {}) : {}) };
382
- option.geo = option.geo.map((r, index) => {
383
- switch (index) {
384
- case 0:
385
- return { ...r, roam, zoom, label, itemStyle: { ...r.itemStyle, borderWidth, borderColor, shadowColor: borderColor, borderType } };
386
- case 1:
387
- return { ...r, roam: false, zoom, itemStyle: { areaColor } };
388
- case 2:
389
- case 3:
390
- case 4:
391
- return { ...r, roam: false, zoom, itemStyle: { ...r.itemStyle, areaColor: backgroundColor } };
392
- default:
393
- return { ...r, roam: false, zoom };
394
- }
395
- }) as any;
396
- option.series = option.series.map((item: any) => ({ ...item, ...effectScatter, data: temData }));
397
- chart.current.setOption(option, true);
398
- }
399
- useEffect(() => {
400
- if (config) {
401
- renderChart();
402
- }
403
- }, [config, data]);
404
-
405
- useEffect(() => {
406
- if (size) {
407
- handleResize();
408
- }
409
- }, [size]);
410
-
411
- const renderChartDom = () => <div ref={chartRef} style={{ width: '100%', height: '100%' }} />;
412
-
413
- if (isDesignMode) {
414
- return renderChartDom();
415
- }
416
-
417
- return <Spin spinning={loading}>{renderChartDom()}</Spin>;
418
- });
419
-
1
+ import * as echarts from 'echarts';
2
+ import React, { useEffect, useRef, useState, ForwardedRef, forwardRef, useImperativeHandle } from 'react';
3
+ import _ from 'lodash';
4
+ import { Spin } from "antd";
5
+ import ProgramConfig from "../../units";
6
+ import chinaJson from "../assets/china.json";
7
+ import HydrocarbonService from "../../tmpl/hcservice-v3";
8
+ import { DataConfigProps } from "../data";
9
+
10
+ // 处理提示框背景图片地址
11
+ const handleImgUrl = (basePath: string) => {
12
+ if (!basePath) {
13
+ return "";
14
+ }
15
+ if (basePath.startsWith("http")) {
16
+ return basePath;
17
+ }
18
+ const url = encodeURI(ProgramConfig.joinPath(
19
+ ProgramConfig.joinPath(ProgramConfig.api(), "/v3/files"),
20
+ basePath
21
+ )) +
22
+ `?@token=${ProgramConfig.hydrocarbonToken()}&@programToken=${ProgramConfig.programCode()}&@applicationToken=${ProgramConfig.applicationCode()}`;
23
+ return url;
24
+ }
25
+
26
+ const defData = [{ name: '北京', value: [116.41, 40.19, 100] }];
27
+
28
+ const defOption = {
29
+ animationDurationUpdate: 0, // 重要:禁用动画更新,防止缩放卡顿和不同步
30
+ tooltip: {
31
+ trigger: 'item',
32
+ triggerOn: "mousemove",
33
+ },
34
+ geo: [
35
+ { // 边框 map
36
+ zlevel: 6,
37
+ map: "china",
38
+ // 取消一些交互
39
+ select: { disabled: false },
40
+ emphasis: { disabled: true, },
41
+ silent: true,
42
+ // 位置大小调整
43
+ layoutCenter: ["50%", "50%"], //位置
44
+ layoutSize: "125%", //大小
45
+ aspectScale: 0.84,
46
+ // 框颜色
47
+ itemStyle: {
48
+ color: "transparent",
49
+ opacity: 1,
50
+ borderWidth: 1,
51
+ borderColor: "#92C1F0",
52
+ borderCap: "round",
53
+ shadowBlur: 20,
54
+ shadowColor: "#92C1F0",
55
+ borderType: "solid"
56
+ },
57
+ label: {
58
+ show: false
59
+ }
60
+ },
61
+ { // 顶层map
62
+ map: "china",
63
+ zlevel: 5,
64
+ z: 4,
65
+ select: { disabled: false },
66
+ emphasis: { disabled: true, },
67
+ silent: true,
68
+ layoutCenter: ["50%", "50%"], //位置
69
+ layoutSize: "125%", //大小
70
+ aspectScale: 0.84,
71
+ // 调整颜色
72
+ itemStyle: { areaColor: "#02142A" },
73
+ },
74
+ { // 第二层,下层地图,防3d效果
75
+ zlevel: 5,
76
+ z: 3,
77
+ map: "china",
78
+ select: { disabled: false },
79
+ emphasis: { disabled: true, },
80
+ silent: true,
81
+ layoutCenter: ["50%", "50.6%"], //位置
82
+ layoutSize: "125%", //大小
83
+ aspectScale: 0.84,
84
+ // 颜色
85
+ itemStyle: {
86
+ borderWidth: 0,
87
+ borderCap: "round",
88
+ areaColor: "#38609B",
89
+ },
90
+ regions: [{
91
+ name: '南海诸岛',
92
+ itemStyle: { opacity: 0 },
93
+ label: { show: false }
94
+ }]
95
+ },
96
+ { // 第三层,下层地图,防3d效果
97
+ zlevel: 5,
98
+ z: 2,
99
+ map: "china",
100
+ select: { disabled: false },
101
+ emphasis: { disabled: true, },
102
+ silent: true,
103
+ layoutCenter: ["50%", "51%"], //位置
104
+ layoutSize: "125%", //大小
105
+ aspectScale: 0.84,
106
+ // 颜色
107
+ itemStyle: {
108
+ borderWidth: 0,
109
+ borderCap: "round",
110
+ areaColor: "#38609B",
111
+ },
112
+ regions: [{
113
+ name: '南海诸岛',
114
+ itemStyle: { opacity: 0 },
115
+ label: { show: false }
116
+ }]
117
+ },
118
+ { // 第四层,下层地图,防3d效果
119
+ zlevel: 5,
120
+ z: 1,
121
+ map: "china",
122
+ select: { disabled: false },
123
+ emphasis: { disabled: true, },
124
+ silent: true,
125
+ layoutCenter: ["50%", "51.3%"], //位置
126
+ layoutSize: "124.5%", //大小
127
+ aspectScale: 0.84,
128
+ // 颜色
129
+ itemStyle: {
130
+ borderColor: "rgba(0, 0, 0, 0.3)",
131
+ borderWidth: 1,
132
+ borderCap: "round",
133
+ areaColor: "#38609B",
134
+ shadowBlur: 10,
135
+ shadowColor: "rgba(0, 0, 0, 0.6)",
136
+ },
137
+ regions: [{
138
+ name: '南海诸岛',
139
+ itemStyle: { opacity: 0 },
140
+ label: { show: false }
141
+ }]
142
+ },
143
+ ],
144
+ series: [
145
+ {
146
+ type: 'effectScatter',
147
+ coordinateSystem: "geo",
148
+ showEffectOn: 'render',
149
+ rippleEffect: { brushType: 'stroke' },
150
+ label: {
151
+ formatter: '{b}',
152
+ position: 'right',
153
+ show: true,
154
+ },
155
+ itemStyle: {
156
+ color: '#f4e925',
157
+ },
158
+ zlevel: 6,
159
+ encode: { value: 2 },
160
+ data: defData
161
+ }
162
+ ]
163
+ };
164
+
165
+ // 处理数据格式
166
+ const handleData = (data: { config: { [key: string]: string }, value: { [key: string]: any }[] }[]) => {
167
+ if (!data?.length) {
168
+ return [];
169
+ }
170
+ const temData = data.map((r) => {
171
+ const { config, value } = r;
172
+ const temVal = value.filter(v => v["v2"]);
173
+ return {
174
+ name: config.v1,
175
+ data: temVal.map(v => {
176
+ const lonLat = v["v2"].split(",") || []; // 坐标经纬度;value:[经度,纬度,数值]
177
+ return { name: v["d1"], value: [lonLat[0], lonLat[1], v["v1"]], itemData: { config, value: v } };
178
+ })
179
+ };
180
+ });
181
+ return temData[0]?.data || [];
182
+ };
183
+
184
+ export interface ComponentStyle {
185
+ tooltip?: { show: boolean, triggerOn: string, type: string, customize: { [key: string]: any } };
186
+ effectScatter?: { [key: string]: any };
187
+ areaColor?: string;
188
+ backgroundColor?: string;
189
+ borderColor?: string;
190
+ borderWidth?: number;
191
+ borderType?: string;
192
+ label?: { [key: string]: any };
193
+ roam?: boolean;
194
+ zoom?: number;
195
+ }
196
+
197
+ export interface ComponentProps {
198
+ style?: ComponentStyle;
199
+ base: { width: number, height: number };
200
+ data?: DataConfigProps;
201
+ isDesignMode?: boolean; // 是否编辑模式
202
+ initSearchParams?: { [key: string]: any }; // 全局初始化外部参数,例:传参包含设备id,则在查询时带上设备id
203
+ }
204
+
205
+ export interface ComponentRef {
206
+ updateConfig: (newConfig: ComponentProps) => void;
207
+ destroy: () => void;
208
+ }
209
+
210
+ const Index = forwardRef((props: ComponentProps, ref: ForwardedRef<ComponentRef>) => {
211
+ const { style, data: propsData, isDesignMode } = props;
212
+ const [config, setConfig] = useState<ComponentStyle>(style || {});
213
+ const [size, setSize] = useState<{ width: number, height: number }>();
214
+ const [dataConfig, setDataConfig] = useState<DataConfigProps>({ ...propsData }); // 数据源配置
215
+ const [data, setData] = useState<{ name: string, value: number[] }[]>([]);
216
+ const [searchParams, setSearchParams] = useState<{ [key: string]: any }>();
217
+ const [initSearchParams, setInitSearchParams] = useState<{ [key: string]: any }>();
218
+ const [loading, setLoading] = useState<boolean>(false);
219
+ const chartRef = useRef<HTMLDivElement>(null);
220
+ const chart = useRef<any>(null);
221
+ const pollingIntervalRef = useRef<number | NodeJS.Timeout>(null);
222
+
223
+ const handleDestroy = () => {
224
+ pollingIntervalRef.current && clearInterval(pollingIntervalRef.current);
225
+ window.removeEventListener('resize', handleResize);
226
+ chart.current.dispose();
227
+ };
228
+
229
+ // 全局初始化请求数据处理
230
+ const handleInitData = (val: DataConfigProps) => {
231
+ if (val.sourceType === "sourceId" && val.isInit && val.initData) {
232
+ const { config, value } = val.initData;
233
+ const temData = handleData(value);
234
+ setData(temData);
235
+ if (config?.requestMode === "polling") {
236
+ pollingIntervalRef.current = setInterval(() => { getData() }, config?.pollingInterval || 60000);
237
+ }
238
+ }
239
+ }
240
+
241
+ // ws订阅数据更新
242
+ const handleWSData = (val: DataConfigProps) => {
243
+ if (val.sourceType === "sourceId" && val.wsData) {
244
+ const { value } = val.initData;
245
+ const temData = handleData(value);
246
+ setData(temData);
247
+ }
248
+ }
249
+
250
+ useImperativeHandle(ref, () => ({
251
+ updateConfig: (newConfig) => {
252
+ const { base, style: newStyle, data: newDataConfig, initSearchParams: newISParams } = newConfig;
253
+ setConfig({ ...(newStyle || {}) });
254
+ setSize({ width: base.width, height: base.height });
255
+ setDataConfig(newDataConfig);
256
+ handleInitData(newDataConfig);
257
+ setSearchParams(newDataConfig.searchParams);
258
+ setInitSearchParams(newISParams);
259
+ handleWSData(newDataConfig);
260
+ },
261
+ destroy: handleDestroy,
262
+ }));
263
+
264
+ // 窗口大小变化时重新调整图表大小
265
+ const handleResize = () => {
266
+ chart.current.resize({ animation: { duration: 500 } });
267
+ };
268
+
269
+ useEffect(() => {
270
+ echarts.registerMap('china', chinaJson as any);
271
+ chart.current = echarts.init(chartRef.current, null, { renderer: "svg" });
272
+ chart.current.on('georoam', () => { // 地图拖拽时,同步其他层级地图的缩放和中心点
273
+ const currentOption = chart.current.getOption();
274
+ // 获取主 geo (数组中的第一个) 当前的缩放和中心点
275
+ const masterZoom = currentOption.geo[0].zoom;
276
+ const masterCenter = currentOption.geo[0].center;
277
+ // 遍历并同步所有其他的 geo 组件(从第二个开始)
278
+ for (let i = 1; i < currentOption.geo.length; i++) {
279
+ currentOption.geo[i].zoom = masterZoom; // 同步缩放等级
280
+ currentOption.geo[i].center = masterCenter; // 同步中心位置
281
+ }
282
+ // 使用 setOption 更新所有从 geo 的配置
283
+ // 注意:这里只更新需要变化的 geo 数组,避免不必要的重绘
284
+ chart.current.setOption({ geo: currentOption.geo });
285
+ });
286
+ window.addEventListener('resize', handleResize);
287
+ return () => {
288
+ handleDestroy();
289
+ }
290
+ }, []);
291
+
292
+ // 请求数据
293
+ const getData = async (params?: object) => {
294
+ setLoading(true);
295
+ const { data } = await HydrocarbonService.requestChartData(null, dataConfig?.sourceId, params) || {};
296
+ setLoading(false);
297
+ const { config, value } = data || {};
298
+ setData(handleData(value));
299
+ return config;
300
+ };
301
+
302
+ // 初始化请求数据
303
+ const getInitData = async (params?: object) => {
304
+ pollingIntervalRef.current && clearInterval(pollingIntervalRef.current);
305
+ const config = await getData(params);
306
+ if (config?.requestMode === "polling") {
307
+ pollingIntervalRef.current = setInterval(() => getData(params), config?.pollingInterval || 60000);
308
+ }
309
+ };
310
+
311
+ // 静态数据处理
312
+ useEffect(() => {
313
+ if (dataConfig?.sourceType === 'staticData') {
314
+ setData(dataConfig.staticData || []);
315
+ }
316
+ }, [dataConfig?.sourceType, dataConfig?.staticData]);
317
+
318
+ /**
319
+ * 数据源数据请求
320
+ * 1、编辑态不请求数据
321
+ */
322
+ useEffect(() => {
323
+ if (!isDesignMode && dataConfig?.sourceType === 'sourceId' && dataConfig?.sourceId && !dataConfig?.isInit && dataConfig?.isDefRequest !== false) {
324
+ if (dataConfig?.isInitParams) { // 组件数据源接收外部参数
325
+ initSearchParams && getInitData(initSearchParams);
326
+ } else {
327
+ getInitData();
328
+ }
329
+ } else if (dataConfig?.sourceType === 'sourceId') {
330
+ setData([]);
331
+ }
332
+ }, [dataConfig?.sourceType, dataConfig?.sourceId, initSearchParams]);
333
+
334
+ // 搜索参数变化时重新请求数据
335
+ useEffect(() => {
336
+ if (searchParams) {
337
+ const params = { ...(initSearchParams || {}), ...searchParams };
338
+ if (dataConfig?.isInitParams) { // 数据源接收外部参数,则参数存在再请求
339
+ initSearchParams && getInitData(params);
340
+ } else {
341
+ getInitData(params);
342
+ }
343
+ }
344
+ }, [searchParams, initSearchParams]);
345
+
346
+ // 自定义弹窗渲染
347
+ const customizeTooltipConfig = (config) => {
348
+ const { title, width, height, padding, backgroundColor, content } = config;
349
+ const backgroundImage = handleImgUrl(config?.backgroundImage);
350
+ let titleText = title.text;
351
+ return {
352
+ padding: 0,
353
+ borderWidth: 0,
354
+ enterable: true,
355
+ backgroundColor: "rgba(0,0,0,0)",
356
+ confine: false,
357
+ appendTo: document.body,
358
+ formatter: (params) => {
359
+ const itemData = params.data.itemData;
360
+ const dom = document.createElement("div");
361
+ if (title.titleType === "d1") { titleText = itemData?.value?.[title.titleType]; }
362
+ const bgImg = `background-image: url(${backgroundImage});background-size: 100% 100%;background-repeat: no-repeat;background-position: center;`;
363
+ dom.style = `z-index:9999;width:${width}px;height:${height}px;${backgroundImage ? bgImg : `background:${backgroundColor}`}`;
364
+ dom.innerHTML = `<div style="padding:${padding}px;width:100%;height:100%;overflow:auto;">
365
+ ${title?.text ? `<div style="width:100%;margin-bottom:4px; font-size: ${title.fontSize}px; color: ${title.color}; text-align: ${title.position}">${titleText}</div>` : ""}
366
+ ${content?.value?.map(r => itemData?.config?.[r] && `<div style="width:100%;display:flex;justify-content:space-between;align-items:center; font-size: ${content.fontSize}px; color: ${content.color};">
367
+ <div style="width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;">${itemData?.config?.[r] || ""}</div>
368
+ <div style="width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right">${itemData?.value?.[r] || ""}</div>
369
+ </div>`)?.filter(Boolean)?.join("")}
370
+ </div>`;
371
+ return dom;
372
+ }
373
+ }
374
+ };
375
+
376
+ const renderChart = () => {
377
+ const { roam, zoom, tooltip, areaColor, backgroundColor, borderColor, borderWidth, borderType, label, effectScatter } = config;
378
+ const option = _.cloneDeep(defOption);
379
+ // 编辑态无数据显示默认数据
380
+ const temData = isDesignMode && !data?.length ? defData : data;
381
+ option.tooltip = { trigger: "item", ...tooltip, ...(tooltip.type === "customize" ? customizeTooltipConfig(tooltip.customize || {}) : {}) };
382
+ option.geo = option.geo.map((r, index) => {
383
+ switch (index) {
384
+ case 0:
385
+ return { ...r, roam, zoom, label, itemStyle: { ...r.itemStyle, borderWidth, borderColor, shadowColor: borderColor, borderType } };
386
+ case 1:
387
+ return { ...r, roam: false, zoom, itemStyle: { areaColor } };
388
+ case 2:
389
+ case 3:
390
+ case 4:
391
+ return { ...r, roam: false, zoom, itemStyle: { ...r.itemStyle, areaColor: backgroundColor } };
392
+ default:
393
+ return { ...r, roam: false, zoom };
394
+ }
395
+ }) as any;
396
+ option.series = option.series.map((item: any) => ({ ...item, ...effectScatter, data: temData }));
397
+ chart.current.setOption(option, true);
398
+ }
399
+ useEffect(() => {
400
+ if (config) {
401
+ renderChart();
402
+ }
403
+ }, [config, data]);
404
+
405
+ useEffect(() => {
406
+ if (size) {
407
+ handleResize();
408
+ }
409
+ }, [size]);
410
+
411
+ const renderChartDom = () => <div ref={chartRef} style={{ width: '100%', height: '100%' }} />;
412
+
413
+ if (isDesignMode) {
414
+ return renderChartDom();
415
+ }
416
+
417
+ return <Spin spinning={loading}>{renderChartDom()}</Spin>;
418
+ });
419
+
420
420
  export default Index;