aldehyde 0.2.496 → 0.2.497

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 (585) 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 +72 -72
  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.less +60 -60
  50. package/lib/draw-canvas-edit/components/render/components/workstation-component.js +6 -6
  51. package/lib/draw-canvas-edit/index.less +48 -48
  52. package/lib/draw-canvas-view/index.less +66 -66
  53. package/lib/export/export-frame.css +2 -2
  54. package/lib/export/export-frame.d.ts.map +1 -1
  55. package/lib/export/select-code-export-frame.d.ts.map +1 -1
  56. package/lib/form/dtmpl-form.css +3 -3
  57. package/lib/form/dtmpl-form.d.ts.map +1 -1
  58. package/lib/form/field-group-form.d.ts.map +1 -1
  59. package/lib/form/form-Item-group.d.ts.map +1 -1
  60. package/lib/form/index.css +12 -12
  61. package/lib/import/excel-import.d.ts.map +1 -1
  62. package/lib/import/index.css +53 -53
  63. package/lib/import/template.css +50 -50
  64. package/lib/layout/common.css +64 -64
  65. package/lib/layout/coverstyle.css +51 -51
  66. package/lib/layout/footer/index.css +5 -5
  67. package/lib/layout/header/index.css +122 -122
  68. package/lib/layout/menu/block.css +7 -7
  69. package/lib/layout/menu/block.d.ts.map +1 -1
  70. package/lib/layout/menu/l2menu-quick-bar.d.ts.map +1 -1
  71. package/lib/layout/menu/menu-2layers.d.ts.map +1 -1
  72. package/lib/layout/menu/message-bar.less +73 -73
  73. package/lib/layout/menu/reset-password.d.ts.map +1 -1
  74. package/lib/layout/menu/user-bar.d.ts.map +1 -1
  75. package/lib/layout/menu/userinfo-bar.d.ts.map +1 -1
  76. package/lib/layout/sidebar/index.css +57 -57
  77. package/lib/layout2/css/header.css +41 -41
  78. package/lib/layout2/css/sider.less +17 -17
  79. package/lib/layout2/css/tabs-layout.less +18 -18
  80. package/lib/layout3/css/header.less +195 -195
  81. package/lib/layout3/css/main.less +161 -161
  82. package/lib/layout3/css/sider.less +32 -32
  83. package/lib/layout3/css/tabs-layout.less +38 -38
  84. package/lib/layout4/css/header.less +196 -196
  85. package/lib/layout4/css/main.less +154 -154
  86. package/lib/layout4/css/sider.less +37 -37
  87. package/lib/layout4/css/tabs-layout.less +42 -42
  88. package/lib/layout5/css/header.less +35 -35
  89. package/lib/layout5/css/sider.less +18 -18
  90. package/lib/list/calendar/index.less +20 -20
  91. package/lib/list/card-list/index.less +154 -154
  92. package/lib/list/gantt/index.less +8 -8
  93. package/lib/list/vertical-list/index.less +208 -208
  94. package/lib/login/index.css +19 -19
  95. package/lib/login/login.d.ts.map +1 -1
  96. package/lib/login/vertify/index.css +143 -143
  97. package/lib/login3/index.less +136 -136
  98. package/lib/lowcode-components/act-table/index.less +26 -26
  99. package/lib/lowcode-components/base-button/index.less +7 -7
  100. package/lib/lowcode-components/base-map/index.js +6 -6
  101. package/lib/lowcode-components/base-radio/index.less +23 -23
  102. package/lib/lowcode-components/base-tabs/index.less +14 -14
  103. package/lib/lowcode-components/border/border10/index.less +26 -26
  104. package/lib/lowcode-components/border/border11/index.js +46 -46
  105. package/lib/lowcode-components/border/border11/index.less +17 -17
  106. package/lib/lowcode-components/border/border12/index.js +13 -13
  107. package/lib/lowcode-components/border/border12/index.less +13 -13
  108. package/lib/lowcode-components/border/border13/index.js +5 -5
  109. package/lib/lowcode-components/border/border13/index.less +13 -13
  110. package/lib/lowcode-components/border/border2/index.less +17 -17
  111. package/lib/lowcode-components/border/border3/index.less +25 -25
  112. package/lib/lowcode-components/border/border4/index.js +2 -2
  113. package/lib/lowcode-components/border/border4/index.less +72 -72
  114. package/lib/lowcode-components/border/border5/index.js +2 -2
  115. package/lib/lowcode-components/border/border5/index.less +35 -35
  116. package/lib/lowcode-components/border/border6/index.less +17 -17
  117. package/lib/lowcode-components/border/border7/index.less +26 -26
  118. package/lib/lowcode-components/border/border8/index.less +13 -13
  119. package/lib/lowcode-components/border/border9/index.js +14 -14
  120. package/lib/lowcode-components/border/border9/index.less +13 -13
  121. package/lib/lowcode-components/column-3d-chart/index.d.ts.map +1 -1
  122. package/lib/lowcode-components/column-3d-chart/index.js +2 -1
  123. package/lib/lowcode-components/column-3d-chart/index.js.map +1 -1
  124. package/lib/lowcode-components/column-chart/index.d.ts.map +1 -1
  125. package/lib/lowcode-components/column-chart/index.js +3 -2
  126. package/lib/lowcode-components/column-chart/index.js.map +1 -1
  127. package/lib/lowcode-components/decoration/decoration1/index.less +7 -7
  128. package/lib/lowcode-components/decoration/decoration10/index.js +3 -3
  129. package/lib/lowcode-components/decoration/decoration10/index.less +5 -5
  130. package/lib/lowcode-components/decoration/decoration11/index.less +5 -5
  131. package/lib/lowcode-components/decoration/decoration2/index.less +6 -6
  132. package/lib/lowcode-components/decoration/decoration3/index.less +7 -7
  133. package/lib/lowcode-components/decoration/decoration4/index.less +29 -29
  134. package/lib/lowcode-components/decoration/decoration5/index.less +3 -3
  135. package/lib/lowcode-components/decoration/decoration6/index.less +7 -7
  136. package/lib/lowcode-components/decoration/decoration7/index.less +4 -4
  137. package/lib/lowcode-components/decoration/decoration8/index.less +14 -14
  138. package/lib/lowcode-components/decoration/decoration9/index.less +4 -4
  139. package/lib/lowcode-components/effectScatter-map/index.js +6 -6
  140. package/lib/lowcode-components/effectScatter-map-3d/index.js +6 -6
  141. package/lib/lowcode-components/line-bar-chart/index.d.ts.map +1 -1
  142. package/lib/lowcode-components/line-bar-chart/index.js +3 -6
  143. package/lib/lowcode-components/line-bar-chart/index.js.map +1 -1
  144. package/lib/lowcode-components/line-chart/index.d.ts +3 -0
  145. package/lib/lowcode-components/line-chart/index.d.ts.map +1 -1
  146. package/lib/lowcode-components/line-chart/index.js +16 -6
  147. package/lib/lowcode-components/line-chart/index.js.map +1 -1
  148. package/lib/lowcode-components/lowcode-view/index.less +19 -19
  149. package/lib/lowcode-components/search-form/index.less +25 -25
  150. package/lib/module/dtmpl-edit-card.d.ts.map +1 -1
  151. package/lib/module/dtmpl-edit-page.d.ts.map +1 -1
  152. package/lib/module/index.less +4 -4
  153. package/lib/module/ltmpl-modal.d.ts.map +1 -1
  154. package/lib/module/ltmpl-table.d.ts.map +1 -1
  155. package/lib/routable/index.less +25 -25
  156. package/lib/table/act-table.d.ts.map +1 -1
  157. package/lib/table/column/index.less +85 -85
  158. package/lib/table/index.css +211 -211
  159. package/lib/table/modal-select-table.d.ts.map +1 -1
  160. package/lib/table/page-chart.less +9 -9
  161. package/lib/table/pagination.css +14 -14
  162. package/lib/table/pagination.d.ts.map +1 -1
  163. package/lib/table/relation-table.d.ts.map +1 -1
  164. package/lib/table/selected-rows-card.d.ts.map +1 -1
  165. package/lib/table/stat/restat.d.ts.map +1 -1
  166. package/lib/tree/act-tree.d.ts.map +1 -1
  167. package/lib/tree/block-menu-auth-tree.d.ts.map +1 -1
  168. package/lib/tree/index.css +22 -22
  169. package/lib/tree/tmpl-tree.d.ts.map +1 -1
  170. package/lib/welcome/components/menu-card.less +96 -96
  171. package/lib/welcome/components/page-card.less +49 -49
  172. package/lib/welcome/components/quick-entrance.less +120 -120
  173. package/lib/welcome/components/user-menus.less +192 -192
  174. package/lib/welcome/components/workbench.less +118 -118
  175. package/lib/welcome/index.css +13 -13
  176. package/package.json +224 -224
  177. package/src/aldehyde/controls/2dEditor/2dEditor/index.less +5 -5
  178. package/src/aldehyde/controls/2dEditor/2dEditor/index.tsx +270 -270
  179. package/src/aldehyde/controls/2dEditor/2dView/index.less +8 -8
  180. package/src/aldehyde/controls/2dEditor/2dView/index.tsx +110 -110
  181. package/src/aldehyde/controls/2dEditor/components/card.tsx +256 -256
  182. package/src/aldehyde/controls/2dEditor/components/component.less +83 -83
  183. package/src/aldehyde/controls/2dEditor/components/data.d.ts +32 -32
  184. package/src/aldehyde/controls/2dEditor/components/hotspot.tsx +80 -80
  185. package/src/aldehyde/controls/2dEditor/components/html-box.tsx +101 -101
  186. package/src/aldehyde/controls/2dEditor/components/image.tsx +99 -99
  187. package/src/aldehyde/controls/2dEditor/components/line.tsx +73 -73
  188. package/src/aldehyde/controls/action/index.css +8 -8
  189. package/src/aldehyde/controls/action/index.tsx +406 -406
  190. package/src/aldehyde/controls/action/utils.tsx +306 -306
  191. package/src/aldehyde/controls/auto-complete/index.tsx +82 -82
  192. package/src/aldehyde/controls/cascader/index.tsx +112 -112
  193. package/src/aldehyde/controls/chemstruc/graph.tsx +185 -185
  194. package/src/aldehyde/controls/chemstruc/index.css +28 -28
  195. package/src/aldehyde/controls/code-editor/sql-code-editor.tsx +73 -73
  196. package/src/aldehyde/controls/collapse-card/index.css +8 -8
  197. package/src/aldehyde/controls/collapse-card/index.tsx +109 -109
  198. package/src/aldehyde/controls/color-picker/index.tsx +21 -21
  199. package/src/aldehyde/controls/counting-tag/index.tsx +53 -53
  200. package/src/aldehyde/controls/cquery/cquick-button.tsx +145 -145
  201. package/src/aldehyde/controls/date-picker/index.tsx +199 -199
  202. package/src/aldehyde/controls/direct-file-view/drawer-file-view.tsx +54 -54
  203. package/src/aldehyde/controls/direct-file-view/index.tsx +147 -147
  204. package/src/aldehyde/controls/direct-upload/index.tsx +140 -140
  205. package/src/aldehyde/controls/entity-select/entity-select.tsx +791 -791
  206. package/src/aldehyde/controls/entity-select/index.css +7 -7
  207. package/src/aldehyde/controls/entity-select/lab-tree-select.tsx +154 -154
  208. package/src/aldehyde/controls/entity-select/popover-entity-select.tsx +205 -205
  209. package/src/aldehyde/controls/entry-control.tsx +431 -431
  210. package/src/aldehyde/controls/enum-badge/index.tsx +42 -42
  211. package/src/aldehyde/controls/enum-tag/index.tsx +45 -45
  212. package/src/aldehyde/controls/field-history/index.tsx +81 -81
  213. package/src/aldehyde/controls/file-export/select-code-export.tsx +40 -40
  214. package/src/aldehyde/controls/file-view/drawer-file-view.tsx +117 -117
  215. package/src/aldehyde/controls/file-view/index.less +9 -9
  216. package/src/aldehyde/controls/file-view/index.tsx +148 -148
  217. package/src/aldehyde/controls/file-view/multi-file-view.tsx +39 -39
  218. package/src/aldehyde/controls/file-view/newin-file-view.tsx +40 -40
  219. package/src/aldehyde/controls/html-editor/draft.tsx +136 -136
  220. package/src/aldehyde/controls/html-editor/index.less +67 -67
  221. package/src/aldehyde/controls/icon-selector/app-icon-selector.tsx +68 -68
  222. package/src/aldehyde/controls/icon-selector/icon/aldehyde-menu-icon/iconfont.css +147 -147
  223. package/src/aldehyde/controls/icon-selector/icon/aldehyde-menu-icon/iconfont.json +240 -240
  224. package/src/aldehyde/controls/icon-selector/pc-icon-selector.tsx +68 -68
  225. package/src/aldehyde/controls/input-number/index.tsx +148 -148
  226. package/src/aldehyde/controls/input-range/index.tsx +59 -59
  227. package/src/aldehyde/controls/password-setter/index.css +2 -2
  228. package/src/aldehyde/controls/password-setter/index.js +88 -88
  229. package/src/aldehyde/controls/progress/index.tsx +74 -74
  230. package/src/aldehyde/controls/qr-code/index.less +28 -28
  231. package/src/aldehyde/controls/qr-code/index.tsx +40 -40
  232. package/src/aldehyde/controls/relation-existion/index.css +3 -3
  233. package/src/aldehyde/controls/relation-existion/index.tsx +144 -144
  234. package/src/aldehyde/controls/rfield/index.css +4 -4
  235. package/src/aldehyde/controls/rfield/index.tsx +225 -225
  236. package/src/aldehyde/controls/select/index.tsx +226 -226
  237. package/src/aldehyde/controls/signature/index.tsx +226 -226
  238. package/src/aldehyde/controls/single-checkbox/index.tsx +18 -18
  239. package/src/aldehyde/controls/steps/index.tsx +59 -59
  240. package/src/aldehyde/controls/text/ellipsis-text.tsx +98 -98
  241. package/src/aldehyde/controls/text/index.less +7 -7
  242. package/src/aldehyde/controls/tree-select/navigation-tree.tsx +122 -122
  243. package/src/aldehyde/controls/tree-select/tree-entity-select.tsx +121 -121
  244. package/src/aldehyde/controls/upload/index.tsx +128 -128
  245. package/src/aldehyde/controls/upload/mult-file-upload.tsx +240 -240
  246. package/src/aldehyde/controls/upload-read-excel/index.tsx +43 -43
  247. package/src/aldehyde/controls/view-control.tsx +289 -289
  248. package/src/aldehyde/custom-page/custom-detail-modal-page.tsx +69 -69
  249. package/src/aldehyde/custom-page/custom-page-router.tsx +64 -64
  250. package/src/aldehyde/custom-page/def-custom-page.tsx +17 -17
  251. package/src/aldehyde/custom-page/dtmpl-custom-edit-modal-page.tsx +91 -91
  252. package/src/aldehyde/detail/button/bottom-submit-button-bar.tsx +91 -91
  253. package/src/aldehyde/detail/button/cquery-button-bar.tsx +144 -144
  254. package/src/aldehyde/detail/button/edit-button.tsx +61 -61
  255. package/src/aldehyde/detail/button/fix-right-submit-button-bar.tsx +186 -186
  256. package/src/aldehyde/detail/button/index.css +42 -42
  257. package/src/aldehyde/detail/button/inline-edit-button.tsx +40 -40
  258. package/src/aldehyde/detail/button/submit-button-bar.tsx +57 -57
  259. package/src/aldehyde/detail/button/view-button.tsx +64 -64
  260. package/src/aldehyde/detail/dtmpl.css +72 -72
  261. package/src/aldehyde/detail/edit/dtmpl-edit.tsx +279 -279
  262. package/src/aldehyde/detail/edit/fields-edit-card.tsx +145 -145
  263. package/src/aldehyde/detail/edit/modal-row-edit.tsx +95 -95
  264. package/src/aldehyde/detail/edit/popover-edit-card.tsx +167 -167
  265. package/src/aldehyde/detail/edit/popover-editor.tsx +70 -70
  266. package/src/aldehyde/detail/edit/post-result/index.tsx +86 -86
  267. package/src/aldehyde/detail/rightbar/index.css +34 -34
  268. package/src/aldehyde/detail/rightbar/index.tsx +92 -92
  269. package/src/aldehyde/detail/tooltipbar/index.tsx +32 -32
  270. package/src/aldehyde/detail/view/act-dtmpl-view.tsx +288 -288
  271. package/src/aldehyde/detail/view/dtmpl-view.tsx +334 -334
  272. package/src/aldehyde/detail/view/field-view-group.tsx +88 -88
  273. package/src/aldehyde/detail/view/modal-dtmpl-view.tsx +73 -73
  274. package/src/aldehyde/detail/view/snapshot-timeline.tsx +231 -231
  275. package/src/aldehyde/detail/view/tab-act-dtmpl-view.tsx +304 -304
  276. package/src/aldehyde/detail/view/view-compare-panel.tsx +57 -57
  277. package/src/aldehyde/draw-canvas-edit/components/render/components/index.less +60 -60
  278. package/src/aldehyde/draw-canvas-edit/components/render/components/index.ts +3 -3
  279. package/src/aldehyde/draw-canvas-edit/components/render/components/workstation-component.tsx +220 -220
  280. package/src/aldehyde/draw-canvas-edit/components/render/draws/bg-draw.ts +177 -177
  281. package/src/aldehyde/draw-canvas-edit/components/render/draws/contextmenu-draw.ts +330 -330
  282. package/src/aldehyde/draw-canvas-edit/components/render/draws/graph-draw.ts +249 -249
  283. package/src/aldehyde/draw-canvas-edit/components/render/draws/link-draw.ts +1415 -1415
  284. package/src/aldehyde/draw-canvas-edit/components/render/draws/preview-draw.ts +274 -274
  285. package/src/aldehyde/draw-canvas-edit/components/render/draws/ref-line-draw.ts +71 -71
  286. package/src/aldehyde/draw-canvas-edit/components/render/draws/ruler-draw.ts +166 -166
  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 +77 -77
  289. package/src/aldehyde/draw-canvas-edit/components/render/handlers/selection-handlers.ts +410 -410
  290. package/src/aldehyde/draw-canvas-edit/components/render/index.ts +817 -817
  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 +269 -269
  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 +588 -588
  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 +298 -298
  299. package/src/aldehyde/draw-canvas-edit/components/setting-form/index.tsx +305 -305
  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 +213 -213
  303. package/src/aldehyde/draw-canvas-view/index.less +66 -66
  304. package/src/aldehyde/draw-canvas-view/index.tsx +49 -49
  305. package/src/aldehyde/draw-canvas-view/view.tsx +237 -237
  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 +571 -571
  312. package/src/aldehyde/form/field-group-form.tsx +103 -103
  313. package/src/aldehyde/form/fields-form.tsx +45 -45
  314. package/src/aldehyde/form/form-Item-group.tsx +246 -246
  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 +323 -323
  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 +16 -16
  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 +112 -112
  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 +227 -227
  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 +272 -272
  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 +443 -442
  456. package/src/aldehyde/lowcode-components/column-chart/index.tsx +353 -352
  457. package/src/aldehyde/lowcode-components/data-number/index.tsx +219 -219
  458. package/src/aldehyde/lowcode-components/data.d.ts +19 -19
  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 +360 -362
  486. package/src/aldehyde/lowcode-components/line-chart/index.tsx +364 -352
  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 +279 -279
  495. package/src/aldehyde/lowcode-components/lowcode-view/interface.ts +189 -189
  496. package/src/aldehyde/lowcode-components/pie-chart/index.tsx +353 -353
  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 +479 -479
  506. package/src/aldehyde/module/dtmpl-edit-drawer.tsx +24 -24
  507. package/src/aldehyde/module/dtmpl-edit-modal.tsx +26 -26
  508. package/src/aldehyde/module/dtmpl-edit-page.tsx +600 -600
  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 +387 -387
  518. package/src/aldehyde/module/ttmpl-tree.tsx +47 -47
  519. package/src/aldehyde/routable/dtmpl-route.tsx +179 -179
  520. package/src/aldehyde/routable/import-route.tsx +42 -42
  521. package/src/aldehyde/routable/index.less +25 -25
  522. package/src/aldehyde/routable/ltmpl-route.tsx +549 -549
  523. package/src/aldehyde/routable/splitview-ltmpl-route.tsx +385 -385
  524. package/src/aldehyde/routable/ttmpl-route.tsx +98 -98
  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 +1865 -1865
  530. package/src/aldehyde/table/column/column-builder.tsx +882 -882
  531. package/src/aldehyde/table/column/column-selector.tsx +130 -130
  532. package/src/aldehyde/table/column/index.less +85 -85
  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-chart.less +9 -9
  540. package/src/aldehyde/table/page-chart.tsx +196 -196
  541. package/src/aldehyde/table/page-config-button.tsx +203 -203
  542. package/src/aldehyde/table/pagination.css +14 -14
  543. package/src/aldehyde/table/pagination.tsx +81 -81
  544. package/src/aldehyde/table/query-table.tsx +668 -668
  545. package/src/aldehyde/table/relation-table.tsx +1078 -1078
  546. package/src/aldehyde/table/report-table.tsx +125 -125
  547. package/src/aldehyde/table/resizable-table.tsx +97 -97
  548. package/src/aldehyde/table/row-table.tsx +45 -45
  549. package/src/aldehyde/table/select-table.tsx +559 -559
  550. package/src/aldehyde/table/selected-rows-card.tsx +78 -78
  551. package/src/aldehyde/table/stat/restat.tsx +122 -122
  552. package/src/aldehyde/table/table-util.tsx +25 -25
  553. package/src/aldehyde/tmpl/control-type-supportor.tsx +154 -154
  554. package/src/aldehyde/tmpl/hc-data-source.tsx +574 -574
  555. package/src/aldehyde/tmpl/hcservice-v3.tsx +1590 -1590
  556. package/src/aldehyde/tmpl/interface.tsx +940 -940
  557. package/src/aldehyde/tmpl/model-struc-v3.tsx +111 -111
  558. package/src/aldehyde/tmpl/superagent.js +146 -146
  559. package/src/aldehyde/tmpl/tmpl-config-analysis.tsx +585 -585
  560. package/src/aldehyde/tmpl/web-socket.ts +366 -366
  561. package/src/aldehyde/tree/act-tree.tsx +219 -219
  562. package/src/aldehyde/tree/block-menu-auth-tree.tsx +189 -189
  563. package/src/aldehyde/tree/index.css +22 -22
  564. package/src/aldehyde/tree/navigation-tree.tsx +39 -39
  565. package/src/aldehyde/tree/tmpl-tree.tsx +751 -751
  566. package/src/aldehyde/tree/tree-node.tsx +73 -73
  567. package/src/aldehyde/tree/tree-utils.tsx +317 -317
  568. package/src/aldehyde/units/EncryptUtils.js +37 -37
  569. package/src/aldehyde/units/image.d.ts +7 -7
  570. package/src/aldehyde/units/index.tsx +1375 -1375
  571. package/src/aldehyde/units/storage.js +2 -2
  572. package/src/aldehyde/utils/dsu.ts +27 -27
  573. package/src/aldehyde/welcome/HCWelcome.js +404 -404
  574. package/src/aldehyde/welcome/HCWelcome1.js +259 -259
  575. package/src/aldehyde/welcome/components/menu-card.less +96 -96
  576. package/src/aldehyde/welcome/components/menu-card.tsx +70 -70
  577. package/src/aldehyde/welcome/components/page-card.less +49 -49
  578. package/src/aldehyde/welcome/components/page-card.tsx +97 -97
  579. package/src/aldehyde/welcome/components/quick-entrance.less +120 -120
  580. package/src/aldehyde/welcome/components/quick-entrance.tsx +80 -80
  581. package/src/aldehyde/welcome/components/user-menus.less +192 -192
  582. package/src/aldehyde/welcome/components/user-menus.tsx +279 -279
  583. package/src/aldehyde/welcome/components/workbench.less +118 -118
  584. package/src/aldehyde/welcome/components/workbench.tsx +146 -146
  585. package/src/aldehyde/welcome/index.css +13 -13
@@ -1,362 +1,360 @@
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 { useLocale } from "../../locale/useLocale";
6
- import HydrocarbonService from "../../tmpl/hcservice-v3";
7
- import { DataConfigProps } from "../data";
8
-
9
-
10
- const defOption = {
11
- title: {
12
- text: '暂无数据',
13
- left: 'center',
14
- top: 'middle',
15
- show: false, // 无数据时显示
16
- },
17
- tooltip: { trigger: "axis" },
18
- grid: { top: 30, left: 30, right: 20, bottom: 30 },
19
- xAxis: {
20
- type: 'category',
21
- boundaryGap: true,
22
- axisTick: { show: true },
23
- },
24
- yAxis: {
25
- type: 'value'
26
- },
27
- legend: { show: false },
28
- barMaxWidth: 20,
29
- dataZoom: [],
30
- series: [
31
- {
32
- data: [["1990", 225], ["1991", 359], ["1992", 57], ["1993", 214], ["1994", 134], ["1995", 250], ["1996", 156]],
33
- type: 'line',
34
- },
35
- {
36
- data: [["1990", 325], ["1991", 259], ["1992", 157], ["1993", 314], ["1994", 234], ["1995", 150], ["1996", 256]],
37
- type: 'bar',
38
- }
39
- ]
40
- };
41
-
42
- const legends = {
43
- top: { top: 0 },
44
- bottom: { bottom: 0 },
45
- left: { left: 5, top: "center" },
46
- right: { right: 5, top: "center" },
47
- leftTop: { left: 5 },
48
- rightTop: { right: 5 },
49
- leftBottom: { left: 5, bottom: 0 },
50
- rightBottom: { right: 5, bottom: 0 },
51
- };
52
-
53
- // 处理数据格式 nullSetZero(是否空值置0)
54
- const handleData = (data: { config: { [key: string]: string }, value: { [key: string]: any }[] }[], nullSetZero?: boolean) => {
55
- if (!data?.length) {
56
- return [];
57
- }
58
- const temData = data.map((r) => {
59
- const { config, value } = r;
60
- const isD = Object.keys(config).some(r => r.includes("d"));
61
- const vNames = Object.keys(config).filter((r) => r.startsWith("v") && !r.includes("-")).sort((a, b) => parseInt(a.substring(1)) - parseInt(b.substring(1)));
62
- // 过滤只有t1、t2等数据
63
- const tNames = Object.keys(config).filter((r) => r.startsWith("t") && !r.includes("-")).sort((a, b) => parseInt(a.substring(1)) - parseInt(b.substring(1)));
64
- return isD ? {
65
- name: config.d1,
66
- data: [
67
- ...vNames.map((r) => ({
68
- name: config[r],
69
- data: value.map((v) => [v["d1"], nullSetZero ? (v[r] || 0) : v[r]]),
70
- })),
71
- ...tNames.map((r) => ({
72
- vLength: vNames.length,
73
- isMarkLine: true,
74
- name: config[r],
75
- data: value.map((v) => {
76
- const temData = nullSetZero ? (v[r] || 0) : v[r];
77
- return [v["d1"], (temData)?.split("@R@")[1] || temData];
78
- }),
79
- }))
80
- ]
81
- } : {
82
- data: value.map((r, index) => ({ name: `数值${index || ""}`, data: vNames.map(v => [config[v], nullSetZero ? (r[v] || 0) : r[v]]) }))
83
- };
84
- });
85
- return temData[0]?.data || [];
86
- };
87
-
88
- export interface ComponentStyle {
89
- tooltip?: { show: boolean };
90
- color?: string[];
91
- grid?: { top: number, left: number, right: number, bottom: number };
92
- xAxis?: { [key: string]: any };
93
- yAxis?: { [key: string]: any };
94
- legend?: { [key: string]: any };
95
- markPoint?: { [key: string]: any };
96
- smooth?: boolean;
97
- lineStyle?: { [key: string]: any };
98
- symbol?: { [key: string]: any };
99
- step?: boolean; // 是否为阶梯折线图
100
- isArea?: boolean; // 是否面积图
101
- isGradient?: boolean; // 面积图是否渐变
102
- areaStyle?: { opacity: number }; // 面积图样式
103
- renderer?: "canvas" | "svg";
104
- barMaxWidth?: number; //柱状图最大宽度
105
- dataZoom?: boolean;
106
- slider?: boolean; // 区域缩放是否显示滑动条
107
- connectNulls?: boolean; // 是否连接空值
108
- nullSetZero?: boolean; // 空值是否置0
109
- markLineColor?: string[]; // 标记线颜色
110
- }
111
-
112
- export interface ComponentProps {
113
- style?: ComponentStyle;
114
- base?: { width: number, height: number };
115
- data?: DataConfigProps;
116
- isDesignMode?: boolean; // 是否编辑模式
117
- initSearchParams?: { [key: string]: any }; // 全局初始化外部参数,例:传参包含设备id,则在查询时带上设备id
118
- }
119
-
120
- export interface ComponentRef {
121
- updateConfig: (newConfig: ComponentProps) => void;
122
- destroy: () => void;
123
- updateSearchParams: (params: { [key: string]: any }) => void;
124
- }
125
-
126
- const Index = forwardRef((props: ComponentProps, ref: ForwardedRef<ComponentRef>) => {
127
- const { style, data: propsData, isDesignMode } = props;
128
- const [config, setConfig] = useState<ComponentStyle>(style || {});
129
- const [renderType, setRenderType] = useState<"canvas" | "svg">(style?.renderer || "svg"); // 渲染模式
130
- const [size, setSize] = useState<{ width: number, height: number }>();
131
- const [dataConfig, setDataConfig] = useState<DataConfigProps>({ ...propsData }); // 数据源配置
132
- const [data, setData] = useState<{ name: string, data: any }[]>([]);
133
- const [searchParams, setSearchParams] = useState<{ [key: string]: any }>();
134
- const [initSearchParams, setInitSearchParams] = useState<{ [key: string]: any }>();
135
- const [loading, setLoading] = useState<boolean>(false);
136
- const chartRef = useRef<HTMLDivElement>(null);
137
- const chart = useRef<any>(null);
138
- const pollingIntervalRef = useRef<number | NodeJS.Timeout>(null);
139
- const { translate } = useLocale();
140
-
141
- const handleDestroy = () => {
142
- pollingIntervalRef.current && clearInterval(pollingIntervalRef.current);
143
- window.removeEventListener('resize', handleResize);
144
- chart.current && chart.current.dispose();
145
- };
146
-
147
- // 全局初始化请求数据处理
148
- const handleInitData = (val: DataConfigProps) => {
149
- if (val.sourceType === "sourceId" && val.isInit && val.initData) {
150
- const { config: dataConfig, value } = val.initData;
151
- const { nullSetZero } = config || {};
152
- const temData = handleData(value, nullSetZero);
153
- setData(temData);
154
- if (dataConfig?.requestMode === "polling") {
155
- pollingIntervalRef.current = setInterval(() => { getData() }, dataConfig?.pollingInterval || 60000);
156
- }
157
- }
158
- }
159
-
160
- // ws订阅数据更新
161
- const handleWSData = (val: DataConfigProps) => {
162
- if (val.sourceType === "sourceId" && val.wsData) {
163
- const { value } = val.initData;
164
- const { nullSetZero } = config || {};
165
- const temData = handleData(value, nullSetZero);
166
- setData(temData);
167
- }
168
- }
169
-
170
- useImperativeHandle(ref, () => ({
171
- updateConfig: (newConfig) => {
172
- const { base, style: newStyle, data: newDataConfig, initSearchParams: newISParams } = newConfig;
173
- setConfig({ ...(newStyle || {}) });
174
- setSize({ width: base.width, height: base.height });
175
- setDataConfig(newDataConfig);
176
- setRenderType(newStyle?.renderer || "svg");
177
- handleInitData(newDataConfig);
178
- setSearchParams(newDataConfig.searchParams);
179
- setInitSearchParams(newISParams);
180
- handleWSData(newDataConfig);
181
- },
182
- updateSearchParams: (params) => {
183
- setInitSearchParams(params);
184
- },
185
- destroy: handleDestroy,
186
- }));
187
-
188
- // 窗口大小变化时重新调整图表大小
189
- const handleResize = () => {
190
- chart.current.resize({ animation: { duration: 500 } });
191
- };
192
-
193
- useEffect(() => {
194
- return () => {
195
- handleDestroy();
196
- }
197
- }, []);
198
-
199
- useEffect(() => {
200
- handleDestroy();
201
- chart.current = echarts.init(chartRef.current, null, { renderer: renderType, useDirtyRect: true });
202
- window.addEventListener('resize', handleResize);
203
- }, [renderType]);
204
-
205
- // 请求数据
206
- const getData = async (params?: object) => {
207
- const { nullSetZero } = config || {};
208
- setLoading(true);
209
- const { data } = await HydrocarbonService.requestChartData(null, dataConfig?.sourceId, params) || {};
210
- setLoading(false);
211
- const temData = handleData(data?.value, nullSetZero);
212
- setData(temData);
213
- return data?.config;
214
- };
215
-
216
- // 初始化请求数据
217
- const getInitData = async (params?: object) => {
218
- pollingIntervalRef.current && clearInterval(pollingIntervalRef.current);
219
- const config = await getData(params);
220
- if (config?.requestMode === "polling") {
221
- pollingIntervalRef.current = setInterval(() => getData(params), config?.pollingInterval || 60000);
222
- }
223
- };
224
-
225
- // 静态数据处理
226
- useEffect(() => {
227
- if (dataConfig?.sourceType === 'staticData') {
228
- setData(handleData(dataConfig.staticData));
229
- }
230
- }, [dataConfig?.sourceType, dataConfig?.staticData]);
231
-
232
- /**
233
- * 数据源数据请求
234
- * 1、编辑态不请求数据
235
- */
236
- useEffect(() => {
237
- if (!isDesignMode && dataConfig?.sourceType === 'sourceId' && dataConfig?.sourceId && !dataConfig?.isInit && dataConfig?.isDefRequest !== false) {
238
- if (dataConfig?.isInitParams) { // 组件数据源接收外部参数
239
- initSearchParams && getInitData(initSearchParams);
240
- } else {
241
- getInitData();
242
- }
243
- } else if (dataConfig?.sourceType === 'sourceId') {
244
- setData([]);
245
- }
246
- }, [dataConfig?.sourceType, dataConfig?.sourceId, initSearchParams]);
247
-
248
- // 搜索参数变化时重新请求数据
249
- useEffect(() => {
250
- if (searchParams) {
251
- const params = { ...(initSearchParams || {}), ...searchParams };
252
- if (dataConfig?.isInitParams) { // 数据源接收外部参数,则参数存在再请求
253
- initSearchParams && getInitData(params);
254
- } else {
255
- getInitData(params);
256
- }
257
- }
258
- }, [searchParams, initSearchParams]);
259
-
260
- const renderChart = () => {
261
- const { grid, legend, tooltip, color, xAxis, yAxis, smooth, lineStyle, step, isArea, isGradient, areaStyle, barMaxWidth, symbol, dataZoom, slider, connectNulls, markLineColor } = config;
262
- const option = _.cloneDeep(defOption);
263
- // 编辑态无数据显示默认数据
264
- const temData = isDesignMode && !data?.length ? option.series : data;
265
- option.barMaxWidth = barMaxWidth;
266
- option.grid = grid;
267
- option.legend = { ...legend, ...legends[legend?.position], data: temData?.filter((item: any) => !item.isMarkLine).map((r: any) => r.name) };
268
- option.tooltip = { trigger: "axis", ...tooltip };
269
- option.xAxis = { ...option.xAxis, ...xAxis, axisTick: { show: xAxis?.axisLine?.show } };
270
- option.yAxis = { ...option.yAxis, ...yAxis };
271
- option.dataZoom = dataZoom ? [slider ? { type: "slider" } : undefined, { type: "inside", disabled: false }].filter(Boolean) : [];
272
- option.title.text = translate("${暂无数据}");
273
- option.title.show = !temData?.length;
274
- option.series = temData.map((r, index) => {
275
- if (!r.isMarkLine) {
276
- return (index === 0 ? {
277
- type: "line",
278
- ...r,
279
- ...symbol, step, smooth,
280
- itemStyle: symbol.showSymbol ? { color: color[index] } : undefined,
281
- lineStyle: { ...lineStyle, color: color[index] },
282
- areaStyle: isArea ? {
283
- ...areaStyle,
284
- color: isGradient ? new echarts.graphic.LinearGradient(0, 0, 0, 1, [
285
- { offset: 0, color: color[index] },
286
- { offset: 1, color: 'rgba(0, 0, 0, 0)' }
287
- ]) : color[index]
288
- } : undefined,
289
- connectNulls
290
- } : {
291
- type: "bar",
292
- ...r,
293
- itemStyle: { color: color[index] },
294
- });
295
- } else { // 标记线显示配置
296
- const temData = r.data.filter(r => r[1] || r[1] === 0); // 过滤掉无数据的值
297
- const startData = temData[0];
298
- const lastData = temData[temData.length - 1];
299
- const temColor = markLineColor?.[index - r.vLength];
300
- if (!(startData && lastData)) {
301
- return undefined;
302
- }
303
- return {
304
- type: "line",
305
- ...r,
306
- data: r.data,
307
- step: 'end',
308
- showSymbol: false,
309
- tooltip: { show: false },
310
- lineStyle: { width: 1, color: temColor, type: 'dashed' },
311
- connectNulls: true,
312
- markLine: { // 拼接标记线以显示箭头
313
- symbol: ['none', 'arrow'], // 起点无箭头,终点显示箭头
314
- symbolSize: 6,
315
- silent: true, // 不触发鼠标事件
316
- lineStyle: { color: temColor },
317
- label: {
318
- show: true,
319
- color: temColor,
320
- position: 'insideEndTop',
321
- formatter: lastData[1]
322
- },
323
- data: [
324
- [
325
- { coord: startData, },
326
- { coord: startData, x: grid.left, symbol: "none", label: { show: false } },
327
- ],
328
- [
329
- { coord: lastData },
330
- { coord: lastData, x: chartRef.current.clientWidth - grid.right }
331
- ]
332
- ]
333
- }
334
- }
335
- }
336
- }).filter(Boolean);
337
- chart.current.setOption(option, true);
338
- };
339
-
340
- useEffect(() => {
341
- if (config) {
342
- renderChart();
343
- }
344
- }, [config, data]);
345
-
346
- useEffect(() => {
347
- if (size) {
348
- handleResize();
349
- }
350
- }, [size]);
351
-
352
- const renderChartDom = () => <div ref={chartRef} style={{ width: '100%', height: '100%' }} />;
353
-
354
- if (isDesignMode) {
355
- return renderChartDom();
356
- }
357
-
358
- return <Spin spinning={loading}>{renderChartDom()}</Spin>;
359
- });
360
-
361
- export default Index;
362
-
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 { useLocale } from "../../locale/useLocale";
6
+ import HydrocarbonService from "../../tmpl/hcservice-v3";
7
+ import { DataConfigProps } from "../data";
8
+ import { handleTimeDataSort } from "../line-chart";
9
+
10
+
11
+ const defOption = {
12
+ title: {
13
+ text: '暂无数据',
14
+ left: 'center',
15
+ top: 'middle',
16
+ show: false, // 无数据时显示
17
+ },
18
+ tooltip: { trigger: "axis" },
19
+ grid: { top: 30, left: 30, right: 20, bottom: 30 },
20
+ xAxis: {
21
+ type: 'category',
22
+ boundaryGap: true,
23
+ axisTick: { show: true },
24
+ },
25
+ yAxis: {
26
+ type: 'value'
27
+ },
28
+ legend: { show: false },
29
+ barMaxWidth: 20,
30
+ dataZoom: [],
31
+ series: [
32
+ {
33
+ data: [["1990", 225], ["1991", 359], ["1992", 57], ["1993", 214], ["1994", 134], ["1995", 250], ["1996", 156]],
34
+ type: 'line',
35
+ },
36
+ {
37
+ data: [["1990", 325], ["1991", 259], ["1992", 157], ["1993", 314], ["1994", 234], ["1995", 150], ["1996", 256]],
38
+ type: 'bar',
39
+ }
40
+ ]
41
+ };
42
+
43
+ const legends = {
44
+ top: { top: 0 },
45
+ bottom: { bottom: 0 },
46
+ left: { left: 5, top: "center" },
47
+ right: { right: 5, top: "center" },
48
+ leftTop: { left: 5 },
49
+ rightTop: { right: 5 },
50
+ leftBottom: { left: 5, bottom: 0 },
51
+ rightBottom: { right: 5, bottom: 0 },
52
+ };
53
+
54
+ // 处理数据格式 nullSetZero(是否空值置0)
55
+ const handleData = (data: { config: { [key: string]: string }, value: { [key: string]: any }[] }[], nullSetZero?: boolean) => {
56
+ if (!data?.length) {
57
+ return [];
58
+ }
59
+ const temData = data.map((r) => {
60
+ const { config, value } = r;
61
+ const isD = Object.keys(config).some(r => r.includes("d"));
62
+ const vNames = Object.keys(config).filter((r) => r.startsWith("v") && !r.includes("-")).sort((a, b) => parseInt(a.substring(1)) - parseInt(b.substring(1)));
63
+ // 过滤只有t1、t2等数据
64
+ const tNames = Object.keys(config).filter((r) => r.startsWith("t") && !r.includes("-")).sort((a, b) => parseInt(a.substring(1)) - parseInt(b.substring(1)));
65
+ return isD ? {
66
+ name: config.d1,
67
+ data: [
68
+ ...vNames.map((r) => ({
69
+ name: config[r],
70
+ data: handleTimeDataSort(value, r, nullSetZero),
71
+ })),
72
+ ...tNames.map((r) => ({
73
+ vLength: vNames.length,
74
+ isMarkLine: true,
75
+ name: config[r],
76
+ data: handleTimeDataSort(value, r, nullSetZero)
77
+ }))
78
+ ]
79
+ } : {
80
+ data: value.map((r, index) => ({ name: `数值${index || ""}`, data: vNames.map(v => [config[v], nullSetZero ? (r[v] || 0) : r[v]]) }))
81
+ };
82
+ });
83
+ return temData[0]?.data || [];
84
+ };
85
+
86
+ export interface ComponentStyle {
87
+ tooltip?: { show: boolean };
88
+ color?: string[];
89
+ grid?: { top: number, left: number, right: number, bottom: number };
90
+ xAxis?: { [key: string]: any };
91
+ yAxis?: { [key: string]: any };
92
+ legend?: { [key: string]: any };
93
+ markPoint?: { [key: string]: any };
94
+ smooth?: boolean;
95
+ lineStyle?: { [key: string]: any };
96
+ symbol?: { [key: string]: any };
97
+ step?: boolean; // 是否为阶梯折线图
98
+ isArea?: boolean; // 是否面积图
99
+ isGradient?: boolean; // 面积图是否渐变
100
+ areaStyle?: { opacity: number }; // 面积图样式
101
+ renderer?: "canvas" | "svg";
102
+ barMaxWidth?: number; //柱状图最大宽度
103
+ dataZoom?: boolean;
104
+ slider?: boolean; // 区域缩放是否显示滑动条
105
+ connectNulls?: boolean; // 是否连接空值
106
+ nullSetZero?: boolean; // 空值是否置0
107
+ markLineColor?: string[]; // 标记线颜色
108
+ }
109
+
110
+ export interface ComponentProps {
111
+ style?: ComponentStyle;
112
+ base?: { width: number, height: number };
113
+ data?: DataConfigProps;
114
+ isDesignMode?: boolean; // 是否编辑模式
115
+ initSearchParams?: { [key: string]: any }; // 全局初始化外部参数,例:传参包含设备id,则在查询时带上设备id
116
+ }
117
+
118
+ export interface ComponentRef {
119
+ updateConfig: (newConfig: ComponentProps) => void;
120
+ destroy: () => void;
121
+ updateSearchParams: (params: { [key: string]: any }) => void;
122
+ }
123
+
124
+ const Index = forwardRef((props: ComponentProps, ref: ForwardedRef<ComponentRef>) => {
125
+ const { style, data: propsData, isDesignMode } = props;
126
+ const [config, setConfig] = useState<ComponentStyle>(style || {});
127
+ const [renderType, setRenderType] = useState<"canvas" | "svg">(style?.renderer || "svg"); // 渲染模式
128
+ const [size, setSize] = useState<{ width: number, height: number }>();
129
+ const [dataConfig, setDataConfig] = useState<DataConfigProps>({ ...propsData }); // 数据源配置
130
+ const [data, setData] = useState<{ name: string, data: any }[]>([]);
131
+ const [searchParams, setSearchParams] = useState<{ [key: string]: any }>();
132
+ const [initSearchParams, setInitSearchParams] = useState<{ [key: string]: any }>();
133
+ const [loading, setLoading] = useState<boolean>(false);
134
+ const chartRef = useRef<HTMLDivElement>(null);
135
+ const chart = useRef<any>(null);
136
+ const pollingIntervalRef = useRef<number | NodeJS.Timeout>(null);
137
+ const { translate } = useLocale();
138
+
139
+ const handleDestroy = () => {
140
+ pollingIntervalRef.current && clearInterval(pollingIntervalRef.current);
141
+ window.removeEventListener('resize', handleResize);
142
+ chart.current && chart.current.dispose();
143
+ };
144
+
145
+ // 全局初始化请求数据处理
146
+ const handleInitData = (val: DataConfigProps) => {
147
+ if (val.sourceType === "sourceId" && val.isInit && val.initData) {
148
+ const { config: dataConfig, value } = val.initData;
149
+ const { nullSetZero } = config || {};
150
+ const temData = handleData(value, nullSetZero);
151
+ setData(temData);
152
+ if (dataConfig?.requestMode === "polling") {
153
+ pollingIntervalRef.current = setInterval(() => { getData() }, dataConfig?.pollingInterval || 60000);
154
+ }
155
+ }
156
+ }
157
+
158
+ // ws订阅数据更新
159
+ const handleWSData = (val: DataConfigProps) => {
160
+ if (val.sourceType === "sourceId" && val.wsData) {
161
+ const { value } = val.initData;
162
+ const { nullSetZero } = config || {};
163
+ const temData = handleData(value, nullSetZero);
164
+ setData(temData);
165
+ }
166
+ }
167
+
168
+ useImperativeHandle(ref, () => ({
169
+ updateConfig: (newConfig) => {
170
+ const { base, style: newStyle, data: newDataConfig, initSearchParams: newISParams } = newConfig;
171
+ setConfig({ ...(newStyle || {}) });
172
+ setSize({ width: base.width, height: base.height });
173
+ setDataConfig(newDataConfig);
174
+ setRenderType(newStyle?.renderer || "svg");
175
+ handleInitData(newDataConfig);
176
+ setSearchParams(newDataConfig.searchParams);
177
+ setInitSearchParams(newISParams);
178
+ handleWSData(newDataConfig);
179
+ },
180
+ updateSearchParams: (params) => {
181
+ setInitSearchParams(params);
182
+ },
183
+ destroy: handleDestroy,
184
+ }));
185
+
186
+ // 窗口大小变化时重新调整图表大小
187
+ const handleResize = () => {
188
+ chart.current.resize({ animation: { duration: 500 } });
189
+ };
190
+
191
+ useEffect(() => {
192
+ return () => {
193
+ handleDestroy();
194
+ }
195
+ }, []);
196
+
197
+ useEffect(() => {
198
+ handleDestroy();
199
+ chart.current = echarts.init(chartRef.current, null, { renderer: renderType, useDirtyRect: true });
200
+ window.addEventListener('resize', handleResize);
201
+ }, [renderType]);
202
+
203
+ // 请求数据
204
+ const getData = async (params?: object) => {
205
+ const { nullSetZero } = config || {};
206
+ setLoading(true);
207
+ const { data } = await HydrocarbonService.requestChartData(null, dataConfig?.sourceId, params) || {};
208
+ setLoading(false);
209
+ const temData = handleData(data?.value, nullSetZero);
210
+ setData(temData);
211
+ return data?.config;
212
+ };
213
+
214
+ // 初始化请求数据
215
+ const getInitData = async (params?: object) => {
216
+ pollingIntervalRef.current && clearInterval(pollingIntervalRef.current);
217
+ const config = await getData(params);
218
+ if (config?.requestMode === "polling") {
219
+ pollingIntervalRef.current = setInterval(() => getData(params), config?.pollingInterval || 60000);
220
+ }
221
+ };
222
+
223
+ // 静态数据处理
224
+ useEffect(() => {
225
+ if (dataConfig?.sourceType === 'staticData') {
226
+ setData(handleData(dataConfig.staticData));
227
+ }
228
+ }, [dataConfig?.sourceType, dataConfig?.staticData]);
229
+
230
+ /**
231
+ * 数据源数据请求
232
+ * 1、编辑态不请求数据
233
+ */
234
+ useEffect(() => {
235
+ if (!isDesignMode && dataConfig?.sourceType === 'sourceId' && dataConfig?.sourceId && !dataConfig?.isInit && dataConfig?.isDefRequest !== false) {
236
+ if (dataConfig?.isInitParams) { // 组件数据源接收外部参数
237
+ initSearchParams && getInitData(initSearchParams);
238
+ } else {
239
+ getInitData();
240
+ }
241
+ } else if (dataConfig?.sourceType === 'sourceId') {
242
+ setData([]);
243
+ }
244
+ }, [dataConfig?.sourceType, dataConfig?.sourceId, initSearchParams]);
245
+
246
+ // 搜索参数变化时重新请求数据
247
+ useEffect(() => {
248
+ if (searchParams) {
249
+ const params = { ...(initSearchParams || {}), ...searchParams };
250
+ if (dataConfig?.isInitParams) { // 数据源接收外部参数,则参数存在再请求
251
+ initSearchParams && getInitData(params);
252
+ } else {
253
+ getInitData(params);
254
+ }
255
+ }
256
+ }, [searchParams, initSearchParams]);
257
+
258
+ const renderChart = () => {
259
+ const { grid, legend, tooltip, color, xAxis, yAxis, smooth, lineStyle, step, isArea, isGradient, areaStyle, barMaxWidth, symbol, dataZoom, slider, connectNulls, markLineColor } = config;
260
+ const option = _.cloneDeep(defOption);
261
+ // 编辑态无数据显示默认数据
262
+ const temData = isDesignMode && !data?.length ? option.series : data;
263
+ option.barMaxWidth = barMaxWidth;
264
+ option.grid = grid;
265
+ option.legend = { ...legend, ...legends[legend?.position], data: temData?.filter((item: any) => !item.isMarkLine).map((r: any) => r.name) };
266
+ option.tooltip = { trigger: "axis", ...tooltip };
267
+ option.xAxis = { ...option.xAxis, ...xAxis, axisTick: { show: xAxis?.axisLine?.show } };
268
+ option.yAxis = { ...option.yAxis, ...yAxis };
269
+ option.dataZoom = dataZoom ? [slider ? { type: "slider" } : undefined, { type: "inside", disabled: false }].filter(Boolean) : [];
270
+ option.title.text = translate("${暂无数据}");
271
+ option.title.show = !temData?.length;
272
+ option.series = temData.map((r, index) => {
273
+ if (!r.isMarkLine) {
274
+ return (index === 0 ? {
275
+ type: "line",
276
+ ...r,
277
+ ...symbol, step, smooth,
278
+ itemStyle: symbol.showSymbol ? { color: color[index] } : undefined,
279
+ lineStyle: { ...lineStyle, color: color[index] },
280
+ areaStyle: isArea ? {
281
+ ...areaStyle,
282
+ color: isGradient ? new echarts.graphic.LinearGradient(0, 0, 0, 1, [
283
+ { offset: 0, color: color[index] },
284
+ { offset: 1, color: 'rgba(0, 0, 0, 0)' }
285
+ ]) : color[index]
286
+ } : undefined,
287
+ connectNulls
288
+ } : {
289
+ type: "bar",
290
+ ...r,
291
+ itemStyle: { color: color[index] },
292
+ });
293
+ } else { // 标记线显示配置
294
+ const temData = r.data.filter(r => r[1] || r[1] === 0); // 过滤掉无数据的值
295
+ const startData = temData[0];
296
+ const lastData = temData[temData.length - 1];
297
+ const temColor = markLineColor?.[index - r.vLength];
298
+ if (!(startData && lastData)) {
299
+ return undefined;
300
+ }
301
+ return {
302
+ type: "line",
303
+ ...r,
304
+ data: r.data,
305
+ step: 'end',
306
+ showSymbol: false,
307
+ tooltip: { show: false },
308
+ lineStyle: { width: 1, color: temColor, type: 'dashed' },
309
+ connectNulls: true,
310
+ markLine: { // 拼接标记线以显示箭头
311
+ symbol: ['none', 'arrow'], // 起点无箭头,终点显示箭头
312
+ symbolSize: 6,
313
+ silent: true, // 不触发鼠标事件
314
+ lineStyle: { color: temColor },
315
+ label: {
316
+ show: true,
317
+ color: temColor,
318
+ position: 'insideEndTop',
319
+ formatter: lastData[1]
320
+ },
321
+ data: [
322
+ [
323
+ { coord: startData, },
324
+ { coord: startData, x: grid.left, symbol: "none", label: { show: false } },
325
+ ],
326
+ [
327
+ { coord: lastData },
328
+ { coord: lastData, x: chartRef.current.clientWidth - grid.right }
329
+ ]
330
+ ]
331
+ }
332
+ }
333
+ }
334
+ }).filter(Boolean);
335
+ chart.current.setOption(option, true);
336
+ };
337
+
338
+ useEffect(() => {
339
+ if (config) {
340
+ renderChart();
341
+ }
342
+ }, [config, data]);
343
+
344
+ useEffect(() => {
345
+ if (size) {
346
+ handleResize();
347
+ }
348
+ }, [size]);
349
+
350
+ const renderChartDom = () => <div ref={chartRef} style={{ width: '100%', height: '100%' }} />;
351
+
352
+ if (isDesignMode) {
353
+ return renderChartDom();
354
+ }
355
+
356
+ return <Spin spinning={loading}>{renderChartDom()}</Spin>;
357
+ });
358
+
359
+ export default Index;
360
+