bbj-screen-widget 2.4.61 → 2.4.62

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 (735) hide show
  1. package/core/package.json +2 -10
  2. package/core/src/service/baidu-map.service.ts +107 -0
  3. package/karma.conf.js +32 -0
  4. package/ng-package.json +59 -0
  5. package/package.json +4 -13
  6. package/src/lib/announcement/announcement.component.html +3 -0
  7. package/src/lib/announcement/announcement.component.less +5 -0
  8. package/src/lib/announcement/announcement.component.spec.ts +25 -0
  9. package/src/lib/announcement/announcement.component.ts +55 -0
  10. package/src/lib/announcement/announcement.module.ts +19 -0
  11. package/src/lib/audio/audio.component.html +6 -0
  12. package/src/lib/audio/audio.component.less +12 -0
  13. package/src/lib/audio/audio.component.spec.ts +25 -0
  14. package/src/lib/audio/audio.component.ts +167 -0
  15. package/src/lib/audio/audio.module.ts +15 -0
  16. package/src/lib/background/background.component.html +1 -0
  17. package/src/lib/background/background.component.less +6 -0
  18. package/src/lib/background/background.component.spec.ts +25 -0
  19. package/src/lib/background/background.component.ts +33 -0
  20. package/src/lib/background/background.module.ts +14 -0
  21. package/src/lib/bar-chart-three-d/bar-chart-three-d.component.html +1 -0
  22. package/src/lib/bar-chart-three-d/bar-chart-three-d.component.less +8 -0
  23. package/src/lib/bar-chart-three-d/bar-chart-three-d.component.spec.ts +25 -0
  24. package/src/lib/bar-chart-three-d/bar-chart-three-d.component.ts +271 -0
  25. package/src/lib/bar-chart-three-d/bar-chart-three-d.module.ts +15 -0
  26. package/src/lib/basic-bar-chart/basic-bar-chart.component.html +7 -0
  27. package/src/lib/basic-bar-chart/basic-bar-chart.component.less +5 -0
  28. package/src/lib/basic-bar-chart/basic-bar-chart.component.spec.ts +25 -0
  29. package/src/lib/basic-bar-chart/basic-bar-chart.component.ts +493 -0
  30. package/src/lib/basic-bar-chart/basic-bar-chart.module.ts +21 -0
  31. package/src/lib/basic-line-chart/basic-line-chart.component.html +7 -0
  32. package/src/lib/basic-line-chart/basic-line-chart.component.less +8 -0
  33. package/src/lib/basic-line-chart/basic-line-chart.component.spec.ts +25 -0
  34. package/src/lib/basic-line-chart/basic-line-chart.component.ts +654 -0
  35. package/src/lib/basic-line-chart/basic-line-chart.module.ts +15 -0
  36. package/src/lib/basic-pie-chart/basic-pie-chart.component.html +7 -0
  37. package/src/lib/basic-pie-chart/basic-pie-chart.component.less +8 -0
  38. package/src/lib/basic-pie-chart/basic-pie-chart.component.spec.ts +25 -0
  39. package/src/lib/basic-pie-chart/basic-pie-chart.component.ts +439 -0
  40. package/src/lib/basic-pie-chart/basic-pie-chart.module.ts +15 -0
  41. package/src/lib/basic-planimetric-map/basic-planimetric-map.component.html +2 -0
  42. package/src/lib/basic-planimetric-map/basic-planimetric-map.component.less +9 -0
  43. package/src/lib/basic-planimetric-map/basic-planimetric-map.component.spec.ts +25 -0
  44. package/src/lib/basic-planimetric-map/basic-planimetric-map.component.ts +211 -0
  45. package/src/lib/basic-planimetric-map/basic-planimetric-map.module.ts +16 -0
  46. package/src/lib/breathing-bubble-layer/breathing-bubble-layer.component.css +0 -0
  47. package/src/lib/breathing-bubble-layer/breathing-bubble-layer.component.html +1 -0
  48. package/src/lib/breathing-bubble-layer/breathing-bubble-layer.component.spec.ts +25 -0
  49. package/src/lib/breathing-bubble-layer/breathing-bubble-layer.component.ts +487 -0
  50. package/src/lib/breathing-bubble-layer/breathing-bubble-layer.module.ts +14 -0
  51. package/src/lib/bubble-chart/bubble-chart.component.html +7 -0
  52. package/src/lib/bubble-chart/bubble-chart.component.less +8 -0
  53. package/src/lib/bubble-chart/bubble-chart.component.spec.ts +25 -0
  54. package/src/lib/bubble-chart/bubble-chart.component.ts +307 -0
  55. package/src/lib/bubble-chart/bubble-chart.module.ts +15 -0
  56. package/src/lib/bulletin-board/bulletin-board.component.html +15 -0
  57. package/src/lib/bulletin-board/bulletin-board.component.less +27 -0
  58. package/src/lib/bulletin-board/bulletin-board.component.spec.ts +25 -0
  59. package/src/lib/bulletin-board/bulletin-board.component.ts +127 -0
  60. package/src/lib/bulletin-board/bulletin-board.module.ts +20 -0
  61. package/src/lib/button/button.component.html +1 -0
  62. package/src/lib/button/button.component.less +17 -0
  63. package/src/lib/button/button.component.spec.ts +25 -0
  64. package/src/lib/button/button.component.ts +137 -0
  65. package/src/lib/button/button.module.ts +16 -0
  66. package/src/lib/calendar/background-events/background-events.component.html +0 -0
  67. package/src/lib/calendar/background-events/background-events.component.less +0 -0
  68. package/src/lib/calendar/background-events/background-events.component.spec.ts +25 -0
  69. package/src/lib/calendar/background-events/background-events.component.ts +51 -0
  70. package/src/lib/calendar/calendar-events-child.ts +27 -0
  71. package/src/lib/calendar/calendar.component.html +2 -0
  72. package/src/lib/calendar/calendar.component.less +14 -0
  73. package/src/lib/calendar/calendar.component.spec.ts +25 -0
  74. package/src/lib/calendar/calendar.component.ts +151 -0
  75. package/src/lib/calendar/calendar.module.ts +27 -0
  76. package/src/lib/calendar/calendar.util.ts +14 -0
  77. package/src/lib/calendar/events/events.component.html +0 -0
  78. package/src/lib/calendar/events/events.component.less +0 -0
  79. package/src/lib/calendar/events/events.component.spec.ts +25 -0
  80. package/src/lib/calendar/events/events.component.ts +61 -0
  81. package/src/lib/checkbox/checkbox.component.html +61 -0
  82. package/src/lib/checkbox/checkbox.component.less +104 -0
  83. package/src/lib/checkbox/checkbox.component.spec.ts +25 -0
  84. package/src/lib/checkbox/checkbox.component.ts +292 -0
  85. package/src/lib/checkbox/checkbox.module.ts +16 -0
  86. package/src/lib/cross-table/cross-table.component.html +16 -0
  87. package/src/lib/cross-table/cross-table.component.less +75 -0
  88. package/src/lib/cross-table/cross-table.component.spec.ts +25 -0
  89. package/src/lib/cross-table/cross-table.component.ts +257 -0
  90. package/src/lib/cross-table/cross-table.module.ts +18 -0
  91. package/src/lib/custom-baidu-map/baidu-marker-layer/baidu-marker-layer.component.html +32 -0
  92. package/src/lib/custom-baidu-map/baidu-marker-layer/baidu-marker-layer.component.less +11 -0
  93. package/src/lib/custom-baidu-map/baidu-marker-layer/baidu-marker-layer.component.spec.ts +25 -0
  94. package/src/lib/custom-baidu-map/baidu-marker-layer/baidu-marker-layer.component.ts +689 -0
  95. package/src/lib/custom-baidu-map/baidu-polyline-layer/baidu-polyline-layer.component.html +0 -0
  96. package/src/lib/custom-baidu-map/baidu-polyline-layer/baidu-polyline-layer.component.less +0 -0
  97. package/src/lib/custom-baidu-map/baidu-polyline-layer/baidu-polyline-layer.component.spec.ts +25 -0
  98. package/src/lib/custom-baidu-map/baidu-polyline-layer/baidu-polyline-layer.component.ts +248 -0
  99. package/src/lib/custom-baidu-map/base-layer.ts +50 -0
  100. package/src/lib/custom-baidu-map/custom-baidu-map.component.html +15 -0
  101. package/src/lib/custom-baidu-map/custom-baidu-map.component.less +69 -0
  102. package/src/lib/custom-baidu-map/custom-baidu-map.component.spec.ts +25 -0
  103. package/src/lib/custom-baidu-map/custom-baidu-map.component.ts +652 -0
  104. package/src/lib/custom-baidu-map/custom-baidu-map.module.ts +41 -0
  105. package/src/lib/custom-baidu-map/typhoon-area-layer/typhoon-area-layer.component.html +0 -0
  106. package/src/lib/custom-baidu-map/typhoon-area-layer/typhoon-area-layer.component.less +0 -0
  107. package/src/lib/custom-baidu-map/typhoon-area-layer/typhoon-area-layer.component.spec.ts +25 -0
  108. package/src/lib/custom-baidu-map/typhoon-area-layer/typhoon-area-layer.component.ts +99 -0
  109. package/src/lib/custom-baidu-map/wind-layer/wind-layer.component.html +0 -0
  110. package/src/lib/custom-baidu-map/wind-layer/wind-layer.component.less +0 -0
  111. package/src/lib/custom-baidu-map/wind-layer/wind-layer.component.spec.ts +25 -0
  112. package/src/lib/custom-baidu-map/wind-layer/wind-layer.component.ts +404 -0
  113. package/src/lib/data-map/data-map.component.html +9 -0
  114. package/src/lib/data-map/data-map.component.less +0 -0
  115. package/src/lib/data-map/data-map.component.spec.ts +25 -0
  116. package/src/lib/data-map/data-map.component.ts +105 -0
  117. package/src/lib/data-map/data-map.module.ts +15 -0
  118. package/src/lib/date-picker/date-picker.component.html +32 -0
  119. package/src/lib/date-picker/date-picker.component.less +20 -0
  120. package/src/lib/date-picker/date-picker.component.spec.ts +25 -0
  121. package/src/lib/date-picker/date-picker.component.ts +389 -0
  122. package/src/lib/date-picker/date-picker.module.ts +18 -0
  123. package/src/lib/drop-down-detail-list/drop-down-detail-list.component.html +25 -0
  124. package/src/lib/drop-down-detail-list/drop-down-detail-list.component.less +35 -0
  125. package/src/lib/drop-down-detail-list/drop-down-detail-list.component.spec.ts +25 -0
  126. package/src/lib/drop-down-detail-list/drop-down-detail-list.component.ts +117 -0
  127. package/src/lib/drop-down-detail-list/drop-down-detail-list.module.ts +15 -0
  128. package/src/lib/dynamic-list/dynamic-list.component.html +15 -0
  129. package/src/lib/dynamic-list/dynamic-list.component.less +31 -0
  130. package/src/lib/dynamic-list/dynamic-list.component.spec.ts +25 -0
  131. package/src/lib/dynamic-list/dynamic-list.component.ts +57 -0
  132. package/src/lib/dynamic-list/dynamic-list.module.ts +15 -0
  133. package/src/lib/funnel-chart/funnel-chart.component.html +7 -0
  134. package/src/lib/funnel-chart/funnel-chart.component.less +8 -0
  135. package/src/lib/funnel-chart/funnel-chart.component.spec.ts +25 -0
  136. package/src/lib/funnel-chart/funnel-chart.component.ts +198 -0
  137. package/src/lib/funnel-chart/funnel-chart.module.ts +15 -0
  138. package/src/lib/gantt/gantt.component.html +10 -0
  139. package/src/lib/gantt/gantt.component.less +76 -0
  140. package/src/lib/gantt/gantt.component.spec.ts +25 -0
  141. package/src/lib/gantt/gantt.component.ts +213 -0
  142. package/src/lib/gantt/gantt.module.ts +37 -0
  143. package/src/lib/gauge/gauge.component.html +1 -0
  144. package/src/lib/gauge/gauge.component.less +8 -0
  145. package/src/lib/gauge/gauge.component.spec.ts +25 -0
  146. package/src/lib/gauge/gauge.component.ts +268 -0
  147. package/src/lib/gauge/gauge.module.ts +15 -0
  148. package/src/lib/gauge-progress/gauge-progress.component.html +29 -0
  149. package/src/lib/gauge-progress/gauge-progress.component.less +51 -0
  150. package/src/lib/gauge-progress/gauge-progress.component.ts +293 -0
  151. package/src/lib/gauge-progress/gauge.module.ts +17 -0
  152. package/src/lib/general-text/general-text.component.html +7 -0
  153. package/src/lib/general-text/general-text.component.less +8 -0
  154. package/src/lib/general-text/general-text.component.spec.ts +25 -0
  155. package/src/lib/general-text/general-text.component.ts +114 -0
  156. package/src/lib/general-text/general-text.module.ts +15 -0
  157. package/src/lib/iconfont/icon.ts +198 -0
  158. package/src/lib/iconfont/iconfont.component.html +4 -0
  159. package/src/lib/iconfont/iconfont.component.less +5 -0
  160. package/src/lib/iconfont/iconfont.component.spec.ts +25 -0
  161. package/src/lib/iconfont/iconfont.component.ts +42 -0
  162. package/src/lib/iconfont/iconfont.module.ts +15 -0
  163. package/src/lib/iframe/iframe.component.html +1 -0
  164. package/src/lib/iframe/iframe.component.less +13 -0
  165. package/src/lib/iframe/iframe.component.spec.ts +25 -0
  166. package/src/lib/iframe/iframe.component.ts +34 -0
  167. package/src/lib/iframe/iframe.module.ts +15 -0
  168. package/src/lib/image/image.component.html +2 -0
  169. package/src/lib/image/image.component.less +13 -0
  170. package/src/lib/image/image.component.spec.ts +25 -0
  171. package/src/lib/image/image.component.ts +79 -0
  172. package/src/lib/image/image.module.ts +14 -0
  173. package/src/lib/item-swiper/item-swiper.component.html +48 -0
  174. package/src/lib/item-swiper/item-swiper.component.less +75 -0
  175. package/src/lib/item-swiper/item-swiper.component.spec.ts +25 -0
  176. package/src/lib/item-swiper/item-swiper.component.ts +277 -0
  177. package/src/lib/item-swiper/item-swiper.module.ts +17 -0
  178. package/src/lib/line-bar-chart/line-bar-chart.component.html +7 -0
  179. package/src/lib/line-bar-chart/line-bar-chart.component.less +3 -0
  180. package/src/lib/line-bar-chart/line-bar-chart.component.spec.ts +25 -0
  181. package/src/lib/line-bar-chart/line-bar-chart.component.ts +346 -0
  182. package/src/lib/line-bar-chart/line-bar-chart.module.ts +15 -0
  183. package/src/lib/line-light-flow/line-light-flow.component.css +0 -0
  184. package/src/lib/line-light-flow/line-light-flow.component.html +3 -0
  185. package/src/lib/line-light-flow/line-light-flow.component.spec.ts +25 -0
  186. package/src/lib/line-light-flow/line-light-flow.component.ts +274 -0
  187. package/src/lib/line-light-flow/line-light-flow.module.ts +21 -0
  188. package/src/lib/liquid-fill/liquid-fill.component.html +1 -0
  189. package/src/lib/liquid-fill/liquid-fill.component.less +8 -0
  190. package/src/lib/liquid-fill/liquid-fill.component.spec.ts +25 -0
  191. package/src/lib/liquid-fill/liquid-fill.component.ts +127 -0
  192. package/src/lib/liquid-fill/liquid-fill.module.ts +15 -0
  193. package/src/lib/marquee/marquee.component.html +5 -0
  194. package/src/lib/marquee/marquee.component.less +9 -0
  195. package/src/lib/marquee/marquee.component.spec.ts +25 -0
  196. package/src/lib/marquee/marquee.component.ts +84 -0
  197. package/src/lib/marquee/marquee.module.ts +14 -0
  198. package/src/lib/mip-anim/mip-anim.component.html +1 -0
  199. package/src/lib/mip-anim/mip-anim.component.less +7 -0
  200. package/src/lib/mip-anim/mip-anim.component.spec.ts +25 -0
  201. package/src/lib/mip-anim/mip-anim.component.ts +18 -0
  202. package/src/lib/mip-anim/mip-anim.module.ts +14 -0
  203. package/src/lib/multi-title-gauge/multi-title-gauge.component.html +1 -0
  204. package/src/lib/multi-title-gauge/multi-title-gauge.component.less +9 -0
  205. package/src/lib/multi-title-gauge/multi-title-gauge.component.spec.ts +25 -0
  206. package/src/lib/multi-title-gauge/multi-title-gauge.component.ts +231 -0
  207. package/src/lib/multi-title-gauge/multi-title-gauge.module.ts +19 -0
  208. package/src/lib/number-flop/number-flop.component.html +31 -0
  209. package/src/lib/number-flop/number-flop.component.less +155 -0
  210. package/src/lib/number-flop/number-flop.component.spec.ts +25 -0
  211. package/src/lib/number-flop/number-flop.component.ts +96 -0
  212. package/src/lib/number-flop/number-flop.module.ts +14 -0
  213. package/src/lib/parent-container/parent-container.component.html +0 -0
  214. package/src/lib/parent-container/parent-container.component.less +0 -0
  215. package/src/lib/parent-container/parent-container.component.spec.ts +25 -0
  216. package/src/lib/parent-container/parent-container.component.ts +21 -0
  217. package/src/lib/parent-container/parent-container.module.ts +14 -0
  218. package/src/lib/percent-pie-chart/percent-pie-chart.component.html +8 -0
  219. package/src/lib/percent-pie-chart/percent-pie-chart.component.less +8 -0
  220. package/src/lib/percent-pie-chart/percent-pie-chart.component.spec.ts +25 -0
  221. package/src/lib/percent-pie-chart/percent-pie-chart.component.ts +213 -0
  222. package/src/lib/percent-pie-chart/percent-pie-chart.module.ts +15 -0
  223. package/src/lib/pie3d-chart/pie3d-chart.component.html +1 -0
  224. package/src/lib/pie3d-chart/pie3d-chart.component.less +9 -0
  225. package/src/lib/pie3d-chart/pie3d-chart.component.spec.ts +25 -0
  226. package/src/lib/pie3d-chart/pie3d-chart.component.ts +278 -0
  227. package/src/lib/pie3d-chart/pie3d-chart.module.ts +16 -0
  228. package/src/lib/planimetric-map2d/fly-line-layer/fly-line-layer.component.html +0 -0
  229. package/src/lib/planimetric-map2d/fly-line-layer/fly-line-layer.component.less +0 -0
  230. package/src/lib/planimetric-map2d/fly-line-layer/fly-line-layer.component.spec.ts +25 -0
  231. package/src/lib/planimetric-map2d/fly-line-layer/fly-line-layer.component.ts +411 -0
  232. package/src/lib/planimetric-map2d/fly-line-layer/fly-line-layer.module.ts +13 -0
  233. package/src/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.component.html +1 -0
  234. package/src/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.component.less +0 -0
  235. package/src/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.component.spec.ts +25 -0
  236. package/src/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.component.ts +235 -0
  237. package/src/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.module.ts +16 -0
  238. package/src/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.component.html +0 -0
  239. package/src/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.component.less +0 -0
  240. package/src/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.component.spec.ts +25 -0
  241. package/src/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.component.ts +107 -0
  242. package/src/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.module.ts +17 -0
  243. package/src/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.component.html +0 -0
  244. package/src/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.component.less +0 -0
  245. package/src/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.component.spec.ts +25 -0
  246. package/src/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.component.ts +337 -0
  247. package/src/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.module.ts +18 -0
  248. package/src/lib/planimetric-map2d/planimetric-map2d.component.html +11 -0
  249. package/src/lib/planimetric-map2d/planimetric-map2d.component.less +9 -0
  250. package/src/lib/planimetric-map2d/planimetric-map2d.component.spec.ts +25 -0
  251. package/src/lib/planimetric-map2d/planimetric-map2d.component.ts +690 -0
  252. package/src/lib/planimetric-map2d/planimetric-map2d.module.ts +29 -0
  253. package/src/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.component.html +0 -0
  254. package/src/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.component.less +0 -0
  255. package/src/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.component.spec.ts +25 -0
  256. package/src/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.component.ts +123 -0
  257. package/src/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.module.ts +14 -0
  258. package/src/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.component.html +0 -0
  259. package/src/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.component.less +0 -0
  260. package/src/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.component.spec.ts +25 -0
  261. package/src/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.component.ts +229 -0
  262. package/src/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.module.ts +14 -0
  263. package/src/lib/planimetric-map3d/planimetric-map3d.component.html +2 -0
  264. package/src/lib/planimetric-map3d/planimetric-map3d.component.less +10 -0
  265. package/src/lib/planimetric-map3d/planimetric-map3d.component.spec.ts +25 -0
  266. package/src/lib/planimetric-map3d/planimetric-map3d.component.ts +227 -0
  267. package/src/lib/planimetric-map3d/planimetric-map3d.module.ts +17 -0
  268. package/src/lib/radar-chart/radar-chart.component.html +7 -0
  269. package/src/lib/radar-chart/radar-chart.component.less +8 -0
  270. package/src/lib/radar-chart/radar-chart.component.spec.ts +25 -0
  271. package/src/lib/radar-chart/radar-chart.component.ts +219 -0
  272. package/src/lib/radar-chart/radar-chart.module.ts +15 -0
  273. package/src/lib/radio/radio.component.html +18 -0
  274. package/src/lib/radio/radio.component.less +61 -0
  275. package/src/lib/radio/radio.component.spec.ts +25 -0
  276. package/src/lib/radio/radio.component.ts +116 -0
  277. package/src/lib/radio/radio.module.ts +16 -0
  278. package/src/lib/rate/rate.component.html +16 -0
  279. package/src/lib/rate/rate.component.less +39 -0
  280. package/src/lib/rate/rate.component.spec.ts +25 -0
  281. package/src/lib/rate/rate.component.ts +40 -0
  282. package/src/lib/rate/rate.module.ts +18 -0
  283. package/src/lib/scatter3d/scatter3d.component.html +1 -0
  284. package/src/lib/scatter3d/scatter3d.component.less +8 -0
  285. package/src/lib/scatter3d/scatter3d.component.spec.ts +25 -0
  286. package/src/lib/scatter3d/scatter3d.component.ts +129 -0
  287. package/src/lib/scatter3d/scatter3d.module.ts +15 -0
  288. package/src/lib/screen-widget.module.ts +592 -0
  289. package/src/lib/search/search.component.html +30 -0
  290. package/src/lib/search/search.component.less +30 -0
  291. package/src/lib/search/search.component.spec.ts +25 -0
  292. package/src/lib/search/search.component.ts +103 -0
  293. package/src/lib/search/search.module.ts +22 -0
  294. package/src/lib/select/select.component.html +30 -0
  295. package/src/lib/select/select.component.less +117 -0
  296. package/src/lib/select/select.component.spec.ts +25 -0
  297. package/src/lib/select/select.component.ts +297 -0
  298. package/src/lib/select/select.module.ts +18 -0
  299. package/src/lib/shape/shape.component.html +39 -0
  300. package/src/lib/shape/shape.component.less +8 -0
  301. package/src/lib/shape/shape.component.spec.ts +25 -0
  302. package/src/lib/shape/shape.component.ts +207 -0
  303. package/src/lib/shape/shape.module.ts +14 -0
  304. package/src/lib/shared/component/video-player/video-player.component.html +2 -0
  305. package/src/lib/shared/component/video-player/video-player.component.less +15 -0
  306. package/src/lib/shared/component/video-player/video-player.component.spec.ts +25 -0
  307. package/src/lib/shared/component/video-player/video-player.component.ts +132 -0
  308. package/src/lib/shared/component/video-player/video-player.module.ts +11 -0
  309. package/src/lib/shared/model/scale.token.ts +8 -0
  310. package/src/lib/shared/service/common.service.ts +28 -0
  311. package/src/lib/shared/service/file-url.service.ts +8 -0
  312. package/src/lib/shared/service/gaode-map.service.ts +37 -0
  313. package/src/lib/shared/service/highcharts.service.ts +29 -0
  314. package/src/lib/shared/service/http.service.ts +15 -0
  315. package/src/lib/shared/util/base.util.ts +4 -0
  316. package/src/lib/shared/util/echarts.util.ts +11 -0
  317. package/src/lib/shared/util/style.util.ts +12 -0
  318. package/src/lib/shuffling-list/color.pipe.ts +21 -0
  319. package/src/lib/shuffling-list/shuffling-list.component.html +37 -0
  320. package/src/lib/shuffling-list/shuffling-list.component.less +55 -0
  321. package/src/lib/shuffling-list/shuffling-list.component.spec.ts +25 -0
  322. package/src/lib/shuffling-list/shuffling-list.component.ts +534 -0
  323. package/src/lib/shuffling-list/shuffling-list.module.ts +17 -0
  324. package/src/lib/table/table.component.html +123 -0
  325. package/src/lib/table/table.component.less +76 -0
  326. package/src/lib/table/table.component.spec.ts +25 -0
  327. package/src/lib/table/table.component.ts +608 -0
  328. package/src/lib/table/table.module.ts +33 -0
  329. package/src/lib/tabs/tab/tab.component.html +1 -0
  330. package/src/lib/tabs/tab/tab.component.less +5 -0
  331. package/src/lib/tabs/tab/tab.component.spec.ts +25 -0
  332. package/src/lib/tabs/tab/tab.component.ts +18 -0
  333. package/src/lib/tabs/tabs.component.html +13 -0
  334. package/src/lib/tabs/tabs.component.less +40 -0
  335. package/src/lib/tabs/tabs.component.spec.ts +25 -0
  336. package/src/lib/tabs/tabs.component.ts +68 -0
  337. package/src/lib/tabs/tabs.module.ts +17 -0
  338. package/src/lib/temporary-data/temporary-data.component.html +1 -0
  339. package/src/lib/temporary-data/temporary-data.component.less +4 -0
  340. package/src/lib/temporary-data/temporary-data.component.spec.ts +25 -0
  341. package/src/lib/temporary-data/temporary-data.component.ts +46 -0
  342. package/src/lib/temporary-data/temporary-data.module.ts +15 -0
  343. package/src/lib/text/text.component.css +0 -0
  344. package/src/lib/text/text.component.html +3 -0
  345. package/src/lib/text/text.component.spec.ts +25 -0
  346. package/src/lib/text/text.component.ts +22 -0
  347. package/src/lib/text/text.module.ts +14 -0
  348. package/src/lib/time-picker/time-picker.component.html +1 -0
  349. package/src/lib/time-picker/time-picker.component.less +14 -0
  350. package/src/lib/time-picker/time-picker.component.spec.ts +25 -0
  351. package/src/lib/time-picker/time-picker.component.ts +86 -0
  352. package/src/lib/time-picker/time-picker.module.ts +19 -0
  353. package/src/lib/timer/timer.component.html +7 -0
  354. package/src/lib/timer/timer.component.less +24 -0
  355. package/src/lib/timer/timer.component.spec.ts +25 -0
  356. package/src/lib/timer/timer.component.ts +74 -0
  357. package/src/lib/timer/timer.module.ts +15 -0
  358. package/src/lib/tree-control/tree-control.component.html +97 -0
  359. package/src/lib/tree-control/tree-control.component.less +111 -0
  360. package/src/lib/tree-control/tree-control.component.spec.ts +25 -0
  361. package/src/lib/tree-control/tree-control.component.ts +363 -0
  362. package/src/lib/tree-control/tree-control.module.ts +18 -0
  363. package/src/lib/tree-ring-chart/tree-ring-chart.component.html +7 -0
  364. package/src/lib/tree-ring-chart/tree-ring-chart.component.less +8 -0
  365. package/src/lib/tree-ring-chart/tree-ring-chart.component.spec.ts +25 -0
  366. package/src/lib/tree-ring-chart/tree-ring-chart.component.ts +192 -0
  367. package/src/lib/tree-ring-chart/tree-ring-chart.module.ts +15 -0
  368. package/src/lib/upload/upload.component.html +32 -0
  369. package/src/lib/upload/upload.component.less +14 -0
  370. package/src/lib/upload/upload.component.spec.ts +25 -0
  371. package/src/lib/upload/upload.component.ts +109 -0
  372. package/src/lib/upload/upload.module.ts +19 -0
  373. package/src/lib/video-grid/video-grid.component.html +33 -0
  374. package/src/lib/video-grid/video-grid.component.less +68 -0
  375. package/src/lib/video-grid/video-grid.component.spec.ts +25 -0
  376. package/src/lib/video-grid/video-grid.component.ts +115 -0
  377. package/src/lib/video-grid/video-grid.module.ts +17 -0
  378. package/src/lib/visual-map-chart/visual-map-chart.component.html +8 -0
  379. package/src/lib/visual-map-chart/visual-map-chart.component.less +21 -0
  380. package/src/lib/visual-map-chart/visual-map-chart.component.spec.ts +25 -0
  381. package/src/lib/visual-map-chart/visual-map-chart.component.ts +365 -0
  382. package/src/lib/visual-map-chart/visual-map-chart.module.ts +18 -0
  383. package/src/lib/vote/vote.component.html +6 -0
  384. package/src/lib/vote/vote.component.less +41 -0
  385. package/src/lib/vote/vote.component.spec.ts +25 -0
  386. package/src/lib/vote/vote.component.ts +71 -0
  387. package/src/lib/vote/vote.module.ts +16 -0
  388. package/src/lib/weather/weather.component.html +27 -0
  389. package/src/lib/weather/weather.component.less +67 -0
  390. package/src/lib/weather/weather.component.spec.ts +25 -0
  391. package/src/lib/weather/weather.component.ts +78 -0
  392. package/src/lib/weather/weather.module.ts +16 -0
  393. package/src/lib/wordart/wordart.component.html +2 -0
  394. package/src/lib/wordart/wordart.component.less +12 -0
  395. package/src/lib/wordart/wordart.component.spec.ts +25 -0
  396. package/src/lib/wordart/wordart.component.ts +56 -0
  397. package/src/lib/wordart/wordart.module.ts +14 -0
  398. package/src/lib/workbench-widget.module.ts +675 -0
  399. package/{public-api.d.ts → src/public-api.ts} +46 -35
  400. package/src/test.ts +22 -0
  401. package/tsconfig.lib.json +37 -0
  402. package/tsconfig.lib.prod.json +9 -0
  403. package/tsconfig.spec.json +17 -0
  404. package/tslint.json +17 -0
  405. package/bbj-screen-widget.d.ts +0 -119
  406. package/bbj-screen-widget.metadata.json +0 -1
  407. package/bundles/bbj-screen-widget-core.umd.js +0 -606
  408. package/bundles/bbj-screen-widget-core.umd.js.map +0 -1
  409. package/bundles/bbj-screen-widget-core.umd.min.js +0 -2
  410. package/bundles/bbj-screen-widget-core.umd.min.js.map +0 -1
  411. package/bundles/bbj-screen-widget.umd.js +0 -21735
  412. package/bundles/bbj-screen-widget.umd.js.map +0 -1
  413. package/bundles/bbj-screen-widget.umd.min.js +0 -2
  414. package/bundles/bbj-screen-widget.umd.min.js.map +0 -1
  415. package/core/bbj-screen-widget-core.d.ts +0 -4
  416. package/core/bbj-screen-widget-core.metadata.json +0 -1
  417. package/core/service/baidu-map.service.d.ts +0 -16
  418. package/esm2015/bbj-screen-widget.js +0 -120
  419. package/esm2015/core/bbj-screen-widget-core.js +0 -5
  420. package/esm2015/core/public_api.js +0 -2
  421. package/esm2015/core/service/baidu-map.service.js +0 -101
  422. package/esm2015/lib/announcement/announcement.component.js +0 -80
  423. package/esm2015/lib/announcement/announcement.module.js +0 -25
  424. package/esm2015/lib/audio/audio.component.js +0 -167
  425. package/esm2015/lib/audio/audio.module.js +0 -20
  426. package/esm2015/lib/background/background.component.js +0 -52
  427. package/esm2015/lib/background/background.module.js +0 -19
  428. package/esm2015/lib/bar-chart-three-d/bar-chart-three-d.component.js +0 -323
  429. package/esm2015/lib/bar-chart-three-d/bar-chart-three-d.module.js +0 -20
  430. package/esm2015/lib/basic-bar-chart/basic-bar-chart.component.js +0 -604
  431. package/esm2015/lib/basic-bar-chart/basic-bar-chart.module.js +0 -27
  432. package/esm2015/lib/basic-line-chart/basic-line-chart.component.js +0 -782
  433. package/esm2015/lib/basic-line-chart/basic-line-chart.module.js +0 -20
  434. package/esm2015/lib/basic-pie-chart/basic-pie-chart.component.js +0 -471
  435. package/esm2015/lib/basic-pie-chart/basic-pie-chart.module.js +0 -20
  436. package/esm2015/lib/basic-planimetric-map/basic-planimetric-map.component.js +0 -233
  437. package/esm2015/lib/basic-planimetric-map/basic-planimetric-map.module.js +0 -21
  438. package/esm2015/lib/breathing-bubble-layer/breathing-bubble-layer.component.js +0 -503
  439. package/esm2015/lib/breathing-bubble-layer/breathing-bubble-layer.module.js +0 -19
  440. package/esm2015/lib/bubble-chart/bubble-chart.component.js +0 -348
  441. package/esm2015/lib/bubble-chart/bubble-chart.module.js +0 -20
  442. package/esm2015/lib/bulletin-board/bulletin-board.component.js +0 -160
  443. package/esm2015/lib/bulletin-board/bulletin-board.module.js +0 -23
  444. package/esm2015/lib/button/button.component.js +0 -186
  445. package/esm2015/lib/button/button.module.js +0 -21
  446. package/esm2015/lib/calendar/background-events/background-events.component.js +0 -65
  447. package/esm2015/lib/calendar/calendar-events-child.js +0 -28
  448. package/esm2015/lib/calendar/calendar.component.js +0 -168
  449. package/esm2015/lib/calendar/calendar.module.js +0 -32
  450. package/esm2015/lib/calendar/calendar.util.js +0 -12
  451. package/esm2015/lib/calendar/events/events.component.js +0 -75
  452. package/esm2015/lib/checkbox/checkbox.component.js +0 -333
  453. package/esm2015/lib/checkbox/checkbox.module.js +0 -21
  454. package/esm2015/lib/cross-table/cross-table.component.js +0 -291
  455. package/esm2015/lib/cross-table/cross-table.module.js +0 -20
  456. package/esm2015/lib/custom-baidu-map/baidu-marker-layer/baidu-marker-layer.component.js +0 -747
  457. package/esm2015/lib/custom-baidu-map/baidu-polyline-layer/baidu-polyline-layer.component.js +0 -278
  458. package/esm2015/lib/custom-baidu-map/base-layer.js +0 -53
  459. package/esm2015/lib/custom-baidu-map/custom-baidu-map.component.js +0 -675
  460. package/esm2015/lib/custom-baidu-map/custom-baidu-map.module.js +0 -46
  461. package/esm2015/lib/custom-baidu-map/typhoon-area-layer/typhoon-area-layer.component.js +0 -116
  462. package/esm2015/lib/custom-baidu-map/wind-layer/wind-layer.component.js +0 -331
  463. package/esm2015/lib/date-picker/date-picker.component.js +0 -447
  464. package/esm2015/lib/date-picker/date-picker.module.js +0 -22
  465. package/esm2015/lib/funnel-chart/funnel-chart.component.js +0 -241
  466. package/esm2015/lib/funnel-chart/funnel-chart.module.js +0 -20
  467. package/esm2015/lib/gantt/gantt.component.js +0 -222
  468. package/esm2015/lib/gantt/gantt.module.js +0 -39
  469. package/esm2015/lib/gauge/gauge.component.js +0 -324
  470. package/esm2015/lib/gauge/gauge.module.js +0 -20
  471. package/esm2015/lib/gauge-progress/gauge-progress.component.js +0 -356
  472. package/esm2015/lib/gauge-progress/gauge.module.js +0 -22
  473. package/esm2015/lib/general-text/general-text.component.js +0 -144
  474. package/esm2015/lib/general-text/general-text.module.js +0 -20
  475. package/esm2015/lib/iconfont/icon.js +0 -199
  476. package/esm2015/lib/iconfont/iconfont.component.js +0 -56
  477. package/esm2015/lib/iconfont/iconfont.module.js +0 -20
  478. package/esm2015/lib/iframe/iframe.component.js +0 -46
  479. package/esm2015/lib/iframe/iframe.module.js +0 -20
  480. package/esm2015/lib/image/image.component.js +0 -98
  481. package/esm2015/lib/image/image.module.js +0 -19
  482. package/esm2015/lib/item-swiper/item-swiper.component.js +0 -343
  483. package/esm2015/lib/item-swiper/item-swiper.module.js +0 -22
  484. package/esm2015/lib/line-bar-chart/line-bar-chart.component.js +0 -398
  485. package/esm2015/lib/line-bar-chart/line-bar-chart.module.js +0 -20
  486. package/esm2015/lib/line-light-flow/line-light-flow.component.js +0 -241
  487. package/esm2015/lib/line-light-flow/line-light-flow.module.js +0 -24
  488. package/esm2015/lib/liquid-fill/liquid-fill.component.js +0 -158
  489. package/esm2015/lib/liquid-fill/liquid-fill.module.js +0 -20
  490. package/esm2015/lib/marquee/marquee.component.js +0 -110
  491. package/esm2015/lib/marquee/marquee.module.js +0 -19
  492. package/esm2015/lib/mip-anim/mip-anim.component.js +0 -26
  493. package/esm2015/lib/mip-anim/mip-anim.module.js +0 -19
  494. package/esm2015/lib/multi-title-gauge/multi-title-gauge.component.js +0 -277
  495. package/esm2015/lib/multi-title-gauge/multi-title-gauge.module.js +0 -22
  496. package/esm2015/lib/number-flop/number-flop.component.js +0 -124
  497. package/esm2015/lib/number-flop/number-flop.module.js +0 -19
  498. package/esm2015/lib/parent-container/parent-container.component.js +0 -21
  499. package/esm2015/lib/parent-container/parent-container.module.js +0 -19
  500. package/esm2015/lib/percent-pie-chart/percent-pie-chart.component.js +0 -248
  501. package/esm2015/lib/percent-pie-chart/percent-pie-chart.module.js +0 -20
  502. package/esm2015/lib/pie3d-chart/pie3d-chart.component.js +0 -303
  503. package/esm2015/lib/pie3d-chart/pie3d-chart.module.js +0 -19
  504. package/esm2015/lib/planimetric-map2d/fly-line-layer/fly-line-layer.component.js +0 -431
  505. package/esm2015/lib/planimetric-map2d/fly-line-layer/fly-line-layer.module.js +0 -19
  506. package/esm2015/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.component.js +0 -252
  507. package/esm2015/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.module.js +0 -19
  508. package/esm2015/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.component.js +0 -124
  509. package/esm2015/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.module.js +0 -19
  510. package/esm2015/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.component.js +0 -359
  511. package/esm2015/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.module.js +0 -21
  512. package/esm2015/lib/planimetric-map2d/planimetric-map2d.component.js +0 -753
  513. package/esm2015/lib/planimetric-map2d/planimetric-map2d.module.js +0 -34
  514. package/esm2015/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.component.js +0 -128
  515. package/esm2015/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.module.js +0 -19
  516. package/esm2015/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.component.js +0 -242
  517. package/esm2015/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.module.js +0 -19
  518. package/esm2015/lib/planimetric-map3d/planimetric-map3d.component.js +0 -265
  519. package/esm2015/lib/planimetric-map3d/planimetric-map3d.module.js +0 -22
  520. package/esm2015/lib/radar-chart/radar-chart.component.js +0 -255
  521. package/esm2015/lib/radar-chart/radar-chart.module.js +0 -20
  522. package/esm2015/lib/radio/radio.component.js +0 -148
  523. package/esm2015/lib/radio/radio.module.js +0 -21
  524. package/esm2015/lib/rate/rate.component.js +0 -57
  525. package/esm2015/lib/rate/rate.module.js +0 -23
  526. package/esm2015/lib/scatter3d/scatter3d.component.js +0 -166
  527. package/esm2015/lib/scatter3d/scatter3d.module.js +0 -20
  528. package/esm2015/lib/screen-widget.module.js +0 -536
  529. package/esm2015/lib/search/search.component.js +0 -130
  530. package/esm2015/lib/search/search.module.js +0 -29
  531. package/esm2015/lib/select/select.component.js +0 -359
  532. package/esm2015/lib/select/select.module.js +0 -22
  533. package/esm2015/lib/shape/shape.component.js +0 -248
  534. package/esm2015/lib/shape/shape.module.js +0 -19
  535. package/esm2015/lib/shared/component/video-player/video-player.component.js +0 -114
  536. package/esm2015/lib/shared/component/video-player/video-player.module.js +0 -14
  537. package/esm2015/lib/shared/service/common.service.js +0 -39
  538. package/esm2015/lib/shared/service/file-url.service.js +0 -12
  539. package/esm2015/lib/shared/service/gaode-map.service.js +0 -36
  540. package/esm2015/lib/shared/service/highcharts.service.js +0 -36
  541. package/esm2015/lib/shared/service/http.service.js +0 -20
  542. package/esm2015/lib/shared/util/base.util.js +0 -5
  543. package/esm2015/lib/shared/util/echarts.util.js +0 -12
  544. package/esm2015/lib/shared/util/style.util.js +0 -19
  545. package/esm2015/lib/shuffling-list/color.pipe.js +0 -23
  546. package/esm2015/lib/shuffling-list/shuffling-list.component.js +0 -601
  547. package/esm2015/lib/shuffling-list/shuffling-list.module.js +0 -22
  548. package/esm2015/lib/table/table.component.js +0 -657
  549. package/esm2015/lib/table/table.module.js +0 -38
  550. package/esm2015/lib/tabs/tab/tab.component.js +0 -27
  551. package/esm2015/lib/tabs/tabs.component.js +0 -85
  552. package/esm2015/lib/tabs/tabs.module.js +0 -22
  553. package/esm2015/lib/temporary-data/temporary-data.component.js +0 -49
  554. package/esm2015/lib/temporary-data/temporary-data.module.js +0 -20
  555. package/esm2015/lib/time-picker/time-picker.component.js +0 -112
  556. package/esm2015/lib/time-picker/time-picker.module.js +0 -21
  557. package/esm2015/lib/timer/timer.component.js +0 -108
  558. package/esm2015/lib/timer/timer.module.js +0 -20
  559. package/esm2015/lib/tree-control/tree-control.component.js +0 -435
  560. package/esm2015/lib/tree-control/tree-control.module.js +0 -24
  561. package/esm2015/lib/tree-ring-chart/tree-ring-chart.component.js +0 -215
  562. package/esm2015/lib/tree-ring-chart/tree-ring-chart.module.js +0 -20
  563. package/esm2015/lib/upload/upload.component.js +0 -127
  564. package/esm2015/lib/upload/upload.module.js +0 -22
  565. package/esm2015/lib/video-grid/video-grid.component.js +0 -140
  566. package/esm2015/lib/video-grid/video-grid.module.js +0 -22
  567. package/esm2015/lib/visual-map-chart/visual-map-chart.component.js +0 -395
  568. package/esm2015/lib/visual-map-chart/visual-map-chart.module.js +0 -20
  569. package/esm2015/lib/vote/vote.component.js +0 -100
  570. package/esm2015/lib/vote/vote.module.js +0 -21
  571. package/esm2015/lib/weather/weather.component.js +0 -92
  572. package/esm2015/lib/weather/weather.module.js +0 -21
  573. package/esm2015/lib/wordart/wordart.component.js +0 -84
  574. package/esm2015/lib/wordart/wordart.module.js +0 -19
  575. package/esm2015/lib/workbench-widget.module.js +0 -620
  576. package/esm2015/public-api.js +0 -40
  577. package/fesm2015/bbj-screen-widget-core.js +0 -107
  578. package/fesm2015/bbj-screen-widget-core.js.map +0 -1
  579. package/fesm2015/bbj-screen-widget.js +0 -20633
  580. package/fesm2015/bbj-screen-widget.js.map +0 -1
  581. package/lib/announcement/announcement.component.d.ts +0 -13
  582. package/lib/announcement/announcement.module.d.ts +0 -5
  583. package/lib/audio/audio.component.d.ts +0 -22
  584. package/lib/audio/audio.module.d.ts +0 -4
  585. package/lib/background/background.component.d.ts +0 -12
  586. package/lib/background/background.module.d.ts +0 -4
  587. package/lib/bar-chart-three-d/bar-chart-three-d.component.d.ts +0 -30
  588. package/lib/bar-chart-three-d/bar-chart-three-d.module.d.ts +0 -4
  589. package/lib/basic-bar-chart/basic-bar-chart.component.d.ts +0 -105
  590. package/lib/basic-bar-chart/basic-bar-chart.module.d.ts +0 -5
  591. package/lib/basic-line-chart/basic-line-chart.component.d.ts +0 -102
  592. package/lib/basic-line-chart/basic-line-chart.module.d.ts +0 -4
  593. package/lib/basic-pie-chart/basic-pie-chart.component.d.ts +0 -56
  594. package/lib/basic-pie-chart/basic-pie-chart.module.d.ts +0 -4
  595. package/lib/basic-planimetric-map/basic-planimetric-map.component.d.ts +0 -18
  596. package/lib/basic-planimetric-map/basic-planimetric-map.module.d.ts +0 -4
  597. package/lib/breathing-bubble-layer/breathing-bubble-layer.component.d.ts +0 -210
  598. package/lib/breathing-bubble-layer/breathing-bubble-layer.module.d.ts +0 -4
  599. package/lib/bubble-chart/bubble-chart.component.d.ts +0 -75
  600. package/lib/bubble-chart/bubble-chart.module.d.ts +0 -4
  601. package/lib/bulletin-board/bulletin-board.component.d.ts +0 -25
  602. package/lib/bulletin-board/bulletin-board.module.d.ts +0 -4
  603. package/lib/button/button.component.d.ts +0 -25
  604. package/lib/button/button.module.d.ts +0 -4
  605. package/lib/calendar/background-events/background-events.component.d.ts +0 -10
  606. package/lib/calendar/calendar-events-child.d.ts +0 -12
  607. package/lib/calendar/calendar.component.d.ts +0 -27
  608. package/lib/calendar/calendar.module.d.ts +0 -4
  609. package/lib/calendar/calendar.util.d.ts +0 -6
  610. package/lib/calendar/events/events.component.d.ts +0 -13
  611. package/lib/checkbox/checkbox.component.d.ts +0 -45
  612. package/lib/checkbox/checkbox.module.d.ts +0 -4
  613. package/lib/cross-table/cross-table.component.d.ts +0 -30
  614. package/lib/cross-table/cross-table.module.d.ts +0 -4
  615. package/lib/custom-baidu-map/baidu-marker-layer/baidu-marker-layer.component.d.ts +0 -72
  616. package/lib/custom-baidu-map/baidu-polyline-layer/baidu-polyline-layer.component.d.ts +0 -23
  617. package/lib/custom-baidu-map/base-layer.d.ts +0 -16
  618. package/lib/custom-baidu-map/custom-baidu-map.component.d.ts +0 -93
  619. package/lib/custom-baidu-map/custom-baidu-map.module.d.ts +0 -4
  620. package/lib/custom-baidu-map/typhoon-area-layer/typhoon-area-layer.component.d.ts +0 -16
  621. package/lib/custom-baidu-map/wind-layer/wind-layer.component.d.ts +0 -28
  622. package/lib/date-picker/date-picker.component.d.ts +0 -63
  623. package/lib/date-picker/date-picker.module.d.ts +0 -4
  624. package/lib/funnel-chart/funnel-chart.component.d.ts +0 -24
  625. package/lib/funnel-chart/funnel-chart.module.d.ts +0 -4
  626. package/lib/gantt/gantt.component.d.ts +0 -25
  627. package/lib/gantt/gantt.module.d.ts +0 -4
  628. package/lib/gauge/gauge.component.d.ts +0 -37
  629. package/lib/gauge/gauge.module.d.ts +0 -4
  630. package/lib/gauge-progress/gauge-progress.component.d.ts +0 -46
  631. package/lib/gauge-progress/gauge.module.d.ts +0 -5
  632. package/lib/general-text/general-text.component.d.ts +0 -21
  633. package/lib/general-text/general-text.module.d.ts +0 -4
  634. package/lib/iconfont/icon.d.ts +0 -1
  635. package/lib/iconfont/iconfont.component.d.ts +0 -11
  636. package/lib/iconfont/iconfont.module.d.ts +0 -4
  637. package/lib/iframe/iframe.component.d.ts +0 -10
  638. package/lib/iframe/iframe.module.d.ts +0 -4
  639. package/lib/image/image.component.d.ts +0 -21
  640. package/lib/image/image.module.d.ts +0 -4
  641. package/lib/item-swiper/item-swiper.component.d.ts +0 -41
  642. package/lib/item-swiper/item-swiper.module.d.ts +0 -5
  643. package/lib/line-bar-chart/line-bar-chart.component.d.ts +0 -63
  644. package/lib/line-bar-chart/line-bar-chart.module.d.ts +0 -4
  645. package/lib/line-light-flow/line-light-flow.component.d.ts +0 -26
  646. package/lib/line-light-flow/line-light-flow.module.d.ts +0 -4
  647. package/lib/liquid-fill/liquid-fill.component.d.ts +0 -18
  648. package/lib/liquid-fill/liquid-fill.module.d.ts +0 -4
  649. package/lib/marquee/marquee.component.d.ts +0 -20
  650. package/lib/marquee/marquee.module.d.ts +0 -4
  651. package/lib/mip-anim/mip-anim.component.d.ts +0 -6
  652. package/lib/mip-anim/mip-anim.module.d.ts +0 -4
  653. package/lib/multi-title-gauge/multi-title-gauge.component.d.ts +0 -26
  654. package/lib/multi-title-gauge/multi-title-gauge.module.d.ts +0 -4
  655. package/lib/number-flop/number-flop.component.d.ts +0 -22
  656. package/lib/number-flop/number-flop.module.d.ts +0 -4
  657. package/lib/parent-container/parent-container.component.d.ts +0 -9
  658. package/lib/parent-container/parent-container.module.d.ts +0 -4
  659. package/lib/percent-pie-chart/percent-pie-chart.component.d.ts +0 -24
  660. package/lib/percent-pie-chart/percent-pie-chart.module.d.ts +0 -4
  661. package/lib/pie3d-chart/pie3d-chart.component.d.ts +0 -30
  662. package/lib/pie3d-chart/pie3d-chart.module.d.ts +0 -4
  663. package/lib/planimetric-map2d/fly-line-layer/fly-line-layer.component.d.ts +0 -206
  664. package/lib/planimetric-map2d/fly-line-layer/fly-line-layer.module.d.ts +0 -4
  665. package/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.component.d.ts +0 -15
  666. package/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.module.d.ts +0 -4
  667. package/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.component.d.ts +0 -15
  668. package/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.module.d.ts +0 -4
  669. package/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.component.d.ts +0 -49
  670. package/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.module.d.ts +0 -4
  671. package/lib/planimetric-map2d/planimetric-map2d.component.d.ts +0 -49
  672. package/lib/planimetric-map2d/planimetric-map2d.module.d.ts +0 -4
  673. package/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.component.d.ts +0 -14
  674. package/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.module.d.ts +0 -4
  675. package/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.component.d.ts +0 -41
  676. package/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.module.d.ts +0 -4
  677. package/lib/planimetric-map3d/planimetric-map3d.component.d.ts +0 -29
  678. package/lib/planimetric-map3d/planimetric-map3d.module.d.ts +0 -4
  679. package/lib/radar-chart/radar-chart.component.d.ts +0 -24
  680. package/lib/radar-chart/radar-chart.module.d.ts +0 -4
  681. package/lib/radio/radio.component.d.ts +0 -21
  682. package/lib/radio/radio.module.d.ts +0 -4
  683. package/lib/rate/rate.component.d.ts +0 -13
  684. package/lib/rate/rate.module.d.ts +0 -4
  685. package/lib/scatter3d/scatter3d.component.d.ts +0 -25
  686. package/lib/scatter3d/scatter3d.module.d.ts +0 -4
  687. package/lib/screen-widget.module.d.ts +0 -4
  688. package/lib/search/search.component.d.ts +0 -21
  689. package/lib/search/search.module.d.ts +0 -6
  690. package/lib/select/select.component.d.ts +0 -37
  691. package/lib/select/select.module.d.ts +0 -4
  692. package/lib/shape/shape.component.d.ts +0 -50
  693. package/lib/shape/shape.module.d.ts +0 -4
  694. package/lib/shared/component/video-player/video-player.component.d.ts +0 -28
  695. package/lib/shared/component/video-player/video-player.module.d.ts +0 -2
  696. package/lib/shared/service/common.service.d.ts +0 -21
  697. package/lib/shared/service/file-url.service.d.ts +0 -3
  698. package/lib/shared/service/gaode-map.service.d.ts +0 -10
  699. package/lib/shared/service/highcharts.service.d.ts +0 -9
  700. package/lib/shared/service/http.service.d.ts +0 -7
  701. package/lib/shared/util/base.util.d.ts +0 -1
  702. package/lib/shared/util/echarts.util.d.ts +0 -1
  703. package/lib/shared/util/style.util.d.ts +0 -1
  704. package/lib/shuffling-list/color.pipe.d.ts +0 -4
  705. package/lib/shuffling-list/shuffling-list.component.d.ts +0 -76
  706. package/lib/shuffling-list/shuffling-list.module.d.ts +0 -4
  707. package/lib/table/table.component.d.ts +0 -65
  708. package/lib/table/table.module.d.ts +0 -4
  709. package/lib/tabs/tab/tab.component.d.ts +0 -7
  710. package/lib/tabs/tabs.component.d.ts +0 -13
  711. package/lib/tabs/tabs.module.d.ts +0 -4
  712. package/lib/temporary-data/temporary-data.component.d.ts +0 -13
  713. package/lib/temporary-data/temporary-data.module.d.ts +0 -4
  714. package/lib/time-picker/time-picker.component.d.ts +0 -17
  715. package/lib/time-picker/time-picker.module.d.ts +0 -4
  716. package/lib/timer/timer.component.d.ts +0 -21
  717. package/lib/timer/timer.module.d.ts +0 -4
  718. package/lib/tree-control/tree-control.component.d.ts +0 -62
  719. package/lib/tree-control/tree-control.module.d.ts +0 -4
  720. package/lib/tree-ring-chart/tree-ring-chart.component.d.ts +0 -24
  721. package/lib/tree-ring-chart/tree-ring-chart.module.d.ts +0 -4
  722. package/lib/upload/upload.component.d.ts +0 -21
  723. package/lib/upload/upload.module.d.ts +0 -4
  724. package/lib/video-grid/video-grid.component.d.ts +0 -23
  725. package/lib/video-grid/video-grid.module.d.ts +0 -4
  726. package/lib/visual-map-chart/visual-map-chart.component.d.ts +0 -49
  727. package/lib/visual-map-chart/visual-map-chart.module.d.ts +0 -4
  728. package/lib/vote/vote.component.d.ts +0 -15
  729. package/lib/vote/vote.module.d.ts +0 -4
  730. package/lib/weather/weather.component.d.ts +0 -26
  731. package/lib/weather/weather.module.d.ts +0 -4
  732. package/lib/wordart/wordart.component.d.ts +0 -14
  733. package/lib/wordart/wordart.module.d.ts +0 -4
  734. package/lib/workbench-widget.module.d.ts +0 -4
  735. /package/core/{public_api.d.ts → src/public_api.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"bbj-screen-widget.js","sources":["../../../projects/screen-widget/src/lib/shared/service/gaode-map.service.ts","../../../projects/screen-widget/src/lib/shared/service/common.service.ts","../../../projects/screen-widget/src/lib/image/image.component.ts","../../../projects/screen-widget/src/lib/image/image.module.ts","../../../projects/screen-widget/src/lib/shared/util/echarts.util.ts","../../../projects/screen-widget/src/lib/basic-line-chart/basic-line-chart.component.ts","../../../projects/screen-widget/src/lib/basic-line-chart/basic-line-chart.module.ts","../../../projects/screen-widget/src/lib/shared/service/http.service.ts","../../../projects/screen-widget/src/lib/button/button.component.ts","../../../projects/screen-widget/src/lib/button/button.module.ts","../../../projects/screen-widget/src/lib/timer/timer.component.ts","../../../projects/screen-widget/src/lib/timer/timer.module.ts","../../../projects/screen-widget/src/lib/number-flop/number-flop.component.ts","../../../projects/screen-widget/src/lib/number-flop/number-flop.module.ts","../../../projects/screen-widget/src/lib/vote/vote.component.ts","../../../projects/screen-widget/src/lib/vote/vote.module.ts","../../../projects/screen-widget/src/lib/select/select.component.ts","../../../projects/screen-widget/src/lib/select/select.module.ts","../../../projects/screen-widget/src/lib/shared/util/style.util.ts","../../../projects/screen-widget/src/lib/search/search.component.ts","../../../projects/screen-widget/src/lib/search/search.module.ts","../../../projects/screen-widget/src/lib/weather/weather.component.ts","../../../projects/screen-widget/src/lib/weather/weather.module.ts","../../../projects/screen-widget/src/lib/radio/radio.component.ts","../../../projects/screen-widget/src/lib/radio/radio.module.ts","../../../projects/screen-widget/src/lib/checkbox/checkbox.component.ts","../../../projects/screen-widget/src/lib/checkbox/checkbox.module.ts","../../../projects/screen-widget/src/lib/rate/rate.component.ts","../../../projects/screen-widget/src/lib/rate/rate.module.ts","../../../projects/screen-widget/src/lib/general-text/general-text.component.ts","../../../projects/screen-widget/src/lib/general-text/general-text.module.ts","../../../projects/screen-widget/src/lib/marquee/marquee.component.ts","../../../projects/screen-widget/src/lib/marquee/marquee.module.ts","../../../projects/screen-widget/src/lib/wordart/wordart.component.ts","../../../projects/screen-widget/src/lib/wordart/wordart.module.ts","../../../projects/screen-widget/src/lib/iconfont/iconfont.component.ts","../../../projects/screen-widget/src/lib/iconfont/iconfont.module.ts","../../../projects/screen-widget/src/lib/shared/service/file-url.service.ts","../../../projects/screen-widget/src/lib/audio/audio.component.ts","../../../projects/screen-widget/src/lib/shared/component/video-player/video-player.component.ts","../../../projects/screen-widget/src/lib/shared/component/video-player/video-player.module.ts","../../../projects/screen-widget/src/lib/audio/audio.module.ts","../../../projects/screen-widget/src/lib/basic-bar-chart/basic-bar-chart.component.ts","../../../projects/screen-widget/src/lib/basic-bar-chart/basic-bar-chart.module.ts","../../../projects/screen-widget/src/lib/basic-pie-chart/basic-pie-chart.component.ts","../../../projects/screen-widget/src/lib/basic-pie-chart/basic-pie-chart.module.ts","../../../projects/screen-widget/src/lib/bar-chart-three-d/bar-chart-three-d.component.ts","../../../projects/screen-widget/src/lib/bar-chart-three-d/bar-chart-three-d.module.ts","../../../projects/screen-widget/src/lib/shape/shape.component.ts","../../../projects/screen-widget/src/lib/shape/shape.module.ts","../../../projects/screen-widget/src/lib/line-bar-chart/line-bar-chart.component.ts","../../../projects/screen-widget/src/lib/line-bar-chart/line-bar-chart.module.ts","../../../projects/screen-widget/src/lib/bubble-chart/bubble-chart.component.ts","../../../projects/screen-widget/src/lib/bubble-chart/bubble-chart.module.ts","../../../projects/screen-widget/src/lib/radar-chart/radar-chart.component.ts","../../../projects/screen-widget/src/lib/radar-chart/radar-chart.module.ts","../../../projects/screen-widget/src/lib/funnel-chart/funnel-chart.component.ts","../../../projects/screen-widget/src/lib/funnel-chart/funnel-chart.module.ts","../../../projects/screen-widget/src/lib/background/background.component.ts","../../../projects/screen-widget/src/lib/background/background.module.ts","../../../projects/screen-widget/src/lib/gauge/gauge.component.ts","../../../projects/screen-widget/src/lib/gauge/gauge.module.ts","../../../projects/screen-widget/src/lib/percent-pie-chart/percent-pie-chart.component.ts","../../../projects/screen-widget/src/lib/percent-pie-chart/percent-pie-chart.module.ts","../../../projects/screen-widget/src/lib/tree-ring-chart/tree-ring-chart.component.ts","../../../projects/screen-widget/src/lib/tree-ring-chart/tree-ring-chart.module.ts","../../../projects/screen-widget/src/lib/liquid-fill/liquid-fill.component.ts","../../../projects/screen-widget/src/lib/liquid-fill/liquid-fill.module.ts","../../../projects/screen-widget/src/lib/shuffling-list/shuffling-list.component.ts","../../../projects/screen-widget/src/lib/shuffling-list/color.pipe.ts","../../../projects/screen-widget/src/lib/shuffling-list/shuffling-list.module.ts","../../../projects/screen-widget/src/lib/parent-container/parent-container.component.ts","../../../projects/screen-widget/src/lib/basic-planimetric-map/basic-planimetric-map.component.ts","../../../projects/screen-widget/src/lib/breathing-bubble-layer/breathing-bubble-layer.component.ts","../../../projects/screen-widget/src/lib/breathing-bubble-layer/breathing-bubble-layer.module.ts","../../../projects/screen-widget/src/lib/basic-planimetric-map/basic-planimetric-map.module.ts","../../../projects/screen-widget/src/lib/planimetric-map2d/planimetric-map2d.component.ts","../../../projects/screen-widget/src/lib/planimetric-map2d/fly-line-layer/fly-line-layer.component.ts","../../../projects/screen-widget/src/lib/planimetric-map2d/fly-line-layer/fly-line-layer.module.ts","../../../projects/screen-widget/src/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.component.ts","../../../projects/screen-widget/src/lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.module.ts","../../../projects/screen-widget/src/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.component.ts","../../../projects/screen-widget/src/lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.module.ts","../../../projects/screen-widget/src/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.component.ts","../../../projects/screen-widget/src/lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.module.ts","../../../projects/screen-widget/src/lib/planimetric-map2d/planimetric-map2d.module.ts","../../../projects/screen-widget/src/lib/parent-container/parent-container.module.ts","../../../projects/screen-widget/src/lib/planimetric-map3d/planimetric-map3d.component.ts","../../../projects/screen-widget/src/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.component.ts","../../../projects/screen-widget/src/lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.module.ts","../../../projects/screen-widget/src/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.component.ts","../../../projects/screen-widget/src/lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.module.ts","../../../projects/screen-widget/src/lib/planimetric-map3d/planimetric-map3d.module.ts","../../../projects/screen-widget/src/lib/mip-anim/mip-anim.component.ts","../../../projects/screen-widget/src/lib/mip-anim/mip-anim.module.ts","../../../projects/screen-widget/src/lib/tree-control/tree-control.component.ts","../../../projects/screen-widget/src/lib/tree-control/tree-control.module.ts","../../../projects/screen-widget/src/lib/visual-map-chart/visual-map-chart.component.ts","../../../projects/screen-widget/src/lib/visual-map-chart/visual-map-chart.module.ts","../../../projects/screen-widget/src/lib/date-picker/date-picker.component.ts","../../../projects/screen-widget/src/lib/date-picker/date-picker.module.ts","../../../projects/screen-widget/src/lib/time-picker/time-picker.component.ts","../../../projects/screen-widget/src/lib/time-picker/time-picker.module.ts","../../../projects/screen-widget/src/lib/custom-baidu-map/custom-baidu-map.component.ts","../../../projects/screen-widget/src/lib/custom-baidu-map/wind-layer/wind-layer.component.ts","../../../projects/screen-widget/src/lib/custom-baidu-map/base-layer.ts","../../../projects/screen-widget/src/lib/shared/util/base.util.ts","../../../projects/screen-widget/src/lib/custom-baidu-map/baidu-marker-layer/baidu-marker-layer.component.ts","../../../projects/screen-widget/src/lib/custom-baidu-map/baidu-polyline-layer/baidu-polyline-layer.component.ts","../../../projects/screen-widget/src/lib/custom-baidu-map/typhoon-area-layer/typhoon-area-layer.component.ts","../../../projects/screen-widget/src/lib/custom-baidu-map/custom-baidu-map.module.ts","../../../projects/screen-widget/src/lib/iconfont/icon.ts","../../../projects/screen-widget/src/lib/upload/upload.component.ts","../../../projects/screen-widget/src/lib/upload/upload.module.ts","../../../projects/screen-widget/src/lib/cross-table/cross-table.component.ts","../../../projects/screen-widget/src/lib/cross-table/cross-table.module.ts","../../../projects/screen-widget/src/lib/table/table.component.ts","../../../projects/screen-widget/src/lib/table/table.module.ts","../../../projects/screen-widget/src/lib/shared/service/highcharts.service.ts","../../../projects/screen-widget/src/lib/pie3d-chart/pie3d-chart.component.ts","../../../projects/screen-widget/src/lib/pie3d-chart/pie3d-chart.module.ts","../../../projects/screen-widget/src/lib/multi-title-gauge/multi-title-gauge.component.ts","../../../projects/screen-widget/src/lib/multi-title-gauge/multi-title-gauge.module.ts","../../../projects/screen-widget/src/lib/gauge-progress/gauge-progress.component.ts","../../../projects/screen-widget/src/lib/gauge-progress/gauge.module.ts","../../../projects/screen-widget/src/lib/bulletin-board/bulletin-board.component.ts","../../../projects/screen-widget/src/lib/bulletin-board/bulletin-board.module.ts","../../../projects/screen-widget/src/lib/item-swiper/item-swiper.component.ts","../../../projects/screen-widget/src/lib/item-swiper/item-swiper.module.ts","../../../projects/screen-widget/src/lib/temporary-data/temporary-data.component.ts","../../../projects/screen-widget/src/lib/temporary-data/temporary-data.module.ts","../../../projects/screen-widget/src/lib/line-light-flow/line-light-flow.component.ts","../../../projects/screen-widget/src/lib/line-light-flow/line-light-flow.module.ts","../../../projects/screen-widget/src/lib/iframe/iframe.component.ts","../../../projects/screen-widget/src/lib/iframe/iframe.module.ts","../../../projects/screen-widget/src/lib/video-grid/video-grid.component.ts","../../../projects/screen-widget/src/lib/video-grid/video-grid.module.ts","../../../projects/screen-widget/src/lib/scatter3d/scatter3d.component.ts","../../../projects/screen-widget/src/lib/scatter3d/scatter3d.module.ts","../../../projects/screen-widget/src/lib/screen-widget.module.ts","../../../projects/screen-widget/src/lib/announcement/announcement.component.ts","../../../projects/screen-widget/src/lib/announcement/announcement.module.ts","../../../projects/screen-widget/src/lib/calendar/calendar.util.ts","../../../projects/screen-widget/src/lib/calendar/calendar.component.ts","../../../projects/screen-widget/src/lib/calendar/calendar-events-child.ts","../../../projects/screen-widget/src/lib/calendar/background-events/background-events.component.ts","../../../projects/screen-widget/src/lib/calendar/events/events.component.ts","../../../projects/screen-widget/src/lib/calendar/calendar.module.ts","../../../projects/screen-widget/src/lib/tabs/tabs.component.ts","../../../projects/screen-widget/src/lib/tabs/tab/tab.component.ts","../../../projects/screen-widget/src/lib/tabs/tabs.module.ts","../../../projects/screen-widget/src/lib/gantt/gantt.component.ts","../../../projects/screen-widget/src/lib/gantt/gantt.module.ts","../../../projects/screen-widget/src/lib/workbench-widget.module.ts","../../../projects/screen-widget/src/public-api.ts","../../../projects/screen-widget/src/bbj-screen-widget.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { LazyService } from '@delon/util';\r\n\r\n// (window as any)._AMapSecurityConfig = {\r\n// securityJsCode: '1f288f3bf91dc24647c540ef2988ba30',\r\n// };\r\ndeclare const AMap;\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class GaodeMapService {\r\n private loadAmapPromise: Promise<any>;\r\n\r\n constructor(public lazy: LazyService, private http: HttpClient) {}\r\n\r\n loadMap(): Promise<any> {\r\n if (typeof AMap !== 'undefined') {\r\n return Promise.resolve();\r\n }\r\n if (!this.loadAmapPromise) {\r\n this.loadAmapPromise = this.lazy.loadScript(\r\n 'https://webapi.amap.com/maps?v=1.4.15&key=803815fd5b53fbb5bfb6656b049f1d37&plugin=AMap.ControlBar',\r\n );\r\n }\r\n return this.loadAmapPromise;\r\n }\r\n\r\n getWeather(city): Promise<any> {\r\n // 高德地图\r\n return this.http\r\n .jsonp(\r\n `https://restapi.amap.com/v3/weather/weatherInfo?key=d633c7a49d34575ad5fb4235856f3a7b&city=${city}`,\r\n 'callback',\r\n )\r\n .toPromise();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaiduMapService } from 'bbj-screen-widget/core';\r\nimport { GaodeMapService } from './gaode-map.service';\r\n\r\n/**\r\n * @deprecated\r\n * 用BaiduMapService和GaodeMapService替代\r\n */\r\n@Injectable({ providedIn: 'root' })\r\nexport class CommonService {\r\n constructor(private baiduMapService: BaiduMapService, public gaodeMapService: GaodeMapService) {}\r\n\r\n /**\r\n * @deprecated\r\n * 用BaiduMapService.loadMap替代\r\n */\r\n getMap(): Promise<any> {\r\n return this.baiduMapService.loadMap();\r\n }\r\n\r\n /**\r\n * @deprecated\r\n * 用GaodeMapService.loadMap替代\r\n */\r\n loadMap(): Promise<any> {\r\n return this.gaodeMapService.loadMap();\r\n }\r\n}\r\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n OnChanges,\n OnInit,\n Renderer2,\n SimpleChanges,\n} from '@angular/core';\nimport { Data, Property, Widget, WidgetRef } from 'bbj-widget-base';\n\n@Component({\n selector: 'sc-picture',\n templateUrl: './image.component.html',\n styleUrls: ['./image.component.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n@Widget('图片', { group: 'picture', icon: 'icontupian' })\nexport class ImageComponent implements OnInit, OnChanges {\n @Property('', { min: 1, ui: { widget: 'myUpload', spanLabel: 0, spanControl: 24 } })\n image: string;\n\n @Property('透明度', { ui: { widget: 'myRange', min: 0, max: 1, step: 0.1 } })\n opacity = 1;\n @Property('阴影', { ui: { widget: 'myShadow' } })\n shadow: any = { color: '', X: 0, Y: 0, Z: 0 };\n style: any = {};\n hideHead: boolean;\n @Property('布局', {\n enum: [\n { label: '自适应', value: 'auto' },\n { label: '拉伸', value: 'stretch' },\n { label: '重复', value: 'repeat' },\n ],\n })\n layout = 'auto';\n @Data({\n properties: {\n image: { type: 'string', title: '路径' },\n },\n })\n _data: any[] = [];\n backgroundImage: string;\n constructor(\n private cd: ChangeDetectorRef,\n private renderer: Renderer2,\n private elementRef: ElementRef,\n private widgetRef: WidgetRef,\n ) {}\n ngOnChanges(changes: SimpleChanges): void {\n let image: string;\n if (this._data && this._data[0]?.image) {\n image = this._data[0].image;\n } else {\n image = this.image;\n }\n this.setStyle('backgroundImage', image ? `url(${image})` : null);\n this.cd.markForCheck();\n }\n\n ngOnInit() {\n this.renderer.addClass(this.element, this.layout || 'auto');\n this.setStyle('opacity', this.opacity === 1 ? null : this.opacity);\n const { color, X, Y, Z } = this.shadow;\n this.setStyle('boxShadow', color ? `${color} ${X}px ${Y}px ${Z}px` : null);\n const widget: any = this.widgetRef.widget as any;\n if (widget.link?.enabled || widget.outputs?.enabled) {\n this.setStyle('cursor', 'pointer');\n }\n }\n\n get element(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n setStyle(style: string, value: any) {\n this.renderer.setStyle(this.element, style, value);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ImageComponent } from './image.component';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\n\n@NgModule({\n declarations: [ImageComponent],\n imports: [CommonModule, WidgetBaseModule],\n})\nexport class ImageModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(ImageComponent);\n }\n}\n","export function getEchartsTextStyle(font: any) {\r\n const textStyle: any = {};\r\n if (font) {\r\n textStyle.color = font.color;\r\n textStyle.fontFamily = font.family;\r\n textStyle.fontWeight = font.weight;\r\n textStyle.fontSize = font.size;\r\n textStyle.lineHeight = font.lineHeight;\r\n }\r\n return textStyle;\r\n}\r\n","import { Component, OnChanges, OnInit, SimpleChanges, EventEmitter } from '@angular/core';\nimport { Data, Property, Widget, Drill, DataOutput } from 'bbj-widget-base';\nimport { getEchartsTextStyle } from '../shared/util/echarts.util';\n\n@Component({\n selector: 'sc-basicLine',\n templateUrl: './basic-line-chart.component.html',\n styleUrls: ['./basic-line-chart.component.less'],\n})\n@Widget('基本折线图', {\n group: 'lineChart',\n image: 'assets/img/screen/basic-line-chart.png',\n icon: 'icontubiao',\n})\nexport class BasicLineChartComponent implements OnInit, OnChanges {\n @Property('类型', { ui: { hidden: true } })\n type = 'basic';\n @Property('图表样式', {\n ui: {\n widget: 'myImageExample',\n spanLabel: 24,\n spanControl: 24,\n reset: ['lineColor'],\n example: [\n {\n background: 'assets/img/screen/line2.png',\n data: { lineColor: ['#FF851D', '#FFEF66'] },\n },\n {\n background: 'assets/img/screen/line3.png',\n data: { lineColor: ['#00D191', '#00FECB'] },\n },\n {\n background: 'assets/img/screen/line1.png',\n data: { lineColor: ['#3285FF', '#00D2FD'] },\n },\n {\n background: 'assets/img/screen/line4.png',\n data: { lineColor: ['#8934F8', '#FF3699'] },\n },\n ],\n },\n })\n example: any;\n @Property('系列颜色', {\n ui: {\n widget: 'seriesColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n },\n })\n lineColor = ['#3285FF', '#00D2FD'];\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = {\n family: '',\n color: '#595F7A',\n weight: 'normal',\n size: 12,\n space: 0,\n lineHeight: 12,\n };\n @Property('边距', { ui: { widget: 'myGrid' } })\n grid: any = {\n top: 30,\n right: 30,\n bottom: 40,\n left: 36,\n };\n @Property('图例', {\n ui: { widget: 'select' },\n enum: [\n { label: '无', value: 'none' },\n { label: '自动', value: 'auto' },\n { label: '居中', value: 'center' },\n { label: '左对齐', value: 'left' },\n { label: '右对齐', value: 'right' },\n ],\n })\n align = 'center';\n @Property('提示线样式', {\n ui: { widget: 'select' },\n enum: [\n { label: '直线指示器', value: 'line' },\n { label: '阴影指示器', value: 'shadow' },\n { label: '十字准星指示器', value: 'cross' },\n { label: '无', value: 'none' },\n ],\n })\n axisType = 'none';\n @Property('提示线类型', {\n ui: { widget: 'select' },\n enum: [\n { label: '实线', value: 'solid' },\n { label: '虚线', value: 'dashed' },\n { label: '点线', value: 'dotted' },\n ],\n })\n lineType = 'dashed';\n // @Property('轴单位', {ui: {widget: 'myUnit'}})\n // unit = {x: '', y: ''};\n @Property('提示线颜色', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n },\n })\n axisColor = '#333333';\n @Property('提示线宽度', { type: 'number' })\n axisWidth = 10;\n @Property('x轴类型', {\n enum: [\n { label: '类目', value: 'category' },\n { label: '时间', value: 'time' },\n ],\n })\n xType = 'category';\n @Property('y轴单位', { type: 'string' })\n yUnit = '';\n @Property('x轴单位', { type: 'string' })\n xUnit = '';\n @Property('y轴最小')\n yMin: number;\n @Property('y轴最大')\n yMax: number;\n @Property('y轴最小间隔')\n yMinInterval: number;\n @Property('y轴最大增减')\n yMaxAddNum: number;\n @Property('坐标留白', { type: 'boolean' })\n boundaryGap = true;\n @Property('显示Y轴', { type: 'boolean' })\n showY = true;\n @Property('y轴网络线', { type: 'boolean' })\n netLine = false;\n\n @Property('y网络线类型', {\n ui: { widget: 'select', visibleIf: { netLine: [true] } },\n enum: [\n { label: '实线', value: 'solid' },\n { label: '虚线', value: 'dashed' },\n { label: '点线', value: 'dotted' },\n ],\n })\n netLineType = 'dashed';\n @Property('x轴网络线', { type: 'boolean' })\n netLineX = false;\n\n @Property('x网络线类型', {\n ui: { widget: 'select', visibleIf: { netLineX: [true] } },\n enum: [\n { label: '实线', value: 'solid' },\n { label: '虚线', value: 'dashed' },\n { label: '点线', value: 'dotted' },\n ],\n })\n netLineXType = 'dashed';\n\n @Property('网络线颜色', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n },\n })\n netLineColor = 'rgba(255,255,255,0.2)';\n\n @Property('标签', { type: 'boolean' })\n label = false;\n\n @Property('标线', { type: 'boolean' })\n markLine = false;\n @Property('Y轴标线高度', { type: 'number', ui: { visibleIf: { markLine: [true] } } })\n YmarkLineHeight = 10;\n\n // @Property('显示X轴', {\n // ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n // })\n // showX = true;\n @Property('Y标线标题', {\n type: 'string',\n ui: { visibleIf: { markLine: [true] }, optionalHelp: '此标题需要跟x字段内名字一致' },\n })\n YmarkLineName = '';\n // @Property('标线数值', { type: 'number' })\n // markLineVal = null;\n\n @Property('Y标线类型', {\n ui: { widget: 'select', visibleIf: { markLine: [true] } },\n enum: [\n { label: '实线', value: 'solid' },\n { label: '虚线', value: 'dashed' },\n { label: '点线', value: 'dotted' },\n ],\n })\n YmarkLineType = 'dashed';\n\n @Property('Y标线颜色', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n visibleIf: { markLine: [true] },\n },\n })\n YmarkLineColor = '#f00';\n @Property('Y标线粗细', {\n type: 'number',\n ui: { visibleIf: { markLine: [true] } },\n })\n YmarkWidth = 2;\n @Property('X轴标线位置', { type: 'string', ui: { visibleIf: { markLine: [true] } } })\n XmarkLineLocation = '二月';\n @Property('X标线标题', {\n type: 'string',\n ui: { optionalHelp: '此标题需要跟x字段内名字一致', visibleIf: { markLine: [true] } },\n })\n XmarkLineName = '';\n @Property('X标线类型', {\n ui: { widget: 'select', visibleIf: { markLine: [true] } },\n enum: [\n { label: '实线', value: 'solid' },\n { label: '虚线', value: 'dashed' },\n { label: '点线', value: 'dotted' },\n ],\n })\n XmarkLineType = 'dashed';\n\n @Property('X标线颜色', {\n ui: {\n visibleIf: { markLine: [true] },\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n },\n })\n XmarkLineColor = '#f00';\n @Property('X标线粗细', {\n type: 'number',\n ui: { visibleIf: { markLine: [true] } },\n })\n XmarkWidth = 2;\n @Property('数据标线')\n showDataMarkLine: boolean;\n @Property('数据标线格式化', {\n ui: { visibleIf: { showDataMarkLine: [true] }, optionalHelp: 'function(params){return params.data.value}' },\n })\n dataMarkLineFormatter: string;\n @Property('隐藏x轴标签')\n hideXLabel: boolean;\n @Property('x轴标签角度', {\n ui: { widget: 'myRange', min: -90, max: 90, step: 10, visibleIf: { hideXLabel: (value) => !value } },\n })\n xLabelRotate = 0;\n @Property('x轴文本宽度', { ui: { visibleIf: { hideXLabel: (value) => !value } } })\n xLabelWidth: number;\n @Property('x轴文字宽度超出', {\n enum: [\n { label: '自动', value: 'auto' },\n { label: '截断', value: 'truncate' },\n { label: '换行', value: 'break' },\n { label: '强制换行', value: 'breakAll' },\n ],\n ui: { widget: 'select', visibleIf: { hideXLabel: (value) => !value } },\n })\n xLabelOverflow = 'auto';\n @Property('标签显示间隔', {\n ui: {\n visibleIf: { hideXLabel: (value) => !value },\n optionalHelp: {\n text: `默认会采用标签不重叠的策略间隔显示标签。\n可以设置成 0 强制显示所有标签。 \n如果设置为 1,表示『隔一个标签显示一个标签』,如果值为 2,表示隔两个标签显示一个标签,以此类推。`,\n overlayStyle: {\n whiteSpace: 'pre-line',\n },\n },\n },\n })\n xLabelInterval: number;\n\n @Property('区域缩放')\n insideDataZoom: boolean;\n @Property('缩放最少数量', { ui: { visibleIf: { insideDataZoom: [true] } } })\n dataZoomMinData: number;\n @Property('缩放开始百分比', { ui: { visibleIf: { insideDataZoom: [true] } } })\n dataZoomStart: number;\n @Property('缩放结束百分比', { ui: { visibleIf: { insideDataZoom: [true] } } })\n dataZoomEnd: number;\n @Property('滚轮缩放', {\n enum: [\n { label: '启用', value: true },\n { label: '禁用', value: false },\n { label: '按住shift', value: 'shift' },\n { label: '按住ctrl', value: 'ctrl' },\n { label: '按住alt', value: 'alt' },\n ],\n ui: { widget: 'select', visibleIf: { insideDataZoom: [true] } },\n })\n zoomOnMouseWheel = true;\n @Property('滑动条', { ui: { visibleIf: { insideDataZoom: [true] } } })\n sliderDataZoom: boolean;\n @Property('锁定区域大小', { ui: { visibleIf: { sliderDataZoom: [true] } } })\n zoomLock: boolean;\n @Property('提示框字体', { ui: { widget: 'myFont' } })\n tooltipFont: any;\n @Property('阶梯拐点', {\n enum: [\n { label: '当前点', value: 'start' },\n { label: '中间点', value: 'middle' },\n { label: '下个点', value: 'end' },\n ],\n ui: { widget: 'select', visibleIf: { type: ['step'] } },\n })\n step: string;\n @Property('标记点大小', { type: 'number' })\n symbolSize: number;\n chartOption: any = null;\n @Data({\n properties: {\n x: { type: 'string', title: '类目' },\n y: { type: 'number', title: '值' },\n s: { type: 'string', title: '系列' },\n },\n })\n _data: any[] = [\n { x: '一月', y: 10, s: '收入' },\n { x: '二月', y: 20, s: '收入' },\n { x: '三月', y: 25, s: '收入' },\n { x: '四月', y: 35, s: '收入' },\n { x: '五月', y: 27, s: '收入' },\n { x: '六月', y: 28, s: '收入' },\n { x: '一月', y: 18, s: '支出' },\n { x: '二月', y: 28, s: '支出' },\n { x: '三月', y: 32, s: '支出' },\n { x: '四月', y: 48, s: '支出' },\n { x: '五月', y: 20, s: '支出' },\n { x: '六月', y: 17, s: '支出' },\n ];\n @Drill()\n @DataOutput(['x', 's'])\n dataClick = new EventEmitter<any>();\n xData = [];\n yData = [];\n // series = [];\n style = {\n color: '',\n fontFamily: '',\n fontWeight: '',\n fontSize: '',\n lineHeight: '',\n };\n constructor() {}\n\n ngOnInit() {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes._data) {\n const textStyle = this.getTextStyle(this.font);\n this.style = textStyle;\n this.chartOption = {\n dataZoom: this.getDataZoom(),\n tooltip: this.getTooltip(),\n legend: this.getLegend(),\n grid: this.getGrid(),\n xAxis: this.getXAxis(),\n yAxis: this.getYAxis(),\n color: this.lineColor,\n series: [],\n };\n this.reloadData();\n }\n }\n\n getXAxis(): any {\n return {\n name: this.xUnit,\n nameTextStyle: this.style,\n type: this.xType || 'category',\n boundaryGap: this.boundaryGap,\n axisLine: {\n lineStyle: {\n color: this.style.color,\n },\n },\n axisLabel: {\n ...this.style,\n rotate: this.xLabelRotate,\n show: !this.hideXLabel,\n width: this.xLabelWidth,\n overflow: this.xLabelOverflow,\n interval: this.xLabelInterval,\n },\n splitLine: {\n show: this.netLineX,\n lineStyle: {\n type: this.netLineXType,\n color: this.netLineColor,\n },\n },\n };\n }\n\n getYAxis(): any {\n return {\n show: true,\n name: this.yUnit,\n nameTextStyle: this.style,\n type: 'value',\n min: this.yMin,\n max: (value) => {\n let yMax = value.max;\n if (this.yMax) {\n yMax = Number(this.yMax);\n } else if (this.markLine) {\n yMax = Math.max(Number(this.YmarkLineHeight), yMax);\n }\n return Math.ceil(this.yMaxAddNum ? yMax + Number(this.yMaxAddNum) : yMax);\n },\n axisLine: {\n show: this.showY,\n lineStyle: {\n color: this.style.color,\n },\n },\n axisLabel: this.style,\n splitLine: {\n show: this.netLine,\n lineStyle: {\n type: this.netLineXType,\n color: this.netLineColor,\n },\n },\n axisTick: {\n show: this.showY,\n },\n minInterval: this.yMinInterval,\n };\n }\n\n getGrid() {\n return {\n top: this.grid.top,\n right: this.grid.right,\n left: this.grid.left,\n bottom: this.grid.bottom,\n };\n }\n getLegend(): any {\n return {\n align: 'left',\n left: this.align,\n show: this.align !== 'none',\n icon: 'rect',\n textStyle: this.style,\n };\n }\n getTooltip() {\n return {\n trigger: 'axis',\n textStyle: this.getTextStyle(this.tooltipFont),\n axisPointer: {\n type: this.axisType,\n label: {\n show: false,\n },\n lineStyle: {\n type: this.lineType,\n color: this.axisColor,\n width: this.axisWidth,\n },\n },\n };\n }\n\n getTextStyle(font: any) {\n return getEchartsTextStyle(font);\n }\n\n getDataZoom() {\n const dataZoom = [];\n if (this.insideDataZoom) {\n let enableDataZoom = true;\n if (this.dataZoomMinData != null) {\n const xSet = new Set<string>();\n this._data.forEach((data) => {\n if (data.x) {\n xSet.add(data.x);\n }\n });\n if (xSet.size < this.dataZoomMinData) {\n enableDataZoom = false;\n }\n }\n if (enableDataZoom) {\n let start = this.dataZoomStart || 0;\n let end = this.dataZoomEnd || 100;\n dataZoom.push({ type: 'inside', start, end, zoomOnMouseWheel: this.zoomOnMouseWheel });\n if (this.sliderDataZoom) {\n dataZoom.push({ type: 'slider', start, end, zoomLock: this.zoomLock, brushSelect: false });\n }\n }\n }\n return dataZoom;\n }\n\n reloadData() {\n const seriesMap = {};\n const dataset = [];\n const source = [];\n dataset.push({ source });\n this._data.forEach((record) => {\n // 针对markline标线关联数据库的操作, 若x的名字与markline的name一致,则获取对应的y轴数据作为markline的value; 目前仅支持一个markline\n // data中过滤掉markline的数据\n if (this.markLine && this.YmarkLineName && record.x === this.YmarkLineName) {\n this.YmarkLineHeight = record.y;\n } else {\n //为空filter会报错\n if (record.s == null) {\n record = { ...record, s: '' };\n }\n source.push(record);\n const s = record.s;\n let series = seriesMap[s];\n if (!series) {\n // seriesSet.add(s);\n const transform = {\n type: 'filter',\n config: { dimension: 's', value: s },\n };\n dataset.push({ transform });\n series = this.setSeriesStyle(s, dataset.length - 1);\n seriesMap[s] = series;\n if (this.showDataMarkLine) {\n series.markLine = {\n symbol: ['none', 'none'],\n label: {\n ...this.style,\n position: 'start',\n },\n data: [],\n };\n if (this.dataMarkLineFormatter) {\n series.markLine.label.formatter = eval('(' + this.dataMarkLineFormatter + ')');\n }\n }\n }\n if (this.showDataMarkLine) {\n series.markLine.data.push({ xAxis: record.x });\n }\n }\n });\n this.chartOption.dataset = dataset;\n if (this.markLine) {\n const marklineStyle: any = {\n symbol: 'none',\n silent: true, // 鼠标悬停书剑,true没有\n data: [],\n };\n if (this.YmarkLineName) {\n marklineStyle.data.push({\n name: this.YmarkLineName,\n type: this.YmarkLineHeight ? null : 'average',\n yAxis: this.YmarkLineHeight,\n lineStyle: {\n color: this.YmarkLineColor,\n type: this.YmarkLineType,\n width: this.YmarkWidth ? this.YmarkWidth : 2,\n },\n label: {\n formatter: '{b}{c}',\n position: 'insideEndTop',\n color: this.YmarkLineColor,\n fontSize: this.font.size,\n },\n });\n }\n if (this.XmarkLineName) {\n marklineStyle.data.push({\n name: this.XmarkLineName,\n type: this.XmarkLineLocation ? null : 'average',\n xAxis: this.XmarkLineLocation,\n lineStyle: {\n color: this.XmarkLineColor,\n type: this.XmarkLineType,\n width: this.XmarkWidth ? this.XmarkWidth : 2,\n },\n label: {\n formatter: '{b}{c}',\n position: 'insideEndTop',\n color: this.XmarkLineColor,\n fontSize: this.font.size,\n },\n });\n }\n this.chartOption.series.push({ type: 'line', markLine: marklineStyle, data: [] });\n // this.chartOption.series[this.chartOption.series.length - 1].markLine = marklineStyle;\n }\n }\n\n setSeriesStyle(name: string, datasetIndex: number) {\n const series: any = {\n name,\n label: {\n show: this.label,\n textStyle: this.style,\n },\n connectNulls: true,\n itemStyle: {},\n type: 'line',\n areaStyle: {},\n smooth: false,\n symbolSize: this.symbolSize ?? 10,\n encode: { x: 'x', y: 'y' },\n datasetIndex,\n };\n this.chartOption.series.push(series);\n series.areaStyle.opacity = 0;\n if (this.type === 'smooth' || this.type === 'smooth-area') {\n series.smooth = true;\n }\n if (this.type === 'area' || this.type === 'smooth-area') {\n series.areaStyle.opacity = 0.5;\n series.symbolSize = this.symbolSize ?? (this.label ? 10 : 0);\n }\n if (this.type === 'step') {\n series.step = this.step;\n }\n return series;\n }\n\n uniqueData(data) {\n for (let i = 0; i < data.length - 1; i++) {\n for (let j = i + 1; j < data.length; j++) {\n if (data[i] === data[j]) {\n data.splice(j, 1);\n j--;\n }\n }\n }\n return data;\n }\n\n getMaxY() {\n for (let i = 0; i < this._data.length; i++) {\n this.yData[i] = this._data[i].y;\n }\n this.uniqueData(this.yData);\n const a = Math.max(...this.yData).toFixed(0);\n const b = a.toString().length;\n const c = Math.pow(10, b - 1);\n const max = Number(c) + Number(a);\n return max;\n }\n\n onChartClick(event) {\n this.dataClick.emit({ x: event.name, s: event.seriesName });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BasicLineChartComponent } from './basic-line-chart.component';\nimport { NgxEchartsModule } from 'ngx-echarts';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\n\n@NgModule({\n declarations: [BasicLineChartComponent],\n imports: [CommonModule, WidgetBaseModule, NgxEchartsModule],\n})\nexport class BasicLineChartModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(BasicLineChartComponent);\n }\n}\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class HttpService {\r\n constructor(private http: HttpClient) {}\r\n\r\n get(url: string, options: any) {\r\n return this.http.get(url, options).toPromise();\r\n }\r\n\r\n post(url: string, body: any, options: any) {\r\n return this.http.post(url, body, options).toPromise();\r\n }\r\n}\r\n","import { Component, EventEmitter, OnInit } from '@angular/core';\nimport { Data, DataOutput, GlobalVarService, Property, TemplateUtil, Widget } from 'bbj-widget-base';\nimport { SFOptionalHelp, SFRadioWidgetSchema } from '@delon/form';\nimport { of } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { HttpService } from '../shared/service/http.service';\n\n@Component({\n selector: 'sc-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.less'],\n})\n@Widget('按钮', { group: 'component', image: 'assets/img/screen/myButton.png', icon: 'iconmokuai' })\nexport class ButtonComponent implements OnInit {\n textStyle: any = {};\n edit: any;\n @Property('按钮样式', {\n ui: {\n widget: 'myButton',\n spanLabel: 24,\n spanControl: 24,\n name: 'button',\n reset: ['background', 'borderColor'],\n background: [\n { background: '#FFB700', borderColor: '#FFB700' },\n { background: '#00E371', borderColor: '#00E371' },\n { background: '#3285FF', borderColor: '#3285FF' },\n { background: '#B232FF', borderColor: '#B232FF' },\n { background: '#FF3286', borderColor: '#FF3286' },\n { background: '#FF3832', borderColor: '#FF3832' },\n { background: 'linear-gradient(-180deg, #FAD961 0%, #F76B1C 100%)', borderColor: '#F76B1C' },\n { background: 'linear-gradient(-180deg, #B4EC51 0%, #429321 100%)', borderColor: '#429321' },\n { background: 'linear-gradient(-180deg, #20C8FF 0%, #0059DD 100%)', borderColor: '#0059DD' },\n { background: 'linear-gradient(-90deg, #3023AE 0%, #C86DD7 87%)', borderColor: '#C86DD7' },\n ],\n },\n })\n colorExample: any;\n @Property('内容')\n title = 'button';\n @Property('填充', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n background = 'linear-gradient(-180deg, #20C8FF 0%, #0059DD 100%)';\n @Property('边框', {\n ui: {\n widget: 'myColor',\n example: ['#FFFFFF', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n borderColor = '#0059DD';\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = { family: '', color: '#ffffff', weight: 'normal', size: 12, space: 0, lineHeight: '' };\n @Property('透明度', { ui: { widget: 'myRange', min: 0, max: 1, step: 0.1 } })\n opacity = 1;\n @Property('圆角', { ui: { widget: 'myRange', min: 0, max: 100, step: 1 } })\n radius = 4;\n @Property('阴影', { ui: { widget: 'myShadow' } })\n shadow: any = { color: '', X: 0, Y: 0, Z: 0 };\n @Property('超链接')\n href = '';\n @Property('另起窗口', {\n type: 'boolean',\n ui: {\n checkedChildren: '是',\n unCheckedChildren: '否',\n },\n })\n openModel = true;\n @Property('执行脚本', {\n ui: {\n widget: 'textarea',\n autosize: { minRows: 6, maxRows: 10 },\n optionalHelp: {\n text: `内置变量:\n1、http:用于发起http请求\n2、global:全局变量\n例:http.post(\"http://www.xxx.com/xxx\",{a:global.a});// POST,body传参\n http.post(\"http://www.xxx.com/xxx\",null,{params:{a:global.a}});// POST,url传参\n http.get(\"http://www.xxx.com/xxx\",{params:{a:global.a}});// GET,url传参\n`,\n overlayStyle: {\n whiteSpace: 'pre-line',\n },\n },\n },\n })\n script: string;\n @Data({\n properties: {\n value: { type: 'string', title: '值' },\n },\n })\n data: any[] = [];\n @DataOutput('值')\n valueOutput = new EventEmitter<string>();\n constructor(private http: HttpService, private gloabl: GlobalVarService) {}\n\n ngOnInit() {\n this.textStyle = {\n background: this.background,\n borderColor: this.borderColor,\n fontSize: this.font.size + 'px',\n fontFamily: this.font.family,\n color: this.font.color,\n fontWeight: this.font.weight,\n letterSpacing: this.font.space + 'px',\n lineHeight: this.font.lineHeight + 'px',\n opacity: this.opacity,\n borderRadius: this.radius + '%',\n boxShadow: this.shadow.color + ' ' + this.shadow.X + 'px ' + this.shadow.Y + 'px ' + this.shadow.Z + 'px',\n };\n }\n openPage(event) {\n if (!this.edit) {\n if (this.href) {\n if (this.openModel) {\n window.open(this.href, '_blank');\n } else {\n window.location.href = this.href;\n }\n }\n if (this.script) {\n const fn = new Function('http', 'global', this.script);\n fn(this.http, this.gloabl.data);\n }\n }\n if (this.data?.length) {\n this.valueOutput.emit(this.data[0].value);\n }else{\n this.valueOutput.emit(null);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonComponent } from './button.component';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\nimport { HttpService } from '../shared/service/http.service';\n\n@NgModule({\n declarations: [ButtonComponent],\n imports: [CommonModule, WidgetBaseModule],\n providers: [HttpService],\n})\nexport class ButtonModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(ButtonComponent);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport {Property, Widget} from 'bbj-widget-base';\n\n@Component({\n selector: 'sc-timer',\n templateUrl: './timer.component.html',\n styleUrls: ['./timer.component.less']\n})\n @Widget('时间',{group: 'component',image: 'assets/img/screen/timer.png',icon: 'iconmokuai'})\nexport class TimerComponent implements OnInit {\n\n @Property('图标显示',{ui:{widget: 'checkbox'}})\n iconShow = true;\n @Property('星期显示',{ui:{widget: 'checkbox'}})\n weekShow = true;\n @Property('图标大小',{ui:{widget: 'myRange',min: 0, max: 100, step: 1}})\n iconFontSize = 20;\n @Property('图标右边距',{ui:{widget: 'myRange',min: 0, max: 100, step: 1}})\n iconMarginRight = 10;\n @Property('图标颜色',{ui:{widget: 'myColor', example:['#D0021B','#F5A623','#F8E71C','#50E3C2','#3285FF','#B45FFF','#9B9B9B','#ffffff']}})\n iconColor = '#5DF5F4';\n @Property('字体',{ui:{widget: 'myFont'}})\n font: any = {family: '', color: '#ffffff', weight: 'normal', size: 12, space: 0, lineHeight: ''};\n @Property('字体发光',{ui:{widget: 'checkbox'}})\n fontGlow = false;\n @Property('发光颜色',{ui:{widget: 'myColor', example:['#D0021B','#F5A623','#F8E71C','#50E3C2','#3285FF','#B45FFF','#9B9B9B','#ffffff']}})\n flowColor = '#ffffff';\n @Property('发光程度',{ui:{widget: 'myRange',min: 1, max: 10, step: 1}})\n flowSize = 3;\n @Property('格式')\n format = 'yyyy-MM-dd HH:mm:ss';\n iconStyle: any;\n textStyle: any;\n data: any;\n timer: any;\n week='';\n constructor() { }\n\n ngOnInit() {\n this.getTime();\n this.iconStyle = {\n fontSize: this.iconFontSize + 'px',\n marginRight: this.iconMarginRight + 'px',\n color: this.iconColor\n }\n this.textStyle = {\n fontSize: this.font.size + 'px',\n fontFamily: this.font.family,\n color: this.font.color,\n fontWeight: this.font.weight,\n letterSpacing: this.font.space + 'px',\n lineHeight: this.font.lineHeight + 'px',\n }\n if (this.fontGlow) {// 发光\n let str = '';\n for (let i = 0; i < this.flowSize; i++) {\n str += '0 0 20px ' + this.flowColor + ',';\n }\n str = str.substr(0, str.length - 1);\n this.textStyle['text-shadow'] = str;\n } else {\n this.textStyle['text-shadow'] = '';\n }\n clearInterval(this.timer);\n this.timer = setInterval(() => {\n this.getTime();// 检测变化\n }, 1000);\n }\n getTime() {\n const show_day=new Array('星期天','星期一','星期二','星期三','星期四','星期五','星期六');\n this.data = new Date();\n this.week=show_day[this.data.getDay()];\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TimerComponent } from './timer.component';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\n\n@NgModule({\n declarations: [TimerComponent],\n imports: [CommonModule, WidgetBaseModule, NzIconModule],\n})\nexport class TimerModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(TimerComponent);\n }\n}\n","import { Component, OnInit, OnChanges } from '@angular/core';\nimport { Property, Widget, Data } from 'bbj-widget-base';\n\n@Component({\n selector: 'sc-number-flop',\n templateUrl: './number-flop.component.html',\n styleUrls: ['./number-flop.component.less'],\n})\n@Widget('数字翻牌器', { group: 'component', image: 'assets/img/screen/number-flop.png', icon: 'iconmokuai' })\nexport class NumberFlopComponent implements OnInit, OnChanges {\n // @Property('静态值')\n // number: number = 1024;\n @Property('前缀内容')\n prefixContent = '';\n @Property('前缀字体', { ui: { widget: 'myFont', hideProperty: { lineHeight: true } } })\n prefixFont: any = { family: '', color: '#ffffff', weight: 'normal', size: 12, space: 0, lineHeight: '' };\n @Property('数字字体', { ui: { widget: 'myFont' , hideProperty: { lineHeight: true } } })\n numberFont: any = { family: '', color: '#ffffff', weight: 'normal', size: 90, space: 0, lineHeight: '' };\n @Property('填充', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n background = '#01A4F9';\n @Property('小数点位数', { ui: { widget: 'myRange', min: 0, max: 10, step: 1 } })\n point = 0;\n @Property('后缀内容')\n suffixContent = '';\n @Property('后缀字体', { ui: { widget: 'myFont' } })\n suffixFont: any = { family: '', color: '#ffffff', weight: 'normal', size: 12, space: 0, lineHeight: '' };\n @Property('数字位数')\n numDigit:number = 0;\n headlineStyle: any;\n prefixStyle: any;\n suffixStyle: any;\n numberdate: any;\n textStyle: any;\n serial: any = {};\n tableBar: any = {};\n @Data({\n properties: {\n value: { type: 'number', title: '数值' },\n },\n })\n number: any[] = [{ value: 1024 }];\n\n constructor() {}\n ngOnChanges() {\n this.headlineStyle = {\n height: this.numberFont.size + 'px',\n lineHeight: this.numberFont.size + 'px',\n };\n this.prefixStyle = {\n fontSize: this.prefixFont.size + 'px',\n fontFamily: this.prefixFont.family,\n color: this.prefixFont.color,\n fontWeight: this.prefixFont.weight,\n letterSpacing: this.prefixFont.space + 'px',\n lineHeight: this.prefixFont.lineHeight + 'px',\n };\n this.suffixStyle = {\n fontSize: this.suffixFont.size + 'px',\n fontFamily: this.suffixFont.family,\n color: this.suffixFont.color,\n fontWeight: this.suffixFont.weight,\n letterSpacing: this.suffixFont.space + 'px',\n lineHeight: this.suffixFont.lineHeight + 'px',\n };\n this.textStyle = {\n fontSize: this.numberFont.size + 'px',\n fontFamily: this.numberFont.family,\n color: this.numberFont.color,\n fontWeight: this.numberFont.weight,\n letterSpacing: this.numberFont.space + 'px',\n // lineHeight: this.numberFont.lineHeight + 'px',\n };\n this.serial.width = this.numberFont.size * 0.58 + 'px';\n this.tableBar.width = this.numberFont.size * 0.7 + 'px';\n this.numberdate = Number(this.number && this.number[0] ? this.number[0].value : 0);\n let digits=0;\n if(this.numDigit>0 && this.numberdate.toString().length<this.numDigit){\n digits=this.numDigit-this.numberdate.toString().length;\n }\n this.numberdate=this.numberdate.toFixed(this.point)\n .toString();\n if(digits>0){\n for (let index = 0; index < digits; index++) {\n this.numberdate='0'+this.numberdate;\n }\n }\n this.numberdate= this.numberdate.split('');\n }\n\n ngOnInit() {}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NumberFlopComponent } from './number-flop.component';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\n\n@NgModule({\n declarations: [NumberFlopComponent],\n imports: [CommonModule, WidgetBaseModule],\n})\nexport class NumberFlopModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(NumberFlopComponent);\n }\n}\n","import { Component, ElementRef, OnInit, EventEmitter } from '@angular/core';\nimport { Property, Widget, DataOutput, Data } from 'bbj-widget-base';\n\n@Component({\n selector: 'sc-vote',\n templateUrl: './vote.component.html',\n styleUrls: ['./vote.component.less'],\n})\n@Widget('投票', { group: 'component', image: 'assets/img/screen/vote.png', icon: 'iconmokuai' })\nexport class VoteComponent implements OnInit {\n\n @Data({\n properties: {\n label: { title: '标签', type: 'string' },\n value: { title: '值', type: 'string' },\n checked: { title: '是否选中', type: 'boolean' },\n },\n })\n options: any = [\n { label: '选项一', value: 'option1' },\n { label: '选项二', value: 'option2' },\n { label: '选项三', value: 'option3' },\n ];\n @Property('', { ui: { widget: 'myCheckNumber', title: '多选个数', spanLabel: 0, spanControl: 24 } })\n num = 1;\n @Property('填充', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n background = 'rgba(50,133,255,0.2)';\n @Property('边框', {\n ui: {\n widget: 'myColor',\n example: ['#ffffff', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n borderColor = '#3285FF';\n @Property('按钮颜色', {\n ui: {\n widget: 'myColor',\n example: ['#ffffff', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n btnColor = '#3285FF';\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = { family: '', color: '#ffffff', weight: 'normal', size: 12, space: 0, lineHeight: '' };\n /*checkOptionsOne = [];*/\n textStyle: any;\n @DataOutput('值')\n valueChange = new EventEmitter<any>();\n constructor(private ele: ElementRef) {}\n\n ngOnInit() {\n this.ele.nativeElement.style.background = this.background;\n this.ele.nativeElement.style.border = this.borderColor ? '1px solid ' + this.borderColor : 0;\n this.ele.nativeElement.style.setProperty('--color', this.borderColor);\n this.textStyle = {\n fontSize: this.font.size + 'px',\n fontFamily: this.font.family,\n color: this.font.color,\n fontWeight: this.font.weight,\n letterSpacing: this.font.space + 'px',\n lineHeight: this.font.lineHeight + 'px',\n };\n }\n log(value: object[]): void {\n this.valueChange.emit(value);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VoteComponent } from './vote.component';\nimport { FormsModule } from '@angular/forms';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\n\n@NgModule({\n declarations: [VoteComponent],\n imports: [CommonModule, WidgetBaseModule, NzCheckboxModule, FormsModule],\n})\nexport class VoteModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(VoteComponent);\n }\n}\n","import { Component, OnInit, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';\nimport { Property, Widget, DataOutput, Data, Event, DataInput, Method, Param } from 'bbj-widget-base';\n\n@Component({\n selector: 'sc-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.less'],\n})\n@Widget('下拉框', {\n group: 'component',\n image: 'assets/img/screen/select.png',\n icon: 'iconmokuai',\n})\nexport class SelectComponent implements OnInit, OnChanges {\n @Property('下拉框样式', {\n ui: {\n widget: 'myImageExample',\n spanLabel: 24,\n spanControl: 24,\n reset: ['background', 'borderColor', 'selectColor'],\n example: [\n {\n background: 'assets/img/screen/select1.png',\n data: {\n selectColor: '#F5A623',\n borderColor: '#F5A623',\n background: 'rgba(245,166,35,0.2)',\n dropdownBg: 'rgba(245,166,35,0.2)',\n dropdownBorderColor: '#F5A623',\n },\n },\n {\n background: 'assets/img/screen/select2.png',\n data: {\n selectColor: '#50E3C2',\n borderColor: '#50E3C2',\n background: 'rgba(80,227,194,0.2)',\n dropdownBg: 'rgba(80,227,194,0.2)',\n dropdownBorderColor: '#50E3C2',\n },\n },\n {\n background: 'assets/img/screen/select3.png',\n data: {\n selectColor: '#9013fe',\n borderColor: '#9013fe',\n background: 'rgba(144,19,254,0.2)',\n dropdownBg: 'rgba(144,19,254,0.2)',\n dropdownBorderColor: '#9013fe',\n },\n },\n {\n background: 'assets/img/screen/select4.png',\n data: {\n selectColor: '#3285ff',\n borderColor: '#3285ff',\n background: 'rgba(50,133,255,0.2)',\n dropdownBg: 'rgba(50,133,255,0.2)',\n dropdownBorderColor: '#3285ff',\n },\n },\n ],\n },\n })\n example: any;\n @Property('提示用语', { type: 'string' })\n hint = '请选择';\n @Property('', {\n ui: {\n widget: 'myCheckNumber',\n title: '多选个数',\n spanLabel: 0,\n spanControl: 24,\n },\n })\n num = 1;\n @Property('填充', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n background: string;\n @Property('边框', {\n ui: {\n widget: 'myColor',\n example: ['#ffffff', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n borderColor = '#d9d9d9';\n\n // 通过全局变量来控制颜色变化 当多个时会互相替换 移除此功能\n @Property('选中颜色', {\n ui: {\n widget: 'myColor',\n example: ['#ffffff', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n dropdownBackgroundColor = '#E6F7FF';\n @Property('选中字体颜色', {\n ui: {\n widget: 'myColor',\n example: ['#ffffff', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n selectDropDownColor = 'rgba(0,0,0,0.85)';\n @Property('hover字体颜色', {\n ui: {\n widget: 'myColor',\n example: ['#ffffff', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n selectHoverColor = 'rgba(0,0,0,0.85)';\n @Property('hover背景颜色', {\n ui: {\n widget: 'myColor',\n example: ['#ffffff', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n selectHoverBackgroundColor = '#f5f5f5';\n\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = {\n family: '',\n weight: 'normal',\n size: 12,\n space: 0,\n lineHeight: 30,\n };\n\n @Property('对齐方式', {\n enum: [\n { label: '左对齐', value: 'left' },\n { label: '居中', value: 'center' },\n { label: '右对齐', value: 'right' },\n ],\n })\n align = 'left';\n @Property('搜索')\n showSearch: boolean;\n @Property('清空按钮')\n showClean: boolean;\n @Property('查看按钮')\n showConfirm: boolean;\n @Property('下拉宽度', { type: 'number' })\n dropdownWidth = null;\n\n @Property('下拉填充', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n dropdownBg = '#fff';\n @Property('下拉边框', {\n ui: {\n widget: 'myColor',\n example: ['#ffffff', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n dropdownBorderColor = '#fff';\n\n @Property('输出格式', {\n enum: [\n { label: '数组', value: 'array' },\n { label: '字符串', value: 'string' },\n ],\n ui: { widget: 'select', visibleIf: { num: (value) => value > 1 } },\n })\n outputFormat = 'array';\n @Property('分隔字符', { ui: { visibleIf: { outputFormat: ['string'] } } })\n separator = ',';\n selectedValue: any;\n ngStyle: any;\n dropdownStyle: any;\n mode = 'default';\n open: boolean;\n\n @Data({\n properties: {\n label: { title: '标签', type: 'string' },\n value: { title: '值', type: 'string' },\n checked: { title: '是否选中', type: 'boolean' },\n },\n })\n options: any = [\n { label: '选项1', value: 'option1' },\n { label: '选项2', value: 'option2' },\n ];\n\n @DataInput('选中值')\n value: any;\n\n @DataOutput('值')\n @Event('值改变', { params: '值' })\n valueChange = new EventEmitter<any>();\n @DataOutput('原始数据')\n optionChange = new EventEmitter<any>();\n\n constructor() {}\n\n ngOnInit() {\n this.ngStyle = {\n backgroundColor: this.background,\n border: '1px solid ' + this.borderColor,\n fontSize: this.font.size + 'px',\n fontFamily: this.font.family,\n color: this.font.color,\n fontWeight: this.font.weight,\n letterSpacing: this.font.space + 'px',\n lineHeight: this.font.lineHeight + 'px',\n };\n this.dropdownBg = this.dropdownBg ? this.dropdownBg : this.background;\n this.dropdownBorderColor = this.dropdownBorderColor ? this.dropdownBorderColor : this.borderColor;\n this.dropdownStyle = {\n backgroundColor: this.dropdownBg,\n border: '1px solid ' + this.dropdownBorderColor,\n fontSize: this.font.size + 'px',\n fontFamily: this.font.family,\n color: this.font.color,\n fontWeight: this.font.weight,\n letterSpacing: this.font.space + 'px',\n lineHeight: this.font.lineHeight + 'px',\n width: this.dropdownWidth + 'px',\n };\n // this.dropdownStyle.width = this.dropdownWidth ? this.dropdownWidth + 'px' : '';\n document.body.style.setProperty(\n '--dropdownBackgroundColor',\n this.dropdownBackgroundColor || ' rgba(255,255,255,0.2)',\n );\n document.body.style.setProperty('--selectDropDownColor', this.selectDropDownColor || '#333');\n document.body.style.setProperty('--selectHoverColor', this.selectHoverColor || 'rgba(255,255,255,0.5)');\n document.body.style.setProperty('--selectHoverBackgroundColor', this.selectHoverBackgroundColor || '#333');\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.options) {\n if (this.num && this.num > 1) {\n this.mode = 'multiple';\n this.selectedValue = [];\n this.options.forEach((option) => {\n if (option.checked && this.selectedValue.length < this.num) {\n this.selectedValue.push(option.value ? option.value : option.label);\n }\n });\n if (this.selectedValue.length > 0) {\n this.selectChange(this.selectedValue);\n }\n } else {\n this.mode = 'default';\n const item = this.options.find((s) => s.checked);\n if (item) {\n this.selectedValue = item.value ? item.value : item.label;\n this.selectChange(this.selectedValue);\n }\n }\n }\n if (changes.value) {\n this.selectedValue = this.value;\n // console.log(this.value);\n }\n }\n\n selectAllData() {\n this.selectedValue = [];\n this.options.forEach((data) => {\n this.selectedValue.push(data.value);\n });\n this.selectChange(this.selectedValue);\n // this.valueChange.emit(this.selectedValue);\n // this.optionChange.emit(this.options);\n }\n\n selectChange(value: string | string[]) {\n this.selectedValue = value;\n if (Array.isArray(value)) {\n // 多选\n if (this.outputFormat === 'string') {\n this.valueChange.emit(value.join(this.separator || ','));\n } else {\n this.valueChange.emit(value);\n }\n const selectedOption = this.options.filter((option) => value.includes(option.value));\n this.optionChange.emit(selectedOption);\n } else {\n this.valueChange.emit(value);\n const selectedOption = this.options.find((option) => option.value === event);\n this.optionChange.emit(selectedOption);\n }\n }\n\n @Method('选中')\n select(@Param('值') value: any) {\n this.selectedValue = value;\n this.selectChange(value);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SelectComponent } from './select.component';\nimport { FormsModule } from '@angular/forms';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzDividerModule } from 'ng-zorro-antd/divider';\n\n@NgModule({\n declarations: [SelectComponent],\n imports: [CommonModule, WidgetBaseModule, NzSelectModule, FormsModule, NzButtonModule],\n})\nexport class SelectModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(SelectComponent);\n }\n}\n","export function getFontStyle(font: any) {\r\n let style: any = {};\r\n if (font) {\r\n if (font.size) style.fontSize = font.size + 'px';\r\n if (font.family) style.fontFamily = font.family;\r\n if (font.color) style.color = font.color;\r\n if (font.weight) style.fontWeight = font.weight;\r\n if (font.space) style.letterSpacing = font.space + 'px';\r\n if (font.lineHeight) style.lineHeight = font.lineHeight + 'px';\r\n }\r\n return style;\r\n}\r\n","import { Component, OnInit, EventEmitter } from '@angular/core';\nimport { Property, Widget, DataOutput } from 'bbj-widget-base';\nimport { getFontStyle } from '../shared/util/style.util';\n\n@Component({\n selector: 'sc-search',\n templateUrl: './search.component.html',\n styleUrls: ['./search.component.less'],\n})\n@Widget('搜索框', { group: 'component', image: 'assets/img/screen/search.png', icon: 'iconmokuai' })\nexport class SearchComponent implements OnInit {\n @Property('按钮样式', {\n ui: {\n widget: 'myButton',\n spanLabel: 24,\n spanControl: 24,\n icon: 'search',\n reset: ['background', 'borderColor', { parent: 'font', child: 'color' }],\n background: [\n { color: '#F5A623', borderColor: '#F5A623', background: 'rgba(245,166,35,0.2)' },\n { color: '#50E3C2', borderColor: '#50E3C2', background: 'rgba(80,227,194,0.2)' },\n { color: '#9013fe', borderColor: '#9013fe', background: 'rgba(144,19,254,0.2)' },\n { color: '#3285ff', borderColor: '#3285ff', background: 'rgba(50,133,255,0.2)' },\n ],\n },\n })\n colorExample: any = { color: '#3285ff', borderColor: '#3285ff', background: 'rgba(50,133,255,0.2)' };\n\n @Property('填充', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n background = 'rgba(50,133,255,0.2)';\n @Property('边框', {\n ui: {\n widget: 'myColor',\n example: ['#ffffff', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n borderColor = '#3285ff';\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = { family: '', color: '#3285ff', weight: 'normal', size: 12, space: 0, lineHeight: '' };\n @Property('按钮样式', {\n enum: [\n { label: '样式一', value: 'default' },\n { label: '样式二', value: 'iconSingle' }\n ],\n })\n btnStyleOption = 'default';\n\n @Property('按钮颜色', {\n ui: {\n widget: 'myColor',\n visibleIf: { btnStyleOption: ['iconSingle'] }\n },\n })\n iconSingleColor = '#fff';\n @Property('按钮大小', {\n ui: {\n visibleIf: { btnStyleOption: ['iconSingle'] }\n },\n })\n iconSingleSize = 16;\n\n @Property('隐藏按钮')\n hideBtn: boolean;\n @Property('提示文字')\n placeholder: string;\n @Property('高度')\n height = 26;\n btnStyle: any;\n btnIconStyle: any;\n @DataOutput('值')\n valueChange = new EventEmitter<any>();\n value: any;\n constructor() { }\n\n ngOnInit() {\n this.btnStyle = {\n backgroundColor: this.background,\n borderColor: this.borderColor,\n ...getFontStyle(this.font),\n };\n if (this.btnStyleOption === 'iconSingle') {\n this.btnIconStyle = {\n fontSize: this.iconSingleSize + 'px',\n color: this.iconSingleColor,\n }\n }\n }\n\n searchChange(value) {\n this.valueChange.emit(value);\n }\n\n onKeypress(event: KeyboardEvent) {\n if (event.key === 'Enter') {\n this.valueChange.emit(this.value);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SearchComponent } from './search.component';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { FormsModule } from '@angular/forms';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\nimport { NzIconModule, NzIconService } from 'ng-zorro-antd/icon';\nimport { NzPipesModule } from 'ng-zorro-antd/pipes';\n\n@NgModule({\n declarations: [SearchComponent],\n imports: [CommonModule, WidgetBaseModule, NzIconModule, NzInputModule, NzButtonModule, FormsModule, NzPipesModule],\n})\nexport class SearchModule {\n constructor(widgetService: WidgetService, private iconService: NzIconService) {\n widgetService.register(SearchComponent);\n this.iconService.fetchFromIconfont({\n scriptUrl: 'assets/icons/screen-icons.js'\n });\n }\n}\n","import { Component, OnInit, ElementRef, OnChanges, SimpleChanges, NgZone } from '@angular/core';\nimport { Property, Widget } from 'bbj-widget-base';\nimport { BaiduMapService } from 'bbj-screen-widget/core';\nimport { GaodeMapService } from '../shared/service/gaode-map.service';\nimport { getFontStyle } from '../shared/util/style.util';\ndeclare var BMapGL: any;\n\n@Component({\n selector: 'sc-weather',\n templateUrl: './weather.component.html',\n styleUrls: ['./weather.component.less'],\n})\n@Widget('天气', { group: 'component', image: 'assets/img/screen/weather.png', icon: 'iconmokuai' })\nexport class WeatherComponent implements OnInit {\n @Property('字体', { ui: { widget: 'myFont' } })\n tempFont: any = { family: '', color: '#ffffff', weight: 'normal', size: 40, space: 0, lineHeight: '' };\n\n @Property('显示样式', {\n enum: [\n { label: '样式1', value: 'default' },\n { label: '样式2', value: 'mini' },\n ],\n })\n weatherStyleType = 'default';\n\n @Property('图标大小', {\n ui: {\n widget: 'myRange',\n min: 0,\n max: 100,\n step: 1,\n visibleIf: { weatherStyleType: ['mini'] },\n },\n })\n iconSize = 64;\n\n city: string;\n weather: string;\n temperature: string;\n weatherIcon: any[] = ['iconfont', 'icon-duoyun'];\n weatherImgs = {\n cloudy: 'weather_cloudy',\n rain: 'weather_rain',\n overcast: 'weather_overcast',\n sunny: 'weather_sunny',\n };\n weatherImgName = 'overcast';\n tempStyle: any;\n\n constructor(\n public baiduMapService: BaiduMapService,\n private gaodeMapService: GaodeMapService,\n private zone: NgZone,\n ) {}\n\n ngOnInit() {\n this.tempStyle = getFontStyle(this.tempFont);\n this.reload();\n }\n\n async reload() {\n const localCity = await this.baiduMapService.localCity();\n const cityName = localCity.name;\n this.city = cityName;\n const data = await this.gaodeMapService.getWeather(cityName);\n this.zone.run(() => {\n this.weather = data.lives[0].weather;\n this.weatherImgName = this.weather.includes('雨')\n ? 'rain'\n : this.weather === '晴'\n ? 'sunny'\n : this.weather.includes('云')\n ? 'cloudy'\n : 'overcast';\n this.temperature = data.lives[0].temperature;\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WeatherComponent } from './weather.component';\nimport { HttpClientJsonpModule } from '@angular/common/http';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\n\n@NgModule({\n declarations: [WeatherComponent],\n imports: [CommonModule, WidgetBaseModule, HttpClientJsonpModule],\n providers: [],\n})\nexport class WeatherModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(WeatherComponent);\n }\n}\n","import { Component, ElementRef, OnInit, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';\nimport { Property, Widget, DataOutput, Data } from 'bbj-widget-base';\nimport {SFNumberWidgetSchema} from '@delon/form';\n\n@Component({\n selector: 'sc-radio',\n templateUrl: './radio.component.html',\n styleUrls: ['./radio.component.less'],\n})\n@Widget('单选', { group: 'component', image: 'assets/img/screen/radio.png', icon: 'iconmokuai' })\nexport class RadioComponent implements OnInit, OnChanges {\n\n @Property('颜色', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n },\n })\n radioColor = '#3285FF';\n @Property('样式类型', {\n ui: { widget: 'select' },\n enum: [\n { label: '圆点', value: 'circle' },\n { label: '按钮', value: 'button' },\n ],\n })\n styleType = 'circle';\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = { family: '', color: '#ffffff', weight: 'normal', size: 12, space: 0, lineHeight: 26 };\n radioValue: any;\n ngStyle: any;\n @Property('选中图片',{\n type: 'string',\n ui: {\n widget: 'myUpload',\n },\n })\n selectImage='';\n @Property('未选图片',{\n type: 'string',\n ui: {\n widget: 'myUpload',\n }\n })\n notSelectImage='';\n @Property('自定义宽',{type:'number'})\n width=150;\n @Property('自定义高',{type:'number'})\n height=50;\n isCustom=false;\n @Data({\n properties: {\n label: { title: '标签', type: 'string' },\n value: { title: '值', type: 'string' },\n checked: { title: '是否选中', type: 'boolean' },\n },\n })\n options:any[]=[\n { label: '是', value: '1', checked: true },\n { label: '否', value: '0' },\n ]\n @DataOutput('值')\n valueChange = new EventEmitter<any>();\n constructor(private ele: ElementRef) {}\n\n ngOnInit() {\n this.ele.nativeElement.style.setProperty('--radioColor', this.radioColor);\n this.ele.nativeElement.style.setProperty('--outerSize', this.font.size+'px');\n this.ele.nativeElement.style.setProperty('--innerSize', this.font.size/2+'px');\n this.ele.nativeElement.style.setProperty('--width', this.width+'px');\n this.ele.nativeElement.style.setProperty('--height', this.height+'px');\n this.ele.nativeElement.style.setProperty('--color', this.font.color );\n this.ele.nativeElement.style.setProperty('--weight', this.font.weight );\n this.ele.nativeElement.style.setProperty('--family', this.font.weight );\n this.ele.nativeElement.style.setProperty('--select', 'url('+this.selectImage+')' );\n this.ele.nativeElement.style.setProperty('--notSelect', 'url('+this.notSelectImage+')');\n this.ngStyle = {\n fontSize: this.font.size + 'px',\n fontFamily: this.font.family,\n color: this.font.color,\n fontWeight: this.font.weight,\n letterSpacing: this.font.space + 'px',\n lineHeight: this.font.lineHeight + 'px',\n };\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if(this.selectImage&&this.notSelectImage&&this.selectImage!=''&&this.notSelectImage!=''){\n this.isCustom=true;\n }\n if (changes.options) {\n if (this.options) {\n const selectRadio = this.options.find((s) => s.checked);\n if (selectRadio) {\n this.radioValue = selectRadio.value;\n this.valueChange.emit(this.radioValue);\n }\n }\n }\n }\n\n checked(option){\n this.options.forEach((o)=>{\n if(o.value===option.value){\n o.checked=true;\n this.valueChange.emit(o.value);\n }else{\n o.checked=false;\n }\n })\n }\n\n radioChange(event) {\n this.valueChange.emit(event);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RadioComponent } from './radio.component';\nimport { FormsModule } from '@angular/forms';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\n\n@NgModule({\n declarations: [RadioComponent],\n imports: [CommonModule, WidgetBaseModule, NzRadioModule, FormsModule],\n})\nexport class RadioModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(RadioComponent);\n }\n}\n","import { Component, ElementRef, OnInit, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';\nimport { NzCheckBoxOptionInterface } from 'ng-zorro-antd/checkbox';\nimport { Property, Widget, DataOutput, Data, Event, DataInput } from 'bbj-widget-base';\n\ninterface CheckBoxOption extends NzCheckBoxOptionInterface {\n color?: string;\n}\n\n@Component({\n selector: 'sc-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.less'],\n host: {\n '[class.vertical]': 'layout===\"vertical\"',\n },\n})\n@Widget('复选框', {\n group: 'component',\n image: 'assets/img/screen/checkbox.png',\n icon: 'iconmokuai',\n})\nexport class CheckboxComponent implements OnInit, OnChanges {\n @Data({\n properties: {\n label: { title: '标签', type: 'string' },\n value: { title: '值', type: 'string' },\n checked: { title: '是否选中', type: 'boolean' },\n },\n })\n options: CheckBoxOption[] = [\n { label: '多选一', value: 'option1', checked: true },\n { label: '多选二', value: 'option2' },\n { label: '多选三', value: 'option3' },\n ];\n @Property('复选框颜色', {\n ui: {\n widget: 'myColor',\n },\n })\n borderColor = '#3285FF';\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = {\n family: '',\n weight: 'normal',\n size: 12,\n space: 0,\n lineHeight: 26,\n };\n textStyle: any;\n @Property('整体布局', {\n enum: [\n { label: '横向', value: 'horizontal' },\n { label: '纵向', value: 'vertical' },\n ],\n })\n layout = 'horizontal';\n @Property('选项布局', {\n enum: [\n { label: '横向', value: 'horizontal' },\n { label: '纵向', value: 'vertical' },\n ],\n })\n lableLayout = 'horizontal';\n @Property('选项宽度')\n labelWidthNum: any;\n @Property('选项边距', { ui: { widget: 'myGrid' } })\n lablePaddNum: any = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n };\n\n @Property('显示全选')\n showCheckAll: boolean;\n @Property('隐藏文本')\n hiddenLabel: boolean;\n @Property('输出格式', {\n enum: [\n { label: '数组', value: 'array' },\n { label: '字符串', value: 'string' },\n ],\n })\n outputFormat = 'array';\n @Property('分隔字符', { ui: { visibleIf: { outputFormat: ['string'] } } })\n separator = ',';\n @Property('标签颜色', {\n ui: {\n widget: 'seriesColor',\n },\n })\n labelColors: string[];\n @Property('选中图片', {\n type: 'string',\n ui: {\n widget: 'myUpload',\n },\n })\n selectImage = '';\n @Property('未选图片', {\n type: 'string',\n ui: {\n widget: 'myUpload',\n },\n })\n notSelectImage = '';\n @Property('图片宽', { type: 'number' })\n width = 150;\n @Property('图片高', { type: 'number' })\n height = 50;\n isCustom = false;\n\n @DataInput('选中值')\n value: any;\n\n @DataOutput('值')\n @Event('值改变', { params: '值' })\n valueChange = new EventEmitter<any>();\n\n checkOptions: CheckBoxOption[];\n allChecked = false;\n indeterminate = true;\n lablePadd: any;\n labelWidth: any;\n @Property('禁用', { type: 'boolean' })\n disabled: boolean;\n\n constructor(private ele: ElementRef) {}\n\n ngOnInit() {\n /*this.ele.nativeElement.style.borderColor = this.borderColor;*/\n /* this.ele.nativeElement.style.setProperty('--color', this.borderColor);*/\n this.textStyle = {\n fontSize: this.font.size + 'px',\n fontFamily: this.font.family,\n color: this.font.color,\n fontWeight: this.font.weight,\n letterSpacing: this.font.space + 'px',\n lineHeight: this.font.lineHeight + 'px',\n borderColor: this.borderColor,\n backgroudColor: this.borderColor,\n };\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.selectImage && this.notSelectImage && this.selectImage != '' && this.notSelectImage != '') {\n this.ele.nativeElement.style.setProperty('--outerSize', this.font.size + 'px');\n this.ele.nativeElement.style.setProperty('--innerSize', this.font.size / 2 + 'px');\n this.ele.nativeElement.style.setProperty('--width', this.width + 'px');\n this.ele.nativeElement.style.setProperty('--height', this.height + 'px');\n this.ele.nativeElement.style.setProperty('--color', this.font.color);\n this.ele.nativeElement.style.setProperty('--weight', this.font.weight);\n this.ele.nativeElement.style.setProperty('--family', this.font.weight);\n this.ele.nativeElement.style.setProperty('--select', 'url(' + this.selectImage + ')');\n this.ele.nativeElement.style.setProperty('--notSelect', 'url(' + this.notSelectImage + ')');\n this.isCustom = true;\n }\n if (changes.value) {\n this.updateCheckOptions();\n }\n if (changes.options) {\n this.checkOptions = this.options.map((option, i) => {\n option = { ...option };\n if (this.labelColors?.length) {\n option.color = this.labelColors[i % this.labelColors.length];\n }\n return option;\n });\n this.updateSingleChecked();\n if (this.value) {\n this.updateCheckOptions();\n } else {\n this.updateValue(true);\n }\n }\n\n if (changes.lablePaddNum && changes.lablePaddNum.currentValue) {\n const padd = changes.lablePaddNum.currentValue;\n this.lablePadd = `${padd.top || 0}px ${padd.right || 0}px ${padd.bottom || 0}px ${padd.left || 0}px`;\n // console.log(this.lablePadd);\n }\n if (changes.labelWidthNum && changes.labelWidthNum.currentValue) {\n const labelWidth = changes.labelWidthNum.currentValue;\n if (Number(labelWidth)) {\n this.labelWidth = labelWidth + 'px';\n } else {\n const isPercent =\n labelWidth.charAt(labelWidth.length - 1) === '%' ? Number(labelWidth.slice(0, labelWidth.length - 1)) : false;\n\n if (isPercent) {\n this.labelWidth = labelWidth;\n }\n }\n }\n }\n change(event: NzCheckBoxOptionInterface[]) {\n this.updateSingleChecked();\n this.updateValue();\n }\n\n updateCheckOptions() {\n if (this.value && this.checkOptions?.length) {\n let values: string[];\n if (typeof this.value === 'string') {\n values = this.value.split(this.separator || ',');\n } else {\n values = this.value;\n }\n let changed = false;\n this.checkOptions.forEach((option) => {\n const checked = option.value && values.includes(option.value.toString());\n if (option.checked !== checked) {\n changed = true;\n option.checked = checked;\n }\n });\n if (changed) {\n this.checkOptions = [...this.checkOptions];\n this.updateSingleChecked();\n }\n }\n }\n\n updateValue(init?: boolean) {\n const value = [];\n this.checkOptions.forEach((item) => {\n if (item.checked) {\n value.push(item.value);\n }\n });\n if (!init || value.length) {\n if (this.outputFormat === 'string') {\n this.valueChange.emit(value.join(this.separator || ','));\n } else {\n this.valueChange.emit(value);\n }\n }\n }\n\n updateAllChecked(): void {\n this.indeterminate = false;\n if (this.allChecked) {\n this.checkOptions = this.checkOptions.map((item) => {\n return {\n ...item,\n checked: true,\n };\n });\n } else {\n this.checkOptions = this.checkOptions.map((item) => {\n return {\n ...item,\n checked: false,\n };\n });\n }\n this.updateValue();\n }\n\n updateSingleChecked(): void {\n if (this.showCheckAll) {\n if (this.checkOptions.every((item) => !item.checked)) {\n this.allChecked = false;\n this.indeterminate = false;\n } else if (this.checkOptions.every((item) => item.checked)) {\n this.allChecked = true;\n this.indeterminate = false;\n } else {\n this.indeterminate = true;\n }\n }\n }\n\n // 全选\n checkedAll() {\n this.allChecked = !this.allChecked;\n // this.\n }\n\n checked(option) {\n let arr = [];\n this.options.forEach((o) => {\n if (o.value === option.value) {\n o.checked = !o.checked;\n }\n if (o.checked) {\n arr.push(o.value);\n }\n });\n this.valueChange.emit(arr.join(this.separator || ','));\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\nimport { CheckboxComponent } from './checkbox.component';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\n\n@NgModule({\n declarations: [CheckboxComponent],\n imports: [CommonModule, WidgetBaseModule, NzCheckboxModule, FormsModule],\n})\nexport class CheckboxModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(CheckboxComponent);\n }\n}\n","import {Component, ElementRef, OnInit} from '@angular/core';\nimport {Property, Widget} from 'bbj-widget-base';\n\n@Component({\n selector: 'sc-rate',\n templateUrl: './rate.component.html',\n styleUrls: ['./rate.component.less']\n})\n@Widget('评分',{group: 'component',image: 'assets/img/screen/rate.png',icon:'iconmokuai'})\nexport class RateComponent implements OnInit {\n\n @Property('类型', {enum: [\n { label: '分数', value: 'slider' },\n { label: '星级', value: 'rate' },\n { label: '满意度', value: 'radio' },\n ],ui: {widget: 'select'}})\n type = 'rate';\n @Property('颜色',{ui:{widget: 'myColor', example:['#D0021B','#F5A623','#F8E71C','#50E3C2','#3285FF','#B45FFF','#9B9B9B','#333333']}})\n radioColor = '#3285FF';\n @Property('字体',{ui:{widget: 'myFont'}})\n font: any = {family: '', color: '#ffffff', weight: 'normal', size: 12, space: 0, lineHeight: 26};\n rateValue = 3.5;\n radioValue = 'great';\n sliderValue = 8;\n style: any;\n constructor(private ele: ElementRef) { }\n\n ngOnInit() {\n this.ele.nativeElement.style.setProperty('--backgroundColor', this.radioColor);\n this.style = {\n fontSize: this.font.size + 'px',\n fontFamily: this.font.family,\n color: this.font.color,\n fontWeight: this.font.weight,\n letterSpacing: this.font.space + 'px',\n lineHeight: this.font.lineHeight + 'px',\n }\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { NzRateModule } from 'ng-zorro-antd/rate';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { NzSliderModule } from 'ng-zorro-antd/slider';\nimport { RateComponent } from './rate.component';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\n\n@NgModule({\n declarations: [RateComponent],\n imports: [CommonModule, WidgetBaseModule, NzRateModule, FormsModule, NzRadioModule, NzSliderModule],\n})\nexport class RateModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(RateComponent);\n }\n}\n","import {\n Component,\n OnInit,\n ElementRef,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n OnChanges,\n SimpleChanges,\n EventEmitter,\n Renderer2,\n} from '@angular/core';\nimport { Property, Widget, Data, DataOutput, WidgetRef, CustomExport } from 'bbj-widget-base';\n\n@Component({\n selector: 'sc-general-text',\n templateUrl: './general-text.component.html',\n styleUrls: ['./general-text.component.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n@Widget('常规文本', { group: 'generalText', icon: 'iconwenzi' })\nexport class GeneralTextComponent implements OnInit, OnChanges, CustomExport {\n @Property('内容', { ui: { widget: 'textarea', autosize: { minRows: 6, maxRows: 6 } } })\n title = '文本';\n @Property('背景', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n background: string;\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = { family: '', color: '#ffffff', weight: 'normal', size: 12, space: 0, lineHeight: '' };\n @Property('透明度', { ui: { widget: 'myRange', min: 0, max: 1, step: 0.1 } })\n opacity = 1;\n @Property('阴影', { ui: { widget: 'myShadow' } })\n shadow: any = { color: '', X: 0, Y: 0, Z: 0 };\n @Property('文字对齐', {\n ui: { widget: 'select' },\n enum: [\n { label: '左对齐', value: 'left' },\n { label: '右对齐', value: 'right' },\n { label: '居中', value: 'center' },\n ],\n })\n align = 'left';\n @Property('内容边距', { ui: { widget: 'myGrid' } })\n grid: any = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n };\n style: any;\n @Data({\n properties: {\n value: { type: 'string', title: '值' },\n color: { type: 'string', title: '颜色' },\n },\n })\n data: any[] = [];\n @DataOutput('值', { triggerLink: false })\n dataChange = new EventEmitter();\n constructor(private renderer: Renderer2, private cd: ChangeDetectorRef, private widgetRef: WidgetRef) {}\n\n ngOnInit() {}\n\n ngOnChanges(changes: SimpleChanges): void {\n this.style = {\n backgroundColor: this.background,\n fontSize: this.font.size + 'px',\n fontFamily: this.font.family,\n color: this.data && this.data[0] && this.data[0].color ? this.data[0].color : this.font.color,\n fontWeight: this.font.weight,\n letterSpacing: this.font.space + 'px',\n lineHeight: this.font.lineHeight + 'px',\n opacity: this.opacity,\n textShadow: this.shadow.X + 'px ' + this.shadow.Y + 'px ' + this.shadow.Z + 'px ' + this.shadow.color,\n };\n if (this.grid) {\n const { top = 0, right = 0, bottom = 0, left = 0 } = this.grid;\n this.style.padding = top + 'px ' + right + 'px ' + bottom + 'px ' + left + 'px';\n }\n const widget: any = this.widgetRef.widget as any;\n if (widget.link?.enabled || widget.outputs?.enabled) {\n this.style.cursor = 'pointer';\n }\n this.style.textAlign = this.align;\n if (changes.data) {\n if (this.data?.length && this.data[0].value) {\n this.dataChange.emit(this.data[0].value);\n } else {\n this.dataChange.emit(null);\n }\n }\n this.cd.markForCheck();\n }\n\n exportWord() {\n let content = this.title;\n if (this.data != null && this.data[0] != null && this.data[0].value != null) {\n content = this.data[0].value;\n }\n if (content) {\n content = content.replace(/\\n/g, '<br/>').replace(/ /g, '&nbsp;');\n const p = document.createElement('p');\n p.innerHTML = content;\n Object.keys(this.style).forEach((key) => {\n this.renderer.setStyle(p, key, this.style[key]);\n });\n return p.outerHTML;\n }\n return null;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GeneralTextComponent } from './general-text.component';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\nimport { NzPipesModule } from 'ng-zorro-antd/pipes';\n\n@NgModule({\n declarations: [GeneralTextComponent],\n imports: [CommonModule, WidgetBaseModule,NzPipesModule],\n})\nexport class GeneralTextModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(GeneralTextComponent);\n }\n}\n","import { Component, ElementRef, OnChanges, OnInit, SimpleChanges, ViewChild } from '@angular/core';\nimport { Property, Widget, Data } from 'bbj-widget-base';\n\n@Component({\n selector: 'sc-marquee',\n templateUrl: './marquee.component.html',\n styleUrls: ['./marquee.component.less'],\n})\n@Widget('跑马灯', { group: 'scrollText', icon: 'iconwenzi' })\nexport class MarqueeComponent implements OnInit, OnChanges {\n @Property('背景', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n },\n })\n background: string;\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = { family: '', color: '#ffffff', weight: 'normal', size: 12, space: 0, lineHeight: '' };\n @Property('透明度', { ui: { widget: 'myRange', min: 0, max: 1, step: 0.1 } })\n opacity = 1;\n @Property('阴影', { ui: { widget: 'myShadow' } })\n shadow: any = { color: '', X: 0, Y: 0, Z: 0 };\n @Property('动画', {\n enum: [\n { label: '从下向上滚动', value: 'up' },\n { label: '从上向下滚动', value: 'down' },\n { label: '从左向右滚动', value: 'right' },\n { label: '从右向左滚动', value: 'left' },\n ],\n ui: { widget: 'select' },\n })\n direction = 'left';\n @Property('速度', { ui: { widget: 'myRange', min: 0, max: 20, step: 1 } })\n scrollamount = 2;\n @Property('轨迹', {\n enum: [\n { label: '循环绕行', value: 'scroll' },\n { label: '播放一次', value: 'slide' },\n { label: '来回往复运动', value: 'alternate' },\n ],\n ui: { widget: 'select' },\n })\n behavior = 'scroll';\n\n @Data({\n properties: {\n value: { type: 'string', title: '值' },\n },\n })\n data: any[] = [{ value: '跑马灯' }];\n style: any;\n display = true;\n\n constructor() {}\n\n ngOnInit() {\n this.style = {\n backgroundColor: this.background,\n fontSize: this.font.size + 'px',\n fontFamily: this.font.family,\n color: this.font.color,\n fontWeight: this.font.weight,\n letterSpacing: this.font.space + 'px',\n lineHeight: this.font.lineHeight + 'px',\n opacity: this.opacity,\n boxShadow: this.shadow.color + ' ' + this.shadow.X + 'px ' + this.shadow.Y + 'px ' + this.shadow.Z + 'px',\n };\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.data) {\n this.reset();\n }\n }\n\n /**\n * 数据改变之后重置跑马灯\n */\n reset() {\n this.display = false;\n setTimeout(() => (this.display = true));\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MarqueeComponent } from './marquee.component';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\n\n@NgModule({\n declarations: [MarqueeComponent],\n imports: [CommonModule, WidgetBaseModule],\n})\nexport class MarqueeModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(MarqueeComponent);\n }\n}\n","import { Component, ElementRef, OnInit } from '@angular/core';\nimport { Property, Widget, Data } from 'bbj-widget-base';\n\n@Component({\n selector: 'sc-wordart',\n templateUrl: './wordart.component.html',\n styleUrls: ['./wordart.component.less']\n})\n@Widget('艺术字', { group: 'wordart', icon: 'iconwenzi' })\nexport class WordartComponent implements OnInit {\n @Property('内容')\n title = '艺术字';\n @Property('背景', { ui: { widget: 'myColor', example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null] } })\n background: string;\n @Property('字体', { ui: { widget: 'myFont' , hideProperty: {size: true, lineHeight: true, space: true }} })\n font: any = { family: '', color: '#333333', weight: 'normal', size: 12, space: 0, lineHeight: '' };\n @Property('透明度', { ui: { widget: 'myRange', min: 0, max: 1, step: 0.1 } })\n opacity = 1;\n @Property('渐变色', { ui: { hidden: true } })\n backgroundImage: string;\n @Property('文字对齐', {\n ui: { widget: 'select' },\n enum: [\n { label: '左对齐', value: 'left' },\n { label: '右对齐', value: 'right' },\n { label: '居中', value: 'center' }\n ]\n })\n align = 'left';\n style: any;\n @Data({\n properties: {\n value: { type: 'string', title: '值' },\n },\n })\n data: any[] = [];\n constructor(private ele: ElementRef) { }\n\n ngOnInit() {\n this.style = {\n fontSize: this.ele.nativeElement.offsetHeight > (this.ele.nativeElement.offsetWidth - 10) / this.title.length ? (this.ele.nativeElement.offsetWidth - 10) / this.title.length + 'px' : (this.ele.nativeElement.offsetHeight - 10) + 'px',\n lineHeight: this.ele.nativeElement.offsetHeight > this.ele.nativeElement.offsetWidth / this.title.length ? (this.ele.nativeElement.offsetWidth - 10) / this.title.length + 'px' : (this.ele.nativeElement.offsetHeight - 10) + 'px',\n fontFamily: this.font.family,\n color: this.font.color,\n fontWeight: this.font.weight,\n letterSpacing: this.font.space + 'px',\n opacity: this.opacity\n }\n if (this.backgroundImage) {\n this.style.backgroundImage = this.backgroundImage;\n }\n this.ele.nativeElement.style.backgroundColor = this.background;\n this.ele.nativeElement.style.textAlign = this.align;\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WordartComponent } from './wordart.component';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\n\n@NgModule({\n declarations: [WordartComponent],\n imports: [CommonModule, WidgetBaseModule],\n})\nexport class WordartModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(WordartComponent);\n }\n}\n","import { Component, OnInit, ElementRef } from '@angular/core';\nimport { Property, Widget } from 'bbj-widget-base';\n\n@Component({\n selector: 'sc-iconfont',\n templateUrl: './iconfont.component.html',\n styleUrls: ['./iconfont.component.less'],\n})\n@Widget('图标', { group: 'iconfont', icon: 'icontupian' })\nexport class IconfontComponent implements OnInit {\n\n @Property('图标', { ui: { hidden: true } })\n type = 'iconfont';\n @Property('图标名称', { ui: { hidden: true } })\n icon: string;\n // @Property('图标大小',{ui:{widget: 'myRange',min: 12, max: 150, step: 2}})\n // fontSize: number = 40;\n @Property('图标颜色', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n background = '#3285FF';\n style: any;\n hideHead: boolean;\n constructor(private element: ElementRef) {}\n\n ngOnInit() {\n this.style = {\n fontSize:\n this.element.nativeElement.offsetWidth > this.element.nativeElement.offsetHeight\n ? this.element.nativeElement.offsetHeight + 'px'\n : this.element.nativeElement.offsetWidth + 'px',\n lineHeight:\n this.element.nativeElement.offsetWidth > this.element.nativeElement.offsetHeight\n ? this.element.nativeElement.offsetHeight + 'px'\n : this.element.nativeElement.offsetWidth + 'px',\n color: this.background,\n };\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconfontComponent } from './iconfont.component';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\n\n@NgModule({\n declarations: [IconfontComponent],\n imports: [CommonModule, WidgetBaseModule, NzIconModule],\n})\nexport class IconfontModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(IconfontComponent);\n }\n}\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class FileUrlService {\r\n getUrl(url: string) {\r\n return url;\r\n }\r\n}\r\n","import { Component, ElementRef, OnChanges, OnDestroy, OnInit, SimpleChanges, ViewChild } from '@angular/core';\nimport { LazyService } from '@delon/util';\nimport { Widget, Property, Data } from 'bbj-widget-base';\nimport { FileUrlService } from '../shared/service/file-url.service';\ndeclare const flvjs;\n@Component({\n selector: 'sc-audio',\n templateUrl: './audio.component.html',\n styleUrls: ['./audio.component.less'],\n})\n@Widget('音频', { group: 'audio', icon: 'icontupian' })\nexport class AudioComponent implements OnInit, OnChanges{\n @Property('', {\n min: 1,\n type: 'string',\n ui: { widget: 'radio', spanLabel: 0, spanControl: 24 },\n enum: [\n { value: 'video', label: '视频' },\n { value: 'audio', label: '音频' },\n { value: 'auto', label: '自动' },\n ],\n })\n type = 'video';\n @Property('', {\n min: 1,\n ui: {\n widget: 'myUploadAudio',\n spanLabel: 0,\n spanControl: 24,\n list: [\n { name: '无', value: null },\n { name: '测试一号', value: 'https://xiche.oss-cn-beijing.aliyuncs.com/video/20180417154421.mp4' },\n { name: '测试二号', value: 'https://xiche.oss-cn-beijing.aliyuncs.com/video/20180508102521.mp4' },\n ],\n },\n })\n src: string;\n @Property('透明度', { ui: { widget: 'myRange', min: 0, max: 1, step: 0.1 } })\n opacity = 1;\n @Property('阴影', { ui: { widget: 'myShadow' } })\n shadow: any = { color: '', X: 0, Y: 0, Z: 0 };\n @Data({\n properties: {\n src: { title: '视频/音频地址', type: 'string' },\n },\n })\n data: any[];\n _src: string;\n\n @Property('视频格式', {\n enum: [\n { label: 'MP4', value: 'mp4' },\n { label: 'flv', value: 'flv' },\n ],\n ui: { visibleIf: { type: ['video'] }, widget: 'select' },\n })\n videoType: string;\n\n @Property('是否有声音', { ui: { visibleIf: { videoType: ['flv'] } } })\n hasAudio: boolean;\n style: any;\n @ViewChild('video')\n video: ElementRef;\n flvPlayer: any;\n obj: any;\n // loadFlvPromise: Promise<any>;\n _type: string;\n // destroyed: boolean;\n constructor( private fileUrlService: FileUrlService) {}\n\n ngOnInit() {}\n\n ngOnChanges(changes: SimpleChanges): void {\n this.style = {\n opacity: this.opacity,\n boxShadow: this.shadow.color + ' ' + this.shadow.X + 'px ' + this.shadow.Y + 'px ' + this.shadow.Z + 'px',\n };\n if (changes.type || changes.videoType || changes.src || changes.data) {\n this.reset();\n }\n }\n\n async reset() {\n this._src = null;\n let url: string;\n if (this.data && this.data.length && this.data[0].src) {\n url = this.data[0].src;\n } else {\n url = this.src;\n }\n url = this.fileUrlService.getUrl(url);\n if (this.type === 'auto' && url && url.includes('.')) {\n const ext = url.substring(url.lastIndexOf('.') + 1);\n switch (ext) {\n case 'png':\n case 'jpg':\n this._type = 'image';\n break;\n case 'mp4':\n this._type = 'video';\n break;\n case 'mp3':\n this._type = 'audio';\n break;\n }\n } else {\n this._type = this.type;\n if (this._type === 'video' && this.videoType === 'flv') {\n this._type = 'flv';\n }\n }\n this._src = url;\n // if (url) {\n // if (this._type === 'video' && this.videoType === 'flv') {\n // const obj = new Object();\n // this.obj = obj;\n // await this.loadFlv();\n // if (this.obj === obj && !this.destroyed) {\n // this.destroyFlv();\n // // 防止异步操作先后顺序问题\n // this.flvPlayer = flvjs.createPlayer(\n // {\n // type: 'flv',\n // url,\n // hasAudio: this.hasAudio === true,\n // hasVideo: true,\n // isLive: true,\n // withCredentials: false,\n // },\n // {\n // enableWorker: false,\n // lazyLoadMaxDuration: 3 * 60,\n // seekType: 'range',\n // },\n // );\n // this.flvPlayer.attachMediaElement(this.video.nativeElement);\n // console.log('load');\n // this.flvPlayer.load();\n // }\n // } else {\n // this._src = url;\n // }\n // }\n }\n\n // loadFlv() {\n // if (this.loadFlvPromise == null) {\n // this.loadFlvPromise = this.lazy.loadScript('assets/js/flv.min.js');\n // }\n // return this.loadFlvPromise;\n // }\n\n // destroyFlv() {\n // if (this.flvPlayer) {\n // console.log('destroy');\n // this.flvPlayer.unload();\n // this.flvPlayer.detachMediaElement();\n // this.flvPlayer.destroy();\n // this.flvPlayer = null;\n // }\n // }\n\n // ngOnDestroy(): void {\n // this.destroyFlv();\n // this.destroyed = true;\n // }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { LazyResult, LazyService } from '@delon/util';\nimport { FileUrlService } from '../../service/file-url.service';\ndeclare const flvjs;\ndeclare const Hls;\n@Component({\n selector: 'sc-video-player',\n templateUrl: './video-player.component.html',\n styleUrls: ['./video-player.component.less'],\n})\nexport class VideoPlayerComponent implements OnInit, OnChanges, OnDestroy, AfterViewInit {\n static loadFlvPromise: Promise<LazyResult>;\n static loadHlsPromise: Promise<LazyResult>;\n @Input()\n type: string;\n @Input()\n src: string;\n @Input()\n hasAudio: boolean;\n @ViewChild('video', { static: false })\n video: ElementRef<HTMLVideoElement>;\n flvPlayer: any;\n hlsPlayer: any;\n destroyed: boolean;\n initd: boolean;\n\n constructor(private lazy: LazyService, private fileUrlService: FileUrlService) {}\n\n ngOnInit() {\n\n }\n\n ngAfterViewInit(): void {\n this.reset();\n this.initd = true;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.initd && (changes.type || changes.src)) {\n this.reset();\n }\n }\n\n reset() {\n if (this.type === 'hls') {\n this.resetHls();\n } else if (this.type === 'iframe') {\n this.destroy();\n } else {\n this.resetFlv();\n }\n }\n\n loadHls() {\n if (VideoPlayerComponent.loadHlsPromise == null) {\n VideoPlayerComponent.loadHlsPromise = this.lazy.loadScript('/assets/js/hls.js');\n }\n return VideoPlayerComponent.loadHlsPromise;\n }\n\n async resetHls() {\n await this.loadHls();\n this.destroy();\n if (this.src && Hls.isSupported() && !this.destroyed) {\n const url = this.fileUrlService.getUrl(this.src);\n this.hlsPlayer = new Hls();\n this.hlsPlayer.loadSource(url);\n this.hlsPlayer.attachMedia(this.video.nativeElement);\n }\n }\n\n async resetFlv() {\n await this.loadFlv();\n this.destroy();\n // TODO 目前只做了flv,接下来要根据type播放不同类型\n if (this.src && !this.destroyed) {\n const url = this.fileUrlService.getUrl(this.src);\n this.flvPlayer = flvjs.createPlayer(\n {\n type: 'flv',\n url,\n hasAudio: this.hasAudio === true,\n hasVideo: true,\n isLive: true,\n withCredentials: false,\n },\n {\n enableWorker: false,\n lazyLoadMaxDuration: 3 * 60,\n seekType: 'range',\n },\n );\n this.flvPlayer.attachMediaElement(this.video.nativeElement);\n this.flvPlayer.load();\n }\n }\n\n loadFlv() {\n if (VideoPlayerComponent.loadFlvPromise == null) {\n VideoPlayerComponent.loadFlvPromise = this.lazy.loadScript('assets/js/flv.min.js');\n }\n return VideoPlayerComponent.loadFlvPromise;\n }\n\n destroy() {\n if (this.flvPlayer) {\n this.flvPlayer.unload();\n this.flvPlayer.detachMediaElement();\n this.flvPlayer.destroy();\n this.flvPlayer = null;\n }\n if (this.hlsPlayer) {\n this.hlsPlayer.destroy();\n this.hlsPlayer = null;\n }\n }\n\n ngOnDestroy(): void {\n this.destroy();\n this.destroyed = true;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VideoPlayerComponent } from './video-player.component';\nimport { NzPipesModule } from 'ng-zorro-antd/pipes';\n\n@NgModule({\n declarations: [VideoPlayerComponent],\n imports: [CommonModule, NzPipesModule],\n exports: [VideoPlayerComponent],\n})\nexport class VideoPlayerModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AudioComponent } from './audio.component';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\nimport { VideoPlayerModule } from '../shared/component/video-player/video-player.module';\n\n@NgModule({\n declarations: [AudioComponent],\n imports: [CommonModule, WidgetBaseModule, VideoPlayerModule],\n})\nexport class AudioModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(AudioComponent);\n }\n}\n","import { Component, OnChanges, OnInit, SimpleChanges, EventEmitter } from '@angular/core';\nimport { Property, Widget, Data, Drill, DataOutput } from 'bbj-widget-base';\nimport { BasicLineChartComponent } from '../basic-line-chart/basic-line-chart.component';\n\n@Component({\n selector: 'sc-basic-bar-chart',\n templateUrl: './basic-bar-chart.component.html',\n styleUrls: ['./basic-bar-chart.component.less'],\n})\n@Widget('基本柱状图', {\n group: 'barChart',\n image: 'assets/img/screen/baseBar.png',\n icon: 'icontubiao',\n})\nexport class BasicBarChartComponent extends BasicLineChartComponent implements OnInit, OnChanges {\n @Property('类型', { ui: { hidden: true } })\n type = 'basic';\n @Property('图表样式', {\n ui: {\n widget: 'myImageExample',\n spanLabel: 24,\n spanControl: 24,\n reset: ['barColor'],\n example: [\n {\n background: 'assets/img/screen/bar1.png',\n data: { barColor: { gradient: true, value: [['#FFEF66', '#FF851D']] } },\n },\n {\n background: 'assets/img/screen/bar2.png',\n data: { barColor: { gradient: true, value: [['#00FECB', '#00D191']] } },\n },\n {\n background: 'assets/img/screen/bar3.png',\n data: { barColor: { gradient: true, value: [['#00D2FD', '#3285FF']] } },\n },\n {\n background: 'assets/img/screen/bar4.png',\n data: { barColor: { gradient: true, value: [['#FF3699', '#8934F8']] } },\n },\n ],\n },\n })\n example: any;\n @Property('填充', {\n ui: {\n widget: 'seriesColor',\n type: 'gradual',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n },\n })\n barColor = { gradient: true, value: [['#00D2FD', '#3285FF']] };\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = {\n family: '',\n color: '#595F7A',\n weight: 'normal',\n size: 12,\n space: 0,\n lineHeight: 12,\n };\n @Property('单系多色')\n colorSwitch: boolean;\n\n @Property('类别颜色', {\n ui: {\n widget: 'seriesColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n visibleIf: { colorSwitch: [true] },\n },\n })\n colors = ['#058DC7', '#50B432', '#ED561B', '#DDDF00', '#24CBE5', '#64E572', '#FF9655', '#FFF263', '#6AF9C4'];\n @Property('边距', { ui: { widget: 'myGrid' } })\n grid: any = {\n top: 30,\n right: 30,\n bottom: 36,\n left: 38,\n };\n @Property('图例', {\n ui: { widget: 'select' },\n enum: [\n { label: '无', value: 'none' },\n { label: '自动', value: 'auto' },\n { label: '居中', value: 'center' },\n { label: '左对齐', value: 'left' },\n { label: '右对齐', value: 'right' },\n ],\n })\n align = 'center';\n @Property('轴隐藏', {\n ui: { widget: 'select' },\n enum: [\n { label: '无', value: 'true' },\n { label: 'x轴', value: '0' },\n { label: 'y轴', value: '1' },\n { label: '两轴', value: 'false' },\n ],\n })\n axisShow = 'true';\n @Property('刻度隐藏', {\n ui: { widget: 'select' },\n enum: [\n { label: '无', value: 'true' },\n { label: 'x轴', value: '0' },\n { label: 'y轴', value: '1' },\n { label: '两轴', value: 'false' },\n ],\n })\n scaleShow = 'true';\n // @Property('轴单位', {ui: {widget: 'myUnit'}})\n // unit = {x: '', y: '', yMax: ''};\n @Property('y轴单位', { type: 'string' })\n yUnit = '';\n @Property('x轴单位', { type: 'string' })\n xUnit = '';\n @Property('y轴最小')\n yMin: number;\n @Property('y轴最大')\n yMax: number;\n @Property('y轴最小间隔')\n yMinInterval: number;\n @Property('y轴最大增减')\n yMaxAddNum: number;\n @Property('网络线', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n netLine = false;\n @Property('网络线颜色', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n },\n })\n netLineColor = 'rgba(255,255,255,0.2)';\n @Property('标签', {\n ui: { widget: 'select' },\n enum: [\n { label: '无', value: 'none' },\n { label: '居上', value: 'top' },\n { label: '居中', value: 'inside' },\n { label: '居右', value: 'right' },\n ],\n })\n labelDirection = 'none';\n @Property('列间距', { ui: { widget: 'myRange', min: 0, max: 100, step: 10 } })\n barCategoryGap = 40;\n @Property('圆角', { ui: { widget: 'myRange', min: 0, max: 100, step: 1 } })\n barBorderRadius: 20;\n @Property('x轴类型', {\n enum: [\n { label: '类目', value: 'category' },\n { label: '时间', value: 'time' },\n ],\n })\n xType = 'category';\n @Property('轴标签角度', {\n ui: { widget: 'myRange', min: -90, max: 90, step: 10 },\n })\n xLabelRotate = 0;\n @Property('x轴文本宽度')\n xLabelWidth: number;\n @Property('x轴文字宽度超出', {\n enum: [\n { label: '自动', value: 'auto' },\n { label: '截断', value: 'truncate' },\n { label: '换行', value: 'break' },\n { label: '强制换行', value: 'breakAll' },\n ],\n })\n xLabelOverflow = 'auto';\n @Property('标签显示间隔', {\n ui: {\n optionalHelp: {\n text: `默认会采用标签不重叠的策略间隔显示标签。\n可以设置成 0 强制显示所有标签。 \n如果设置为 1,表示『隔一个标签显示一个标签』,如果值为 2,表示隔两个标签显示一个标签,以此类推。`,\n overlayStyle: {\n whiteSpace: 'pre-line',\n },\n },\n },\n })\n xLabelInterval: number;\n\n @Property('区域缩放')\n insideDataZoom: boolean;\n @Property('缩放最少数量', { ui: { visibleIf: { insideDataZoom: [true] } } })\n dataZoomMinData: number;\n @Property('缩放开始百分比', { ui: { visibleIf: { insideDataZoom: [true] } } })\n dataZoomStart: number;\n @Property('缩放结束百分比', { ui: { visibleIf: { insideDataZoom: [true] } } })\n dataZoomEnd: number;\n @Property('滚轮缩放', {\n enum: [\n { label: '启用', value: true },\n { label: '禁用', value: false },\n { label: '按住shift', value: 'shift' },\n { label: '按住ctrl', value: 'ctrl' },\n { label: '按住alt', value: 'alt' },\n ],\n ui: { widget: 'select', visibleIf: { insideDataZoom: [true] } },\n })\n zoomOnMouseWheel = true;\n @Property('滑动条', { ui: { visibleIf: { insideDataZoom: [true] } } })\n sliderDataZoom: boolean;\n @Property('锁定区域大小', { ui: { visibleIf: { sliderDataZoom: [true] } } })\n zoomLock: boolean;\n @Property('提示框字体', { ui: { widget: 'myFont' } })\n tooltipFont: any;\n @Property('显示柱条背景', { type: 'boolean' })\n showBackground = true;\n @Property('标线', { type: 'boolean' })\n markLine = false;\n @Property('Y轴标线高度', { type: 'number', ui: { visibleIf: { markLine: [true] } } })\n YmarkLineHeight = 10;\n\n // @Property('显示X轴', {\n // ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n // })\n // showX = true;\n @Property('Y标线标题', {\n type: 'string',\n ui: { visibleIf: { markLine: [true] }, optionalHelp: '此标题需要跟x字段内名字一致' },\n })\n YmarkLineName = '';\n // @Property('标线数值', { type: 'number' })\n // markLineVal = null;\n\n @Property('Y标线类型', {\n ui: { widget: 'select', visibleIf: { markLine: [true] } },\n enum: [\n { label: '实线', value: 'solid' },\n { label: '虚线', value: 'dashed' },\n { label: '点线', value: 'dotted' },\n ],\n })\n YmarkLineType = 'dashed';\n\n @Property('Y标线颜色', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n visibleIf: { markLine: [true] },\n },\n })\n YmarkLineColor = '#f00';\n @Property('Y标线粗细', {\n type: 'number',\n ui: { visibleIf: { markLine: [true] } },\n })\n YmarkWidth = 2;\n @Property('X轴标线位置', { type: 'string', ui: { visibleIf: { markLine: [true] } } })\n XmarkLineLocation = '二月';\n @Property('X标线标题', {\n type: 'string',\n ui: { optionalHelp: '此标题需要跟x字段内名字一致', visibleIf: { markLine: [true] } },\n })\n XmarkLineName = '';\n @Property('X标线类型', {\n ui: { widget: 'select', visibleIf: { markLine: [true] } },\n enum: [\n { label: '实线', value: 'solid' },\n { label: '虚线', value: 'dashed' },\n { label: '点线', value: 'dotted' },\n ],\n })\n XmarkLineType = 'dashed';\n\n @Property('X标线颜色', {\n ui: {\n visibleIf: { markLine: [true] },\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n },\n })\n XmarkLineColor = '#f00';\n @Property('X标线粗细', {\n type: 'number',\n ui: { visibleIf: { markLine: [true] } },\n })\n XmarkWidth = 2;\n chartOption: any = {};\n\n @Data({\n properties: {\n x: { type: 'string', title: '类目' },\n y: { type: 'number', title: '值' },\n s: { type: 'string', title: '系列' },\n },\n })\n _data = [\n { x: '一月', y: 10, s: '收入' },\n { x: '二月', y: 20, s: '收入' },\n { x: '三月', y: 25, s: '收入' },\n { x: '四月', y: 35, s: '收入' },\n { x: '五月', y: 27, s: '收入' },\n { x: '六月', y: 28, s: '收入' },\n { x: '一月', y: 18, s: '支出' },\n { x: '二月', y: 28, s: '支出' },\n { x: '三月', y: 32, s: '支出' },\n { x: '四月', y: 48, s: '支出' },\n { x: '五月', y: 20, s: '支出' },\n { x: '六月', y: 17, s: '支出' },\n ];\n\n @Drill()\n @DataOutput(['x', 's'])\n dataClick = new EventEmitter<any>();\n xData = [];\n yData = [];\n color = [];\n legends = [];\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes._data) {\n // this.reloadData();\n const dataShadow: number[] = [];\n const maxNum = this.getMaxY();\n dataShadow.fill(maxNum, 0, this.xData.length);\n const textStyle = this.getTextStyle(this.font);\n this.style = textStyle;\n let hori = this.horizontal;\n let barColors: string[][];\n if (this.barColor && this.barColor.value) {\n barColors = this.barColor.value;\n } else {\n barColors = this.barColor as any;\n }\n this.color = barColors.map((barColor) => ({\n type: 'linear',\n x: 0,\n y: 0,\n x2: hori ? 1 : 0,\n y2: hori ? 0 : 1,\n global: false,\n colorStops: [\n { offset: 0, color: barColor[0] },\n { offset: 1, color: barColor[1] },\n ],\n }));\n\n let xAxis: any = this.getXAxis();\n\n let yAxis: any = this.getYAxis();\n let grid: any = {\n top: this.grid.top,\n right: this.grid.right,\n left: this.grid.left,\n bottom: this.grid.bottom,\n };\n if (this.type === 'dcolor') {\n const yAxis1 = yAxis;\n const yAxis2 = this.getYAxis();\n yAxis1.inverse = true;\n yAxis = [yAxis1, yAxis2];\n yAxis.forEach((axis, i) => {\n axis.gridIndex = i;\n axis.position = 'top';\n });\n xAxis = [xAxis, this.getXAxis()];\n xAxis.forEach((axis, i) => {\n axis.gridIndex = i;\n });\n grid = [\n {\n right: '50%',\n },\n {\n left: '50%',\n },\n ];\n }\n const dataZoom = this.getDataZoom();\n this.chartOption = {\n dataZoom,\n tooltip: this.getTooltip(),\n legend: this.getLegend(),\n grid,\n xAxis: !hori ? xAxis : yAxis,\n yAxis: !hori ? yAxis : xAxis,\n color: this.color,\n series: [],\n };\n this.reloadData();\n }\n }\n\n ngOnInit() {}\n\n get horizontal(): boolean {\n return this.type === 'hori' || this.type === 'horiD' || this.type === 'dcolor';\n }\n\n getXAxis(): any {\n let XdisplayScaleShow =\n this.scaleShow === 'true' ? true : this.scaleShow === '0' ? false : this.scaleShow === '1' ? true : false;\n return {\n nameTextStyle: this.style,\n type: this.xType || 'category',\n name: this.xUnit,\n axisLine: {\n show: this.axisShow === 'true' ? true : this.axisShow === '0' ? false : this.axisShow === '1' ? true : false,\n lineStyle: {\n color: this.font.color,\n },\n },\n axisTick: {\n show: XdisplayScaleShow,\n },\n axisLabel: {\n ...this.style,\n show: XdisplayScaleShow,\n rotate: this.xLabelRotate,\n width: this.xLabelWidth,\n overflow: this.xLabelOverflow,\n interval: this.xLabelInterval,\n },\n };\n }\n\n getYAxis(): any {\n let YdisplayScaleShow =\n this.scaleShow === 'true' ? true : this.scaleShow === '0' ? true : this.scaleShow === '1' ? false : false;\n return {\n nameTextStyle: this.style,\n type: 'value',\n name: this.yUnit,\n axisLine: {\n show: this.axisShow === 'true' ? true : this.axisShow === '0' ? true : this.axisShow === '1' ? false : false,\n lineStyle: {\n color: this.font.color,\n },\n },\n axisTick: {\n show: YdisplayScaleShow,\n },\n min: this.yMin,\n max: (value) => {\n const yMax = Number(this.yMax ? this.yMax : value.max);\n return Math.ceil(this.yMaxAddNum ? yMax + Number(this.yMaxAddNum) : yMax);\n },\n axisLabel: {\n ...this.style,\n show: YdisplayScaleShow,\n // formatter: '{value}' + this.yUnit,\n },\n splitLine: {\n show: this.netLine,\n lineStyle: {\n type: 'dashed',\n color: this.netLineColor,\n },\n },\n minInterval: this.yMinInterval,\n };\n }\n\n setSeriesStyle(name: string, datasetIndex: number) {\n const textStyle = this.style;\n const i = this.chartOption.series.length;\n const series = {\n name,\n showBackground: this.showBackground,\n xAxisIndex: this.type === 'dcolor' ? i : 0,\n yAxisIndex: this.type === 'dcolor' ? i : 0,\n label: {\n normal: {\n show: this.labelDirection === 'none' ? false : true,\n // formatter: '{@' + name + '}',\n position: this.labelDirection || '',\n textStyle,\n },\n },\n barCategoryGap: this.barCategoryGap + '%',\n itemStyle: {\n barBorderRadius: this.barBorderRadius,\n },\n stack: this.type === 'double' || this.type === 'horiD' ? '0' : null,\n type: 'bar',\n areaStyle: {\n opacity: 0,\n },\n emphasis: {\n focus: this.type === 'double' || this.type === 'horiD' ? 'series' : null,\n },\n encode: this.horizontal ? { y: 'x', x: 'y' } : { x: 'x', y: 'y' },\n datasetIndex,\n };\n this.chartOption.series.push(series);\n return series;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport { NgxEchartsModule } from 'ngx-echarts';\nimport {BasicBarChartComponent} from './basic-bar-chart.component';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\n\n@NgModule({\n declarations: [\n BasicBarChartComponent\n ],\n imports: [\n CommonModule,\n WidgetBaseModule,\n NgxEchartsModule\n ]\n})\nexport class BasicBarChartModule {\n constructor(private widgetService:WidgetService){\n widgetService.register(BasicBarChartComponent);\n }\n}\n","import { Component, OnChanges, OnInit, SimpleChanges, EventEmitter } from '@angular/core';\nimport { Property, Widget, Data, Drill, DataOutput } from 'bbj-widget-base';\nimport { BasicLineChartComponent } from '../basic-line-chart/basic-line-chart.component';\n\n@Component({\n selector: 'sc-basic-pie-chart',\n templateUrl: './basic-pie-chart.component.html',\n styleUrls: ['./basic-pie-chart.component.less'],\n})\n@Widget('饼图', {\n group: 'pieChart',\n image: 'assets/img/screen/pie.png',\n icon: 'icontubiao',\n})\nexport class BasicPieChartComponent extends BasicLineChartComponent implements OnInit, OnChanges {\n @Property('类型', { ui: { hidden: true } })\n type = 'basic';\n @Property('图表样式', {\n ui: {\n widget: 'myImageExample',\n spanLabel: 24,\n spanControl: 24,\n reset: ['pieColor'],\n class: 'pie',\n example: [\n {\n background: 'assets/img/screen/pie1.png',\n data: {\n pieColor: {\n gradient: true,\n value: [\n ['#FFB82E', '#FFB82E'],\n ['#FF7C24', '#FF7C24'],\n ['#FF610F', '#FF610F'],\n ['#EE2100', '#EE2100'],\n ['#A52501', '#A52501'],\n ['#7B2C04', '#7B2C04'],\n ],\n },\n },\n },\n {\n background: 'assets/img/screen/pie2.png',\n data: {\n pieColor: {\n gradient: true,\n value: [\n ['#00FEC3', '#00FEC3'],\n ['#00F4A8', '#00F4A8'],\n ['#00D59B', '#00D59B'],\n ['#00B880', '#00B880'],\n ['#00896E', '#00896E'],\n ['#006A60', '#006A60'],\n ],\n },\n },\n },\n {\n background: 'assets/img/screen/pie3.png',\n data: {\n pieColor: {\n gradient: true,\n value: [\n ['#45C1FC', '#45C1FC'],\n ['#00A1FB', '#00A1FB'],\n ['#0076B7', '#0076B7'],\n ['#004D7E', '#004D7E'],\n ['#003560', '#003560'],\n ['#001736', '#001736'],\n ],\n },\n },\n },\n {\n background: 'assets/img/screen/pie4.png',\n data: {\n pieColor: {\n gradient: true,\n value: [\n ['#BF91FA', '#BF91FA'],\n ['#9B35F8', '#9B35F8'],\n ['#9813D9', '#9813D9'],\n ['#790588', '#790588'],\n ['#B30B9A', '#B30B9A'],\n ['#DC1098', '#DC1098'],\n ],\n },\n },\n },\n ],\n },\n })\n example: any;\n @Property('填充', {\n ui: {\n widget: 'seriesColor',\n type: 'gradual',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n },\n })\n pieColor = {\n gradient: true,\n value: [\n ['#45C1FC', '#45C1FC'],\n ['#00A1FB', '#00A1FB'],\n ['#0076B7', '#0076B7'],\n ['#004D7E', '#004D7E'],\n ['#003560', '#003560'],\n ['#001736', '#001736'],\n ],\n };\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = {\n family: '',\n color: '#FFFFFF',\n weight: 'normal',\n size: 12,\n space: 0,\n lineHeight: '',\n };\n @Property('图例', {\n ui: { widget: 'select' },\n enum: [\n { label: '无', value: 'none' },\n { label: '自动', value: 'auto' },\n { label: '纵向居中', value: 'center' },\n { label: '纵向居左', value: 'left' },\n { label: '纵向居右', value: 'right' },\n ],\n })\n align = 'none';\n @Property('图例呈现', {\n ui: { widget: 'select' },\n enum: [\n { label: '数据', value: 'data' },\n { label: '百分比', value: 'percent' },\n { label: '数据-百分比', value: 'both' },\n ],\n })\n legentData = 'data';\n @Property('线标', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n lineMark = false;\n @Property('浮标', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n buoy = false;\n @Property('缩放', { type: 'number' })\n radius = 1;\n @Property('边距', { ui: { widget: 'myGrid', type: 'pie' } })\n grid: any = {\n top: 50,\n left: 50,\n };\n\n @Property('环宽', { type: 'number' })\n roundWidth = 15;\n\n @Property('增加隔断', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n addSplit = false;\n\n @Property('单位')\n unit: string;\n\n seriesDataPie = [];\n xData = [];\n radiusPie = ['0%', '75%'];\n chartOption: any = {};\n roseType = 'false';\n @Data({\n properties: {\n x: { type: 'string', title: '类目' },\n y: { type: 'number', title: '值' },\n },\n })\n _data = [\n { x: '一月', y: 33 },\n { x: '二月', y: 31 },\n { x: '三月', y: 11 },\n { x: '四月', y: 11 },\n { x: '五月', y: 7 },\n { x: '六月', y: 20 },\n ];\n @Drill()\n @DataOutput(['x'])\n dataClick = new EventEmitter<any>();\n // 隔断样式\n splitWidth = 0;\n splitItem = {\n value: this.splitWidth,\n name: 'split',\n itemStyle: {\n normal: {\n label: {\n show: false,\n },\n labelLine: {\n show: false,\n },\n color: 'rgba(0, 0, 0, 0)',\n borderColor: 'rgba(0, 0, 0, 0)',\n borderWidth: 0,\n },\n },\n };\n ngOnChanges(changes: SimpleChanges): void {\n if (changes._data) {\n if (this._data == null) {\n this._data = [];\n }\n this.getPieData();\n if (this.addSplit) {\n // 计算隔断层的宽度 取1%作为隔断\n const splitWidth = this._data.reduce((a, b) => a + Number(b.y), 0) / 100;\n this.splitItem.value = splitWidth;\n }\n if (this.type === 'ring' || this.type === 'roseRing') {\n const min = 75 - (Math.abs(Number(this.roundWidth)) || 75); // 获取最小的宽度 最大宽固定是75\n this.radiusPie = [`${min}%`, '75%'];\n } else {\n this.radiusPie = ['0%', '75%'];\n }\n if (this.radius != null) {\n this.radiusPie[0] = parseInt(this.radiusPie[0], 10) * this.radius + '%';\n this.radiusPie[1] = parseInt(this.radiusPie[1], 10) * this.radius + '%';\n }\n if (this.type === 'rose' || this.type === 'roseRing') {\n this.roseType = 'radius';\n }\n const objData = this.array2obj(this.seriesDataPie, 'name');\n const color = [];\n const textStyle = {\n color: this.font.color,\n fontFamily: this.font.family,\n fontWeight: this.font.weight,\n fontSize: this.font.size,\n lineHeight: this.font.lineHeight,\n };\n let pieColor;\n if (this.pieColor && this.pieColor.value) {\n pieColor = this.pieColor.value;\n } else {\n pieColor = this.pieColor;\n }\n for (let i = 0; i < pieColor.length; i++) {\n color.push(pieColor[i][0]);\n }\n this.chartOption = {\n tooltip: {\n show: this.buoy,\n textStyle: {\n fontFamily: this.font.family,\n fontWeight: this.font.weight,\n fontSize: this.font.size,\n lineHeight: this.font.lineHeight,\n },\n trigger: 'item',\n // formatter: '{b} : {c} ({d}%)',\n formatter: (item) => {\n return item.name === 'split' ? '' : `${item.name}: ${this.addUnit(item.value)}(${item.percent}%)`;\n },\n },\n legend: {\n type: 'scroll',\n orient: 'vertical',\n data: this.xData,\n x: this.align,\n show: this.align !== 'none',\n // formatter: function (name) {\n // return name + '(' + objData[name].value + ')';\n // },\n textStyle,\n },\n color,\n series: [\n {\n name: 'pie',\n type: 'pie',\n roseType: this.roseType === 'radius' ? 'radius' : false,\n label: {\n normal: {\n show: this.lineMark,\n formatter: (item) => {\n return item.name === 'split' ? '' : this.addUnit(item.value);\n },\n textStyle,\n },\n },\n center: [this.grid.left + '%', this.grid.top + '%'],\n radius: this.radiusPie,\n labelLine: {\n normal: {\n show: this.lineMark,\n },\n },\n textStyle,\n data: [],\n // ,\n // data: this.seriesDataPie\n /* .sort(function(a, b) {\n return a.value - b.value;\n }),*/\n },\n ],\n // dataset: {\n // // 用 dimensions 指定了维度的顺序。直角坐标系中,\n // // 默认把第一个维度映射到 X 轴上,第二个维度映射到 Y 轴上。\n // // 如果不指定 dimensions,也可以通过指定 series.encode\n // // 完成映射,参见后文。\n // // dimensions: [],\n // source: [],\n // },\n };\n this.reloadData();\n // console.log(this.chartOption);\n if (this.legentData === 'percent') {\n this.chartOption.legend.formatter = (name: string) => {\n let total = 0;\n Object.keys(objData).forEach((key) => {\n for (const a of objData[key]) {\n total += parseInt(a.value, 10);\n }\n });\n let b = 0;\n for (const a of objData[name]) {\n b += Number(a.value);\n }\n const p = ((b / total) * 100).toFixed(0);\n return name + '(' + p + '%)';\n };\n }\n if (this.legentData === 'both') {\n this.chartOption.legend.formatter = (name) => {\n let total = 0;\n Object.keys(objData).forEach((key) => {\n // console.log(key);\n for (const a of objData[key]) {\n total += parseInt(a.value, 10);\n }\n });\n let b = 0;\n for (const a of objData[name]) {\n b += Number(a.value);\n }\n const p = ((b / total) * 100).toFixed(0);\n return name + '(' + this.addUnit(b) + '-' + p + '%)';\n };\n }\n if (this.legentData === 'data') {\n this.chartOption.legend.formatter = (name) => {\n let total = 0;\n // for (let key of Object.keys(objData)) {\n for (const a of objData[name]) {\n total += Number(a.value);\n }\n // total += Number(objData[key].value);\n // }\n // let p = ((objData[name].value / total) * 100).toFixed(0);\n return name + '(' + this.addUnit(total) + ')';\n };\n }\n }\n }\n\n addUnit(value: any) {\n if (this.unit && value != null && value !== '') {\n value += this.unit;\n }\n return value;\n }\n\n reloadData() {\n const source = [];\n const addSplit = this.addSplit && this._data.filter((item) => item.y).length > 1;\n this._data.forEach((record) => {\n // const x=record.x;\n // const s=record.s;\n // const y=record.y;\n const { x, y } = record;\n const arr = {\n name: x,\n value: Number(y),\n };\n // arr.push(x, Number(y));\n source.push(arr);\n if (addSplit) {\n source.push(this.splitItem);\n }\n });\n this.chartOption.series[0].data = source;\n // this.chartOption.dataset.source = source;\n this._data.forEach((a) => {\n const x = { name: a.x };\n this.xData.push(x);\n });\n this.uniqueData(this.xData);\n }\n\n ngOnInit() {}\n\n getPieData() {\n this.seriesDataPie = [];\n let total = 0;\n if (this.addSplit) {\n this._data.forEach((t) => {\n total += t.y;\n });\n }\n for (let i = 0; i < this._data.length; i++) {\n // if (total > 0 && this._data[i].y / total >= 1) {\n // this.addSplit = false;\n // }\n this.seriesDataPie.push({\n value: this._data[i].y,\n name: this._data[i].x,\n });\n }\n }\n\n array2obj(array, key) {\n const resObj = {};\n for (let i = 0; i < array.length; i++) {\n if (!resObj[array[i][key]]) {\n resObj[array[i][key]] = [];\n }\n resObj[array[i][key]].push(array[i]);\n }\n return resObj;\n }\n\n getLegentData(name) {}\n\n onChartClick(event) {\n this.dataClick.emit({ x: event.name, s: event.seriesName });\n }\n}\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BasicPieChartComponent } from './basic-pie-chart.component';\r\nimport { NgxEchartsModule } from 'ngx-echarts';\r\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\r\n\r\n@NgModule({\r\n declarations: [BasicPieChartComponent],\r\n imports: [CommonModule, WidgetBaseModule, NgxEchartsModule],\r\n})\r\nexport class BasicPieChartModule {\r\n constructor(widgetService: WidgetService) {\r\n widgetService.register(BasicPieChartComponent);\r\n }\r\n}\r\n","import { Component, OnChanges, OnInit, SimpleChanges, EventEmitter } from '@angular/core';\nimport { Property, Widget, Data, Drill, DataOutput } from 'bbj-widget-base';\nimport { BasicLineChartComponent } from '../basic-line-chart/basic-line-chart.component';\nimport 'echarts-gl';\n@Component({\n selector: 'sc-bar-chart-three-d',\n templateUrl: './bar-chart-three-d.component.html',\n styleUrls: ['./bar-chart-three-d.component.less'],\n})\n@Widget('3D柱状图', {\n group: 'barChart',\n image: 'assets/img/screen/basic-bar-chart.png',\n icon: 'icontubiao',\n})\nexport class BarChartThreeDComponent extends BasicLineChartComponent implements OnInit, OnChanges {\n @Property('类型', { ui: { hidden: true } })\n type = 'basic';\n @Property('图表样式', {\n ui: {\n widget: 'myImageExample',\n spanLabel: 24,\n spanControl: 24,\n reset: ['barColor'],\n example: [\n {\n background: 'assets/img/screen/3d1.png',\n data: { barColor: ['#FAA736'] },\n },\n {\n background: 'assets/img/screen/3d2.png',\n data: { barColor: ['#00D190'] },\n },\n {\n background: 'assets/img/screen/3d3.png',\n data: { barColor: ['#3285FF'] },\n },\n {\n background: 'assets/img/screen/3d4.png',\n data: { barColor: ['#8934F8'] },\n },\n ],\n },\n })\n example: any;\n @Property('系列颜色', {\n ui: {\n widget: 'seriesColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n },\n })\n barColor = ['#3285FF', '#00D2FD'];\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = {\n family: '',\n color: '#FFFFFF',\n weight: 'normal',\n size: 12,\n space: 0,\n lineHeight: 12,\n };\n @Property('边距', { ui: { widget: 'myGrid' } })\n grid: any = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n };\n // @Property('轴单位', { ui: { widget: 'myUnit' } })\n // unit = { x: '', y: '' };\n @Property('y轴单位', { type: 'string' })\n yUnit = '';\n @Property('x轴单位', { type: 'string' })\n xUnit = '';\n @Property('y轴最大')\n yMax: number;\n @Property('网络线', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n netLine = false;\n @Property('标签', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n label = false;\n @Property('自动旋转', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n autoRotate = false;\n @Property('柱子宽度', {\n ui: { widget: 'myRange', min: 100, max: 1000, step: 100 },\n })\n boxWidth = 200;\n @Property('柱子深度', {\n ui: { widget: 'myRange', min: 10, max: 100, step: 10 },\n })\n boxDepth = 20;\n\n @Data({\n properties: {\n x: { type: 'string', title: '类目' },\n y: { type: 'number', title: '值' },\n z: { type: 'string', title: '系列' },\n },\n })\n _data = [\n { x: '一月', y: 10, s: '收入' },\n { x: '二月', y: 20, s: '收入' },\n { x: '三月', y: 25, s: '收入' },\n { x: '四月', y: 35, s: '收入' },\n { x: '五月', y: 27, s: '收入' },\n { x: '六月', y: 28, s: '收入' },\n { x: '一月', y: 18, s: '支出' },\n { x: '二月', y: 28, s: '支出' },\n { x: '三月', y: 32, s: '支出' },\n { x: '四月', y: 48, s: '支出' },\n { x: '五月', y: 20, s: '支出' },\n { x: '六月', y: 17, s: '支出' },\n ];\n @Drill()\n @DataOutput(['x', 'z'])\n dataClick = new EventEmitter<any>();\n sData = [];\n series = [];\n ngOnChanges(changes: SimpleChanges): void {\n if (changes._data) {\n this.reloadData();\n\n const style = {\n color: this.font.color,\n fontFamily: this.font.family,\n fontWeight: this.font.weight,\n fontSize: this.font.size,\n margin: this.font.lineHeight,\n };\n\n this.chartOption = {\n xAxis3D: {\n name: this.xUnit,\n nameTextStyle: style,\n type: 'category',\n splitLine: {\n show: false,\n },\n data: this.xData,\n },\n yAxis3D: {\n name: '',\n type: 'category',\n data: [],\n },\n zAxis3D: {\n name: this.yUnit,\n nameTextStyle: style,\n type: 'value',\n splitLine: {\n show: this.netLine,\n lineStyle: {\n width: 1,\n },\n },\n },\n grid3D: {\n top: this.grid.top,\n right: this.grid.right,\n left: this.grid.left,\n bottom: this.grid.bottom,\n boxWidth: this.boxWidth,\n boxDepth: this.boxDepth,\n axisTick: {\n show: false,\n },\n axisLine: {\n lineStyle: {\n color: this.font.color,\n width: 1,\n },\n },\n axisLabel: {\n textStyle: style,\n },\n viewControl: {\n alpha: 10,\n beta: 0,\n autoRotate: this.autoRotate,\n zoomSensitivity: 0,\n autoRotateAfterStill: 15,\n distance: 250,\n },\n },\n color: ['#45C1FC', '#00A1FB', '#0076B7', '#004D7E', '#003560', '#001736'],\n series: [],\n };\n if (this.type === '3D') {\n this.series = [this.series[0]];\n }\n for (let i = 0; i < this.series.length; i++) {\n this.chartOption.series.push({\n type: 'bar3D',\n itemStyle: {},\n data: [],\n shading: 'lambert',\n stack: 'stack',\n label: {\n show: this.label,\n textStyle: style,\n },\n emphasis: {\n label: {\n textStyle: {\n fontSize: this.font.size,\n color: this.font.color,\n fontWeight: this.font.weight,\n fontFamily: this.font.family,\n lineHeight: this.font.lineHeight,\n borderWidth: 0,\n borderColor: '#00000000',\n },\n },\n },\n });\n this.chartOption.series[i].itemStyle.color = this.barColor[i];\n const temp = [];\n this._data.forEach((record) => {\n if (this.series[i] === record.s) {\n temp.push(record);\n }\n });\n this.xData.forEach((x) => {\n let count = 0;\n temp.forEach((t) => {\n if (t.x === x) {\n count++;\n }\n });\n if (count === 0) {\n this._data.push({ x, y: 0, s: this.series[i] });\n }\n });\n this._data.sort((prev, next) => {\n return this.xData.indexOf(prev.x) - this.xData.indexOf(next.x);\n });\n this._data\n .filter((els) => els.s === this.series[i])\n .forEach((el) => {\n for (let j = 0; j < this.xData.length; j++) {\n if (this.xData[j] === el.x) {\n this.chartOption.series[i].data.push([j, 0, el.y]);\n }\n }\n });\n }\n }\n }\n reloadData() {\n if (this._data[0]) {\n for (let i = 0; i < this._data.length; i++) {\n if (this._data[i].s) {\n this.series[i] = this._data[i].s;\n }\n }\n this.uniqueData(this.series);\n }\n for (let i = 0; i < this._data.length; i++) {\n this.xData[i] = this._data[i].x;\n }\n this.uniqueData(this.xData);\n }\n ngOnInit() {}\n onChartClick(event) {\n this.dataClick.emit({ x: event.name, s: event.seriesName });\n }\n}\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgxEchartsModule } from 'ngx-echarts';\r\nimport { BarChartThreeDComponent } from './bar-chart-three-d.component';\r\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\r\n\r\n@NgModule({\r\n declarations: [BarChartThreeDComponent],\r\n imports: [CommonModule, WidgetBaseModule, NgxEchartsModule],\r\n})\r\nexport class BarChartThreeDModule {\r\n constructor(widgetService: WidgetService) {\r\n widgetService.register(BarChartThreeDComponent);\r\n }\r\n}\r\n","import { Property, Widget, WidgetRef } from 'bbj-widget-base';\nimport {\n OnInit,\n Component,\n ElementRef,\n OnDestroy,\n NgZone,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n} from '@angular/core';\nimport { NzResizeObserver } from 'ng-zorro-antd/core/resize-observers';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'sc-shape',\n templateUrl: './shape.component.html',\n styleUrls: ['./shape.component.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n@Widget('图形', { group: 'shape', icon: 'iconxingzhuang' })\nexport class ShapeComponent implements OnInit, OnDestroy {\n @Property('填充', {\n ui: {\n widget: 'myColor',\n visibleIf: {\n type: ['rect', 'polygonplus', 'polyhedrosis', 'circle', 'path', 'polygon', 'parallelogram', 'trapezoid'],\n },\n },\n })\n background = null;\n @Property('线条颜色', { ui: { widget: 'myColor' } })\n borderColor = '#3285ff';\n @Property('线条粗细', { type: 'number' })\n borderWidth = 1;\n @Property('圆角', {\n type: 'number',\n ui: { widget: 'myRange', min: 0, max: 100, step: 1, visibleIf: { type: ['rect'] } },\n })\n fillet = 0;\n @Property('几边形', {\n type: 'number',\n ui: { widget: 'myRange', min: 3, max: 100, step: 1, visibleIf: { type: ['polygonplus', 'polyhedrosis'] } },\n })\n side = 3;\n @Property('内半径', { ui: { widget: 'myRange', min: 1, max: 99, step: 1, visibleIf: { type: ['polyhedrosis'] } } })\n sr = 38;\n @Property('上底', { ui: { widget: 'myRange', min: 1, max: 100, step: 1, visibleIf: { type: ['trapezoid'] } } })\n upper = 60;\n @Property('下底', {\n ui: { widget: 'myRange', min: 1, max: 100, step: 1, visibleIf: { type: ['trapezoid'] } },\n })\n bottom = 100;\n @Property('偏移', {\n ui: {\n widget: 'myRange',\n min: -100,\n max: 100,\n step: 1,\n visibleIf: { type: ['parallelogram', 'trapezoid', 'triangle'] },\n },\n })\n deviation = 0;\n @Property('透明度', { ui: { widget: 'myRange', min: 0, max: 1, step: 0.1 } })\n opacity = 1;\n @Property('阴影', { ui: { widget: 'myShadow' } })\n shadow: any = { color: '', X: 0, Y: 0, Z: 0 };\n @Property('', {\n type: 'string',\n ui: { hidden: true },\n })\n type = 'rect';\n style: any;\n image: string;\n @Property('数据', { ui: { hidden: true } })\n data: { x: number; y: number }[];\n width: number;\n height: number;\n points: string;\n destroy$ = new Subject();\n filterId: string;\n filterUrl: string;\n\n constructor(\n private elementRef: ElementRef,\n private resizeObserver: NzResizeObserver,\n private zone: NgZone,\n private cd: ChangeDetectorRef,\n private widgetRef: WidgetRef,\n ) {}\n\n ngOnInit() {\n this.reset();\n this.resizeObserver\n .observe(this.elementRef)\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n this.zone.run(() => {\n this.reset();\n });\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n reset() {\n const { clientWidth: width, clientHeight: height } = this.elementRef.nativeElement;\n this.width = width;\n this.height = height;\n this.style = {\n opacity: this.opacity,\n stroke: this.borderColor,\n strokeWidth: this.borderWidth,\n fill: this.background ? this.background : 'rgba(0,0,0,0)',\n };\n if (this.shadow && (this.shadow.X || this.shadow.Y || this.shadow.Z)) {\n this.filterId = this.widgetRef.widget.id;\n this.filterUrl = `url(#${this.filterId})`;\n }\n switch (this.type) {\n case 'rect': // 矩形\n this.style.rx = this.style.ry = this.fillet;\n break;\n case 'triangle': //三角形\n this.points = `${width / 2 + (width * this.deviation) / 200},0 ${width},${height} 0,${height}`;\n break;\n case 'parallelogram': // 平行四边形\n const offset = (width * this.deviation) / 100;\n if (this.deviation >= 0) {\n this.points = `${offset},0 ${width},0 ${width - offset},${height} 0,${height}`;\n } else {\n this.points = `0,0 ${width + offset},0 ${width},${height} ${-offset},${height}`;\n }\n break;\n case 'trapezoid': // 梯形\n const top = (this.upper * width) / 100;\n const bottom = (this.bottom * width) / 100;\n const offset1 = ((width - top) / 2) * (1 + this.deviation / 100);\n const offset2 = ((width - bottom) / 2) * (1 - this.deviation / 100);\n this.points = `${offset1},0 ${offset1 + top},0 ${offset2 + bottom},${height} ${offset2},${height}`;\n break;\n case 'polyline': //折线\n case 'polygon': //多边形\n this.points = '';\n let minX: number, maxX: number, minY: number, maxY: number;\n this.data.forEach(({ x, y }) => {\n if (x < minX || minX == null) minX = x;\n if (x > maxX || maxX == null) maxX = x;\n if (y < minY || minY == null) minY = y;\n if (y > maxY || maxY == null) maxY = y;\n });\n const scaleX = width / (maxX - minX);\n const scaleY = height / (maxY - minY);\n this.data.forEach(({ x, y }) => {\n this.points += `${(x - minX) * scaleX},${(y - minY) * scaleY} `;\n });\n break;\n case 'polygonplus': //正多边形\n const rx = width / 2;\n const ry = height / 2;\n this.points = '';\n for (let i = 0; i < this.side; i++) {\n this.points += this.getEllipsePoint(i, this.side, rx, ry, rx, ry);\n }\n break;\n case 'polyhedrosis': // 星形\n this.points = '';\n const rx1 = width / 2;\n const ry1 = height / 2;\n const rx2 = (rx1 * this.sr) / 100;\n const ry2 = (ry1 * this.sr) / 100;\n for (let i = 0; i < this.side; i++) {\n this.points += this.getEllipsePoint(i, this.side, rx1, ry1, rx1, ry1);\n this.points += this.getEllipsePoint(i + 1 / 2, this.side, rx1, ry1, rx2, ry2);\n }\n break;\n case 'path':\n this.points = '';\n for (let i = 0; i < this.data.length; i++) {\n this.points += 'L' + this.data[i].x + ' ' + this.data[i].y + ' ';\n }\n this.points = 'M' + this.points.substring(1) + 'Z';\n break;\n default:\n break;\n }\n this.cd.markForCheck();\n }\n\n /**\n * 获取椭圆上的的坐标点,起始角度为90度\n * @param index 序号\n * @param max 总数\n * @param cx 中心x\n * @param cy 中心y\n * @param rx x半径\n * @param ry y半径\n * @returns\n */\n getEllipsePoint(index: number, max: number, cx: number, cy: number, rx: number, ry: number) {\n const rad = ((index * 2) / max + 1 / 2) * Math.PI;\n return cx + Math.cos(rad) * rx + ',' + (cy - Math.sin(rad) * ry) + ' ';\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ShapeComponent } from './shape.component';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\n\n@NgModule({\n declarations: [ShapeComponent],\n imports: [CommonModule, WidgetBaseModule],\n})\nexport class ShapeModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(ShapeComponent);\n }\n}\n","import { Component, OnChanges, OnInit, SimpleChanges, EventEmitter } from '@angular/core';\nimport { Property, Widget, Data, Drill, DataOutput } from 'bbj-widget-base';\nimport { BasicLineChartComponent } from '../basic-line-chart/basic-line-chart.component';\nimport { BasicBarChartComponent } from '../basic-bar-chart/basic-bar-chart.component';\n\n@Component({\n selector: 'sc-line-bar-chart',\n templateUrl: './line-bar-chart.component.html',\n styleUrls: ['./line-bar-chart.component.less'],\n})\n@Widget('折线柱图', {\n group: 'barChart',\n image: 'assets/img/screen/lineBar.png',\n icon: 'icontubiao',\n})\nexport class LineBarChartComponent extends BasicLineChartComponent implements OnInit, OnChanges {\n @Property('类型', { ui: { hidden: true } })\n type = 'line';\n @Property('图表样式', {\n ui: {\n widget: 'myImageExample',\n spanLabel: 24,\n spanControl: 24,\n reset: ['barColor'],\n example: [\n {\n background: 'assets/img/screen/bar1.png',\n data: { barColor: { gradient: true, value: [['#FFEF66', '#FF851D']] } },\n },\n {\n background: 'assets/img/screen/bar2.png',\n data: { barColor: { gradient: true, value: [['#00FECB', '#00D191']] } },\n },\n {\n background: 'assets/img/screen/bar3.png',\n data: { barColor: { gradient: true, value: [['#00D2FD', '#3285FF']] } },\n },\n {\n background: 'assets/img/screen/bar4.png',\n data: { barColor: { gradient: true, value: [['#FF3699', '#8934F8']] } },\n },\n ],\n },\n })\n example: any;\n @Property('填充', {\n ui: {\n widget: 'seriesColor',\n type: 'gradual',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n },\n })\n barColor = { gradient: true, value: [['#00D2FD', '#3285FF']] };\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = {\n family: '',\n color: '#FFFFFF',\n weight: 'normal',\n size: 12,\n space: 0,\n lineHeight: 12,\n };\n @Property('边距', { ui: { widget: 'myGrid' } })\n grid: any = {\n top: 30,\n right: 30,\n bottom: 30,\n left: 30,\n };\n @Property('图例', {\n ui: { widget: 'select' },\n enum: [\n { label: '无', value: 'none' },\n { label: '自动', value: 'auto' },\n { label: '左对齐', value: 'left' },\n { label: '右对齐', value: 'right' },\n ],\n })\n align = 'none';\n // @Property('轴单位', { ui: { widget: 'myUnit', type: 'double' } })\n // unit = { x: '', y: '', yMax: '', y1: '', y1Max: '', showY1: false };\n @Property('y轴单位', { type: 'string' })\n yUnit = '';\n @Property('x轴单位', { type: 'string' })\n xUnit = '';\n @Property('y轴最大')\n yMax: number;\n @Property('y轴最大', { type: 'boolean' })\n showY1 = false;\n @Property('网络线', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n netLine = false;\n @Property('标签', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n label = false;\n @Property('列间距', { ui: { widget: 'myRange', min: 0, max: 100, step: 10 } })\n barCategoryGap = 40;\n @Property('圆角', { ui: { widget: 'myRange', min: 0, max: 10, step: 1 } })\n barBorderRadius = 0;\n @Property('轴标签角度', {\n ui: { widget: 'myRange', min: -90, max: 90, step: 10 },\n })\n xLabelRotate = 0;\n\n chartOption: any = {};\n @Data({\n properties: {\n x: { type: 'string', title: '类目' },\n y: { type: 'number', title: '值' },\n s: { type: 'string', title: '系列' },\n },\n })\n _data: any[] = [\n { x: '一月', y: 2.0, s: '蒸发量' },\n { x: '二月', y: 4.9, s: '蒸发量' },\n { x: '三月', y: 7.0, s: '蒸发量' },\n { x: '四月', y: 35.6, s: '蒸发量' },\n { x: '五月', y: 73.4, s: '蒸发量' },\n { x: '六月', y: 123.4, s: '蒸发量' },\n { x: '一月', y: 2.6, s: '降水量' },\n { x: '二月', y: 5.9, s: '降水量' },\n { x: '三月', y: 9.0, s: '降水量' },\n { x: '四月', y: 25.7, s: '降水量' },\n { x: '五月', y: 43.5, s: '降水量' },\n { x: '六月', y: 78.9, s: '降水量' },\n { x: '一月', y: 2.0, s: '温度' },\n { x: '二月', y: 2.2, s: '温度' },\n { x: '三月', y: 3.3, s: '温度' },\n { x: '四月', y: 4.5, s: '温度' },\n { x: '五月', y: 6.3, s: '温度' },\n { x: '六月', y: 10.2, s: '温度' },\n ];\n @Drill()\n @DataOutput(['x', 's'])\n dataClick = new EventEmitter<any>();\n xData = [];\n series = [];\n yData = [];\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes._data) {\n const dataShadow = [];\n const maxNum = this.getMaxY();\n\n for (let i = 0; i < this.xData.length; i++) {\n dataShadow.push(maxNum);\n }\n this.style = {\n color: this.font.color,\n fontFamily: this.font.family,\n fontWeight: this.font.weight,\n fontSize: this.font.size,\n lineHeight: this.font.lineHeight,\n };\n\n const color = [];\n let barColor;\n if (this.barColor && this.barColor.value) {\n barColor = this.barColor.value;\n } else {\n barColor = this.barColor;\n }\n for (let i = 0; i < barColor.length; i++) {\n color.push({\n type: 'linear',\n x: 0,\n y: 0,\n x2: 0,\n y2: 1,\n global: false,\n colorStops: [\n { offset: 0, color: barColor[i][0] },\n { offset: 1, color: barColor[i][1] },\n ],\n });\n }\n\n const xAxis: any = {\n type: 'category',\n name: this.xUnit,\n nameTextStyle: this.style,\n axisLine: {\n show: true,\n lineStyle: {\n color: this.style.color,\n },\n },\n axisTick: {\n show: true,\n },\n axisLabel: {\n rotate: this.xLabelRotate,\n show: true,\n color: this.font.color,\n fontFamily: this.font.family,\n fontWeight: this.font.weight,\n fontSize: this.font.size,\n margin: this.font.lineHeight,\n },\n };\n\n let yAxis: any = {\n type: 'value',\n name: this.yUnit,\n nameTextStyle: this.style,\n axisLine: {\n lineStyle: {\n color: this.style.color,\n },\n },\n max: this.yMax ? undefined : this.yMax,\n axisLabel: this.style,\n splitLine: {\n show: this.netLine,\n lineStyle: {\n type: 'dashed',\n },\n },\n };\n\n const grid: any = {\n top: this.grid.top,\n right: this.grid.right,\n left: this.grid.left,\n bottom: this.grid.bottom,\n };\n\n if (this.showY1) {\n yAxis = [\n {\n type: 'value',\n name: this.yUnit,\n nameTextStyle: this.style,\n axisLine: {\n lineStyle: {\n color: this.style.color,\n },\n },\n max: this.yMax ? undefined : this.yMax,\n axisLabel: this.style,\n splitLine: {\n show: this.netLine,\n lineStyle: {\n type: 'dashed',\n },\n },\n },\n {\n type: 'value',\n name: this.yUnit,\n nameTextStyle: this.style,\n axisLine: {\n lineStyle: {\n color: this.style.color,\n },\n },\n max: this.yMax ? undefined : this.yMax,\n axisLabel: this.style,\n splitLine: {\n show: false,\n },\n },\n ];\n }\n this.chartOption = {\n legend: {\n data: this.series,\n align: this.align,\n icon: 'stack',\n show: this.align !== 'none',\n textStyle: this.style,\n },\n grid,\n xAxis,\n yAxis,\n color,\n series: [],\n };\n this.reloadData();\n // let temp = [];\n // for (let j = 0; j < this._data.length; j++) {\n // if (this.series[i] === this._data[j].s) {\n // temp.push(this._data[j]);\n // }\n // }\n // for (let j = 0; j < this.xData.length; j++) {\n // let count = 0;\n // for (let k = 0; k < temp.length; k++) {\n // if (temp[k].x == this.xData[j]) {\n // count++;\n // }\n // }\n // if (count == 0) {\n // this._data.push({ x: this.xData[j], y: null, s: this.series[i] });\n // }\n // }\n // this._data.sort((prev, next) => {\n // return this.xData.indexOf(prev.x) - this.xData.indexOf(next.x);\n // });\n // this._data\n // .filter(els => els.s === this.series[i])\n // .forEach(el => {\n // for (let j = 0; j < this.xData.length; j++) {\n // if (this.xData[j] === el.x) {\n // this.chartOption.series[i].data.push(el.y);\n // }\n // }\n // });\n // }\n }\n }\n setSeriesStyle(name: string, datasetIndex: number) {\n const first = datasetIndex === 1;\n const series = {\n name,\n showBackground: true,\n label: {\n show: this.label,\n position: 'top',\n textStyle: this.style,\n },\n itemStyle: {\n normal: {\n barBorderRadius: this.barBorderRadius,\n },\n },\n connectNulls: true,\n barCategoryGap: this.barCategoryGap + '%',\n type: first ? 'bar' : 'line',\n yAxisIndex: this.showY1 && !first ? 1 : 0,\n areaStyle: {\n opacity: 0,\n },\n encode: { x: 'x', y: 'y' },\n datasetIndex,\n };\n this.chartOption.series.push(series);\n return series;\n }\n ngOnInit() {}\n onChartClick(event) {\n this.dataClick.emit({ x: event.name, s: event.seriesName });\n }\n}\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LineBarChartComponent } from './line-bar-chart.component';\r\nimport { NgxEchartsModule } from 'ngx-echarts';\r\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\r\n\r\n@NgModule({\r\n declarations: [LineBarChartComponent],\r\n imports: [CommonModule, WidgetBaseModule, NgxEchartsModule],\r\n})\r\nexport class LineBarChartModule {\r\n constructor(widgetService: WidgetService) {\r\n widgetService.register(LineBarChartComponent);\r\n }\r\n}\r\n","import { Component, OnChanges, OnInit, SimpleChanges, EventEmitter } from '@angular/core';\nimport { Property, Widget, Data, Drill, DataOutput } from 'bbj-widget-base';\nimport { BasicLineChartComponent } from '../basic-line-chart/basic-line-chart.component';\n\n@Component({\n selector: 'sc-bubble-chart',\n templateUrl: './bubble-chart.component.html',\n styleUrls: ['./bubble-chart.component.less'],\n})\n@Widget('散点图', {\n group: 'otherChart',\n image: 'assets/img/screen/bubble.png',\n icon: 'icontubiao',\n})\nexport class BubbleChartComponent extends BasicLineChartComponent implements OnInit, OnChanges {\n @Property('图表样式', {\n ui: {\n widget: 'myImageExample',\n spanLabel: 24,\n spanControl: 24,\n reset: ['bubbleColor'],\n example: [\n {\n background: 'assets/img/screen/bubble1.png',\n data: { bubbleColor: { gradient: true, value: [['#FFEF66', '#FF851D']] } },\n },\n {\n background: 'assets/img/screen/bubble2.png',\n data: { bubbleColor: { gradient: true, value: [['#00FECB', '#00D191']] } },\n },\n {\n background: 'assets/img/screen/bubble3.png',\n data: { bubbleColor: { gradient: true, value: [['#00D2FD', '#3285FF']] } },\n },\n {\n background: 'assets/img/screen/bubble4.png',\n data: { bubbleColor: { gradient: true, value: [['#FF3699', '#8934F8']] } },\n },\n ],\n },\n })\n example: any;\n @Property('填充', {\n ui: {\n widget: 'seriesColor',\n type: 'gradual',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n },\n })\n bubbleColor = { gradient: true, value: [['#00D2FD', '#3285FF']] };\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = {\n family: '',\n color: '#FFFFFF',\n weight: 'normal',\n size: 12,\n space: 0,\n lineHeight: 12,\n };\n @Property('边距', { ui: { widget: 'myGrid' } })\n grid: any = {\n top: 30,\n right: 30,\n bottom: 34,\n left: 36,\n };\n @Property('图例', {\n ui: { widget: 'select' },\n enum: [\n { label: '无', value: 'none' },\n { label: '自动', value: 'auto' },\n { label: '左对齐', value: 'left' },\n { label: '右对齐', value: 'right' },\n ],\n })\n align = 'auto';\n // @Property('轴单位', { ui: { widget: 'myUnit' } })\n // unit = { x: '', y: '' };\n @Property('y轴单位', { type: 'string' })\n yUnit = '';\n @Property('x轴单位', { type: 'string' })\n xUnit = '';\n @Property('y轴最大')\n yMax: number;\n @Property('网络线', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n netLine = false;\n @Property('标签', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n label = false;\n @Property('轴标签角度', {\n ui: { widget: 'myRange', min: -90, max: 90, step: 10 },\n })\n xLabelRotate = 0;\n\n chartOption: any = {};\n @Data({\n properties: {\n x: { type: 'string', title: '类目' },\n y: { type: 'number', title: '高度' },\n v: { type: 'number', title: '值' },\n s: { type: 'string', title: '系列' },\n },\n })\n _data = [\n { x: '一月', y: 10, v: 32, s: '收入' },\n { x: '二月', y: 20, v: 13, s: '收入' },\n { x: '三月', y: 25, v: 87, s: '收入' },\n { x: '四月', y: 35, v: 45, s: '收入' },\n { x: '五月', y: 27, v: 18, s: '收入' },\n { x: '六月', y: 28, v: 95, s: '收入' },\n { x: '一月', y: 18, v: 59, s: '支出' },\n { x: '二月', y: 28, v: 32, s: '支出' },\n { x: '三月', y: 32, v: 75, s: '支出' },\n { x: '四月', y: 48, v: 17, s: '支出' },\n { x: '五月', y: 20, v: 43, s: '支出' },\n { x: '六月', y: 17, v: 94, s: '支出' },\n ];\n @Drill()\n @DataOutput(['x', 's'])\n dataClick = new EventEmitter<any>();\n\n style = {\n color: '',\n fontFamily: '',\n fontWeight: '',\n fontSize: '',\n lineHeight: '',\n };\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes._data) {\n this.style = {\n color: this.font.color,\n fontFamily: this.font.family,\n fontWeight: this.font.weight,\n fontSize: this.font.size,\n lineHeight: this.font.lineHeight,\n };\n\n const color = [];\n let bubbleColor;\n if (this.bubbleColor && this.bubbleColor.value) {\n bubbleColor = this.bubbleColor.value;\n } else {\n bubbleColor = this.bubbleColor;\n }\n for (let i = 0; i < bubbleColor.length; i++) {\n color.push({\n type: 'radial',\n x: 0.4,\n y: 0.3,\n r: 1,\n global: false,\n colorStops: [\n { offset: 0, color: bubbleColor[i][0] },\n { offset: 1, color: bubbleColor[i][1] },\n ],\n });\n }\n this.chartOption = {\n legend: {\n align: this.align,\n show: this.align !== 'none',\n textStyle: this.style,\n },\n grid: {\n top: this.grid.top,\n right: this.grid.right,\n left: this.grid.left,\n bottom: this.grid.bottom,\n },\n xAxis: {\n name: this.xUnit,\n nameTextStyle: this.style,\n type: 'category',\n axisLine: {\n lineStyle: {\n color: this.style.color,\n },\n },\n axisLabel: {\n rotate: this.xLabelRotate,\n show: true,\n color: this.font.color,\n fontFamily: this.font.family,\n fontWeight: this.font.weight,\n fontSize: this.font.size,\n margin: this.font.lineHeight,\n },\n // data: this.xData,\n },\n yAxis: {\n name: this.yUnit,\n nameTextStyle: this.style,\n type: 'value',\n axisLine: {\n lineStyle: {\n color: this.style.color,\n },\n },\n axisLabel: this.style,\n splitLine: {\n show: this.netLine,\n lineStyle: {\n type: 'dashed',\n },\n },\n },\n color,\n series: [],\n };\n this.reloadData();\n // for (let i = 0; i < this.series.length; i++) {\n\n // let temp = [];\n // for (let j = 0; j < this._data.length; j++) {\n // if (this.series[i] === this._data[j].s) {\n // temp.push(this._data[j]);\n // }\n // }\n // for (let j = 0; j < this.xData.length; j++) {\n // let count = 0;\n // for (let k = 0; k < temp.length; k++) {\n // if (temp[k].x == this.xData[j]) {\n // count++;\n // }\n // }\n // if (count == 0) {\n // this._data.push({ x: this.xData[j], y: null,v:null, s: this.series[i] });\n // }\n // }\n // this._data.sort((prev, next) => {\n // return this.xData.indexOf(prev.x) - this.xData.indexOf(next.x);\n // });\n // this._data\n // .filter(els => els.s === this.series[i])\n // .forEach(el => {\n // for (let j = 0; j < this.xData.length; j++) {\n // if (this.xData[j] === el.x) {\n // this.chartOption.series[i].data.push([el.x, el.y, el.v]);\n // }\n // }\n // });\n // this.chartOption.series[i].symbolSize = function(data) {\n // return data[2] / 2;\n // };\n // this.chartOption.series[i].label.emphasis.formatter = function(param) {\n // return param.data[2];\n // };\n // }\n\n // console.log(JSON.stringify(this.chartOption));\n }\n }\n // reloadData(){\n // if (this._data[0]) {\n // for (let i = 0; i < this._data.length; i++) {\n // if ( this._data[i].s) {\n // this.series[i] = this._data[i].s;\n // }\n // }\n // this.uniqueData(this.series);\n // }\n // for (let i = 0; i < this._data.length; i++) {\n // this.xData[i] = this._data[i].x;\n // }\n // this.uniqueData(this.xData);\n // }\n setSeriesStyle(name: string, datasetIndex: number) {\n const series = {\n type: 'scatter',\n symbolSize: (data) => {\n return data.v;\n },\n name,\n label: {\n show: this.label,\n textStyle: this.style,\n emphasis: {\n show: true,\n position: 'top',\n textStyle: this.style,\n formatter: [],\n },\n },\n itemStyle: {\n normal: {\n shadowBlur: 10,\n shadowOffsetY: 5,\n shadowColor: 'rgba(67, 74, 78, 0.5)',\n },\n },\n encode: { x: 'x', y: 'y' },\n datasetIndex,\n // data: [],\n };\n this.chartOption.series.push(series);\n return series;\n }\n ngOnInit() {}\n onChartClick(event) {\n this.dataClick.emit({ x: event.name, s: event.seriesName });\n }\n}\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BubbleChartComponent } from './bubble-chart.component';\r\nimport { NgxEchartsModule } from 'ngx-echarts';\r\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\r\n\r\n@NgModule({\r\n declarations: [BubbleChartComponent],\r\n imports: [CommonModule, WidgetBaseModule, NgxEchartsModule],\r\n})\r\nexport class BubbleChartModule {\r\n constructor(widgetService: WidgetService) {\r\n widgetService.register(BubbleChartComponent);\r\n }\r\n}\r\n","import { Component, OnChanges, OnInit, SimpleChanges, EventEmitter } from '@angular/core';\nimport { Property, Widget, Data, Drill, DataOutput } from 'bbj-widget-base';\nimport { BasicLineChartComponent } from '../basic-line-chart/basic-line-chart.component';\n\n@Component({\n selector: 'sc-radar-chart',\n templateUrl: './radar-chart.component.html',\n styleUrls: ['./radar-chart.component.less'],\n})\n@Widget('雷达图', {\n group: 'otherChart',\n image: 'assets/img/screen/radar.png',\n icon: 'icontubiao',\n})\nexport class RadarChartComponent extends BasicLineChartComponent implements OnInit, OnChanges {\n @Property('系列颜色', {\n ui: {\n widget: 'seriesColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n },\n })\n lineColor = ['#3285FF', '#00D2FD'];\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = {\n family: '',\n color: '#FFFFFF',\n weight: 'normal',\n size: 12,\n space: 0,\n lineHeight: '',\n };\n @Property('图例', {\n ui: { widget: 'select' },\n enum: [\n { label: '无', value: 'none' },\n { label: '自动', value: 'auto' },\n { label: '左对齐', value: 'left' },\n { label: '右对齐', value: 'right' },\n ],\n })\n align = 'auto';\n @Property('标签', { type: 'boolean' })\n label = false;\n @Property('形状', {\n ui: { widget: 'select' },\n enum: [\n { label: '多边形', value: 'polygon' },\n { label: '圆形', value: 'circle' },\n ],\n })\n shape = 'polygon';\n @Property('区域', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n area = false;\n @Property('边距', { ui: { widget: 'myGrid' } })\n grid: any = {\n top: 30,\n right: 30,\n bottom: 40,\n left: 36,\n };\n // @Property('缩放', { type: 'number' })\n // radius = 100;\n chartOption: any = {};\n @Data({\n properties: {\n x: { type: 'string', title: '类目' },\n y: { type: 'number', title: '值' },\n m: { type: 'number', title: '最大值' },\n s: { type: 'string', title: '系列' },\n },\n })\n _data = [\n { x: '销售', y: 10, m: 37, s: '预算' },\n { x: '管理', y: 20, m: 56, s: '预算' },\n { x: '信息技术', y: 25, m: 65, s: '预算' },\n { x: '客服', y: 35, m: 67, s: '预算' },\n { x: '研发', y: 27, m: 76, s: '预算' },\n { x: '市场', y: 28, m: 35, s: '预算' },\n { x: '销售', y: 18, m: 76, s: '实际' },\n { x: '管理', y: 28, m: 53, s: '实际' },\n { x: '信息技术', y: 32, m: 76, s: '实际' },\n { x: '客服', y: 48, m: 57, s: '实际' },\n // { x: \"研发\", y: 20, m: 57, s: \"实际\" },\n { x: '市场', y: 17, m: 56, s: '实际' },\n ];\n @Drill()\n @DataOutput(['x', 's'])\n dataClick = new EventEmitter<any>();\n series = [];\n ngOnChanges(changes: SimpleChanges): void {\n if (changes._data) {\n this.reloadData();\n const style = {\n color: this.font.color,\n fontFamily: this.font.family,\n fontWeight: this.font.weight,\n fontSize: this.font.size,\n lineHeight: this.font.lineHeight,\n };\n\n this.chartOption = {\n legend: {\n data: this.series,\n align: this.align,\n show: this.align !== 'none',\n textStyle: style,\n },\n radar: {\n shape: this.shape,\n name: {\n textStyle: style,\n },\n indicator: [],\n // radius: this.radius,\n },\n color: this.lineColor,\n grid: this.grid,\n series: [\n {\n label: {\n show: this.label,\n textStyle: this.getTextStyle(this.font),\n formatter: function (params) {\n return params.value;\n },\n },\n type: 'radar',\n areaStyle: { opacity: this.area ? 0.3 : 0 },\n data: [],\n },\n ],\n };\n for (let i = 0; i < this.xData.length; i++) {\n this._data\n .filter((els) => els.x === this.xData[i])\n .forEach((el) => {\n if (this.series.length > 1) {\n if (this.chartOption.radar.indicator[i] && this.chartOption.radar.indicator[i].max) {\n const ext = this.chartOption.radar.indicator[i].max;\n this.chartOption.radar.indicator[i].max = Math.max(ext, el.m);\n } else {\n this.chartOption.radar.indicator.push({\n name: this.xData[i],\n max: el.m,\n });\n }\n } else {\n this.chartOption.radar.indicator.push({\n name: this.xData[i],\n max: el.m,\n });\n }\n });\n }\n for (let i = 0; i < this.series.length; i++) {\n this.chartOption.series[0].data.push({\n value: [],\n name: this.series[i],\n });\n const temp = [];\n for (let j = 0; j < this._data.length; j++) {\n if (this.series[i] === this._data[j].s || ' ') {\n temp.push(this._data[j]);\n }\n }\n for (let j = 0; j < this.xData.length; j++) {\n let count = 0;\n for (let k = 0; k < temp.length; k++) {\n if (temp[k].x == this.xData[j]) {\n count++;\n }\n }\n if (count == 0) {\n this._data.push({\n x: this.xData[j],\n y: null,\n m: null,\n s: this.series[i],\n });\n }\n }\n this._data.sort((prev, next) => {\n return this.xData.indexOf(prev.x) - this.xData.indexOf(next.x);\n });\n this._data\n .filter((els) => els.s === this.series[i])\n .forEach((el) => {\n for (let j = 0; j < this.xData.length; j++) {\n if (this.xData[j] === el.x) {\n this.chartOption.series[0].data[i].value.push(el.y);\n }\n }\n });\n }\n }\n }\n reloadData() {\n if (this._data[0]) {\n for (let i = 0; i < this._data.length; i++) {\n if (!this._data[i].s) {\n this.align = 'none';\n }\n this._data[i].s = this._data[i].s || ' ';\n this.series[i] = this._data[i].s;\n }\n this.uniqueData(this.series);\n }\n for (let i = 0; i < this._data.length; i++) {\n this.xData[i] = this._data[i].x;\n }\n this.uniqueData(this.xData);\n }\n ngOnInit() {}\n onChartClick(event) {\n this.dataClick.emit({ x: event.name, s: event.seriesName });\n }\n}\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RadarChartComponent } from './radar-chart.component';\r\nimport { NgxEchartsModule } from 'ngx-echarts';\r\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\r\n\r\n@NgModule({\r\n declarations: [RadarChartComponent],\r\n imports: [CommonModule, WidgetBaseModule, NgxEchartsModule],\r\n})\r\nexport class RadarChartModule {\r\n constructor(widgetService: WidgetService) {\r\n widgetService.register(RadarChartComponent);\r\n }\r\n}\r\n","import { Component, OnChanges, OnInit, SimpleChanges, EventEmitter } from '@angular/core';\nimport { Property, Widget, Data, Drill, DataOutput } from 'bbj-widget-base';\nimport { BasicLineChartComponent } from '../basic-line-chart/basic-line-chart.component';\n\n@Component({\n selector: 'sc-funnel-chart',\n templateUrl: './funnel-chart.component.html',\n styleUrls: ['./funnel-chart.component.less'],\n})\n@Widget('三角图', {\n group: 'otherChart',\n image: 'assets/img/screen/funnel.png',\n icon: 'icontubiao',\n})\nexport class FunnelChartComponent extends BasicLineChartComponent implements OnInit, OnChanges {\n @Property('图表样式', {\n ui: {\n widget: 'myImageExample',\n spanLabel: 24,\n spanControl: 24,\n reset: ['seriesColor'],\n example: [\n {\n background: 'assets/img/screen/funnel1.png',\n data: {\n seriesColor: ['#FFE53F', '#FFBF47', '#FF7F1D', '#FC460D', '#EE2100'],\n },\n },\n {\n background: 'assets/img/screen/funnel2.png',\n data: {\n seriesColor: ['#C0E656', '#52D852', '#00B335', '#008F44', '#006A61'],\n },\n },\n {\n background: 'assets/img/screen/funnel3.png',\n data: {\n seriesColor: ['#00E5E3', '#0DBBD8', '#2A8BC9', '#345EBB', '#003560'],\n },\n },\n {\n background: 'assets/img/screen/funnel4.png',\n data: {\n seriesColor: ['#FF6DB7', '#E23FCA', '#AD12CE', '#7F0B84', '#610796'],\n },\n },\n ],\n },\n })\n example: any;\n @Property('系列颜色', {\n ui: {\n widget: 'seriesColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n },\n })\n seriesColor = ['#00E5E3', '#0DBBD8', '#2A8BC9', '#345EBB', '#003560'];\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = {\n family: '',\n color: '#FFFFFF',\n weight: 'normal',\n size: 12,\n space: 0,\n lineHeight: '',\n };\n @Property('边距', { ui: { widget: 'myGrid' } })\n grid: any = {\n top: 60,\n right: 16,\n bottom: 20,\n left: 16,\n };\n @Property('图例', {\n ui: { widget: 'select' },\n enum: [\n { label: '无', value: 'none' },\n { label: '自动', value: 'auto' },\n { label: '左对齐', value: 'left' },\n { label: '右对齐', value: 'right' },\n ],\n })\n align = 'auto';\n @Property('最大值', {\n ui: { widget: 'myRange', min: 0, max: 100, step: 1 },\n })\n max = 100;\n @Property('最小值', {\n ui: { widget: 'myRange', min: 0, max: 100, step: 1 },\n })\n min = 0;\n @Property('排序', {\n ui: { widget: 'select' },\n enum: [\n { label: '升序', value: 'ascending' },\n { label: '降序', value: 'descending' },\n { label: '无/按数据先后', value: 'none' },\n ],\n })\n sort = 'ascending';\n @Property('间隔', {\n ui: { widget: 'myRange', min: 0, max: 10, step: 1 },\n })\n gap = 4;\n @Property('标签', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n label = true;\n\n chartOption: any = {};\n @Data({\n properties: {\n x: { type: 'string', title: '类目' },\n y: { type: 'number', title: '值' },\n },\n })\n _data = [\n { x: '一月', y: 20 },\n { x: '二月', y: 40 },\n { x: '三月', y: 60 },\n { x: '四月', y: 80 },\n { x: '五月', y: 100 },\n ];\n @Drill()\n @DataOutput(['x'])\n dataClick = new EventEmitter<any>();\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes._data) {\n const style = {\n color: this.font.color,\n fontFamily: this.font.family,\n fontWeight: this.font.weight,\n fontSize: this.font.size,\n lineHeight: this.font.lineHeight,\n };\n\n this.chartOption = {\n legend: {\n data: this.xData,\n align: this.align,\n show: this.align !== 'none',\n textStyle: style,\n },\n calculable: true,\n color: this.seriesColor,\n series: [\n {\n type: 'funnel',\n top: this.grid.top,\n right: this.grid.right,\n left: this.grid.left,\n bottom: this.grid.bottom,\n maxSize: this.max + '%',\n minSize: this.min + '%',\n sort: this.sort,\n gap: this.gap,\n itemStyle: { borderWidth: 0 },\n label: {\n show: this.label,\n position: 'inside',\n },\n },\n ],\n dataset: {\n // 用 dimensions 指定了维度的顺序。直角坐标系中,\n // 默认把第一个维度映射到 X 轴上,第二个维度映射到 Y 轴上。\n // 如果不指定 dimensions,也可以通过指定 series.encode\n // 完成映射,参见后文。\n dimensions: [],\n source: [],\n },\n };\n this.reloadData();\n // for (let i = 0; i < this._data.length; i++) {\n // this.chartOption.series[0].data.push({\n // value: this._data[i].y,\n // name: this._data[i].x\n // });\n // }\n // console.log(JSON.stringify(this.chartOption));\n }\n }\n reloadData() {\n const dimensions = ['x', 'y'];\n const source = this._data;\n for (let i = 0; i < this._data.length; i++) {\n this.xData[i] = this._data[i].x;\n }\n this.uniqueData(this.xData);\n this.chartOption.dataset.dimensions = dimensions;\n this.chartOption.dataset.source = source;\n }\n ngOnInit() {}\n onChartClick(event) {\n this.dataClick.emit({ x: event.name, s: event.seriesName });\n }\n}\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FunnelChartComponent } from './funnel-chart.component';\r\nimport { NgxEchartsModule } from 'ngx-echarts';\r\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\r\n\r\n@NgModule({\r\n declarations: [FunnelChartComponent],\r\n imports: [CommonModule, WidgetBaseModule, NgxEchartsModule],\r\n})\r\nexport class FunnelChartModule {\r\n constructor(widgetService: WidgetService) {\r\n widgetService.register(FunnelChartComponent);\r\n }\r\n}\r\n","import { Component, ElementRef, HostBinding, HostListener, OnInit } from '@angular/core';\nimport { Property, Widget } from 'bbj-widget-base';\n\n@Component({\n selector: 'sc-background',\n templateUrl: './background.component.html',\n styleUrls: ['./background.component.less'],\n})\n@Widget('图片', { group: 'background', icon: 'iconbeijing' })\nexport class BackgroundComponent implements OnInit {\n @Property('', { min: 1, ui: { widget: 'myUpload', spanLabel: 0, spanControl: 24 } })\n image: string;\n @Property('透明度', { ui: { widget: 'myRange', min: 0, max: 1, step: 0.1 } })\n opacity = 1;\n @Property('阴影', { ui: { widget: 'myShadow' } })\n shadow: any = { color: '', X: 0, Y: 0, Z: 0 };\n style: any;\n type: string;\n @Property('响应鼠标事件', { type: 'boolean', default: true })\n pointerEvents = false;\n\n constructor(private ele: ElementRef) {}\n\n ngOnInit() {\n this.style = {\n opacity: this.opacity,\n boxShadow: this.shadow.color + ' ' + this.shadow.X + 'px ' + this.shadow.Y + 'px ' + this.shadow.Z + 'px',\n };\n if (this.pointerEvents === false) {\n this.ele.nativeElement.style.pointerEvents = 'none';\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BackgroundComponent } from './background.component';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\n\n@NgModule({\n declarations: [BackgroundComponent],\n imports: [CommonModule, WidgetBaseModule],\n})\nexport class BackgroundModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(BackgroundComponent);\n }\n}\n","import { Component, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { Property, Widget, Data } from 'bbj-widget-base';\n\n@Component({\n selector: 'sc-gauge',\n templateUrl: './gauge.component.html',\n styleUrls: ['./gauge.component.less'],\n})\n@Widget('仪表盘', {\n group: 'otherChart',\n image: 'assets/img/screen/gauge.png',\n icon: 'icontubiao',\n})\nexport class GaugeComponent implements OnInit, OnChanges {\n\n @Property('表盘颜色', {\n ui: {\n widget: 'seriesColor',\n type: 'gradual',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n },\n })\n seriesColor = { gradient: true, value: [['#2841E8', '#00CAFA']] };\n\n @Property('指针颜色', {\n ui: {\n widget: 'myColor',\n example: ['#ffffff', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null]\n },\n })\n pointerColor = 'auto';\n @Property('指针阴影', {\n ui: {\n widget: 'myColor',\n example: ['#ffffff', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null]\n },\n })\n pointerShadow = 'rgba(0,138,255,0.45)';\n\n @Property('表盘宽度', {\n ui: { widget: 'myRange', min: 0, max: 100, step: 1 },\n })\n width = 10;\n @Property('起始角度', {\n ui: { widget: 'myRange', min: 90, max: 360, step: 1 },\n })\n startAngle = 225;\n @Property('结束角度', {\n ui: { widget: 'myRange', min: -90, max: 90, step: 1 },\n })\n endAngle = -45;\n\n\n\n @Property('显示标题', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n label = false;\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = {\n family: '',\n color: '#FFFFFF',\n weight: 'normal',\n size: 12,\n space: 0,\n lineHeight: 12,\n };\n\n @Property('标题位移', {\n ui: { widget: 'number' },\n })\n labelOffset = 50;\n @Property('标题宽度', {\n ui: { widget: 'number' },\n })\n labelWidth = null;\n\n @Property('显示数值', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n labelVal = true;\n\n @Property('数值字体', { ui: { widget: 'myFont' } })\n numFont: any = {\n family: '',\n color: '#FFFFFF',\n weight: 'normal',\n size: 38,\n space: 0,\n lineHeight: 38,\n };\n\n @Property('百分号', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n percent = false;\n\n @Property('数值位移', {\n ui: { widget: 'number' },\n })\n labelValOffset = -10;\n\n @Property('最大值', {\n ui: { widget: 'number' },\n })\n max = 100;\n @Property('最小值', {\n ui: { widget: 'number' },\n })\n min = 0;\n\n // 显示分隔线\n @Property('分隔线', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n splitLine = false;\n\n // 显示刻度\n @Property('刻度', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n axisTick = true;\n\n @Property('刻度数值', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n axisLabel = true;\n\n @Property('刻度长度', {\n ui: { widget: 'number' },\n })\n axisTickLen = 10;\n\n @Property('刻度宽度', {\n ui: { widget: 'number' },\n })\n axisTickWidth = 1;\n\n @Property('刻度颜色', {\n ui: {\n widget: 'myColor',\n example: ['#ffffff', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null]\n },\n })\n axisTickColor = 'auto';\n\n\n image: string;\n constructor() { }\n chartOption: any = {};\n @Data({\n properties: {\n name: { type: 'string', title: '文字' },\n value: { type: 'number', title: '值' },\n },\n })\n _data = [{ name: '速度', value: 48 }];\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes._data) {\n const style = {\n show: this.axisLabel,\n color: this.font.color,\n fontFamily: this.font.family,\n fontWeight: this.font.weight,\n fontSize: this.font.size,\n lineHeight: this.font.lineHeight,\n };\n const color = [];\n const color1 = [];\n let seriesColor;\n if (this.seriesColor && this.seriesColor.value) {\n seriesColor = this.seriesColor.value;\n } else {\n seriesColor = this.seriesColor;\n }\n for (let i = 0; i < seriesColor.length; i++) {\n color.push({\n type: 'linear',\n x: 0,\n y: 0,\n x2: 1,\n y2: 0,\n global: false,\n colorStops: [\n { offset: 0, color: seriesColor[i][0] },\n { offset: 1, color: seriesColor[i][1] },\n ],\n });\n }\n let count = 1;\n if (seriesColor.length > 1) {\n count = 1 / seriesColor.length;\n for (let i = 0; i < seriesColor.length; i++) {\n color1.push([count * (i + 1), color[i]]);\n }\n }\n this.chartOption = {\n series: [\n {\n // name: this.title,\n type: 'gauge',\n detail: {\n show: this.labelVal,\n formatter: this.percent ? '' + ((this._data[0].value / this.max) * 100).toFixed(2) + '%' : '{value}',\n color: this.numFont.color,\n fontFamily: this.numFont.family,\n fontWeight: this.numFont.weight,\n fontSize: this.numFont.size,\n lineHeight: this.numFont.lineHeight,\n offsetCenter: [0, `${this.labelValOffset}%`],\n },\n data: this._data,\n startAngle: this.startAngle,\n endAngle: this.endAngle,\n title: {\n show: this.label,\n color: this.font.color,\n fontFamily: this.font.family,\n fontWeight: this.font.weight,\n fontSize: this.font.size,\n lineHeight: this.font.lineHeight,\n offsetCenter: [0, `${this.labelOffset}%`],\n overflow: 'breakAll',\n width: this.labelWidth\n },\n axisLine: {\n lineStyle: {\n width: this.width,\n color: count < 1 ? color1 : [[1, color[0]]],\n },\n },\n axisLabel: style,\n max: this.max,\n min: this.min,\n splitLine: {\n show: this.splitLine,\n distance: 0,\n length: 10\n },\n axisTick: {\n show: this.axisTick,\n length: this.axisTickLen,\n lineStyle: {\n width: this.axisTickWidth,\n color: this.axisTickColor\n }\n },\n pointer: {\n width: 6,\n length: '70%',\n itemStyle: {\n color: this.pointerColor,\n shadowColor: this.pointerShadow,\n shadowBlur: 10,\n shadowOffsetX: 2,\n shadowOffsetY: 2\n }\n },\n\n },\n ],\n };\n // console.log(JSON.stringify(this.chartOption));\n }\n }\n ngOnInit() { }\n}\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { GaugeComponent } from './gauge.component';\r\nimport { NgxEchartsModule } from 'ngx-echarts';\r\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\r\n\r\n@NgModule({\r\n declarations: [GaugeComponent],\r\n imports: [CommonModule, WidgetBaseModule, NgxEchartsModule],\r\n})\r\nexport class GaugeModule {\r\n constructor(widgetService: WidgetService) {\r\n widgetService.register(GaugeComponent);\r\n }\r\n}\r\n","import { Component, OnChanges, OnInit, SimpleChanges, EventEmitter } from '@angular/core';\nimport { Property, Widget, Data, Drill, DataOutput } from 'bbj-widget-base';\n\n@Component({\n selector: 'sc-percent-pie-chart',\n templateUrl: './percent-pie-chart.component.html',\n styleUrls: ['./percent-pie-chart.component.less'],\n})\n@Widget('占比饼图', {\n group: 'pieChart',\n image: 'assets/img/screen/percent_pie.png',\n icon: 'icontubiao',\n})\nexport class PercentPieChartComponent implements OnInit, OnChanges {\n @Property('图表样式', {\n ui: {\n widget: 'myImageExample',\n spanLabel: 24,\n spanControl: 24,\n class: 'percentPie',\n reset: ['pieColor'],\n example: [\n {\n background: 'assets/img/screen/percent_pie1.png',\n data: { pieColor: { gradient: true, value: [['#FF7C24', '#50536E']] } },\n },\n {\n background: 'assets/img/screen/percent_pie2.png',\n data: { pieColor: { gradient: true, value: [['#00FEC3', '#50536E']] } },\n },\n {\n background: 'assets/img/screen/percent_pie3.png',\n data: { pieColor: { gradient: true, value: [['#00D2FD', '#50536E']] } },\n },\n {\n background: 'assets/img/screen/percent_pie4.png',\n data: { pieColor: { gradient: true, value: [['#BF91FA', '#50536E']] } },\n },\n ],\n },\n })\n example: any;\n @Property('颜色', {\n ui: {\n widget: 'seriesColor',\n type: 'gradual',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n },\n })\n pieColor = {\n gradient: true,\n value: [\n ['#00A2FD', '#50536E'],\n ['black', 'black'],\n ],\n };\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = {\n family: '',\n color: '#AFB2BF',\n weight: 'normal',\n size: 20,\n space: 0,\n lineHeight: '',\n };\n @Property('环宽', { type: 'number' })\n width = 20;\n @Property('圆角', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n fillet = false;\n @Property('顺时针', {\n ui: { widget: 'boolean', checkedChildren: '顺', unCheckedChildren: '逆' },\n })\n clockwise = true;\n @Property('百分值', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n percent = true;\n image: string;\n constructor() {}\n\n chartOption: any = {};\n @Data({\n properties: {\n value: { type: 'number', title: '值' },\n max: { type: 'number', title: '最大值' },\n },\n })\n _data = [{ value: 80, max: 100 }];\n @Drill()\n @DataOutput(['value', 'max'])\n dataClick = new EventEmitter<any>();\n ngOnChanges(changes: SimpleChanges): void {\n if (changes._data) {\n const value = this._data[0].value;\n const value_per = (this._data[0].value / this._data[0].max) * 100;\n const style = {\n color: this.font.color,\n fontFamily: this.font.family,\n fontWeight: this.font.weight,\n fontSize: this.font.size,\n lineHeight: this.font.lineHeight,\n };\n let pieColor;\n if (this.pieColor && this.pieColor.value) {\n pieColor = this.pieColor.value;\n } else {\n pieColor = this.pieColor;\n }\n const color = {\n type: 'linear',\n x: 0,\n y: 0,\n global: false,\n colorStops: [\n { offset: 0, color: pieColor[0][0] },\n { offset: 1, color: pieColor[0][1] },\n ],\n };\n\n this.chartOption = {\n title: {\n text: this.percent ? parseInt(value_per.toString()) + '%' : parseInt(value.toString()),\n textStyle: style,\n left: 'center',\n top: 'center',\n },\n angleAxis: {\n max: this._data[0].max, // 满分\n clockwise: this.clockwise, // 逆时针\n // 隐藏刻度线\n axisLine: {\n show: false,\n },\n axisTick: {\n show: false,\n },\n axisLabel: {\n show: false,\n },\n splitLine: {\n show: false,\n },\n },\n radiusAxis: {\n type: 'category',\n // 隐藏刻度线\n axisLine: {\n show: false,\n },\n axisTick: {\n show: false,\n },\n axisLabel: {\n show: false,\n },\n splitLine: {\n show: false,\n },\n },\n polar: {\n center: ['50%', '50%'],\n radius: '100%', // 图形大小\n },\n series: [\n {\n type: 'bar',\n label: {\n show: false,\n },\n data: [\n {\n value,\n itemStyle: {\n // 颜色渐变\n color,\n },\n },\n ],\n coordinateSystem: 'polar',\n roundCap: this.fillet,\n barWidth: this.width,\n barGap: '-100%', // 两环重叠\n z: 2,\n },\n {\n // 灰色环\n type: 'bar',\n data: [\n {\n value: this._data[0].max,\n itemStyle: {\n color: pieColor[pieColor.length - 1][0],\n },\n },\n ],\n coordinateSystem: 'polar',\n roundCap: this.fillet,\n barWidth: this.width,\n barGap: '-100%', // 两环重叠\n z: 1,\n },\n ],\n };\n }\n console.log(this.chartOption);\n }\n ngOnInit() {}\n onChartClick(event) {\n this.dataClick.emit({ x: event.name, s: event.seriesName });\n }\n}\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PercentPieChartComponent } from './percent-pie-chart.component';\r\nimport { NgxEchartsModule } from 'ngx-echarts';\r\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\r\n\r\n@NgModule({\r\n declarations: [PercentPieChartComponent],\r\n imports: [CommonModule, WidgetBaseModule, NgxEchartsModule],\r\n})\r\nexport class PercentPieChartModule {\r\n constructor(widgetService: WidgetService) {\r\n widgetService.register(PercentPieChartComponent);\r\n }\r\n}\r\n","import { Component, OnChanges, OnInit, SimpleChanges, EventEmitter } from '@angular/core';\nimport { Property, Widget, Data, Drill, DataOutput } from 'bbj-widget-base';\nimport { BasicLineChartComponent } from '../basic-line-chart/basic-line-chart.component';\n\n@Component({\n selector: 'sc-tree-ring-chart',\n templateUrl: './tree-ring-chart.component.html',\n styleUrls: ['./tree-ring-chart.component.less'],\n})\n@Widget('年轮图', {\n group: 'pieChart',\n image: 'assets/img/screen/ringTree.png',\n icon: 'icontubiao',\n})\nexport class TreeRingChartComponent extends BasicLineChartComponent implements OnInit, OnChanges {\n\n @Property('系列颜色', {\n ui: {\n widget: 'seriesColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n },\n })\n color = ['#3285FF', '#00D2FD'];\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = {\n family: '',\n color: '#FFFFFF',\n weight: 'normal',\n size: 12,\n space: 0,\n lineHeight: 12,\n };\n @Property('顺时针', {\n ui: { widget: 'boolean', checkedChildren: '顺', unCheckedChildren: '逆' },\n })\n clockwise = false;\n @Property('图例', {\n ui: { widget: 'select' },\n enum: [\n { label: '无', value: 'none' },\n { label: '自动', value: 'auto' },\n { label: '纵向居中', value: 'center' },\n { label: '纵向居左', value: 'left' },\n { label: '纵向居右', value: 'right' },\n ],\n })\n align = 'none';\n @Property('边距', { ui: { widget: 'myGrid', type: 'pie' } })\n grid: any = {\n top: 45,\n left: 50,\n };\n\n chartOption: any = {};\n @Data({\n properties: {\n name: { type: 'string', title: '类目' },\n value: { type: 'number', title: '值' },\n },\n })\n _data = [\n { name: '短信', value: 1419 },\n { name: '客服', value: 1776 },\n { name: '外呼', value: 1895 },\n { name: '网厅', value: 1576 },\n { name: '手厅', value: 2077 },\n ];\n @Drill()\n @DataOutput(['value'])\n dataClick = new EventEmitter<any>();\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes._data) {\n const data = this._data.sort(function (a, b) {\n return b.value - a.value;\n });\n const objData = this.array2obj(data, 'name');\n const textStyle = {\n color: this.font.color,\n fontFamily: this.font.family,\n fontWeight: this.font.weight,\n fontSize: this.font.size,\n lineHeight: this.font.lineHeight,\n };\n\n this.chartOption = {\n legend: {\n type: 'scroll',\n orient: 'vertical',\n data,\n x: this.align,\n show: this.align !== 'none',\n formatter (name) {\n return name + '(' + objData[name].value + ')';\n },\n textStyle,\n },\n color: this.color,\n yAxis: [\n {\n type: 'category',\n inverse: true,\n axisLine: {\n show: false,\n },\n axisTick: {\n show: false,\n },\n axisLabel: {\n show: false,\n },\n data: this.getData(data).yAxis,\n },\n ],\n xAxis: [\n {\n show: false,\n },\n ],\n series: this.getData(data).series,\n };\n }\n }\n ngOnInit() {}\n\n getMax(data) {\n const a = Math.max(...data.map((item) => item.value));\n const b = a.toString().length;\n const c = Math.pow(10, b - 1);\n const max = Number(c) + Number(a);\n return max;\n }\n\n getData(data) {\n const res = {\n series: [],\n yAxis: [],\n };\n for (let i = 0; i < data.length; i++) {\n res.series.push({\n name: i,\n type: 'pie',\n clockWise: this.clockwise,\n hoverAnimation: false,\n radius: [63 - i * 8 + '%', 58 - i * 8 + '%'],\n center: [this.grid.left + '%', this.grid.top + '%'],\n label: {\n show: false,\n },\n itemStyle: {\n label: {\n show: false,\n },\n labelLine: {\n show: false,\n },\n borderWidth: 5,\n },\n data: [\n {\n value: this.getMax(data) - data[i].value,\n name: '',\n itemStyle: {\n color: '#ffffff00',\n borderWidth: 0,\n },\n tooltip: {\n show: false,\n },\n hoverAnimation: false,\n },\n {\n value: data[i].value,\n name: data[i].name,\n },\n ],\n });\n }\n return res;\n }\n\n array2obj(array, key) {\n const resObj = {};\n for (let i = 0; i < array.length; i++) {\n resObj[array[i][key]] = array[i];\n }\n return resObj;\n }\n onChartClick(event) {\n this.dataClick.emit({ x: event.name, s: event.seriesName });\n }\n}\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TreeRingChartComponent } from './tree-ring-chart.component';\r\nimport { NgxEchartsModule } from 'ngx-echarts';\r\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\r\n\r\n@NgModule({\r\n declarations: [TreeRingChartComponent],\r\n imports: [CommonModule, WidgetBaseModule, NgxEchartsModule],\r\n})\r\nexport class TreeRingChartModule {\r\n constructor(widgetService: WidgetService) {\r\n widgetService.register(TreeRingChartComponent);\r\n }\r\n}\r\n","import { Component, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { Property, Widget, Data } from 'bbj-widget-base';\n\nimport 'echarts-liquidfill';\n@Component({\n selector: 'sc-liquid-fill',\n templateUrl: './liquid-fill.component.html',\n styleUrls: ['./liquid-fill.component.less'],\n})\n@Widget('水球图', {\n group: 'otherChart',\n image: 'assets/img/screen/liquidFill.png',\n icon: 'icontubiao',\n})\nexport class LiquidFillComponent implements OnInit,OnChanges {\n\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = {\n family: '',\n color: '#294D99',\n weight: 'normal',\n size: 40,\n space: 0,\n lineHeight: '',\n };\n @Property('字体覆盖', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n cover = '#fff';\n @Property('背景色', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n bg = '#DEDEDE';\n @Property('边框色', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n border = '#DEDEDE';\n @Property('水波色系', {\n ui: {\n widget: 'seriesColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n },\n })\n seriesColor = ['#1DE2C4', '#008FE9'];\n @Property('水波层数', {\n ui: { widget: 'myRange', min: 1, max: 5, step: 1 },\n })\n level = 2;\n @Property('形状', {\n ui: { widget: 'select' },\n enum: [\n { label: '圆形', value: 'circle' },\n { label: '矩形', value: 'rect' },\n { label: '圆角矩形', value: 'roundRect' },\n { label: '三角形', value: 'triangle' },\n { label: '菱形', value: 'diamond' },\n { label: '大头针', value: 'pin' },\n { label: '箭头', value: 'arrow' },\n ],\n })\n shape = 'circle';\n @Property('动画', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n waveAnimation = true;\n image: string;\n constructor() {}\n @Data({\n properties: { value: { type: 'number', title: '值' } },\n })\n _data: any[] = [{ value: 0.48 }];\n chartOption: any = null;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes._data) {\n const value = this._data[0].value;\n const style = {\n color: this.font.color,\n fontFamily: this.font.family,\n fontWeight: this.font.weight,\n fontSize: this.font.size,\n lineHeight: this.font.lineHeight,\n };\n\n const data = [];\n for (let i = 0; i < this.level; i++) {\n data.push({\n value,\n label: { normal: { textStyle: style, insideColor: this.cover } },\n });\n }\n\n if (this.bg == '') {\n this.bg = '#ffffff00';\n }\n this.chartOption = {\n series: [\n {\n type: 'liquidFill',\n data,\n radius: '80%',\n shape: this.shape,\n waveAnimation: this.waveAnimation,\n backgroundStyle: {\n borderColor: this.border,\n color: this.bg,\n },\n color: this.seriesColor,\n outline: {\n show: false,\n },\n },\n ],\n };\n }\n }\n ngOnInit() {}\n}\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LiquidFillComponent } from './liquid-fill.component';\r\nimport { NgxEchartsModule } from 'ngx-echarts';\r\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\r\n\r\n@NgModule({\r\n declarations: [LiquidFillComponent],\r\n imports: [CommonModule, WidgetBaseModule, NgxEchartsModule],\r\n})\r\nexport class LiquidFillModule {\r\n constructor(widgetService: WidgetService) {\r\n widgetService.register(LiquidFillComponent);\r\n }\r\n}\r\n","import {\n Component,\n ElementRef,\n OnInit,\n SimpleChanges,\n OnChanges,\n EventEmitter,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n ViewChild,\n HostBinding,\n Renderer2,\n OnDestroy,\n} from '@angular/core';\nimport { Widget, Data, Property, DataSchema, DataOutput, WidgetRef, CustomExport } from 'bbj-widget-base';\nimport { SFArrayWidgetSchema, SFSchema } from '@delon/form';\nimport { deepCopy } from '@delon/util';\nimport { getFontStyle } from '../shared/util/style.util';\n\n@Component({\n selector: 'sc-shuffling-list',\n templateUrl: './shuffling-list.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['./shuffling-list.component.less'],\n})\n@Widget('滚动表格', { group: 'table', icon: 'icontubiao', image: '/assets/img/screen/shuffling.png' })\nexport class ShufflingListComponent implements OnInit, OnChanges, OnDestroy, CustomExport {\n @Property('轮播', { type: 'boolean' })\n carousel = true;\n _carousel: boolean;\n @Property('自动换行', { type: 'boolean' })\n lineWrap = true;\n @Property('轮播间隔', { ui: { widget: 'myRange', min: 1, max: 20, step: 1 } })\n time = 1;\n @Property('序列号显示', { type: 'boolean' })\n serialNumberDisplay = true;\n @Property('表头显示', { type: 'boolean' })\n headDisplay = true;\n @Property('表头背景', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#ffffff'],\n },\n })\n headBackground = '';\n @Property('表头字体', { ui: { widget: 'myFont' } })\n headFont: any = { family: '', color: '#ffffff', weight: 'normal', size: 20, space: 0, lineHeight: 40 };\n @Property('字体发光', { type: 'boolean' })\n fontBling = false;\n @Property('字段颜色', {\n type: 'array',\n maxItems: 99,\n items: {\n type: 'object',\n properties: {\n key: {\n type: 'string',\n title: '字段',\n },\n value: {\n type: 'string',\n title: '值',\n },\n color: {\n type: 'string',\n title: '颜色',\n ui: {\n widget: 'myColor',\n },\n },\n },\n required: [],\n },\n ui: { grid: { arraySpan: 24 }, spanControl: 24 } as SFArrayWidgetSchema,\n })\n bindColor = [];\n @Property('发光颜色', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#ffffff'],\n },\n })\n blingColor = '';\n @Property('边框颜色', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#ffffff'],\n },\n })\n borderColor = '';\n @Property('边框发光', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#ffffff'],\n },\n })\n borderBlingColor = '';\n @Property('边框粗细', {\n ui: { widget: 'myRange', min: 0, max: 40, step: 1 },\n })\n borderSize = 0;\n\n @Property('点击触发方式', {\n enum: [\n { label: '行', value: 'row' },\n { label: '单元格', value: 'cell' },\n ],\n })\n clickTarget = 'row';\n @Property('表头设置', {\n type: 'array',\n maxItems: 99,\n items: {\n type: 'object',\n properties: {\n key: {\n type: 'string',\n title: 'key',\n },\n width: {\n type: 'number',\n title: '宽度',\n },\n align: {\n type: 'string',\n ui: { widget: 'select' },\n enum: [\n { label: '居左', value: 'left' },\n { label: '居中', value: 'center' },\n { label: '居右', value: 'right' },\n ],\n },\n show: {\n type: 'boolean',\n title: '是否显示',\n default: true,\n },\n clickable: {\n type: 'boolean',\n title: '是否可点击',\n ui: { visibleIf: { '/clickTarget': ['cell'] } },\n },\n },\n required: [],\n },\n ui: { grid: { arraySpan: 24 }, spanControl: 24 } as SFArrayWidgetSchema,\n })\n titleStyle = [];\n @Property('发光程度', { ui: { widget: 'myRange', min: 1, max: 10, step: 1 } })\n blingNum = 3;\n @Property('奇行背景', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#ffffff'],\n },\n })\n oddBackground = '';\n @Property('偶行背景', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#ffffff'],\n },\n })\n evenBackground = '';\n @Property('内容字体', { ui: { widget: 'myFont' } })\n contentFont: any = { family: '', color: '#ffffff', weight: 'normal', size: 12, space: 0, lineHeight: 40 };\n @Property('字体发光', { type: 'boolean' })\n contentFontBling = false;\n @Property('发光颜色', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#ffffff'],\n },\n })\n contentBlingColor = '';\n @Property('发光程度', { ui: { widget: 'myRange', min: 1, max: 10, step: 1 } })\n contentBlingNum = 3;\n @Property('左内边距', { ui: { widget: 'myRange', min: 1, max: 100, step: 1 } })\n paddingLeft = 0;\n @Property('右内边距', { ui: { widget: 'myRange', min: 1, max: 100, step: 1 } })\n paddingRight = 0;\n @Data({})\n data: any = [\n {\n 地区: '温州',\n 流量: '123',\n 行为: 'xxxx',\n },\n {\n 地区: '杭州',\n 流量: '1235',\n 行为: 'xxxx',\n },\n {\n 地区: '上海',\n 流量: '1234',\n 行为: 'xxxx',\n },\n {\n 地区: '北京',\n 流量: '12367',\n 行为: 'xxxx',\n },\n {\n 地区: '温州1',\n 流量: '123835',\n 行为: 'xxxx',\n },\n {\n 地区: '温州2',\n 流量: '123835',\n 行为: 'xxxx',\n },\n {\n 地区: '温州3',\n 流量: '123835',\n 行为: 'xxxx',\n },\n {\n 地区: '温州4',\n 流量: '123835',\n 行为: 'xxxx',\n },\n ];\n @DataSchema('data')\n schema: SFSchema;\n tableStyle: any = {};\n\n animationDelay = 0;\n @DataOutput('行数据')\n dateChange = new EventEmitter<any>();\n @DataOutput('单元格')\n cellClick = new EventEmitter<any>();\n @DataOutput('列')\n columnClick = new EventEmitter<any>();\n columns: any[];\n headStyle: any = {};\n bodyStyle: any = {};\n rowStyle: any = {};\n content: any[];\n placeholder: any;\n paged: boolean;\n total: number;\n runtime: number; //已滚动时间\n lastTime: number; //上一次计时时间\n @DataOutput('翻页')\n pageChange = new EventEmitter<any>();\n nextPageTimeout: any;\n parentHeight: number;\n headerHeight: any;\n rowHeight: any;\n paused: boolean;\n constructor(\n private ele: ElementRef,\n private cd: ChangeDetectorRef,\n private widgetRef: WidgetRef,\n private renderer: Renderer2,\n ) {}\n ngOnInit() {\n const widget: any = this.widgetRef.widget as any;\n if (this.clickTarget !== 'cell' && (widget.link?.enabled || widget.outputs?.enabled)) {\n this.tableStyle.cursor = 'pointer';\n }\n this.headStyle = getFontStyle(this.headFont);\n this.headStyle.backgroundColor = this.headBackground;\n if (this.paddingLeft) {\n this.headStyle.paddingLeft = this.rowStyle.paddingLeft = this.paddingLeft + 'px';\n }\n if (this.paddingRight) {\n this.headStyle.paddingRight = this.rowStyle.paddingRight = this.paddingRight + 'px';\n }\n\n Object.assign(this.tableStyle, getFontStyle(this.contentFont));\n\n if (this.borderSize && this.borderColor) {\n const element = this.ele.nativeElement;\n const border = `${this.borderSize}px solid ${this.borderColor || '#fff'}`;\n this.rowStyle.borderBottom = this.headStyle.borderBottom = border;\n this.renderer.setStyle(element, 'border', border);\n if (this.borderBlingColor) {\n const filter = `drop-shadow(0 0 8px ${this.borderBlingColor})`;\n this.renderer.setStyle(element, 'filter', filter);\n }\n }\n\n if (this.fontBling) {\n // 发光\n let color = this.blingColor || this.headFont.color || '#ffffff';\n let num = this.blingNum || 3;\n this.headStyle.textShadow = this.getBlingStyle(color, num);\n }\n if (this.contentFontBling) {\n // 发光\n let color = this.contentBlingColor || this.contentFont.color || '#ffffff';\n let num = this.blingNum || 3;\n this.tableStyle.textShadow = this.getBlingStyle(color, num);\n }\n if (this.lineWrap) {\n this.tableStyle.wordBreak = 'break-all';\n } else {\n this.tableStyle.whiteSpace = 'nowrap';\n }\n this.cd.markForCheck();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.data || changes.schema) && this.data) {\n if (this.data.totalElements != null) {\n this.paged = true;\n const start = this.data.number * this.data.size;\n if (this.content == null) {\n this.content = [];\n }\n if (this.content.length > start) {\n this.content.splice(start, this.content.length - start);\n } else if (this.content.length < start) {\n this.pageChange.emit(Math.ceil(this.content.length / this.data.size));\n return;\n }\n this.content.push(...this.data.content);\n this.total = this.data.totalElements;\n } else {\n this.paged = false;\n this.content = this.data;\n this.total = this.data.length;\n }\n if (!this.paged || this.data.number === 0) {\n this.updateColumns();\n }\n const element: HTMLElement = this.ele.nativeElement;\n this.parentHeight = Number(element.parentElement.style.height.replace('px', ''));\n this.headerHeight = this.headFont.lineHeight || 40;\n this.rowHeight = this.contentFont.linHeight || 40;\n if (this.borderSize && this.borderColor) {\n this.headerHeight += this.borderSize;\n this.rowHeight += this.borderSize;\n }\n if (!this.headDisplay) {\n this.headerHeight = 0;\n }\n const carousel = this.carousel && this.total * this.rowHeight + this.headerHeight > this.parentHeight;\n if (!this._carousel && carousel) {\n this.runtime = 0;\n }\n this._carousel = carousel;\n this.placeholder = null;\n if (this._carousel) {\n const time = this.total * this.time;\n this.tableStyle.animation = 'carousel ' + time + 's linear infinite';\n if (this.paged && this.total > this.content.length) {\n this.placeholder = this.rowHeight * (this.total - this.content.length);\n }\n if (!this.paused) {\n this.updateRuntime();\n this.loadNextPage();\n }\n } else {\n this.tableStyle.animation = null;\n }\n }\n this.cd.markForCheck();\n }\n\n ngOnDestroy(): void {\n this.stopLoadNext();\n }\n\n getBlingStyle(color: string, num: number) {\n let str = '';\n for (let i = 0; i < num; i++) {\n str += '0 0 20px ' + color + ',';\n }\n return str.substr(0, str.length - 1);\n }\n\n /**\n * 更新已滚动时间\n */\n updateRuntime() {\n const now = new Date().getTime();\n if (this.lastTime) {\n this.runtime += now - this.lastTime;\n }\n this.lastTime = now;\n }\n\n stopLoadNext() {\n if (this.nextPageTimeout != null) {\n clearTimeout(this.nextPageTimeout);\n }\n }\n\n getNextLoadTime() {\n const contentHeight = this.headerHeight + this.rowHeight * this.content.length; // 已加载内容的高度\n let nextLoadTime =\n ((contentHeight - this.parentHeight) / this.rowHeight) * this.time * 1000 - this.runtime + this.animationDelay;\n return nextLoadTime;\n }\n\n loadNextPage() {\n this.stopLoadNext();\n if (this.paged && this.total > this.content.length) {\n let nextLoadTime = this.getNextLoadTime();\n if (nextLoadTime < 0) {\n nextLoadTime = 0;\n }\n this.nextPageTimeout = setTimeout(() => {\n this.pageChange.next(this.data.number + 1);\n }, nextLoadTime);\n }\n }\n\n updateColumns() {\n this.columns = [];\n let keys: string[];\n if (this.schema && this.schema.properties) {\n keys = Object.keys(this.schema.properties);\n } else if (this.content && this.content[0]) {\n keys = Object.keys(this.content[0]);\n }\n const titleStyleMap = {};\n if (this.titleStyle && this.titleStyle.length > 0) {\n this.titleStyle.forEach((titleStyle) => {\n if (titleStyle.key) {\n titleStyleMap[titleStyle.key] = titleStyle;\n }\n });\n }\n if (keys) {\n for (const key of keys) {\n let title = key;\n if (this.schema && this.schema.properties) {\n const property = this.schema.properties[key];\n if (property && property.title) {\n title = property.title;\n }\n }\n const headStyle: any = {};\n const cellStyle: any = {};\n const column: any = { index: key, title, headStyle, cellStyle };\n const titleStyle = titleStyleMap[key];\n if (this.titleStyle?.length && (titleStyle == null || !titleStyle.show)) {\n continue;\n }\n let width: number;\n if (titleStyle) {\n width = titleStyle.width;\n if (titleStyle.align) {\n cellStyle.textAlign = titleStyle.align;\n }\n if (this.clickTarget === 'cell' && titleStyle.clickable) {\n column.clickable = true;\n }\n }\n if (width) {\n headStyle.width = cellStyle.width = width + 'px';\n } else {\n headStyle.flex = cellStyle.flex = 1;\n }\n\n this.columns.push(column);\n }\n }\n }\n\n onClick(value) {\n if (this.clickTarget !== 'cell') {\n this.dateChange.emit(value);\n }\n }\n mouseover() {\n // this._carousel=false;\n if (this._carousel) {\n this.paused = true;\n this.tableStyle.animationPlayState = 'paused';\n this.updateRuntime();\n this.stopLoadNext();\n }\n }\n mouseout() {\n if (this._carousel) {\n this.paused = false;\n this.lastTime = new Date().getTime();\n this.tableStyle.animationPlayState = 'running';\n if (this.paged) {\n this.loadNextPage();\n }\n }\n }\n onMousewheel(event: WheelEvent) {\n if (this._carousel) {\n this.animationDelay -= event.deltaY * 2;\n if (this.animationDelay > this.runtime) {\n this.animationDelay = this.runtime;\n }\n this.tableStyle.animationDelay = this.animationDelay / 1000 + 's';\n if (this.paged && this.total > this.content.length && this.getNextLoadTime() < 0) {\n this.pageChange.emit(this.data.number + 1);\n }\n event.stopPropagation();\n event.preventDefault();\n }\n }\n\n onCellClick(column: any, row: any, event: MouseEvent) {\n if (this.clickTarget !== 'cell' || column.clickable) {\n event.stopPropagation();\n this.cellClick.emit(row[column.index]);\n this.columnClick.emit(column.index);\n this.dateChange.emit(row);\n }\n }\n\n exportWord() {\n let html = '<table>';\n if (this.headDisplay) {\n html += '<thead><tr>';\n this.columns.forEach((column) => {\n html += `<th>${column.title}</th>`;\n });\n html += '</tr></thead>';\n }\n html += '<tbody>';\n this.content.forEach((row) => {\n html += '<tr>';\n this.columns.forEach((column) => {\n html += `<td>${row[column.index]}</td>`;\n });\n html += '</tr>';\n });\n html += '</tbody></table><br/>';\n return html;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'bindColor',\n})\nexport class ColorPipe implements PipeTransform {\n transform(data: any, ...args: any[]): unknown {\n if (data) {\n const bindColor = args[0];\n if (bindColor?.length) {\n for (const item of bindColor) {\n const { key, value, color } = item;\n if (key && color && data[key] == value) {\n return color;\n }\n }\n }\n }\n return null;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ShufflingListComponent } from './shuffling-list.component';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\nimport { NzPipesModule } from 'ng-zorro-antd/pipes';\nimport { ColorPipe } from './color.pipe';\nimport { NzToolTipModule } from 'ng-zorro-antd/tooltip';\n\n@NgModule({\n declarations: [ShufflingListComponent, ColorPipe],\n imports: [CommonModule, WidgetBaseModule, NzPipesModule, NzToolTipModule],\n})\nexport class ShufflingListModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(ShufflingListComponent);\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'sc-parent-container',\n templateUrl: './parent-container.component.html',\n styleUrls: ['./parent-container.component.less']\n})\nexport class ParentContainerComponent implements OnInit {\n children: any;\n childId: string;\n constructor() { }\n\n ngOnInit() {\n }\n childInit(child: any) {\n // this.children = child;\n }\n deleteChild(childId: string) {\n // this.childId = childId\n }\n}\n","import { Component, OnInit, OnChanges, SimpleChanges, forwardRef } from '@angular/core';\nimport { Widget, Property } from 'bbj-widget-base';\n// import 'echarts/dist/extension/bmap.js';\nimport { ParentContainerComponent } from '../parent-container/parent-container.component';\nimport { BaiduMapService } from 'bbj-screen-widget/core';\n\n@Component({\n selector: 'sc-basic-planimetric-map',\n templateUrl: './basic-planimetric-map.component.html',\n styleUrls: ['./basic-planimetric-map.component.less'],\n providers: [{ provide: ParentContainerComponent, useExisting: forwardRef(() => BasicPlanimetricMapComponent) }],\n})\n@Widget('基础平面地图',{group: 'component',image: 'assets/img/screen/basicMap.png',icon: 'iconmokuai', children:[\n{\n title: '呼吸气泡层',\n type: 'sc-breathing-bubble-layer',\n option: {\n },\n hidden: true,\n hideChild: true\n },],\n childTypes:['sc-breathing-bubble-layer'],\n description: 'hasChildItem'})\nexport class BasicPlanimetricMapComponent extends ParentContainerComponent implements OnInit, OnChanges {\n\n @Property('地图缩放', {\n ui: { widget: 'myRange', min: 1, max: 40, step: 1 },\n })\n zoom = 5;\n @Property('中心经度', {\n ui: { widget: 'myRange', min: -180, max: 180, step: 1 },\n })\n centerLng = 104;\n @Property('中心纬度', {\n ui: { widget: 'myRange', min: -90, max: 90, step: 1 },\n })\n centerLat = 36;\n chartOption: any;\n hasMap = false;\n _children: any = [];\n constructor(public baiduMapService: BaiduMapService) {\n super();\n }\n ngOnChanges(changes: SimpleChanges): void {\n }\n\n async ngOnInit() {\n await this.baiduMapService.loadMap();\n await import('echarts/extension/bmap/bmap.js');\n this.hasMap = true;\n this.chartInit();\n }\n chartInit() {\n let series = [];\n this._children.forEach(child => {\n if (Array.isArray(child.item)) {\n series = [...series, ...child.item];\n } else {\n series = [...series, child.item];\n }\n });\n this.chartOption = {\n title: {\n text: '基础平面地图'\n },\n tooltip : {\n trigger: 'item'\n },\n bmap: {\n label: {\n emphasis: {\n show: false\n }\n },\n itemStyle: {\n normal: {\n areaColor: '#323c48',\n borderColor: '#404a59',\n opacity:1\n },\n emphasis: {\n areaColor: '#2a333d'\n }\n },\n center: [this.centerLng, this.centerLat],\n zoom: this.zoom,\n roam: true,\n mapStyle: {\n styleJson: [{\n featureType: 'water',\n elementType: 'all',\n stylers: {\n color: '#d1d1d1'\n }\n }, {\n featureType: 'land',\n elementType: 'all',\n stylers: {\n color: '#f3f3f3'\n }\n }, {\n featureType: 'railway',\n elementType: 'all',\n stylers: {\n visibility: 'off'\n }\n }, {\n featureType: 'highway',\n elementType: 'all',\n stylers: {\n color: '#fdfdfd'\n }\n }, {\n featureType: 'highway',\n elementType: 'labels',\n stylers: {\n visibility: 'off'\n }\n }, {\n featureType: 'arterial',\n elementType: 'geometry',\n stylers: {\n color: '#fefefe'\n }\n }, {\n featureType: 'arterial',\n elementType: 'geometry.fill',\n stylers: {\n color: '#fefefe'\n }\n }, {\n featureType: 'poi',\n elementType: 'all',\n stylers: {\n visibility: 'off'\n }\n }, {\n featureType: 'green',\n elementType: 'all',\n stylers: {\n visibility: 'off'\n }\n }, {\n featureType: 'subway',\n elementType: 'all',\n stylers: {\n visibility: 'off'\n }\n }, {\n featureType: 'manmade',\n elementType: 'all',\n stylers: {\n color: '#d1d1d1'\n }\n }, {\n featureType: 'local',\n elementType: 'all',\n stylers: {\n color: '#d1d1d1'\n }\n }, {\n featureType: 'arterial',\n elementType: 'labels',\n stylers: {\n visibility: 'off'\n }\n }, {\n featureType: 'boundary',\n elementType: 'all',\n stylers: {\n color: '#fefefe'\n }\n }, {\n featureType: 'building',\n elementType: 'all',\n stylers: {\n color: '#d1d1d1'\n }\n }, {\n featureType: 'label',\n elementType: 'labels.text.fill',\n stylers: {\n color: '#999999'\n }\n }]\n }\n },\n series\n };\n }\n childInit(child: any) {\n if (child.id) {\n const childIndex = this._children.findIndex(s => s.id === child.id);\n if (childIndex > -1) {\n this._children[childIndex] = child;\n } else {\n this._children.push(child);\n }\n this.chartInit();\n }\n }\n deleteChild(childId: string) {\n if (childId) {\n const childIndex = this._children.findIndex((s) => s.id === childId);\n if (childIndex > -1) {\n this._children.splice(childIndex, 1);\n this.chartInit();\n }\n }\n }\n}\n","import { Component, OnInit, Inject, forwardRef, OnChanges, SimpleChanges, OnDestroy } from '@angular/core';\nimport { Widget, Data, Property } from 'bbj-widget-base';\nimport { ParentContainerComponent } from '../parent-container/parent-container.component';\n\n@Component({\n selector: 'sc-breathing-bubble-layer',\n templateUrl: './breathing-bubble-layer.component.html',\n styleUrls: ['./breathing-bubble-layer.component.css'],\n})\n@Widget('呼吸气泡层', {\n group: 'component',\n image: '',\n icon: '',\n hidden: true,\n})\nexport class BreathingBubbleLayerComponent implements OnInit, OnChanges, OnDestroy {\n // @Property('', {\n // ui: {\n // widget: 'myBubbleType',\n // spanLabel: 0,\n // spanControl: 24,\n // title: '气泡类型',\n // example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n // },\n // })\n @Property('气泡类型', {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n key: { type: 'string' },\n color: {\n type: 'string',\n title: '颜色',\n ui: { widget: 'myColor' },\n },\n size: {\n type: 'string',\n title: '大小',\n ui: { widget: 'textarea', autosize: { minRows: 4 } },\n },\n },\n ui: { spanLabelFixed: 50 },\n },\n ui: { grid: { arraySpan: 24 }, spanControl: 24 },\n })\n bubbleType = [{ key: 1, color: '#ddb926', size: 'function (val) {return val[2]*0.1;}' }];\n\n @Data({\n properties: {\n name: { type: 'string', title: '地名' },\n value: { type: 'number', title: '值' },\n series: { type: 'string', title: '系列' },\n },\n })\n data: any[] = [\n { name: '海门', value: 9, series: 1 },\n { name: '鄂尔多斯', value: 12, series: 1 },\n { name: '招远', value: 12, series: 1 },\n { name: '舟山', value: 12, series: 1 },\n { name: '齐齐哈尔', value: 14, series: 1 },\n { name: '盐城', value: 15, series: 1 },\n { name: '赤峰', value: 16, series: 1 },\n { name: '青岛', value: 18, series: 1 },\n { name: '乳山', value: 18, series: 1 },\n { name: '金昌', value: 19, series: 1 },\n { name: '泉州', value: 21, series: 1 },\n { name: '莱西', value: 21, series: 1 },\n { name: '日照', value: 21, series: 1 },\n { name: '胶南', value: 22, series: 1 },\n { name: '南通', value: 23, series: 1 },\n { name: '拉萨', value: 24, series: 2 },\n { name: '云浮', value: 24, series: 2 },\n { name: '梅州', value: 25, series: 2 },\n { name: '文登', value: 25, series: 2 },\n { name: '上海', value: 25, series: 2 },\n { name: '攀枝花', value: 25, series: 2 },\n { name: '威海', value: 25, series: 2 },\n { name: '承德', value: 25, series: 2 },\n { name: '厦门', value: 26, series: 2 },\n { name: '汕尾', value: 26, series: 2 },\n { name: '潮州', value: 26, series: 2 },\n { name: '丹东', value: 27, series: 2 },\n { name: '太仓', value: 27, series: 2 },\n { name: '曲靖', value: 27, series: 2 },\n { name: '烟台', value: 28, series: 2 },\n { name: '福州', value: 29, series: 2 },\n { name: '瓦房店', value: 30, series: 2 },\n { name: '即墨', value: 30, series: 2 },\n { name: '抚顺', value: 31, series: 2 },\n { name: '玉溪', value: 31, series: 2 },\n { name: '张家口', value: 31, series: 2 },\n { name: '阳泉', value: 31, series: 2 },\n { name: '莱州', value: 32, series: 2 },\n { name: '湖州', value: 32, series: 2 },\n { name: '汕头', value: 32, series: 2 },\n { name: '昆山', value: 33, series: 2 },\n { name: '宁波', value: 33, series: 2 },\n { name: '湛江', value: 33, series: 2 },\n { name: '揭阳', value: 34, series: 1 },\n { name: '荣成', value: 34, series: 1 },\n { name: '连云港', value: 35, series: 1 },\n { name: '葫芦岛', value: 35, series: 1 },\n { name: '常熟', value: 36, series: 1 },\n { name: '东莞', value: 36, series: 1 },\n { name: '河源', value: 36, series: 1 },\n { name: '淮安', value: 36, series: 1 },\n { name: '泰州', value: 36, series: 1 },\n { name: '南宁', value: 37, series: 1 },\n { name: '营口', value: 37, series: 1 },\n { name: '惠州', value: 37, series: 1 },\n { name: '江阴', value: 37, series: 1 },\n { name: '蓬莱', value: 37, series: 1 },\n { name: '韶关', value: 38, series: 1 },\n { name: '嘉峪关', value: 38, series: 1 },\n { name: '广州', value: 38, series: 1 },\n { name: '延安', value: 38, series: 1 },\n { name: '太原', value: 39, series: 1 },\n { name: '清远', value: 39, series: 1 },\n { name: '中山', value: 39, series: 1 },\n { name: '昆明', value: 39, series: 1 },\n { name: '寿光', value: 40, series: 1 },\n { name: '盘锦', value: 40, series: 1 },\n { name: '长治', value: 41, series: 1 },\n { name: '深圳', value: 41, series: 1 },\n { name: '珠海', value: 42, series: 1 },\n { name: '宿迁', value: 43, series: 1 },\n { name: '咸阳', value: 43, series: 1 },\n { name: '铜川', value: 44, series: 1 },\n { name: '平度', value: 44, series: 1 },\n { name: '佛山', value: 44, series: 1 },\n { name: '海口', value: 44, series: 1 },\n { name: '江门', value: 45, series: 1 },\n { name: '章丘', value: 45, series: 1 },\n { name: '肇庆', value: 46, series: 1 },\n { name: '大连', value: 47, series: 1 },\n { name: '临汾', value: 47, series: 1 },\n { name: '吴江', value: 47, series: 1 },\n { name: '石嘴山', value: 49, series: 1 },\n { name: '沈阳', value: 50, series: 1 },\n { name: '苏州', value: 50, series: 1 },\n { name: '茂名', value: 50, series: 1 },\n { name: '嘉兴', value: 51, series: 1 },\n { name: '长春', value: 51, series: 1 },\n { name: '胶州', value: 52, series: 1 },\n { name: '银川', value: 52, series: 1 },\n { name: '张家港', value: 52, series: 1 },\n { name: '三门峡', value: 53, series: 1 },\n { name: '锦州', value: 54, series: 1 },\n { name: '南昌', value: 54, series: 1 },\n { name: '柳州', value: 54, series: 1 },\n { name: '三亚', value: 54, series: 1 },\n { name: '自贡', value: 56, series: 1 },\n { name: '吉林', value: 56, series: 1 },\n { name: '阳江', value: 57, series: 1 },\n { name: '泸州', value: 57, series: 1 },\n { name: '西宁', value: 57, series: 1 },\n { name: '宜宾', value: 58, series: 1 },\n { name: '呼和浩特', value: 58, series: 1 },\n { name: '成都', value: 58, series: 1 },\n { name: '大同', value: 58, series: 1 },\n { name: '镇江', value: 59, series: 1 },\n { name: '桂林', value: 59, series: 1 },\n { name: '张家界', value: 59, series: 1 },\n { name: '宜兴', value: 59, series: 1 },\n { name: '北海', value: 60, series: 1 },\n { name: '西安', value: 61, series: 1 },\n { name: '金坛', value: 62, series: 1 },\n { name: '东营', value: 62, series: 1 },\n { name: '牡丹江', value: 63, series: 1 },\n { name: '遵义', value: 63, series: 1 },\n { name: '绍兴', value: 63, series: 1 },\n { name: '扬州', value: 64, series: 1 },\n { name: '常州', value: 64, series: 1 },\n { name: '潍坊', value: 65, series: 1 },\n { name: '重庆', value: 66, series: 1 },\n { name: '台州', value: 67, series: 1 },\n { name: '南京', value: 67, series: 1 },\n { name: '滨州', value: 70, series: 1 },\n { name: '贵阳', value: 71, series: 1 },\n { name: '无锡', value: 71, series: 1 },\n { name: '本溪', value: 71, series: 1 },\n { name: '克拉玛依', value: 72, series: 1 },\n { name: '渭南', value: 72, series: 1 },\n { name: '马鞍山', value: 72, series: 1 },\n { name: '宝鸡', value: 72, series: 1 },\n { name: '焦作', value: 75, series: 1 },\n { name: '句容', value: 75, series: 1 },\n { name: '北京', value: 79, series: 1 },\n { name: '徐州', value: 79, series: 1 },\n { name: '衡水', value: 80, series: 1 },\n { name: '包头', value: 80, series: 1 },\n { name: '绵阳', value: 80, series: 1 },\n { name: '乌鲁木齐', value: 84, series: 1 },\n { name: '枣庄', value: 84, series: 1 },\n { name: '杭州', value: 84, series: 1 },\n { name: '淄博', value: 85, series: 1 },\n { name: '鞍山', value: 86, series: 1 },\n { name: '溧阳', value: 86, series: 1 },\n { name: '库尔勒', value: 86, series: 1 },\n { name: '安阳', value: 90, series: 1 },\n { name: '开封', value: 90, series: 1 },\n { name: '济南', value: 92, series: 1 },\n { name: '德阳', value: 93, series: 1 },\n { name: '温州', value: 95, series: 1 },\n { name: '九江', value: 96, series: 1 },\n { name: '邯郸', value: 98, series: 1 },\n { name: '临安', value: 99, series: 1 },\n { name: '兰州', value: 99, series: 1 },\n { name: '沧州', value: 100, series: 1 },\n { name: '临沂', value: 103, series: 1 },\n { name: '南充', value: 104, series: 1 },\n { name: '天津', value: 105, series: 1 },\n { name: '富阳', value: 106, series: 1 },\n { name: '泰安', value: 112, series: 1 },\n { name: '诸暨', value: 112, series: 1 },\n { name: '郑州', value: 113, series: 1 },\n { name: '哈尔滨', value: 114, series: 1 },\n { name: '聊城', value: 116, series: 1 },\n { name: '芜湖', value: 117, series: 1 },\n { name: '唐山', value: 119, series: 1 },\n { name: '平顶山', value: 119, series: 1 },\n { name: '邢台', value: 11, series: 19 },\n { name: '德州', value: 120, series: 1 },\n { name: '济宁', value: 120, series: 1 },\n { name: '荆州', value: 127, series: 1 },\n { name: '宜昌', value: 130, series: 1 },\n { name: '义乌', value: 132, series: 1 },\n { name: '丽水', value: 133, series: 1 },\n { name: '洛阳', value: 134, series: 1 },\n { name: '秦皇岛', value: 136, series: 1 },\n { name: '株洲', value: 143, series: 1 },\n { name: '石家庄', value: 147, series: 1 },\n { name: '莱芜', value: 148, series: 1 },\n { name: '常德', value: 152, series: 1 },\n { name: '保定', value: 153, series: 1 },\n { name: '湘潭', value: 154, series: 1 },\n { name: '金华', value: 157, series: 1 },\n { name: '岳阳', value: 169, series: 1 },\n { name: '长沙', value: 175, series: 1 },\n { name: '衢州', value: 177, series: 1 },\n { name: '廊坊', value: 193, series: 1 },\n { name: '菏泽', value: 194, series: 1 },\n { name: '合肥', value: 229, series: 1 },\n { name: '武汉', value: 273, series: 1 },\n { name: '大庆', value: 279, series: 1 },\n ];\n geoCoordMap = {\n 海门: [121.15, 31.89],\n 鄂尔多斯: [109.781327, 39.608266],\n 招远: [120.38, 37.35],\n 舟山: [122.207216, 29.985295],\n 齐齐哈尔: [123.97, 47.33],\n 盐城: [120.13, 33.38],\n 赤峰: [118.87, 42.28],\n 青岛: [120.33, 36.07],\n 乳山: [121.52, 36.89],\n 金昌: [102.188043, 38.520089],\n 泉州: [118.58, 24.93],\n 莱西: [120.53, 36.86],\n 日照: [119.46, 35.42],\n 胶南: [119.97, 35.88],\n 南通: [121.05, 32.08],\n 拉萨: [91.11, 29.97],\n 云浮: [112.02, 22.93],\n 梅州: [116.1, 24.55],\n 文登: [122.05, 37.2],\n 上海: [121.48, 31.22],\n 攀枝花: [101.718637, 26.582347],\n 威海: [122.1, 37.5],\n 承德: [117.93, 40.97],\n 厦门: [118.1, 24.46],\n 汕尾: [115.375279, 22.786211],\n 潮州: [116.63, 23.68],\n 丹东: [124.37, 40.13],\n 太仓: [121.1, 31.45],\n 曲靖: [103.79, 25.51],\n 烟台: [121.39, 37.52],\n 福州: [119.3, 26.08],\n 瓦房店: [121.979603, 39.627114],\n 即墨: [120.45, 36.38],\n 抚顺: [123.97, 41.97],\n 玉溪: [102.52, 24.35],\n 张家口: [114.87, 40.82],\n 阳泉: [113.57, 37.85],\n 莱州: [119.942327, 37.177017],\n 湖州: [120.1, 30.86],\n 汕头: [116.69, 23.39],\n 昆山: [120.95, 31.39],\n 宁波: [121.56, 29.86],\n 湛江: [110.359377, 21.270708],\n 揭阳: [116.35, 23.55],\n 荣成: [122.41, 37.16],\n 连云港: [119.16, 34.59],\n 葫芦岛: [120.836932, 40.711052],\n 常熟: [120.74, 31.64],\n 东莞: [113.75, 23.04],\n 河源: [114.68, 23.73],\n 淮安: [119.15, 33.5],\n 泰州: [119.9, 32.49],\n 南宁: [108.33, 22.84],\n 营口: [122.18, 40.65],\n 惠州: [114.4, 23.09],\n 江阴: [120.26, 31.91],\n 蓬莱: [120.75, 37.8],\n 韶关: [113.62, 24.84],\n 嘉峪关: [98.289152, 39.77313],\n 广州: [113.23, 23.16],\n 延安: [109.47, 36.6],\n 太原: [112.53, 37.87],\n 清远: [113.01, 23.7],\n 中山: [113.38, 22.52],\n 昆明: [102.73, 25.04],\n 寿光: [118.73, 36.86],\n 盘锦: [122.070714, 41.119997],\n 长治: [113.08, 36.18],\n 深圳: [114.07, 22.62],\n 珠海: [113.52, 22.3],\n 宿迁: [118.3, 33.96],\n 咸阳: [108.72, 34.36],\n 铜川: [109.11, 35.09],\n 平度: [119.97, 36.77],\n 佛山: [113.11, 23.05],\n 海口: [110.35, 20.02],\n 江门: [113.06, 22.61],\n 章丘: [117.53, 36.72],\n 肇庆: [112.44, 23.05],\n 大连: [121.62, 38.92],\n 临汾: [111.5, 36.08],\n 吴江: [120.63, 31.16],\n 石嘴山: [106.39, 39.04],\n 沈阳: [123.38, 41.8],\n 苏州: [120.62, 31.32],\n 茂名: [110.88, 21.68],\n 嘉兴: [120.76, 30.77],\n 长春: [125.35, 43.88],\n 胶州: [120.03336, 36.264622],\n 银川: [106.27, 38.47],\n 张家港: [120.555821, 31.875428],\n 三门峡: [111.19, 34.76],\n 锦州: [121.15, 41.13],\n 南昌: [115.89, 28.68],\n 柳州: [109.4, 24.33],\n 三亚: [109.511909, 18.252847],\n 自贡: [104.778442, 29.33903],\n 吉林: [126.57, 43.87],\n 阳江: [111.95, 21.85],\n 泸州: [105.39, 28.91],\n 西宁: [101.74, 36.56],\n 宜宾: [104.56, 29.77],\n 呼和浩特: [111.65, 40.82],\n 成都: [104.06, 30.67],\n 大同: [113.3, 40.12],\n 镇江: [119.44, 32.2],\n 桂林: [110.28, 25.29],\n 张家界: [110.479191, 29.117096],\n 宜兴: [119.82, 31.36],\n 北海: [109.12, 21.49],\n 西安: [108.95, 34.27],\n 金坛: [119.56, 31.74],\n 东营: [118.49, 37.46],\n 牡丹江: [129.58, 44.6],\n 遵义: [106.9, 27.7],\n 绍兴: [120.58, 30.01],\n 扬州: [119.42, 32.39],\n 常州: [119.95, 31.79],\n 潍坊: [119.1, 36.62],\n 重庆: [106.54, 29.59],\n 台州: [121.420757, 28.656386],\n 南京: [118.78, 32.04],\n 滨州: [118.03, 37.36],\n 贵阳: [106.71, 26.57],\n 无锡: [120.29, 31.59],\n 本溪: [123.73, 41.3],\n 克拉玛依: [84.77, 45.59],\n 渭南: [109.5, 34.52],\n 马鞍山: [118.48, 31.56],\n 宝鸡: [107.15, 34.38],\n 焦作: [113.21, 35.24],\n 句容: [119.16, 31.95],\n 北京: [116.46, 39.92],\n 徐州: [117.2, 34.26],\n 衡水: [115.72, 37.72],\n 包头: [110, 40.58],\n 绵阳: [104.73, 31.48],\n 乌鲁木齐: [87.68, 43.77],\n 枣庄: [117.57, 34.86],\n 杭州: [120.19, 30.26],\n 淄博: [118.05, 36.78],\n 鞍山: [122.85, 41.12],\n 溧阳: [119.48, 31.43],\n 库尔勒: [86.06, 41.68],\n 安阳: [114.35, 36.1],\n 开封: [114.35, 34.79],\n 济南: [117, 36.65],\n 德阳: [104.37, 31.13],\n 温州: [120.65, 28.01],\n 九江: [115.97, 29.71],\n 邯郸: [114.47, 36.6],\n 临安: [119.72, 30.23],\n 兰州: [103.73, 36.03],\n 沧州: [116.83, 38.33],\n 临沂: [118.35, 35.05],\n 南充: [106.110698, 30.837793],\n 天津: [117.2, 39.13],\n 富阳: [119.95, 30.07],\n 泰安: [117.13, 36.18],\n 诸暨: [120.23, 29.71],\n 郑州: [113.65, 34.76],\n 哈尔滨: [126.63, 45.75],\n 聊城: [115.97, 36.45],\n 芜湖: [118.38, 31.33],\n 唐山: [118.02, 39.63],\n 平顶山: [113.29, 33.75],\n 邢台: [114.48, 37.05],\n 德州: [116.29, 37.45],\n 济宁: [116.59, 35.38],\n 荆州: [112.239741, 30.335165],\n 宜昌: [111.3, 30.7],\n 义乌: [120.06, 29.32],\n 丽水: [119.92, 28.45],\n 洛阳: [112.44, 34.7],\n 秦皇岛: [119.57, 39.95],\n 株洲: [113.16, 27.83],\n 石家庄: [114.48, 38.03],\n 莱芜: [117.67, 36.19],\n 常德: [111.69, 29.05],\n 保定: [115.48, 38.85],\n 湘潭: [112.91, 27.87],\n 金华: [119.64, 29.12],\n 岳阳: [113.09, 29.37],\n 长沙: [113, 28.21],\n 衢州: [118.88, 28.97],\n 廊坊: [116.7, 39.53],\n 菏泽: [115.480656, 35.23375],\n 合肥: [117.27, 31.86],\n 武汉: [114.31, 30.52],\n 大庆: [125.03, 46.58],\n };\n id: string;\n constructor(@Inject(forwardRef(() => ParentContainerComponent)) private parent: ParentContainerComponent) {}\n ngOnChanges(changes: SimpleChanges): void {\n const item = [];\n this.bubbleType.forEach((series) => {\n item.push({\n coordinateSystem: 'bmap',\n data: this.convertData(this.data, series.key),\n itemStyle: { normal: { color: series.color } },\n label: {\n formatter: '{b}',\n position: 'right',\n show: false,\n },\n symbolSize: this.getItem(series.size),\n name: series.key,\n type: 'scatter',\n });\n });\n this.parent.childInit({\n id: this.id,\n item,\n });\n }\n ngOnInit() {}\n ngOnDestroy(): void {\n this.parent.deleteChild(this.id);\n }\n getItem(v) {\n if (v && v.indexOf && v.indexOf('function') > -1) {\n return eval('(' + v + ')');\n }\n }\n convertData(data, key) {\n let res = [];\n for (let i = 0; i < data.length; i++) {\n let geoCoord = this.geoCoordMap[data[i].name];\n if (geoCoord && data[i].series == key) {\n res.push({\n name: data[i].name,\n extraData: { lat: geoCoord[1], lng: geoCoord[0], s: data[i].series, value: data[i].value },\n value: geoCoord.concat(data[i].value),\n });\n }\n }\n return res;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BreathingBubbleLayerComponent } from './breathing-bubble-layer.component';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\n\n@NgModule({\n declarations: [BreathingBubbleLayerComponent],\n imports: [CommonModule, WidgetBaseModule],\n})\nexport class BreathingBubbleLayerModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(BreathingBubbleLayerComponent);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BasicPlanimetricMapComponent } from './basic-planimetric-map.component';\nimport { NgxEchartsModule } from 'ngx-echarts';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\nimport { BreathingBubbleLayerModule } from '../breathing-bubble-layer/breathing-bubble-layer.module';\n\n@NgModule({\n declarations: [BasicPlanimetricMapComponent],\n imports: [CommonModule, NgxEchartsModule, WidgetBaseModule, BreathingBubbleLayerModule],\n})\nexport class BasicPlanimetricMapModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(BasicPlanimetricMapComponent);\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n forwardRef,\r\n ViewChild,\r\n ElementRef,\r\n OnDestroy,\r\n OnChanges,\r\n SimpleChanges,\r\n EventEmitter,\r\n} from '@angular/core';\r\nimport { Widget, Property, Data, DataOutput, Event } from 'bbj-widget-base';\r\nimport { ParentContainerComponent } from '../parent-container/parent-container.component';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport * as echarts from 'echarts';\r\nimport { NgxEchartsDirective } from 'ngx-echarts';\r\nimport { getEchartsTextStyle } from '../shared/util/echarts.util';\r\n\r\n@Component({\r\n selector: 'sc-planimetric-map2d',\r\n templateUrl: './planimetric-map2d.component.html',\r\n styleUrls: ['./planimetric-map2d.component.less'],\r\n providers: [{ provide: ParentContainerComponent, useExisting: forwardRef(() => PlanimetricMap2dComponent) }],\r\n})\r\n@Widget('2D平面地图', {\r\n group: 'component',\r\n image: 'assets/img/screen/2dmap.png',\r\n icon: 'iconmokuai',\r\n children: [\r\n {\r\n title: '呼吸气泡层',\r\n type: 'sc-breathing-bubble-layer',\r\n option: {},\r\n hidden: true,\r\n hideChild: true,\r\n },\r\n ],\r\n childTypes: [\r\n 'sc-fly-line-layer',\r\n 'sc-breathing-bubble-layer',\r\n 'sc-map2d-polyline-layer',\r\n 'sc-map2d-mark-layer',\r\n 'sc-map2d-visual-layer',\r\n ],\r\n description: 'hasChildItem',\r\n})\r\nexport class PlanimetricMap2dComponent extends ParentContainerComponent implements OnInit, OnDestroy, OnChanges {\r\n @Property('地图样式', {\r\n ui: {\r\n widget: 'myUrlSelect',\r\n url: '/assets/mapListItem.json',\r\n },\r\n })\r\n mapStyle = 'china';\r\n @Property('地图缩放', {\r\n ui: { widget: 'myRange', min: 1, max: 40, step: 1 },\r\n })\r\n zoom = 1;\r\n @Property('区域背景', {\r\n ui: {\r\n widget: 'myColor',\r\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\r\n },\r\n })\r\n areaColor = '#323c48';\r\n @Property('区域描边', {\r\n ui: {\r\n widget: 'myColor',\r\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\r\n },\r\n })\r\n borderColor = '#404a59';\r\n @Property('移动高亮', {\r\n ui: {\r\n widget: 'myColor',\r\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\r\n },\r\n })\r\n _areaColor = '#2a333d';\r\n @Property('地区字体', { ui: { widget: 'myFont' } })\r\n areaNamefont: any = {\r\n family: '',\r\n color: '#FFFFFF',\r\n weight: 'normal',\r\n size: 12,\r\n space: 0,\r\n lineHeight: 12,\r\n };\r\n @Property('显示地名', {\r\n type: 'boolean',\r\n })\r\n showAreaName = true;\r\n @Property('触发方式', {\r\n ui: { widget: 'select' },\r\n enum: [\r\n { label: '点击', value: 'click' },\r\n { label: '鼠标移动', value: 'mousemove' },\r\n ],\r\n })\r\n triggerType = 'mousemove';\r\n @Property('选中方式', {\r\n ui: { widget: 'select' },\r\n enum: [\r\n { label: '默认', value: '' },\r\n { label: '单选', value: 'single' },\r\n { label: '多选', value: 'multiple' },\r\n ],\r\n })\r\n selectedMode = '';\r\n\r\n @Property('缩放开关', {\r\n type: 'boolean',\r\n })\r\n zoomSwitch = 'false';\r\n @Property('高亮描边', {\r\n ui: {\r\n widget: 'myColor',\r\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\r\n },\r\n })\r\n _borderColor = '';\r\n @Property('阴影颜色', {\r\n ui: {\r\n widget: 'myColor',\r\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\r\n },\r\n })\r\n shadowColor = '#2a333d';\r\n @Property('边框粗细', {\r\n type: 'number',\r\n })\r\n shadowWidth = 20;\r\n @Property('地图渐变开始', {\r\n ui: {\r\n widget: 'myColor',\r\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\r\n },\r\n })\r\n mapColorStart = '#2a333d';\r\n @Property('地图渐变结束', {\r\n ui: {\r\n widget: 'myColor',\r\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\r\n },\r\n })\r\n mapColorEnd = '#2a333d';\r\n @Property('选中渐变开始', {\r\n ui: {\r\n widget: 'myColor',\r\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\r\n },\r\n })\r\n selectColorStart = '#2a333d';\r\n @Property('选中渐变结束', {\r\n ui: {\r\n widget: 'myColor',\r\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\r\n },\r\n })\r\n selectColorEnd = '#2a333d';\r\n\r\n chartOption: any;\r\n hasMap = false;\r\n @Data({\r\n properties: {\r\n name: { type: 'string', title: '地名' },\r\n lng: { type: 'number', title: '经度' },\r\n lat: { type: 'string', title: '纬度' },\r\n },\r\n })\r\n data: any[] = [];\r\n @DataOutput(['name', 'lng', 'lat'])\r\n @Event('选中', {\r\n params: {\r\n properties: {\r\n name: { type: 'string', title: '值' },\r\n lng: { type: 'number', title: '经度' },\r\n lat: { type: 'string', title: '纬度' },\r\n },\r\n },\r\n })\r\n areaClick = new EventEmitter();\r\n\r\n nameMap: any = {\r\n Somalia: '索马里',\r\n Liechtenstein: '列支敦士登',\r\n Morocco: '摩洛哥',\r\n 'W. Sahara': '西撒哈拉',\r\n Serbia: '塞尔维亚',\r\n Afghanistan: '阿富汗',\r\n Angola: '安哥拉',\r\n Albania: '阿尔巴尼亚',\r\n Aland: '奥兰群岛',\r\n Andorra: '安道尔',\r\n 'United Arab Emirates': '阿拉伯联合酋长国',\r\n Argentina: '阿根廷',\r\n Armenia: '亚美尼亚',\r\n 'American Samoa': '美属萨摩亚',\r\n 'Fr. S. Antarctic Lands': '法属南部领地',\r\n 'Antigua and Barb.': '安提瓜和巴布达',\r\n Australia: '澳大利亚',\r\n Austria: '奥地利',\r\n Azerbaijan: '阿塞拜疆',\r\n Burundi: '布隆迪',\r\n Belgium: '比利时',\r\n Benin: '贝宁',\r\n 'Burkina Faso': '布基纳法索',\r\n Bangladesh: '孟加拉国',\r\n Bulgaria: '保加利亚',\r\n Bahrain: '巴林',\r\n Bahamas: '巴哈马',\r\n 'Bosnia and Herz.': '波斯尼亚和黑塞哥维那',\r\n Belarus: '白俄罗斯',\r\n Belize: '伯利兹',\r\n Bermuda: '百慕大',\r\n Bolivia: '玻利维亚',\r\n Brazil: '巴西',\r\n Barbados: '巴巴多斯',\r\n Brunei: '文莱',\r\n Bhutan: '不丹',\r\n Botswana: '博茨瓦纳',\r\n 'Central African Rep.': '中非共和国',\r\n Canada: '加拿大',\r\n Switzerland: '瑞士',\r\n Chile: '智利',\r\n China: '中国',\r\n \"Côte d'Ivoire\": '科特迪瓦',\r\n Cameroon: '喀麦隆',\r\n 'Dem. Rep. Congo': '刚果(金)',\r\n Congo: '刚果(布)',\r\n Colombia: '哥伦比亚',\r\n Comoros: '科摩罗',\r\n 'Cape Verde': '佛得角',\r\n 'Costa Rica': '哥斯达黎加',\r\n Cuba: '古巴',\r\n Curaçao: '库拉索',\r\n 'Cayman Is.': '开曼群岛',\r\n 'N. Cyprus': '北塞浦路斯',\r\n Cyprus: '塞浦路斯',\r\n 'Czech Rep.': '捷克',\r\n Germany: '德国',\r\n Djibouti: '吉布提',\r\n Dominica: '多米尼克',\r\n Denmark: '丹麦',\r\n 'Dominican Rep.': '多米尼加',\r\n Algeria: '阿尔及利亚',\r\n Ecuador: '厄瓜多尔',\r\n Egypt: '埃及',\r\n Eritrea: '厄立特里亚',\r\n Spain: '西班牙',\r\n Estonia: '爱沙尼亚',\r\n Ethiopia: '埃塞俄比亚',\r\n Finland: '芬兰',\r\n Fiji: '斐济',\r\n 'Falkland Is.': '福克兰群岛',\r\n France: '法国',\r\n 'Faeroe Is.': '法罗群岛',\r\n Micronesia: '密克罗尼西亚',\r\n Gabon: '加蓬',\r\n 'United Kingdom': '英国',\r\n Georgia: '格鲁吉亚',\r\n Ghana: '加纳',\r\n Guinea: '几内亚',\r\n Gambia: '冈比亚',\r\n 'Guinea-Bissau': '几内亚比绍',\r\n 'Eq. Guinea': '赤道几内亚',\r\n Greece: '希腊',\r\n Grenada: '格林纳达',\r\n Greenland: '格陵兰',\r\n Guatemala: '危地马拉',\r\n Guam: '关岛',\r\n Guyana: '圭亚那',\r\n 'Heard I. and McDonald Is.': '赫德岛和麦克唐纳群岛',\r\n Honduras: '洪都拉斯',\r\n Croatia: '克罗地亚',\r\n Haiti: '海地',\r\n Hungary: '匈牙利',\r\n Indonesia: '印度尼西亚',\r\n 'Isle of Man': '马恩岛',\r\n India: '印度',\r\n 'Br. Indian Ocean Ter.': '英属印度洋领地',\r\n Ireland: '爱尔兰',\r\n Iran: '伊朗',\r\n Iraq: '伊拉克',\r\n Iceland: '冰岛',\r\n Israel: '以色列',\r\n Italy: '意大利',\r\n Jamaica: '牙买加',\r\n Jersey: '泽西岛',\r\n Jordan: '约旦',\r\n Japan: '日本',\r\n 'Siachen Glacier': '锡亚琴冰川',\r\n Kazakhstan: '哈萨克斯坦',\r\n Kenya: '肯尼亚',\r\n Kyrgyzstan: '吉尔吉斯斯坦',\r\n Cambodia: '柬埔寨',\r\n Kiribati: '基里巴斯',\r\n Korea: '韩国',\r\n Kuwait: '科威特',\r\n 'Lao PDR': '老挝',\r\n Lebanon: '黎巴嫩',\r\n Liberia: '利比里亚',\r\n Libya: '利比亚',\r\n 'Saint Lucia': '圣卢西亚',\r\n 'Sri Lanka': '斯里兰卡',\r\n Lesotho: '莱索托',\r\n Lithuania: '立陶宛',\r\n Luxembourg: '卢森堡',\r\n Latvia: '拉脱维亚',\r\n Moldova: '摩尔多瓦',\r\n Madagascar: '马达加斯加',\r\n Mexico: '墨西哥',\r\n Macedonia: '北马其顿',\r\n Mali: '马里',\r\n Malta: '马耳他',\r\n Myanmar: '缅甸',\r\n Montenegro: '黑山',\r\n Mongolia: '蒙古',\r\n 'N. Mariana Is.': '北马里亚纳群岛',\r\n Mozambique: '莫桑比克',\r\n Mauritania: '毛里塔尼亚',\r\n Montserrat: '蒙特塞拉特',\r\n Mauritius: '毛里求斯',\r\n Malawi: '马拉维',\r\n Malaysia: '马来西亚',\r\n Namibia: '纳米比亚',\r\n 'New Caledonia': '新喀里多尼亚',\r\n Niger: '尼日尔',\r\n Nigeria: '尼日利亚',\r\n Nicaragua: '尼加拉瓜',\r\n Niue: '纽埃',\r\n Netherlands: '荷兰',\r\n Norway: '挪威',\r\n Nepal: '尼泊尔',\r\n 'New Zealand': '新西兰',\r\n Oman: '阿曼',\r\n Pakistan: '巴基斯坦',\r\n Panama: '巴拿马',\r\n Peru: '秘鲁',\r\n Philippines: '菲律宾',\r\n Palau: '帕劳',\r\n 'Papua New Guinea': '巴布亚新几内亚',\r\n Poland: '波兰',\r\n 'Puerto Rico': '波多黎各',\r\n 'Dem. Rep. Korea': '朝鲜',\r\n Portugal: '葡萄牙',\r\n Paraguay: '巴拉圭',\r\n Palestine: '巴勒斯坦',\r\n 'Fr. Polynesia': '法属波利尼西亚',\r\n Qatar: '卡塔尔',\r\n Romania: '罗马尼亚',\r\n Russia: '俄罗斯',\r\n Rwanda: '卢旺达',\r\n 'Saudi Arabia': '沙特阿拉伯',\r\n Sudan: '苏丹',\r\n 'S. Sudan': '南苏丹',\r\n Senegal: '塞内加尔',\r\n Singapore: '新加坡',\r\n 'S. Geo. and S. Sandw. Is.': '南乔治亚岛和南桑威奇群岛',\r\n 'Saint Helena': '圣赫勒拿',\r\n 'Solomon Is.': '所罗门群岛',\r\n 'Sierra Leone': '塞拉利昂',\r\n 'El Salvador': '萨尔瓦多',\r\n 'St. Pierre and Miquelon': '圣皮埃尔和密克隆',\r\n 'São Tomé and Principe': '圣多美和普林西比',\r\n Suriname: '苏里南',\r\n Slovakia: '斯洛伐克',\r\n Slovenia: '斯洛文尼亚',\r\n Sweden: '瑞典',\r\n Swaziland: '斯威士兰',\r\n Seychelles: '塞舌尔',\r\n Syria: '叙利亚',\r\n 'Turks and Caicos Is.': '特克斯和凯科斯群岛',\r\n Chad: '乍得',\r\n Togo: '多哥',\r\n Thailand: '泰国',\r\n Tajikistan: '塔吉克斯坦',\r\n Turkmenistan: '土库曼斯坦',\r\n 'Timor-Leste': '东帝汶',\r\n Tonga: '汤加',\r\n 'Trinidad and Tobago': '特立尼达和多巴哥',\r\n Tunisia: '突尼斯',\r\n Turkey: '土耳其',\r\n Tanzania: '坦桑尼亚',\r\n Uganda: '乌干达',\r\n Ukraine: '乌克兰',\r\n Uruguay: '乌拉圭',\r\n 'United States': '美国',\r\n Uzbekistan: '乌兹别克斯坦',\r\n 'St. Vin. and Gren.': '圣文森特和格林纳丁斯',\r\n Venezuela: '委内瑞拉',\r\n 'U.S. Virgin Is.': '美属维尔京群岛',\r\n Vietnam: '越南',\r\n Vanuatu: '瓦努阿图',\r\n Samoa: '萨摩亚',\r\n Yemen: '也门',\r\n 'South Africa': '南非',\r\n Zambia: '赞比亚',\r\n Zimbabwe: '津巴布韦',\r\n };\r\n _children: any = [];\r\n loadedMap: { [name: string]: Promise<any> } = {};\r\n provinces: any;\r\n stack = [];\r\n visualMap: any[];\r\n @ViewChild(NgxEchartsDirective)\r\n ngxEcharts: NgxEchartsDirective;\r\n renderer = 'svg';\r\n constructor(protected http: HttpClient) {\r\n super();\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.data) {\r\n if (this.data && this.data[0]) {\r\n this.mapStyle = this.data[0].name;\r\n this.stack.push(this.mapStyle);\r\n }\r\n this.reloadMap();\r\n }\r\n }\r\n async ngOnInit() {\r\n // await this.commonService.getMap();\r\n // await import('echarts/dist/extension/bmap.js');\r\n this.provinces = (await this.http.get('/assets/mapListItem.json').toPromise()) as any;\r\n // const map = echarts.getMap(this.mapStyle);\r\n // if (map == null) {\r\n // const data = await this.http.get('assets/echarts/map/json/' + this.mapStyle + '.json').toPromise();\r\n // echarts.registerMap(this.mapStyle, data);\r\n // }\r\n // this.hasMap = true;\r\n // this.chartInit();\r\n }\r\n ngOnDestroy(): void {\r\n if (this.ngxEcharts) {\r\n (this.ngxEcharts as any).initChart = () => {};\r\n }\r\n }\r\n chartInit() {\r\n // this.loadMap(this.mapStyle).then((data) => {\r\n let series = [];\r\n this.visualMap = [];\r\n this.renderer = 'svg';\r\n this._children.forEach((child) => {\r\n if (child.type === 'visual') {\r\n // series = child.series;\r\n // series[0].mapType = this.mapStyle;\r\n if (child.visualMap && child.item.length) {\r\n if (child.visualMap2) {\r\n this.visualMap.push(child.visualMap2);\r\n }\r\n this.visualMap.push(child.visualMap);\r\n child.visualMap.seriesIndex = series.length;\r\n }\r\n }\r\n if (Array.isArray(child.item)) {\r\n series = [...series, ...child.item];\r\n } else {\r\n series = [...series, child.item];\r\n }\r\n });\r\n series.forEach((layer, index) => {\r\n if (layer.type === 'lines') {\r\n delete layer.coordinateSystem;\r\n // 飞线层不支持svg渲染\r\n this.renderer = 'canvas';\r\n }\r\n if (layer.type === 'scatter') {\r\n layer.coordinateSystem = 'geo';\r\n // layer.symbolSize = '10';\r\n }\r\n // if (layer.type === 'map') {\r\n // this.visualMap.forEach((visualMap) => {\r\n // visualMap['seriesIndex'] = index;\r\n // });\r\n // }\r\n });\r\n const textStyle = getEchartsTextStyle(this.areaNamefont);\r\n this.chartOption = {\r\n tooltip: {\r\n trigger: 'item',\r\n triggerOn: this.triggerType ? this.triggerType : 'mousemove',\r\n },\r\n geo: {\r\n label: {\r\n normal: {\r\n //静态的时候展示样式\r\n show: this.showAreaName, //是否显示地图省份得名称\r\n textStyle,\r\n },\r\n emphasis: {\r\n show: this.showAreaName,\r\n textStyle,\r\n },\r\n },\r\n selectedMode: this.selectedMode,\r\n select: {\r\n label: {\r\n show: this.showAreaName, //是否显示地图省份得名称\r\n textStyle: {\r\n color: this.areaNamefont?.color || '#fff',\r\n fontSize: this.areaNamefont?.size || 12,\r\n fontFamily: this.areaNamefont?.family || '',\r\n lineHeight: this.areaNamefont?.lineHeight || 12,\r\n },\r\n },\r\n itemStyle: {\r\n areaColor: {\r\n type: 'radial',\r\n x: 0.5,\r\n y: 0.5,\r\n r: 0.8,\r\n colorStops: [\r\n {\r\n offset: 0,\r\n color: this.selectColorStart ? this.selectColorStart : this._areaColor, // 0% 处的颜色\r\n },\r\n {\r\n offset: 1,\r\n color: this.selectColorEnd ? this.selectColorEnd : this._areaColor, // 100% 处的颜色\r\n },\r\n ],\r\n globalCoord: false, // 缺省为 false\r\n },\r\n borderColor: this._borderColor,\r\n },\r\n },\r\n itemStyle: {\r\n normal: {\r\n // areaColor: this.areaColor,\r\n borderColor: this.borderColor,\r\n opacity: 1,\r\n areaColor: {\r\n type: 'radial',\r\n x: 0.5,\r\n y: 0.5,\r\n r: 0.8,\r\n colorStops: [\r\n {\r\n offset: 0,\r\n color: this.mapColorStart ? this.mapColorStart : this.areaColor, // 0% 处的颜色\r\n },\r\n {\r\n offset: 1,\r\n color: this.mapColorEnd ? this.mapColorEnd : this.areaColor, // 100% 处的颜色\r\n },\r\n ],\r\n globalCoord: false, // 缺省为 false\r\n },\r\n shadowColor: this.shadowColor,\r\n shadowBlur: this.shadowWidth,\r\n shadowOffsetX: -2,\r\n shadowOffsetY: 2,\r\n },\r\n emphasis: {\r\n areaColor: {\r\n type: 'radial',\r\n x: 0.5,\r\n y: 0.5,\r\n r: 0.8,\r\n colorStops: [\r\n {\r\n offset: 0,\r\n color: this.selectColorStart ? this.selectColorStart : this._areaColor, // 0% 处的颜色\r\n },\r\n {\r\n offset: 1,\r\n color: this.selectColorEnd ? this.selectColorEnd : this._areaColor, // 100% 处的颜色\r\n },\r\n ],\r\n globalCoord: false, // 缺省为 false\r\n },\r\n borderColor: this._borderColor,\r\n },\r\n },\r\n\r\n map: this.mapStyle,\r\n roam: this.zoomSwitch,\r\n nameMap: this.nameMap,\r\n zoom: this.zoom,\r\n },\r\n series,\r\n };\r\n if (this.visualMap?.length) {\r\n this.chartOption.visualMap = this.visualMap;\r\n }\r\n // });\r\n }\r\n childInit(child: any) {\r\n if (child.id) {\r\n const childIndex = this._children.findIndex((s) => s.id === child.id);\r\n if (childIndex > -1) {\r\n this._children[childIndex] = child;\r\n } else {\r\n this._children.push(child);\r\n }\r\n this.chartInit();\r\n }\r\n }\r\n deleteChild(childId: string) {\r\n if (childId) {\r\n const childIndex = this._children.findIndex((s) => s.id === childId);\r\n // this._children.forEach((element) => {\r\n // if (childId === element.id) {\r\n // this.visualMap = null;\r\n // }\r\n // });\r\n if (childIndex > -1) {\r\n this._children.splice(childIndex, 1);\r\n this.chartInit();\r\n }\r\n }\r\n }\r\n\r\n // loadMap(name: string) {\r\n // let loadMapPromise = this.loadedMap[name];\r\n // if (!loadMapPromise) {\r\n // loadMapPromise = this.http.get('assets/echarts/map/json/' + name + '.json').toPromise();\r\n // this.loadedMap[name] = loadMapPromise;\r\n // }\r\n // return loadMapPromise;\r\n // }\r\n async reloadMap() {\r\n const mapStyle = this.mapStyle;\r\n const map = echarts.getMap(mapStyle);\r\n if (map == null) {\r\n const data: any = await this.http.get('assets/echarts/map/json/' + mapStyle + '.json').toPromise();\r\n echarts.registerMap(mapStyle, data);\r\n }\r\n this.hasMap = true;\r\n this.chartInit();\r\n }\r\n async markClick(event) {\r\n let lng: number;\r\n let lat: number;\r\n if (event.seriesId) {\r\n lng = event.value[0];\r\n lat = event.value[1];\r\n const child = this._children.find((s) => event.seriesId.startsWith(s.id));\r\n if (child && child.onClick) {\r\n child.onClick(event);\r\n }\r\n } else {\r\n const map = echarts.getMap(this.mapStyle);\r\n if (map) {\r\n for (const feature of map.geoJson.features) {\r\n const properties = feature.properties;\r\n if (properties.name === event.name) {\r\n if (properties.cp) {\r\n lng = properties.cp[0];\r\n lat = properties.cp[1];\r\n } else if (properties.center) {\r\n lng = properties.center[0];\r\n lat = properties.center[1];\r\n } else {\r\n console.log(properties);\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n const province = this.provinces.find((element) => element.label === event.name);\r\n if (province) {\r\n this.stack.push(this.mapStyle);\r\n this.mapStyle = province.value;\r\n this.reloadMap();\r\n }\r\n }\r\n this.areaClick.emit({ name: event.name, lng, lat });\r\n // if(event.componentSubType!=null && event.componentSubType==='scatter'){\r\n // const obj=event.data;\r\n // console.log(event);\r\n // this.markerTierClick.emit({\r\n // address: obj.name,\r\n // information: '',\r\n // group: '',\r\n // lng: obj.value[0],\r\n // lat: obj.value[1],\r\n // });\r\n // }\r\n }\r\n rollback(event: MouseEvent) {\r\n event.preventDefault();\r\n if (this.stack != null && this.stack.length != 0) {\r\n this.mapStyle = this.stack.pop();\r\n this.reloadMap();\r\n }\r\n }\r\n\r\n getTextStyle() {}\r\n}\r\n","import { Component, OnInit, Inject, forwardRef, SimpleChanges, OnDestroy } from '@angular/core';\nimport { Widget, Property, Data } from 'bbj-widget-base';\nimport { ParentContainerComponent } from '../../parent-container/parent-container.component';\n\n@Component({\n selector: 'sc-fly-line-layer',\n templateUrl: './fly-line-layer.component.html',\n styleUrls: ['./fly-line-layer.component.less'],\n})\n@Widget('飞线层', {\n group: 'component',\n image: '',\n icon: '',\n hidden: true,\n})\nexport class FlyLineLayerComponent implements OnInit, OnDestroy {\n @Property('飞线粗细', {\n ui: { widget: 'myRange', min: 1, max: 100, step: 1 },\n })\n size = 1;\n @Property('飞线颜色', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n color = 'RGB(0, 252, 255)';\n @Data({\n properties: {\n from: { type: 'number', title: '出发位置' },\n to: { type: 'number', title: '结束位置' },\n fromInfo: { type: 'string', title: '出发信息' },\n toInfo: { type: 'string', title: '结束信息' },\n },\n })\n data: any[] = [\n {\n from: '116.85059,31.69078',\n to: '118.69629,36.20882',\n fromInfo: '起点',\n toInfo: '终点',\n },\n {\n from: '120.89355,37.09024',\n to: '116.93848,31.61597',\n fromInfo: '起点',\n toInfo: '终点',\n },\n {\n from: '121.28906,29.34388',\n to: '117.20215,31.12820',\n fromInfo: '起点',\n toInfo: '终点',\n },\n {\n from: '118.16895,31.57854',\n to: '119.79492,32.47270',\n fromInfo: '起点',\n toInfo: '终点',\n },\n {\n from: '116.76270,33.35806',\n to: '116.49902,38.95941',\n fromInfo: '起点',\n toInfo: '终点',\n },\n {\n from: '116.41113,30.93992',\n to: '114.78516,26.58853',\n fromInfo: '起点',\n toInfo: '终点',\n },\n {\n from: '115.83984,32.13841',\n to: '97.47070,37.54458',\n fromInfo: '起点',\n toInfo: '终点',\n },\n {\n from: '116.27930,32.36140',\n to: '114.08203,36.27971',\n fromInfo: '起点',\n toInfo: '终点',\n },\n {\n from: '103.66699,25.79989',\n to: '116.05957,31.54109',\n fromInfo: '起点',\n toInfo: '终点',\n },\n {\n from: '112.14844,24.40714',\n to: '116.71875,33.21112',\n fromInfo: '起点',\n toInfo: '终点',\n },\n {\n from: '116.93848,31.65338',\n to: '118.34473,26.62782',\n fromInfo: '起点',\n toInfo: '终点',\n },\n {\n from: '90.70313,42.26105',\n to: '116.23535,32.32428',\n fromInfo: '起点',\n toInfo: '终点',\n },\n {\n from: '116.41113,30.82678',\n to: '114.87305,36.94989',\n fromInfo: '起点',\n toInfo: '终点',\n },\n {\n from: '116.45508,30.78904',\n to: '118.91602,28.57487',\n fromInfo: '起点',\n toInfo: '终点',\n },\n {\n from: '116.01562,40.07807',\n to: '116.71875,31.69078',\n fromInfo: '起点',\n toInfo: '终点',\n },\n {\n from: '116.71875,31.72817',\n to: '108.45703,40.24599',\n fromInfo: '起点',\n toInfo: '终点',\n },\n {\n from: '117.99316,40.84706',\n to: '116.85059,31.69078',\n fromInfo: '起点',\n toInfo: '终点',\n },\n {\n from: '118.30078,36.56260',\n to: '117.24609,40.97990',\n fromInfo: '起点',\n toInfo: '终点',\n },\n {\n from: '119.35547,26.86328',\n to: '120.41016,32.28713',\n fromInfo: '起点',\n toInfo: '终点',\n },\n {\n from: '113.07129,31.42866',\n to: '106.04004,31.31610',\n fromInfo: '起点',\n toInfo: '终点',\n },\n {\n from: '116.85059,31.31610',\n to: '110.43457,32.76880',\n fromInfo: '起点',\n toInfo: '终点',\n },\n ];\n geoCoordMap = {\n 海门: [121.15, 31.89],\n 鄂尔多斯: [109.781327, 39.608266],\n 招远: [120.38, 37.35],\n 舟山: [122.207216, 29.985295],\n 齐齐哈尔: [123.97, 47.33],\n 盐城: [120.13, 33.38],\n 赤峰: [118.87, 42.28],\n 青岛: [120.33, 36.07],\n 乳山: [121.52, 36.89],\n 金昌: [102.188043, 38.520089],\n 泉州: [118.58, 24.93],\n 莱西: [120.53, 36.86],\n 日照: [119.46, 35.42],\n 胶南: [119.97, 35.88],\n 南通: [121.05, 32.08],\n 拉萨: [91.11, 29.97],\n 云浮: [112.02, 22.93],\n 梅州: [116.1, 24.55],\n 文登: [122.05, 37.2],\n 上海: [121.48, 31.22],\n 攀枝花: [101.718637, 26.582347],\n 威海: [122.1, 37.5],\n 承德: [117.93, 40.97],\n 厦门: [118.1, 24.46],\n 汕尾: [115.375279, 22.786211],\n 潮州: [116.63, 23.68],\n 丹东: [124.37, 40.13],\n 太仓: [121.1, 31.45],\n 曲靖: [103.79, 25.51],\n 烟台: [121.39, 37.52],\n 福州: [119.3, 26.08],\n 瓦房店: [121.979603, 39.627114],\n 即墨: [120.45, 36.38],\n 抚顺: [123.97, 41.97],\n 玉溪: [102.52, 24.35],\n 张家口: [114.87, 40.82],\n 阳泉: [113.57, 37.85],\n 莱州: [119.942327, 37.177017],\n 湖州: [120.1, 30.86],\n 汕头: [116.69, 23.39],\n 昆山: [120.95, 31.39],\n 宁波: [121.56, 29.86],\n 湛江: [110.359377, 21.270708],\n 揭阳: [116.35, 23.55],\n 荣成: [122.41, 37.16],\n 连云港: [119.16, 34.59],\n 葫芦岛: [120.836932, 40.711052],\n 常熟: [120.74, 31.64],\n 东莞: [113.75, 23.04],\n 河源: [114.68, 23.73],\n 淮安: [119.15, 33.5],\n 泰州: [119.9, 32.49],\n 南宁: [108.33, 22.84],\n 营口: [122.18, 40.65],\n 惠州: [114.4, 23.09],\n 江阴: [120.26, 31.91],\n 蓬莱: [120.75, 37.8],\n 韶关: [113.62, 24.84],\n 嘉峪关: [98.289152, 39.77313],\n 广州: [113.23, 23.16],\n 延安: [109.47, 36.6],\n 太原: [112.53, 37.87],\n 清远: [113.01, 23.7],\n 中山: [113.38, 22.52],\n 昆明: [102.73, 25.04],\n 寿光: [118.73, 36.86],\n 盘锦: [122.070714, 41.119997],\n 长治: [113.08, 36.18],\n 深圳: [114.07, 22.62],\n 珠海: [113.52, 22.3],\n 宿迁: [118.3, 33.96],\n 咸阳: [108.72, 34.36],\n 铜川: [109.11, 35.09],\n 平度: [119.97, 36.77],\n 佛山: [113.11, 23.05],\n 海口: [110.35, 20.02],\n 江门: [113.06, 22.61],\n 章丘: [117.53, 36.72],\n 肇庆: [112.44, 23.05],\n 大连: [121.62, 38.92],\n 临汾: [111.5, 36.08],\n 吴江: [120.63, 31.16],\n 石嘴山: [106.39, 39.04],\n 沈阳: [123.38, 41.8],\n 苏州: [120.62, 31.32],\n 茂名: [110.88, 21.68],\n 嘉兴: [120.76, 30.77],\n 长春: [125.35, 43.88],\n 胶州: [120.03336, 36.264622],\n 银川: [106.27, 38.47],\n 张家港: [120.555821, 31.875428],\n 三门峡: [111.19, 34.76],\n 锦州: [121.15, 41.13],\n 南昌: [115.89, 28.68],\n 柳州: [109.4, 24.33],\n 三亚: [109.511909, 18.252847],\n 自贡: [104.778442, 29.33903],\n 吉林: [126.57, 43.87],\n 阳江: [111.95, 21.85],\n 泸州: [105.39, 28.91],\n 西宁: [101.74, 36.56],\n 宜宾: [104.56, 29.77],\n 呼和浩特: [111.65, 40.82],\n 成都: [104.06, 30.67],\n 大同: [113.3, 40.12],\n 镇江: [119.44, 32.2],\n 桂林: [110.28, 25.29],\n 张家界: [110.479191, 29.117096],\n 宜兴: [119.82, 31.36],\n 北海: [109.12, 21.49],\n 西安: [108.95, 34.27],\n 金坛: [119.56, 31.74],\n 东营: [118.49, 37.46],\n 牡丹江: [129.58, 44.6],\n 遵义: [106.9, 27.7],\n 绍兴: [120.58, 30.01],\n 扬州: [119.42, 32.39],\n 常州: [119.95, 31.79],\n 潍坊: [119.1, 36.62],\n 重庆: [106.54, 29.59],\n 台州: [121.420757, 28.656386],\n 南京: [118.78, 32.04],\n 滨州: [118.03, 37.36],\n 贵阳: [106.71, 26.57],\n 无锡: [120.29, 31.59],\n 本溪: [123.73, 41.3],\n 克拉玛依: [84.77, 45.59],\n 渭南: [109.5, 34.52],\n 马鞍山: [118.48, 31.56],\n 宝鸡: [107.15, 34.38],\n 焦作: [113.21, 35.24],\n 句容: [119.16, 31.95],\n 北京: [116.46, 39.92],\n 徐州: [117.2, 34.26],\n 衡水: [115.72, 37.72],\n 包头: [110, 40.58],\n 绵阳: [104.73, 31.48],\n 乌鲁木齐: [87.68, 43.77],\n 枣庄: [117.57, 34.86],\n 杭州: [120.19, 30.26],\n 淄博: [118.05, 36.78],\n 鞍山: [122.85, 41.12],\n 溧阳: [119.48, 31.43],\n 库尔勒: [86.06, 41.68],\n 安阳: [114.35, 36.1],\n 开封: [114.35, 34.79],\n 济南: [117, 36.65],\n 德阳: [104.37, 31.13],\n 温州: [120.65, 28.01],\n 九江: [115.97, 29.71],\n 邯郸: [114.47, 36.6],\n 临安: [119.72, 30.23],\n 兰州: [103.73, 36.03],\n 沧州: [116.83, 38.33],\n 临沂: [118.35, 35.05],\n 南充: [106.110698, 30.837793],\n 天津: [117.2, 39.13],\n 富阳: [119.95, 30.07],\n 泰安: [117.13, 36.18],\n 诸暨: [120.23, 29.71],\n 郑州: [113.65, 34.76],\n 哈尔滨: [126.63, 45.75],\n 聊城: [115.97, 36.45],\n 芜湖: [118.38, 31.33],\n 唐山: [118.02, 39.63],\n 平顶山: [113.29, 33.75],\n 邢台: [114.48, 37.05],\n 德州: [116.29, 37.45],\n 济宁: [116.59, 35.38],\n 荆州: [112.239741, 30.335165],\n 宜昌: [111.3, 30.7],\n 义乌: [120.06, 29.32],\n 丽水: [119.92, 28.45],\n 洛阳: [112.44, 34.7],\n 秦皇岛: [119.57, 39.95],\n 株洲: [113.16, 27.83],\n 石家庄: [114.48, 38.03],\n 莱芜: [117.67, 36.19],\n 常德: [111.69, 29.05],\n 保定: [115.48, 38.85],\n 湘潭: [112.91, 27.87],\n 金华: [119.64, 29.12],\n 岳阳: [113.09, 29.37],\n 长沙: [113, 28.21],\n 衢州: [118.88, 28.97],\n 廊坊: [116.7, 39.53],\n 菏泽: [115.480656, 35.23375],\n 合肥: [117.27, 31.86],\n 武汉: [114.31, 30.52],\n 大庆: [125.03, 46.58],\n };\n id: string;\n constructor(@Inject(forwardRef(() => ParentContainerComponent)) private parent: ParentContainerComponent) {}\n ngOnChanges(changes: SimpleChanges): void {\n const item = [\n {\n coordinateSystem: 'bmap',\n data: this.convertData(this.data),\n effect: {\n color: this.color,\n period: 1,\n show: true,\n symbolSize: [this.size, 20],\n trailLength: 0.05,\n },\n lineStyle: {\n normal: {\n color: '#a6c84c',\n curveness: 0.2,\n opacity: 1,\n width: 0,\n },\n },\n type: 'lines',\n zlevel: 1,\n },\n ];\n this.parent.childInit({\n id: this.id,\n item,\n });\n }\n ngOnInit() {}\n ngOnDestroy(): void {\n this.parent.deleteChild(this.id);\n }\n convertData(data) {\n const res = [];\n for (let i = 0; i < data.length; i++) {\n const item = {};\n if (typeof data[i].from === 'string') {\n data[i].from = data[i].from.split(',');\n }\n if (typeof data[i].to === 'string') {\n data[i].to = data[i].to.split(',');\n }\n if (data[i].from && data[i].to) {\n res.push({\n fromName: data[i].fromInfo,\n toName: data[i].toInfo,\n coords: [data[i].from, data[i].to],\n });\n }\n }\n return res;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FlyLineLayerComponent } from './fly-line-layer.component';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\n@NgModule({\n declarations: [FlyLineLayerComponent],\n imports: [CommonModule, WidgetBaseModule],\n})\nexport class FlyLineLayerModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(FlyLineLayerComponent);\n }\n}\n","import { Component, forwardRef, Inject, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';\nimport { Data, Property, Widget } from 'bbj-widget-base';\nimport { ParentContainerComponent } from '../../parent-container/parent-container.component';\n\n@Component({\n selector: 'sc-map2d-polyline-layer',\n templateUrl: './map2d-polyline-layer.component.html',\n styleUrls: ['./map2d-polyline-layer.component.less'],\n})\n@Widget('折线层', {\n group: 'component',\n image: '',\n icon: '',\n hidden: true,\n})\nexport class Map2dPolylineLayerComponent implements OnInit, OnChanges, OnDestroy {\n @Property('线条粗细', {\n ui: { widget: 'myRange', min: 1, max: 100, step: 1 },\n })\n size = 1;\n @Property('线条颜色', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n color = 'RGB(0, 252, 255)';\n @Data({\n properties: {\n group: { type: 'string', title: '分组' },\n lng: { type: 'number', title: '经度' },\n lat: { type: 'number', title: '纬度' },\n },\n })\n data: any[] = [\n {\n group: 'x',\n lng: '116.85',\n lat: '28.69',\n },\n {\n group: 'x',\n lng: '116.35',\n lat: '28.79',\n },\n {\n group: 'x',\n lng: '116.10',\n lat: '29',\n },\n ];\n id: string;\n datalist = [];\n constructor(@Inject(forwardRef(() => ParentContainerComponent)) private parent: ParentContainerComponent) {}\n ngOnDestroy(): void {\n this.parent.deleteChild(this.id);\n }\n ngOnChanges(changes: SimpleChanges): void {\n this.grouping();\n const item = [\n {\n coordinateSystem: 'bmap',\n data: this.datalist,\n polyline: true,\n\n lineStyle: {\n normal: {\n color: this.color,\n opacity: 0.6,\n width: this.size,\n },\n },\n type: 'lines',\n name: 'polyline',\n zlevel: 1,\n },\n ];\n this.parent.childInit({\n id: this.id,\n item,\n });\n }\n\n ngOnInit(): void {}\n\n grouping() {\n this.datalist = [];\n const grouppname = [];\n const groups = {};\n if (this.data == null) {\n return;\n }\n this.data.forEach((t) => {\n if (grouppname.indexOf(t.group) < 0) {\n grouppname.push(t.group);\n }\n groups[t.group] = groups[t.group] || { coords: [] };\n let point = [];\n point.push(t.lng);\n point.push(t.lat);\n groups[t.group].coords.push(point);\n });\n grouppname.forEach((a) => {\n this.datalist.push(groups[a]);\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Map2dPolylineLayerComponent } from './map2d-polyline-layer.component';\nimport {WidgetBaseModule, WidgetService} from 'bbj-widget-base';\n\n\n\n\n@NgModule({\n declarations: [Map2dPolylineLayerComponent],\n imports: [CommonModule, WidgetBaseModule],\n})\nexport class Map2dPolylineLayerModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(Map2dPolylineLayerComponent);\n }\n}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n Inject,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n} from '@angular/core';\nimport { SFArrayWidgetSchema } from '@delon/form';\nimport { Data, DataOutput, Property, Widget, Event } from 'bbj-widget-base';\nimport { ParentContainerComponent } from '../../parent-container/parent-container.component';\n\n@Component({\n selector: 'sc-map2d-mark-layer',\n templateUrl: './map2d-mark-layer.component.html',\n styleUrls: ['./map2d-mark-layer.component.less'],\n})\n@Widget('标记层', {\n group: 'component',\n image: '',\n icon: '',\n hidden: true,\n})\nexport class Map2dMarkLayerComponent implements OnInit, OnChanges, OnDestroy {\n @Property('标记分组', {\n type: 'array',\n title: '标记分组',\n maxItems: 10,\n items: {\n type: 'object',\n properties: {\n imageUrl: {\n type: 'string',\n title: '图片',\n ui: {\n widget: 'myUpload',\n },\n },\n width: {\n type: 'number',\n title: '大小',\n },\n group: {\n type: 'string',\n title: '分组',\n },\n },\n required: [],\n },\n ui: { grid: { arraySpan: 24 }, spanControl: 24 } as SFArrayWidgetSchema,\n })\n groups = [];\n @Property('字体大小', {\n ui: { widget: 'myRange', min: 1, max: 100, step: 1 },\n })\n size = 12;\n // @Property('浮框背景', {\n // ui: {\n // widget: 'myColor',\n // example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n // },\n // })\n // backgroundColor='#F5A623';\n @Property('字体颜色', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n color = 'RGB(0, 252, 255)';\n @Data({\n properties: {\n id: { type: 'string', title: 'id' },\n address: { type: 'string', title: '地点' },\n information: { type: 'string', title: '信息' },\n group: { type: 'string', title: '标记分组' },\n lng: { type: 'number', title: '经度' },\n lat: { type: 'number', title: '纬度' },\n },\n })\n data: any[] = [\n {\n address: '机楼1号',\n information: '暂无信息',\n group: '',\n lng: '116.7',\n lat: '28',\n },\n ];\n id: string;\n @DataOutput(['id', 'address', 'lng', 'lat'])\n @Event('点击标记', {\n params: {\n properties: {\n id: { type: 'string', title: 'id' },\n address: { type: 'string', title: '地点' },\n lng: { type: 'number', title: '经度' },\n lat: { type: 'number', title: '纬度' },\n },\n },\n })\n makerClick = new EventEmitter();\n constructor(@Inject(forwardRef(() => ParentContainerComponent)) private parent: ParentContainerComponent) { }\n ngOnDestroy(): void {\n this.parent.deleteChild(this.id);\n }\n ngOnChanges(changes: SimpleChanges): void {\n const item = {\n id: this.id,\n type: 'scatter',\n coordinateSyste: 'bmap',\n data: [],\n tooltip: {\n formatter: '{b}',\n position: 'top',\n textStyle: {\n color: this.color,\n fontSize: this.size,\n },\n },\n emphasis: {\n label: {\n show: true,\n },\n },\n };\n this.data.forEach((t) => {\n let image = 'none';\n let size = 30;\n if (this.groups !== null && this.groups.length > 0) {\n this.groups.forEach((g) => {\n if (g.group === t.group) {\n image = 'image://' + g.imageUrl;\n size = g.width;\n }\n });\n }\n const data: any = {\n id: t.id, name: t.address, value: [t.lng, t.lat],symbolSize:0, label: {\n formatter: (a) => {\n return a.name;\n },\n rich: {\n title: {\n fontSize:this.size,\n color: this.color,\n align: 'left'\n },\n // icon: {\n // // height: 10,\n // // align: 'bottom',\n // // backgroundColor: {\n // // image: '/screen/file/ebfd7e18c4644c278d838f784e9b5a94.png',\n // // }\n // },\n value: {\n // width: 20,\n fontSize:this.size,\n padding: [3, 20, 0, 5],\n align: 'right'\n },\n },\n // position: 'right',\n color: this.color,\n fontSize: this.size,\n show: true,\n }\n };\n if (t.information) {\n data.tooltip = { formatter: t.information };\n }\n if(this.groups&&this.groups.length>0){\n this.groups.forEach(e=>{\n if(!e.imageUrl){\n return;\n }\n data.label.rich[e.group]={\n height:e.width,\n align: 'bottom',\n backgroundColor: {\n image: e.imageUrl,\n }\n }\n })\n }\n item.data.push(data);\n // item.push({\n // id: this.id,\n // name: t.address,\n // type: 'scatter',\n // coordinateSyste: 'bmap',\n // symbol: image,\n // symbolSize: size,\n // data: [{ name: t.address, value: [t.lng, t.lat] }],\n // label: {\n // formatter: '{b}',\n // position: 'bottom',\n // color: this.color,\n // fontSize: this.size,\n // show: true,\n // },\n // tooltip: {\n // formatter: '{b}',\n // position: 'top',\n // textStyle: {\n // color: this.color,\n // fontSize: this.size,\n // },\n // },\n // emphasis: {\n // label: {\n // show: true,\n // },\n // },\n // });\n });\n this.parent.childInit({\n id: this.id,\n item,\n onClick: (event) => {\n const obj = event.data;\n this.makerClick.emit({\n id: obj.id,\n address: obj.name,\n lng: obj.value[0],\n lat: obj.value[1],\n });\n },\n });\n }\n\n ngOnInit(): void { }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Map2dMarkLayerComponent } from './map2d-mark-layer.component';\nimport {WidgetBaseModule, WidgetService} from 'bbj-widget-base';\n\n\n\n@NgModule({\n declarations: [Map2dMarkLayerComponent],\n imports: [CommonModule, WidgetBaseModule],\n})\nexport class Map2dMarkLayerModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(Map2dMarkLayerComponent);\n }\n}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n Inject,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n} from '@angular/core';\nimport { Data, DataOutput, Drill, Property, Widget } from 'bbj-widget-base';\nimport { ParentContainerComponent } from '../../parent-container/parent-container.component';\n\n@Component({\n selector: 'sc-map2d-visual-layer',\n templateUrl: './map2d-visual-layer.component.html',\n styleUrls: ['./map2d-visual-layer.component.less'],\n})\n@Widget('热力层', {\n group: 'component',\n image: '',\n icon: '',\n hidden: true,\n})\nexport class Map2dVisualLayerComponent implements OnInit, OnChanges, OnDestroy {\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = {\n family: '',\n color: '#FFFFFF',\n weight: 'normal',\n size: 12,\n space: 0,\n lineHeight: 12,\n };\n\n @Property('左侧边距', { type: 'number' })\n left = 26;\n @Property('底部边距', { type: 'number' })\n bottom = 40;\n @Property('分级', {\n type: 'array',\n title: '热力等级',\n maxItems: 10,\n items: {\n type: 'object',\n properties: {\n gte: {\n type: 'number',\n title: '大于',\n },\n lte: {\n type: 'number',\n title: '小于等于',\n },\n label: {\n type: 'string',\n title: '标签',\n },\n color: {\n type: 'string',\n title: '颜色',\n ui: {\n widget: 'myColor',\n },\n },\n colorEnd: {\n type: 'string',\n title: '渐变颜色',\n ui: {\n widget: 'myColor',\n },\n },\n unit: {\n type: 'string',\n title: '单位',\n },\n },\n required: ['label', 'color'],\n },\n ui: { grid: { arraySpan: 24 }, spanControl: 24 },\n })\n level = [\n { gte: 0, lte: 50, label: '等级1', color: '#AAAAAA', colorEnd: null, unit: '' },\n {\n gte: 50,\n label: '等级2',\n color: '#FF3333',\n colorEnd: null,\n unit: '',\n },\n ];\n // @Property('地图颜色', {\n // type: 'string',\n // ui: {\n // widget: 'myColor',\n // },\n // })\n // mapColor = '#FFFFFF';\n // @Property('选中区域颜色', {\n // type: 'string',\n // ui: {\n // widget: 'myColor',\n // },\n // })\n // selectAreaColor = '#f2d5ad';\n @Property('正极名称', {\n max: {\n type: 'string',\n title: 'max',\n ui: {},\n },\n required: ['max'],\n })\n max = '高';\n\n @Property('负极名称', {\n min: {\n type: 'string',\n title: 'min',\n ui: {},\n },\n required: ['min'],\n })\n min = '低';\n @Property('前缀', {\n min: {\n type: 'string',\n ui: {},\n },\n })\n prefix = '';\n @Property('后缀', {\n min: {\n type: 'string',\n ui: {},\n },\n })\n suffix = '';\n @Data({\n properties: {\n name: { type: 'string', title: '地名' },\n value: { type: 'number', title: '值' },\n tooltip: { type: 'string', title: '提示' },\n lng: { type: 'number', title: '中心经度' },\n lat: { type: 'number', title: '中心纬度' },\n },\n })\n _data: any[] = [\n { name: '南海诸岛', value: 0, tooltip: '告警统计' + '<br />' + '失联告警:0' },\n { name: '北京', value: 54, tooltip: '告警统计' + '<br />' + '失联告警:54' },\n { name: '天津', value: 13, tooltip: '告警统计' + '<br />' + '失联告警:13' },\n { name: '上海', value: 40, tooltip: '告警统计' + '<br />' + '失联告警:40' },\n { name: '重庆', value: 75, tooltip: '告警统计' + '<br />' + '失联告警:75' },\n { name: '河北', value: 13, tooltip: '告警统计' + '<br />' + '失联告警:13' },\n { name: '海口市', value: 70, tooltip: '告警统计' + '<br />' + '失联告警:70' },\n ];\n @Drill()\n @DataOutput(['name', 'value', 'tooltip', 'lng', 'lat'])\n dataClick = new EventEmitter<any>();\n xData = [];\n yData = [];\n series = [];\n image: string;\n style = {\n color: '',\n fontFamily: '',\n fontWeight: '',\n fontSize: '',\n lineHeight: '',\n };\n data: any;\n visualMap = {};\n id: string;\n constructor(@Inject(forwardRef(() => ParentContainerComponent)) private parent: ParentContainerComponent) {}\n ngOnDestroy(): void {\n this.parent.deleteChild(this.id);\n }\n\n ngOnInit(): void {}\n ngOnChanges(changes: SimpleChanges): void {\n this.style = {\n color: this.font.color,\n fontFamily: this.font.family,\n fontWeight: this.font.weight,\n fontSize: this.font.size,\n lineHeight: this.font.lineHeight,\n };\n if (changes._data) {\n let gradual = false;\n let lucency = false;\n const pieces = this.level.map((level) => {\n const piece = { ...level };\n if (!lucency && this.isLucency(level.color)) {\n lucency = true;\n }\n if (level.color && level.colorEnd) {\n gradual = true;\n piece.color = {\n type: 'radial',\n x: 0.5,\n y: 0.5,\n r: 0.8,\n colorStops: [\n {\n offset: 0,\n color: level.color, // 0% 处的颜色\n },\n {\n offset: 1,\n color: level.colorEnd, // 100% 处的颜色\n },\n ],\n globalCoord: false, // 缺省为 false\n } as any;\n }\n return piece;\n });\n this.visualMap = {\n min: 0,\n max: 500,\n left: this.left || 26,\n bottom: this.bottom || 40,\n showLabel: !0,\n text: [this.max, this.min],\n pieces,\n textStyle: this.style,\n show: !0,\n };\n // geo: {\n // map: this.mapStyle,\n // roam: !1,\n // scaleLimit: {\n // min: 1,\n // max: 2\n // },\n // // label: {\n // // normal: {\n // // show: !0,\n // // fontSize: '14',\n // // color: 'rgba(0,0,0,0.7)'\n // // }\n // // },\n // itemStyle: {\n // normal: {\n // borderColor: 'rgba(0, 0, 0, 0.2)',\n // areaColor: this.mapColor,\n // },\n // emphasis: {\n // areaColor: this.selectAreaColor,\n // shadowOffsetX: 0,\n // shadowOffsetY: 0,\n // borderWidth: 0\n // }\n // }\n // },\n let item = [];\n if (this._data.length) {\n item = [\n {\n name: '',\n type: 'map',\n geoIndex: 0,\n mapType: '',\n label: {\n normal: {\n show: true,\n formatter: (val) => {\n const value = val.value ? val.value : 0;\n const prefix = this.prefix ? this.prefix : '';\n const suffix = this.suffix ? this.suffix : '';\n return (val.name + '-' + prefix + value + suffix).split('-').join('\\n');\n },\n textStyle: this.style,\n },\n emphasis: {\n show: false,\n },\n },\n // itemStyle: {\n // normal: {\n // borderColor: 'rgba(0, 0, 0, 0.2)',\n // areaColor: this.mapColor,\n // },\n // emphasis: {\n // areaColor: this.selectAreaColor,\n // shadowOffsetX: 0,\n // shadowOffsetY: 0,\n // borderWidth: 0,\n // },\n // },\n data: this._data,\n },\n ];\n }\n const child: any = {\n id: this.id,\n item: item,\n visualMap: this.visualMap,\n type: 'visual',\n };\n // 如果有渐变或者半透明,添加一个不透明的图层作为图例(台风项目的需求)\n if (gradual || lucency) {\n child.visualMap2 = {\n ...this.visualMap,\n pieces: this.level.map((level) => {\n return { ...level, color: this.opacity(level.color) };\n }),\n };\n child.visualMap.show = false;\n }\n this.parent.childInit(child);\n }\n }\n\n isLucency(color: string) {\n if (color) {\n const match = /rgba\\(\\d+,\\d+,\\d+,([\\d.]+)\\)/.exec(color);\n if (match) {\n const opacity = Number(match[1]);\n if (opacity < 1) {\n return true;\n }\n }\n }\n return false;\n }\n\n opacity(color: string) {\n if (color) {\n color = color.replace(/rgba\\((\\d+),(\\d+),(\\d+),([\\d.]+)\\)/, (str, r, g, b, a) => {\n console.log(str, r, g, b, a);\n return `rgb(${r},${g},${b})`;\n });\n }\n return color;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Map2dVisualLayerComponent } from './map2d-visual-layer.component';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\n\n\n\n@NgModule({\n declarations: [\n Map2dVisualLayerComponent\n ],\n imports: [CommonModule, WidgetBaseModule],\n})\nexport class Map2dVisualLayerModule { \n constructor(widgetService: WidgetService) {\n widgetService.register(Map2dVisualLayerComponent);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NgxEchartsModule } from 'ngx-echarts';\nimport { PlanimetricMap2dComponent } from './planimetric-map2d.component';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\nimport { FlyLineLayerModule } from './fly-line-layer/fly-line-layer.module';\nimport { BreathingBubbleLayerModule } from '../breathing-bubble-layer/breathing-bubble-layer.module';\nimport { Map2dPolylineLayerModule } from './map2d-polyline-layer/map2d-polyline-layer.module';\nimport { Map2dMarkLayerModule } from './map2d-mark-layer/map2d-mark-layer.module';\nimport { Map2dVisualLayerModule } from './map2d-visual-layer/map2d-visual-layer.module';\n\n@NgModule({\n declarations: [PlanimetricMap2dComponent],\n imports: [\n CommonModule,\n NgxEchartsModule,\n WidgetBaseModule,\n FlyLineLayerModule,\n BreathingBubbleLayerModule,\n Map2dPolylineLayerModule,\n Map2dMarkLayerModule,\n Map2dVisualLayerModule\n ],\n})\nexport class PlanimetricMap2dModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(PlanimetricMap2dComponent);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ParentContainerComponent } from './parent-container.component';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\n\n@NgModule({\n declarations: [ParentContainerComponent],\n imports: [CommonModule, WidgetBaseModule],\n})\nexport class ParentContainerModule {\n constructor(widgetService: WidgetService) {\n // widgetService.register(ParentContainerComponent);\n }\n}\n","import {\n Component,\n OnInit,\n forwardRef,\n ViewChild,\n ElementRef,\n OnDestroy,\n OnChanges,\n SimpleChanges,\n EventEmitter,\n} from '@angular/core';\nimport { Widget, Property, Data, DataOutput, Event } from 'bbj-widget-base';\nimport { ParentContainerComponent } from '../parent-container/parent-container.component';\nimport { HttpClient } from '@angular/common/http';\nimport * as echarts from 'echarts';\nimport { NgxEchartsDirective } from 'ngx-echarts';\nimport { PlanimetricMap2dComponent } from '../planimetric-map2d/planimetric-map2d.component';\nimport { getEchartsTextStyle } from '../shared/util/echarts.util';\n\nconst buttonEnum = [\n { label: '鼠标左键', value: 'left' },\n { label: '鼠标中键', value: 'middle' },\n { label: '鼠标右键', value: 'right' },\n];\n\n@Component({\n selector: 'sc-planimetric-map3d',\n templateUrl: './planimetric-map3d.component.html',\n styleUrls: ['./planimetric-map3d.component.less'],\n providers: [{ provide: ParentContainerComponent, useExisting: forwardRef(() => PlanimetricMap3dComponent) }],\n})\n@Widget('3D平面地图', {\n group: 'component',\n image: 'assets/img/screen/3dmap.png',\n icon: 'iconmokuai',\n children: [\n {\n title: '散点图',\n type: 'sc-map3d-mark-layer',\n option: {},\n hidden: true,\n hideChild: true,\n },\n ],\n childTypes: ['sc-map3d-mark-layer', 'sc-map3d-line-layer'],\n description: 'hasChildItem',\n})\nexport class PlanimetricMap3dComponent extends PlanimetricMap2dComponent implements OnInit, OnDestroy, OnChanges {\n @Property('地图样式', {\n ui: {\n widget: 'myUrlSelect',\n url: '/assets/mapListItem.json',\n },\n })\n mapStyle = 'china';\n @Property('区域背景', {\n ui: {\n widget: 'myColor',\n },\n })\n areaColor = '#323c48';\n @Property('区域描边', {\n ui: {\n widget: 'myColor',\n },\n })\n borderColor = '#404a59';\n @Property('移动高亮', {\n ui: {\n widget: 'myColor',\n },\n })\n _areaColor = '#2a333d';\n @Property('地区字体', { ui: { widget: 'myFont' } })\n areaNamefont: any = {\n family: '',\n color: '#FFFFFF',\n weight: 'normal',\n size: 12,\n space: 0,\n lineHeight: 12,\n };\n @Property('显示地名', {\n type: 'boolean',\n })\n showAreaName = true;\n @Property('阴影颜色', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n },\n })\n shadowColor = '#2a333d';\n @Property('边框粗细', {\n type: 'number',\n })\n boderWidth = 2;\n @Property('模型高度', { type: 'number' })\n regionHeight = 3;\n @Property('投影方式', {\n enum: [\n { label: '透视投影', value: 'perspective' },\n { label: '正交投影', value: 'orthographic' },\n ],\n })\n projection = 'perspective';\n @Property('视角距离', { type: 'number', ui: { visibleIf: { projection: ['perspective'] } } })\n distance = 100;\n @Property('正交大小', { type: 'number', ui: { visibleIf: { projection: ['orthographic'] } } })\n orthographicSize = 100;\n @Property('alpha角', { type: 'number' })\n alpha = 40;\n @Property('beta角', { type: 'number' })\n beta = 0;\n @Property('平移操作', { enum: buttonEnum })\n panMouseButton = 'middle';\n @Property('旋转操作', { enum: buttonEnum })\n rotateMouseButton = 'left';\n @Property('开启光晕', { type: 'boolean' })\n bloomEnable: boolean;\n @Property('光晕强度', { type: 'number', ui: { visibleIf: { bloomEnable: [true] } } })\n bloomIntensity = 0.1;\n\n chartOption: any;\n hasMap = false;\n @Data({\n properties: {\n name: { type: 'string', title: '地名' },\n lng: { type: 'number', title: '经度' },\n lat: { type: 'string', title: '纬度' },\n },\n })\n data: any[] = [];\n @DataOutput(['name', 'lng', 'lat'])\n @Event('选中', {\n params: {\n properties: {\n name: { type: 'string', title: '值' },\n lng: { type: 'number', title: '经度' },\n lat: { type: 'string', title: '纬度' },\n },\n },\n })\n areaClick = new EventEmitter();\n\n constructor(http: HttpClient) {\n super(http);\n }\n\n chartInit() {\n // this.loadMap(this.mapStyle).then((data) => {\n\n const textStyle = getEchartsTextStyle(this.areaNamefont);\n const geo3D = {\n type: 'map3D',\n boxHeight: 7,\n regionHeight: this.regionHeight,\n label: {\n //静态的时候展示样式\n show: this.showAreaName, //是否显示地图省份得名称\n distance: 0,\n ...textStyle,\n },\n selectedMode: this.selectedMode,\n itemStyle: {\n color: this.areaColor,\n borderColor: this.borderColor,\n borderWidth: this.boderWidth,\n },\n emphasis: {\n label: {\n show: this.showAreaName,\n ...textStyle,\n },\n itemStyle: {\n color: this._areaColor,\n },\n },\n map: this.mapStyle,\n roam: this.zoomSwitch,\n nameMap: this.nameMap,\n zoom: this.zoom,\n // silent: false,\n // regions,\n viewControl: {\n projection: this.projection,\n distance: this.distance,\n orthographicSize: this.orthographicSize,\n alpha: this.alpha,\n beta: this.beta,\n panMouseButton: this.panMouseButton,\n rotateMouseButton: this.rotateMouseButton,\n },\n postEffect: {\n enable: this.bloomEnable,\n bloom: {\n enable: this.bloomEnable,\n bloomIntensity: this.bloomIntensity,\n },\n },\n };\n let series = [];\n this._children.forEach((child) => {\n if (Array.isArray(child.item)) {\n series.push(...child.item);\n } else {\n series.push(child.item);\n }\n });\n // series.push(geo3D);\n this.chartOption = {\n geo3D,\n tooltip: {},\n series,\n };\n // });\n }\n\n // loadMap(name: string) {\n // let loadMapPromise = this.loadedMap[name];\n // if (!loadMapPromise) {\n // loadMapPromise = this.http.get('assets/echarts/map/json/' + name + '.json').toPromise();\n // this.loadedMap[name] = loadMapPromise;\n // }\n // return loadMapPromise;\n // }\n}\n","import { HttpClient } from '@angular/common/http';\nimport {\n Component,\n EventEmitter,\n forwardRef,\n Inject,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n} from '@angular/core';\nimport { SFArrayWidgetSchema } from '@delon/form';\nimport { Data, DataOutput, Property, Widget, Event } from 'bbj-widget-base';\nimport { ParentContainerComponent } from '../../parent-container/parent-container.component';\nimport { getEchartsTextStyle } from '../../shared/util/echarts.util';\n\n@Component({\n selector: 'sc-map3d-mark-layer',\n templateUrl: './map3d-mark-layer.component.html',\n styleUrls: ['./map3d-mark-layer.component.less'],\n})\n@Widget('散点图', {\n group: 'component',\n image: '',\n icon: '',\n hidden: true,\n})\nexport class Map3dMarkLayerComponent implements OnInit, OnChanges, OnDestroy {\n @Property('分组', {\n type: 'array',\n title: '分组',\n maxItems: 10,\n items: {\n type: 'object',\n properties: {\n group: {\n type: 'string',\n title: '分组',\n },\n symbol: {\n type: 'string',\n title: '形状',\n enum: [\n { label: '圆', value: 'circle' },\n { label: '矩形', value: 'rect' },\n { label: '圆角矩形', value: 'roundRect' },\n { label: '三角形', value: 'triangle' },\n { label: '菱形', value: 'diamond' },\n { label: '针形', value: 'pin' },\n { label: '箭头', value: 'arrow' },\n { label: '无', value: 'none' },\n { label: '图片', value: 'image' },\n ],\n },\n image: {\n title: '图片',\n type: 'string',\n ui: {\n widget: 'myPicture',\n visibleIf: { symbol: ['image'] },\n },\n },\n size: {\n type: 'number',\n title: '大小',\n },\n color: {\n type: 'string',\n title: '颜色',\n ui: {\n widget: 'myColor',\n },\n },\n font: {\n type: 'string',\n title: '字体',\n ui: { widget: 'myFont' },\n },\n },\n required: [],\n },\n ui: { grid: { arraySpan: 24 }, spanControl: 24 } as SFArrayWidgetSchema,\n })\n groups = [\n {\n group: '',\n symbol: 'circle',\n size: 30,\n },\n ];\n @Data({\n properties: {\n id: { type: 'string', title: 'id' },\n address: { type: 'string', title: '地点' },\n information: { type: 'string', title: '信息' },\n group: { type: 'string', title: '标记分组' },\n lng: { type: 'number', title: '经度' },\n lat: { type: 'number', title: '纬度' },\n },\n })\n data: any[] = [\n {\n address: '机楼1号',\n information: '暂无信息',\n group: '',\n lng: '120',\n lat: '28',\n },\n ];\n id: string;\n @DataOutput(['id', 'address', 'lng', 'lat'])\n @Event('点击标记', {\n params: {\n properties: {\n id: { type: 'string', title: 'id' },\n address: { type: 'string', title: '地点' },\n lng: { type: 'number', title: '经度' },\n lat: { type: 'number', title: '纬度' },\n },\n },\n })\n makerClick = new EventEmitter();\n constructor(\n @Inject(forwardRef(() => ParentContainerComponent)) private parent: ParentContainerComponent,\n private http: HttpClient,\n ) {}\n ngOnDestroy(): void {\n this.parent.deleteChild(this.id);\n }\n ngOnChanges(changes: SimpleChanges): void {\n this.reload();\n }\n\n async reload() {\n const groupMap = {};\n const seriesList = [];\n const seriesMap = {};\n for (const group of this.groups) {\n const groupName = group.group || '';\n groupMap[groupName] = group;\n const series = await this.getSeries(group);\n seriesList.push(series);\n seriesMap[groupName] = series;\n }\n\n this.data.forEach((record) => {\n let series = seriesMap[record.group];\n if (series == null) {\n series = seriesMap[''];\n }\n if (series) {\n series.data.push({\n id: record.id,\n name: record.address,\n value: [+record.lng, +record.lat, 1, record.information],\n });\n }\n });\n this.parent.childInit({\n id: this.id,\n item: seriesList,\n onClick: (event) => {\n const obj = event.data;\n this.makerClick.emit({\n id: obj.id,\n address: obj.name,\n lng: obj.value[0],\n lat: obj.value[1],\n });\n },\n });\n }\n\n async getSeries(group: any) {\n let symbol = group.symbol;\n if (symbol === 'image') {\n const url = group.image as string;\n if (url) {\n if (url.endsWith('svg')) {\n const svgStr: any = await this.http.get(url, { responseType: 'text' }).toPromise();\n const svg = new DOMParser().parseFromString(svgStr, 'text/xml');\n const paths = svg.getElementsByTagName('path');\n symbol = 'path://';\n for (let i = 0; i < paths.length; i++) {\n const path = paths[i];\n if (i > 0) {\n symbol += ' ';\n }\n symbol += path.getAttribute('d').replace(' ', ',');\n }\n } else {\n symbol = 'image://' + location.origin + url;\n }\n } else {\n symbol = 'none';\n }\n }\n const series = {\n id: this.id + group.group,\n type: 'scatter3D',\n coordinateSystem: 'geo3D',\n data: [],\n tooltip: {\n formatter: (params) => params.value[3],\n },\n label: {\n show: true,\n formatter: '{b}',\n position: 'bottom',\n textStyle: getEchartsTextStyle(group.font),\n },\n // emphasis: {\n // label: {\n // show: true,\n // },\n // },\n symbol,\n symbolSize: group.size,\n itemStyle: {\n color: group.color,\n opacity: 1,\n },\n // zlevel: 10,\n };\n return series;\n }\n\n ngOnInit(): void {}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Map3dMarkLayerComponent } from './map3d-mark-layer.component';\nimport { WidgetService } from 'bbj-widget-base';\n\n@NgModule({\n declarations: [Map3dMarkLayerComponent],\n imports: [CommonModule],\n})\nexport class Map3dMarkLayerModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(Map3dMarkLayerComponent);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport {\n Component,\n EventEmitter,\n forwardRef,\n Inject,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n} from '@angular/core';\nimport { SFArrayWidgetSchema } from '@delon/form';\nimport { Data, DataOutput, Property, Widget, Event } from 'bbj-widget-base';\nimport { ParentContainerComponent } from '../../parent-container/parent-container.component';\nimport { getEchartsTextStyle } from '../../shared/util/echarts.util';\n\n@Component({\n selector: 'sc-map3d-line-layer',\n templateUrl: './map3d-line-layer.component.html',\n styleUrls: ['./map3d-line-layer.component.less'],\n})\n@Widget('折线图', {\n group: 'component',\n image: '',\n icon: '',\n hidden: true,\n})\nexport class Map3dLineLayerComponent implements OnInit, OnChanges, OnDestroy {\n @Property('线条宽度', {\n ui: { widget: 'myRange', min: 1, max: 40, step: 1 },\n })\n width = 4;\n @Property('线条颜色', {\n type: 'string',\n ui: {\n widget: 'myColor',\n },\n })\n color = 'rgba(242,213,173,0.85)';\n\n @Data({\n properties: {\n group: { type: 'string', title: '分组' },\n lng: { type: 'number', title: '经度' },\n lat: { type: 'number', title: '纬度' },\n },\n })\n data: any[] = [\n {\n group: 'x',\n lng: '120.7',\n lat: '28',\n },\n {\n group: 'x',\n lng: '120.71',\n lat: '28.01',\n },\n {\n group: 'x',\n lng: '120.79',\n lat: '28.1',\n },\n {\n group: 'y',\n lng: '120.72',\n lat: '28.02',\n },\n {\n group: 'y',\n lng: '120.73',\n lat: '28.03',\n },\n {\n group: 'y',\n lng: '120.81',\n lat: '28.12',\n },\n ];\n id: string;\n constructor(@Inject(forwardRef(() => ParentContainerComponent)) private parent: ParentContainerComponent) {}\n\n ngOnInit(): void {}\n\n ngOnDestroy(): void {\n this.parent.deleteChild(this.id);\n }\n ngOnChanges(changes: SimpleChanges): void {\n this.reload();\n }\n\n async reload() {\n console.log(this.data);\n const data = [];\n const lineMap = {};\n this.data.forEach((r) => {\n let line = lineMap[r.group];\n if (!line) {\n line = [];\n lineMap[r.group] = line;\n data.push(line);\n }\n line.push([+r.lng, +r.lat, 1]);\n });\n\n const item = {\n type: 'lines3D',\n coordinateSystem: 'geo3D',\n polyline: true,\n lineStyle: {\n width: this.width,\n color: this.color,\n opacity: 1,\n },\n data,\n silent: true, //不响应和触发鼠标事件\n };\n this.parent.childInit({\n id: this.id,\n item,\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Map3dLineLayerComponent } from './map3d-line-layer.component';\nimport { WidgetService } from 'bbj-widget-base';\n\n@NgModule({\n declarations: [Map3dLineLayerComponent],\n imports: [CommonModule],\n})\nexport class Map3dLineLayerModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(Map3dLineLayerComponent);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PlanimetricMap3dComponent } from './planimetric-map3d.component';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\nimport { NgxEchartsModule } from 'ngx-echarts';\nimport { Map3dMarkLayerModule } from './map3d-mark-layer/map3d-mark-layer.module';\nimport { Map3dLineLayerModule } from './map3d-line-layer/map3d-line-layer.module';\n\n@NgModule({\n declarations: [PlanimetricMap3dComponent],\n imports: [CommonModule, WidgetBaseModule, NgxEchartsModule, Map3dMarkLayerModule,Map3dLineLayerModule],\n})\nexport class PlanimetricMap3dModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(PlanimetricMap3dComponent);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Widget, Property } from 'bbj-widget-base';\n\n@Component({\n selector: 'sc-mip-anim',\n templateUrl: './mip-anim.component.html',\n styleUrls: ['./mip-anim.component.less']\n})\n@Widget('动态图', { group: 'mipAnim', icon: 'icontupian' })\nexport class MipAnimComponent implements OnInit {\n @Property('图片', { ui: { widget: 'myPicture' } })\n image: string;\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\nimport { MipAnimComponent } from './mip-anim.component';\n\n@NgModule({\n declarations: [MipAnimComponent],\n imports: [CommonModule, WidgetBaseModule],\n})\nexport class MipAnimModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(MipAnimComponent);\n }\n}\n","import { Component, OnInit, SimpleChanges, OnChanges, EventEmitter, ElementRef, ViewChild } from '@angular/core';\nimport { Data, Property, Widget, DataOutput, Event, EventParam, Method, Param, DataInput } from 'bbj-widget-base';\nimport { NzFormatEmitEvent, NzTreeComponent, NzTreeNode, NzTreeNodeOptions } from 'ng-zorro-antd/tree';\nimport { ArrayService } from '@delon/util';\nimport { getFontStyle } from '../shared/util/style.util';\n\n@Component({\n selector: 'sc-tree-control',\n templateUrl: './tree-control.component.html',\n styleUrls: ['./tree-control.component.less'],\n})\n@Widget('树控件', {\n group: 'component',\n image: 'assets/img/screen/Tree.png',\n icon: 'bianzu40',\n})\nexport class TreeControlComponent implements OnInit, OnChanges {\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = {\n family: '',\n color: '#595F7A',\n weight: 'normal',\n size: 16,\n space: 0,\n lineHeight: 0,\n };\n @Property('边距', { ui: { widget: 'myGrid' } })\n grid: any = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n };\n @Property('复选框', { type: 'boolean' })\n checkable = false;\n @Property('输出格式', {\n type: 'string',\n enum: [\n { label: '数组', value: 'array' },\n { label: '字符串', value: 'string' },\n ],\n ui: {\n widget: 'select',\n visibleIf: { checkable: [true] },\n },\n })\n outputType = 'array';\n @Property('选择完全受控', {\n type: 'boolean',\n ui: { optionalHelp: '父子节点选中状态不再关联', visibleIf: { checkable: [true] } },\n })\n checkStrictly = false;\n @Property('连接线', { type: 'boolean' })\n showLine = false;\n @Property('展开所有', { type: 'boolean' })\n expandAll = false;\n @Property('展开层级', {\n type: 'integer',\n minimum: 0,\n ui: { precision: 0, visibleIf: { expandAll: [false] } },\n })\n expandLevel = 0;\n\n @Property('图标宽度', { type: 'integer' })\n iconWidth = 20;\n @Property('图标高度', { type: 'integer' })\n iconHeight = 20;\n @Property('图标位置', {\n enum: [\n { label: '左', value: 'left' },\n { label: '右', value: 'right' },\n ],\n })\n iconPosition = 'left';\n\n @Property('节点图标', {\n type: 'string',\n ui: {\n widget: 'myUpload',\n },\n })\n nodeDefaultIcon = null;\n @Property('节点背景', {\n type: 'string',\n ui: {\n widget: 'myUpload',\n },\n })\n nodeBackground = null;\n\n @Property('节点选中背景色', { ui: { widget: 'myColor' } })\n selectedBackground = '#bae7ff';\n\n @Property('节点选中字体色', { ui: { widget: 'myColor' } })\n nodeCheckedColor = '#333';\n\n @Property('节点选中背景', {\n type: 'string',\n ui: {\n widget: 'myUpload',\n },\n })\n nodeCheckedBackground = null;\n\n @Property('双击重命名')\n renamable: boolean;\n @Property('显示搜索框')\n showSearch: boolean;\n searchValue: string;\n\n @Property('搜索框颜色', {\n ui: {\n widget: 'myColor',\n visibleIf: { showSearch: [true] },\n },\n })\n searchBorderColor = '#8F9AB3';\n\n @Property('搜索框背景色', {\n ui: {\n widget: 'myColor',\n visibleIf: { showSearch: [true] },\n },\n })\n searchBackgroundColor = 'rgba(0,0,0,0)';\n\n @Property('搜索框提示语', {\n type: 'string',\n ui: {\n visibleIf: { showSearch: [true] },\n },\n })\n searchPlaceholder = '请输入搜索内容';\n\n @Property('滚动条颜色', {\n ui: {\n widget: 'myColor',\n },\n })\n treeScrollbarThumbBackground = '#ddd';\n\n @Data({\n properties: {\n title: { type: 'string', title: '标题' },\n key: { type: 'string', title: 'id' },\n parentKey: { type: 'string', title: '父级id' },\n icon: { type: 'string', title: '图标' },\n count: { type: 'string', title: '数量' },\n },\n })\n data = [\n { title: '江苏省', key: '300', parentKey: '' },\n { title: '浙江省', key: '100', parentKey: '' },\n { title: '杭州市', key: '1001', parentKey: '100' },\n { title: '顶顶区', key: '10010', parentKey: '1001' },\n { title: '的方区', key: '10011', parentKey: '1001' },\n { title: '温州市', key: '1002', parentKey: '100' },\n { title: '鹿城区', key: '10020', parentKey: '1002' },\n { title: '龙湾区', key: '10021', parentKey: '1002' },\n ];\n\n @DataInput('选中值')\n value: any;\n\n @DataOutput('选中id')\n @Event('选中值改变', { params: 'id' })\n keyChange = new EventEmitter<any>();\n\n nodes: NzTreeNodeOptions[] = [];\n\n expandedKeys: string[];\n\n edittingNode: NzTreeNode; // 正在重命名的节点\n\n @ViewChild('tree')\n tree: NzTreeComponent;\n\n @ViewChild('renameInput')\n renameInput: ElementRef;\n\n selectedKeys: string[] = [];\n // checkedKeys: string[] = [];\n style = {};\n waittingSelect: string | string[];\n\n paddNum: any;\n constructor(private arrayService: ArrayService, private elementRef: ElementRef) {}\n\n ngOnInit(): void {\n document.body.style.setProperty('--treeScrollbar-thumb-background', this.treeScrollbarThumbBackground || '#ddd');\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.data) {\n this.nodes = this.toTree(this.data);\n if (this.waittingSelect) {\n this.select(this.waittingSelect);\n }\n }\n if (changes.font) {\n this.updateStyle();\n }\n\n if (changes.data || changes.expandLevel || changes.expandAll) {\n this.expand();\n }\n }\n\n toTree(data: any[]) {\n const nodeMap = {};\n const nodes = [];\n const root = [];\n if (data) {\n data.forEach(({ title, key, parentKey, parentKey_value, icon, count }) => {\n if (key) {\n const node: NzTreeNodeOptions = {\n key,\n title,\n parentKey: parentKey_value || parentKey,\n icon,\n isLeaf: true,\n count,\n };\n if (this.selectedKeys.includes(key)) {\n node.selected = true;\n }\n nodeMap[key] = node;\n nodes.push(node);\n }\n });\n nodes.forEach((node) => {\n if (node.parentKey) {\n const parent = nodeMap[node.parentKey];\n if (parent) {\n parent.children = parent.children || [];\n parent.children.push(node);\n parent.isLeaf = false;\n return;\n }\n }\n root.push(node);\n });\n }\n return root;\n }\n\n expand() {\n // TODO nz的bug,在数据改变之后nzExpandAll无效,等修复了可以切换成这里的代码\n // if (!this.expandAll) {\n // this.expandedKeys = [];\n // if (this.expandLevel) {\n // this.arrayService.visitTree(this.nodes, (item, parent, deep) => {\n // if (deep <= this.expandLevel) {\n // this.expandedKeys.push(item.key);\n // }\n // });\n // }\n // }\n this.expandedKeys = [];\n if (this.expandAll || this.expandLevel) {\n this.arrayService.visitTree(this.nodes, (item, parent, deep) => {\n if (this.expandAll || deep <= this.expandLevel) {\n this.expandedKeys.push(item.key);\n }\n });\n }\n }\n\n updateStyle() {\n this.style = getFontStyle(this.font);\n this.elementRef.nativeElement.style.setProperty('--selected-background', this.selectedBackground || '#bae7ff');\n }\n\n onClick(event: NzFormatEmitEvent) {\n this.onKeysChange(event.keys);\n this.nodeClick(event.node.key, event.node.title);\n }\n\n onKeysChange(keys: string[]) {\n this.waittingSelect = null;\n this.selectedKeys = keys;\n if (this.checkable) {\n if (this.outputType === 'string') {\n this.keyChange.emit(keys?.join(';'));\n } else {\n this.keyChange.emit(keys);\n }\n } else {\n this.keyChange.emit(keys[0]);\n }\n }\n\n onCheckBoxChange(event: NzFormatEmitEvent) {\n this.onKeysChange(event.keys);\n }\n\n onNodeDblclick(event: NzFormatEmitEvent) {\n if (this.renamable) {\n this.edittingNode = event.node;\n setTimeout(() => {\n if (this.renameInput) {\n this.renameInput.nativeElement.focus();\n }\n });\n }\n }\n\n renameEnd(node: NzTreeNode) {\n this.edittingNode = null;\n this.rename(node.key, node.title);\n }\n\n showNode(e) {\n console.log(e);\n }\n\n @Method('搜索')\n search(@Param('内容') value: string) {\n this.searchValue = value;\n }\n\n @Method('选中')\n select(@Param('id') id: string | string[]) {\n let find = false;\n const keys = [];\n if (id) {\n if (this.checkable) {\n if (typeof id === 'string') {\n id = id.split(';');\n }\n keys.push(...id);\n } else {\n keys.push(id);\n }\n }\n this.selectedKeys = keys;\n if (keys.length) {\n if (this.nodes) {\n const nodes = [];\n this.arrayService.visitTree(this.nodes, (n) => {\n if (keys.includes(n.key)) {\n nodes.push(n);\n }\n });\n if (nodes.length) {\n this.onKeysChange(keys);\n nodes.forEach((node) => this.nodeClick(node.key, node.title));\n find = true;\n }\n }\n // 数据有可能还没加载,等数据加载了再选中\n if (!find) {\n this.waittingSelect = id;\n }\n }\n }\n\n @Event('点击')\n nodeClick(@EventParam('id') id: string, @EventParam('标题') title: string) {}\n\n @Event('重命名')\n rename(@EventParam('id') id: string, @EventParam('名称') name: string) {}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TreeControlComponent } from './tree-control.component';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\nimport { NzTreeModule } from 'ng-zorro-antd/tree';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { FormsModule } from '@angular/forms';\nimport { NzHighlightModule } from 'ng-zorro-antd/core/highlight';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n@NgModule({\n declarations: [TreeControlComponent],\n imports: [CommonModule, WidgetBaseModule, NzTreeModule, NzInputModule, FormsModule, NzHighlightModule, NzIconModule],\n})\nexport class TreeControlModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(TreeControlComponent);\n }\n}\n","import { Component, OnChanges, OnInit, SimpleChanges, EventEmitter } from '@angular/core';\r\nimport { Data, DataOutput, Drill, Property, Widget, Event, EventParam } from 'bbj-widget-base';\r\nimport * as echarts from 'echarts';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SFArrayWidgetSchema, SFRadioWidgetSchema, SFStringWidgetSchema } from '@delon/form';\r\n\r\n@Component({\r\n selector: 'sc-visual-map-chart',\r\n templateUrl: './visual-map-chart.component.html',\r\n styleUrls: ['./visual-map-chart.component.less'],\r\n})\r\n@Widget('2D热力图', {\r\n group: 'component',\r\n image: 'assets/img/screen/hotMap.png',\r\n icon: 'icontubiao',\r\n})\r\nexport class VisualMapChartComponent implements OnInit, OnChanges {\r\n @Property('字体', { ui: { widget: 'myFont' } })\r\n font: any = {\r\n family: '',\r\n color: '#FFFFFF',\r\n weight: 'normal',\r\n size: 12,\r\n space: 0,\r\n lineHeight: 12,\r\n };\r\n chartOption: any = null;\r\n @Property('地图样式', {\r\n ui: {\r\n widget: 'myUrlSelect',\r\n url: '/assets/mapListItem.json',\r\n },\r\n })\r\n mapStyle = 'china';\r\n @Property('触发提示', {\r\n type: 'string',\r\n enum: [\r\n { value: 'mousemove', label: '移动' },\r\n { value: 'click', label: '点击' },\r\n ],\r\n ui: {\r\n widget: 'radio',\r\n styleType: 'button',\r\n buttonStyle: 'solid',\r\n } as SFRadioWidgetSchema,\r\n default: 'mousemove',\r\n })\r\n trigger = 'mousemove';\r\n @Property('图例位置', { ui: { widget: 'myGrid' } })\r\n visualMapPosition: any = {\r\n left: '',\r\n right: '',\r\n top: '',\r\n bottom: 40,\r\n };\r\n @Property('分级', {\r\n type: 'array',\r\n title: '热力等级',\r\n maxItems: 10,\r\n items: {\r\n type: 'object',\r\n properties: {\r\n gte: {\r\n type: 'number',\r\n title: '大于',\r\n },\r\n lte: {\r\n type: 'number',\r\n title: '小于',\r\n minimum: 1,\r\n },\r\n label: {\r\n type: 'string',\r\n title: '标签',\r\n },\r\n color: {\r\n type: 'string',\r\n title: '颜色',\r\n ui: {\r\n widget: 'myColor',\r\n },\r\n },\r\n unit: {\r\n type: 'string',\r\n title: '单位',\r\n },\r\n },\r\n required: ['label', 'color'],\r\n },\r\n ui: { grid: { arraySpan: 24 }, spanControl: 24 } as SFArrayWidgetSchema,\r\n })\r\n level = [\r\n { gte: 0, lte: 50, label: '等级1', color: '#AAAAAA', unit: '' },\r\n {\r\n gte: 50,\r\n label: '等级2',\r\n color: '#FF3333',\r\n unit: '',\r\n },\r\n ];\r\n @Property('地图颜色', {\r\n type: 'string',\r\n ui: {\r\n widget: 'myColor',\r\n },\r\n })\r\n mapColor = '#FFFFFF';\r\n @Property('选中区域颜色', {\r\n type: 'string',\r\n ui: {\r\n widget: 'myColor',\r\n },\r\n })\r\n selectAreaColor = '#f2d5ad';\r\n @Property('正极名称', {\r\n max: {\r\n type: 'string',\r\n title: 'max',\r\n ui: {} as SFStringWidgetSchema,\r\n },\r\n required: ['max'],\r\n })\r\n max = '高';\r\n\r\n @Property('负极名称', {\r\n min: {\r\n type: 'string',\r\n title: 'min',\r\n ui: {} as SFStringWidgetSchema,\r\n },\r\n required: ['min'],\r\n })\r\n min = '低';\r\n @Property('前缀', {\r\n min: {\r\n type: 'string',\r\n ui: {} as SFStringWidgetSchema,\r\n },\r\n })\r\n prefix = '';\r\n @Property('后缀', {\r\n min: {\r\n type: 'string',\r\n ui: {} as SFStringWidgetSchema,\r\n },\r\n })\r\n suffix = '';\r\n @Data({\r\n properties: {\r\n name: { type: 'string', title: '地名' },\r\n value: { type: 'number', title: '值' },\r\n tooltip: { type: 'string', title: '提示' },\r\n lng: { type: 'number', title: '中心经度' },\r\n lat: { type: 'number', title: '中心纬度' },\r\n },\r\n })\r\n _data: any[] = [\r\n { name: '南海诸岛', value: 0, tooltip: '告警统计' + '<br />' + '失联告警:0' },\r\n { name: '北京', value: 54, tooltip: '告警统计' + '<br />' + '失联告警:54' },\r\n { name: '天津', value: 13, tooltip: '告警统计' + '<br />' + '失联告警:13' },\r\n { name: '上海', value: 40, tooltip: '告警统计' + '<br />' + '失联告警:40' },\r\n { name: '重庆', value: 75, tooltip: '告警统计' + '<br />' + '失联告警:75' },\r\n { name: '河北', value: 13, tooltip: '告警统计' + '<br />' + '失联告警:13' },\r\n { name: '海口市', value: 70, tooltip: '告警统计' + '<br />' + '失联告警:70' },\r\n ];\r\n @Drill()\r\n @DataOutput(['name', 'value', 'tooltip', 'lng', 'lat'])\r\n dataClick = new EventEmitter<any>();\r\n xData = [];\r\n yData = [];\r\n series = [];\r\n image: string;\r\n style = {\r\n color: '',\r\n fontFamily: '',\r\n fontWeight: '',\r\n fontSize: '',\r\n lineHeight: '',\r\n };\r\n data: any;\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n ngOnInit(): void { }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.style = {\r\n color: this.font.color,\r\n fontFamily: this.font.family,\r\n fontWeight: this.font.weight,\r\n fontSize: this.font.size,\r\n lineHeight: this.font.lineHeight,\r\n };\r\n\r\n const posi = { bottom: 40 }; // 保证以前添加的此组件在未修改图例位置前保持不变\r\n if (this.visualMapPosition) {\r\n Object.keys(this.visualMapPosition).forEach(key => {\r\n if (this.visualMapPosition[key] || this.visualMapPosition[key] === 0) {\r\n posi[key] = this.visualMapPosition[key];\r\n }\r\n });\r\n }\r\n if (changes._data) {\r\n this.http\r\n .get('assets/echarts/map/json/' + this.mapStyle + '.json')\r\n .toPromise()\r\n .then((data:any) => {\r\n echarts.registerMap(this.mapStyle, data);\r\n this.data = data;\r\n this.chartOption = {\r\n tooltip: {\r\n triggerOn: this.trigger,\r\n // formatter:(params)=>{\r\n // console.log(params);\r\n // }\r\n // formatter: function(e, t, n) {\r\n // return .5 === e.value ? e.name + ':有疑似病例' : e.seriesName + '<br />' + e.x + ':' + e.y\r\n // }\r\n },\r\n visualMap: {\r\n min: 0,\r\n max: 500,\r\n ...posi,\r\n showLabel: !0,\r\n text: [],\r\n pieces: this.level,\r\n textStyle: this.style,\r\n // [{\r\n // gt: 100,\r\n // label: '> 100 人',\r\n // color: '#7f1100'\r\n // }, {\r\n // gte: 10,\r\n // lte: 100,\r\n // label: '10 - 100 人',\r\n // color: '#ff5428'\r\n // }, {\r\n // gte: 1,\r\n // lt: 10,\r\n // label: '1 - 9 人',\r\n // color: '#ff8c71'\r\n // }, {\r\n // gt: 0,\r\n // lt: 1,\r\n // label: '疑似',\r\n // color: '#ffd768'\r\n // }, {\r\n // value: 0,\r\n // color: '#ffffff'\r\n // }],\r\n show: !0,\r\n },\r\n // geo: {\r\n // map: this.mapStyle,\r\n // roam: !1,\r\n // scaleLimit: {\r\n // min: 1,\r\n // max: 2\r\n // },\r\n // // label: {\r\n // // normal: {\r\n // // show: !0,\r\n // // fontSize: '14',\r\n // // color: 'rgba(0,0,0,0.7)'\r\n // // }\r\n // // },\r\n // itemStyle: {\r\n // normal: {\r\n // borderColor: 'rgba(0, 0, 0, 0.2)',\r\n // areaColor: this.mapColor,\r\n // },\r\n // emphasis: {\r\n // areaColor: this.selectAreaColor,\r\n // shadowOffsetX: 0,\r\n // shadowOffsetY: 0,\r\n // borderWidth: 0\r\n // }\r\n // }\r\n // },\r\n series: [\r\n {\r\n name: '',\r\n type: 'map',\r\n geoIndex: 0,\r\n mapType: this.mapStyle,\r\n label: {\r\n normal: {\r\n show: true,\r\n formatter: (val) => {\r\n const value = val.value ? val.value : 0;\r\n const prefix = this.prefix ? this.prefix : '';\r\n const suffix = this.suffix ? this.suffix : '';\r\n return (val.name + '-' + prefix + value + suffix).split('-').join('\\n');\r\n },\r\n textStyle: this.style,\r\n },\r\n emphasis: {\r\n show: false,\r\n },\r\n },\r\n itemStyle: {\r\n normal: {\r\n borderColor: 'rgba(0, 0, 0, 0.2)',\r\n areaColor: this.mapColor,\r\n },\r\n emphasis: {\r\n areaColor: this.selectAreaColor,\r\n shadowOffsetX: 0,\r\n shadowOffsetY: 0,\r\n borderWidth: 0,\r\n },\r\n },\r\n data: this._data,\r\n },\r\n ],\r\n };\r\n this.reloadData();\r\n });\r\n }\r\n }\r\n\r\n onChartClick(event) {\r\n let n = '';\r\n let v = '';\r\n let t = '';\r\n let centerLng = '';\r\n let centerLat = '';\r\n if (typeof event.data !== 'undefined') {\r\n n = event.data.name;\r\n v = event.data.value;\r\n t = event.data.tooltip;\r\n } else {\r\n n = event.name;\r\n v = '0';\r\n }\r\n this.data.features.forEach((a) => {\r\n if (a.properties.name === n) {\r\n centerLng = a.properties.cp[0];\r\n centerLat = a.properties.cp[1];\r\n }\r\n });\r\n this.dataClick.emit({ name: n, value: v, tooltip: t, lng: centerLng, lat: centerLat });\r\n\r\n this.onClick(n, v, t, Number(centerLng), Number(centerLat));\r\n }\r\n\r\n reloadData() {\r\n this.chartOption.visualMap.text.push(this.max);\r\n this.chartOption.visualMap.text.push(this.min);\r\n if (this.mapStyle === 'province/hainan') {\r\n this.chartOption.geo.center = [109.844902, 19.0392];\r\n this.chartOption.geo.layoutCenter = ['50%', '50%'];\r\n this.chartOption.geo.layoutSize = '600%';\r\n }\r\n }\r\n\r\n @Event('点击')\r\n onClick(\r\n @EventParam('名称') name: string,\r\n @EventParam('值') value: string,\r\n @EventParam('提示') tooltip: string,\r\n @EventParam('经度') lng: number,\r\n @EventParam('维度') lat: number,\r\n ) { }\r\n}\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VisualMapChartComponent } from './visual-map-chart.component';\nimport {WidgetBaseModule, WidgetService} from 'bbj-widget-base';\nimport {NgxEchartsModule} from 'ngx-echarts';\n\n\n\n\n@NgModule({\n declarations: [VisualMapChartComponent],\n imports: [CommonModule, WidgetBaseModule, NgxEchartsModule],\n})\nexport class VisualMapChartModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(VisualMapChartComponent);\n }\n}\n","import { Component, OnInit, OnChanges, SimpleChanges, EventEmitter } from '@angular/core';\nimport { DataOutput, Event, Method, Property, Widget, Param, Data, CustomExport, DataInput } from 'bbj-widget-base';\nimport {\n compareAsc,\n format,\n addDays,\n startOfMonth,\n addMonths,\n startOfYear,\n addYears,\n startOfWeek,\n addWeeks,\n startOfDay,\n parse,\n} from 'date-fns';\nimport { SFStringWidgetSchema } from '@delon/form';\nimport { NzI18nService } from 'ng-zorro-antd/i18n';\nimport { formatDate } from '@angular/common';\nimport { DisabledDateFn, SupportTimeOptions } from 'ng-zorro-antd/date-picker';\nimport { differenceInCalendarDays } from 'date-fns/fp';\n\nconst defaultDateEnum = [\n { label: '当前', value: 'now' },\n { label: '今天', value: 'today' },\n { label: '昨天', value: 'yesterday' },\n { label: '明天', value: 'tomorrow' },\n { label: '本月', value: 'thisMonth' },\n { label: '上个月', value: 'lastMonth' },\n { label: '下个月', value: 'nextMonth' },\n { label: '本周', value: 'thisWeek' },\n { label: '上周', value: 'lastWeek' },\n { label: '下周', value: 'nextWeek' },\n { label: '今年', value: 'thisYear' },\n { label: '去年', value: 'lastYear' },\n { label: '明年', value: 'nextYear' },\n];\n\n@Component({\n selector: 'sc-date-picker',\n templateUrl: './date-picker.component.html',\n styleUrls: ['./date-picker.component.less'],\n})\n@Widget('日期选择器', {\n group: 'component',\n image: 'assets/img/screen/date-picker.png',\n icon: 'riqi',\n platform: 'pc',\n})\nexport class DatePickerComponent implements OnInit, OnChanges, CustomExport {\n @Property('边框', {\n ui: {\n widget: 'myColor',\n example: ['#ffffff', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n borderColor: string;\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = { family: '', weight: 'normal', size: 14, space: 0, lineHeight: '' };\n @Property('填充', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n background: string;\n @Property('背景图片', {\n type: 'string',\n ui: {\n widget: 'myUpload',\n },\n })\n backImage = null;\n @Property('高度')\n height: number = 30;\n @Property('日期格式', {\n dateFormat: {\n type: 'string',\n title: 'max',\n ui: {} as SFStringWidgetSchema,\n },\n required: ['dateFormat'],\n })\n dateFormat = '';\n @Property('开启区间模式')\n rangeMode: boolean;\n @Property('默认时间', {\n type: 'string',\n enum: defaultDateEnum,\n })\n defaultDate: string;\n @Property('默认结束时间', {\n type: 'string',\n enum: defaultDateEnum,\n ui: { widget: 'select', visibleIf: { rangeMode: [true] } },\n })\n defaultEndDate: string;\n @Property('选择模式', {\n type: 'string',\n enum: [\n { label: '默认', value: '' },\n { label: '周', value: 'week' },\n { label: '月份', value: 'month' },\n { label: '年份', value: 'year' },\n ],\n })\n selectMode: string = '';\n @Property('显示时间', {\n type: 'boolean',\n })\n showTime = false;\n @Property('时间格式', {\n enum: [\n { label: '时分秒', value: 'HH:mm:ss' },\n { label: '时分', value: 'HH:mm' },\n { label: '时', value: 'HH' },\n ],\n ui: { widget: 'select', visibleIf: { showTime: [true] } },\n })\n timeFormat: string = 'HH:mm:ss';\n @Property('小时间隔', { ui: { visibleIf: { showTime: [true] } } })\n hourStep: number;\n @Property('分钟间隔', { ui: { visibleIf: { timeFormat: ['HH:mm:ss', 'HH:mm'] } } })\n minuteStep: number;\n @Property('秒间隔', { ui: { visibleIf: { timeFormat: ['HH:mm:ss'] } } })\n secondStep: number;\n @Property('提示语')\n alert = '请选择日期';\n @Property('是否禁用')\n disabled: boolean;\n @Property('不可选日期', {\n enum: [\n { label: '今天之后', value: 'after' },\n { label: '今天之前', value: 'before' },\n ],\n })\n disabledDate: string;\n @Property('清除按钮', { type: 'boolean', default: true })\n allowClear = true;\n\n @Data({ properties: { date: { title: '日期', type: 'string' }, endDate: { title: '结束日期', type: 'string' } } })\n data = [];\n @DataOutput('值')\n @Event('值改变', { params: { title: '值' } })\n dateChange = new EventEmitter<any>();\n @DataOutput('结束')\n @Event('结束值', { params: { title: '结束值' } })\n endDateChange = new EventEmitter<any>();\n @Event('输入', { params: { title: '值' } })\n inputDate = new EventEmitter<any>();\n @Event('输入结束时间', { params: { title: '结束值' } })\n inputEndDate = new EventEmitter<any>();\n @DataInput('值')\n date: any;\n dateRange = [];\n datePickerStyle: any;\n nzShowTime: SupportTimeOptions;\n nzDisabledDate: DisabledDateFn;\n // isEnglish = false;\n\n constructor(private i18n: NzI18nService) {}\n\n ngOnInit(): void {\n // this.initDefaultDate();\n }\n\n /**\n * {label: '当前', value: 'now'},\n {label: '昨天', value: 'yesterday'},\n {label: '明天', value: 'tomorrow'},\n {label: '本月', value: 'thisMonth'},\n {label: '上个月', value: 'lastMonth'},\n {label: '下个月', value: 'nextMonth'},\n {label: '本周', value: 'thisWeek'},\n {label: '上个月', value: 'lastWeek'},\n {label: '下个月', value: 'nextWeek'},\n {label: '今年', value: 'thisYear'},\n {label: '去年', value: 'lastYear'},\n {label: '明年', value: 'nextYear'},\n */\n initDefaultDate() {\n if (this.rangeMode) {\n const start = this.getDefaultDate(this.defaultDate);\n const end = this.getDefaultDate(this.defaultEndDate);\n this.date = [start, end];\n if (start || end) {\n this.onChange(this.date);\n }\n } else {\n this.date = this.getDefaultDate(this.defaultDate);\n if (this.date) {\n this.onChange(this.date);\n }\n }\n }\n\n getDefaultDate(defaultDate: string) {\n if (defaultDate) {\n const today = new Date();\n switch (defaultDate) {\n case 'now':\n return today;\n case 'today':\n return startOfDay(today);\n case 'yesterday':\n return addDays(startOfDay(today), -1);\n case 'tomorrow':\n return addDays(startOfDay(today), 1);\n case 'thisMonth':\n return startOfMonth(today);\n case 'lastMonth':\n return addMonths(startOfMonth(today), -1);\n case 'nextMonth':\n return addMonths(startOfMonth(today), 1);\n case 'thisYear':\n return startOfYear(today);\n case 'lastYear':\n return addYears(startOfYear(today), -1);\n case 'nextYear':\n return addYears(startOfYear(today), 1);\n case 'thisWeek':\n return addDays(startOfWeek(addDays(today, -1)), 1);\n case 'lastWeek':\n return addWeeks(addDays(startOfWeek(addDays(today, -1)), 1), -1);\n case 'nextWeek':\n return addWeeks(addDays(startOfWeek(addDays(today, -1)), 1), 1);\n }\n }\n return null;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.dateFormat && !this.dateFormat) {\n this.setDefaultFormat();\n }\n this.datePickerStyle = {\n borderColor: this.borderColor,\n backgroundColor: this.background,\n fontSize: this.font.size + 'px',\n fontFamily: this.font.family,\n color: this.font.color,\n fontWeight: this.font.weight,\n letterSpacing: this.font.space + 'px',\n height: this.height + 'px',\n backgroundSize: '100% 100%',\n lineHeight: this.font.lineHeight + 'px',\n };\n if (this.showTime) {\n this.nzShowTime = {\n nzFormat: this.timeFormat || 'HH:mm:ss',\n nzHourStep: this.hourStep,\n nzMinuteStep: this.minuteStep,\n nzSecondStep: this.secondStep,\n };\n }\n if (this.backImage) {\n this.datePickerStyle.backgroundImage = 'url(' + this.backImage + ')';\n }\n if (changes.rangeMode || changes.defaultDate || changes.defaultEndDate) {\n this.initDefaultDate();\n }\n if (changes.data) {\n this.updateData();\n }\n if (changes.disabledDate) {\n this.updateDisabledDate();\n }\n if (changes.value) {\n if (!this.date) {\n this.date = null;\n } else if (typeof this.date === 'string') {\n this.date = parse(this.date, this.dateFormat, new Date());\n }\n }\n }\n\n updateDisabledDate() {\n switch (this.disabledDate) {\n case 'after':\n this.nzDisabledDate = (current) => differenceInCalendarDays(current, new Date()) < 0;\n break;\n case 'before':\n this.nzDisabledDate = (current) => differenceInCalendarDays(current, new Date()) > 0;\n break;\n default:\n this.nzDisabledDate = null;\n }\n }\n\n updateData() {\n if (this.data?.length) {\n const { date, endDate } = this.data[0];\n const start = this.getDate(date);\n if (this.rangeMode) {\n const end = this.getDate(endDate);\n if (start || end) {\n this.date = [start || this.date[0], end || this.date[1]];\n this.onChange(this.date);\n }\n } else {\n if (start) {\n this.date = start;\n this.onChange(this.date);\n }\n }\n }\n }\n\n getDate(value: any) {\n if (value) {\n return new Date(value);\n } else {\n return null;\n }\n }\n\n onChange(result: Date, input?: boolean): void {\n if (!this.rangeMode) {\n const date = this.format(this.date);\n this.dateChange.emit(date);\n if (input) {\n this.inputDate.emit(date);\n }\n } else {\n // date=format(this.date[0], this.dateFormat)+'-'+format(this.date[1], this.dateFormat);\n const start = this.format(this.date[0]);\n const end = this.format(this.date[1]);\n this.dateChange.emit(start);\n this.endDateChange.emit(end);\n if (input) {\n this.inputDate.emit(start);\n this.inputEndDate.emit(end);\n }\n }\n }\n\n format(date: Date) {\n if (date) {\n return formatDate(date, this.dateFormat, this.i18n.getLocaleId());\n } else {\n return null;\n }\n }\n\n setDefaultFormat() {\n switch (this.selectMode) {\n case 'week':\n this.dateFormat = 'yyyy-ww';\n break;\n case 'month':\n // console.log(today);\n this.dateFormat = 'yyyy-MM';\n break;\n case 'year':\n this.dateFormat = 'yyyy';\n break;\n default:\n if (this.showTime) {\n this.dateFormat = 'yyyy-MM-dd HH:mm:ss';\n if (this.timeFormat) {\n switch (this.timeFormat) {\n case 'HH':\n this.dateFormat = 'yyyy-MM-dd HH:00:00';\n break;\n case 'HH:mm':\n this.dateFormat = 'yyyy-MM-dd HH:mm:00';\n break;\n }\n }\n } else {\n this.dateFormat = 'yyyy-MM-dd';\n }\n break;\n }\n }\n @Method('设置值')\n setValue(@Param('值') value: Date) {\n this.date = value;\n this.onChange(value);\n }\n\n // changeLanguage(): void {\n // this.i18n.setLocale(this.isEnglish ? zh_CN : en_US);\n // this.isEnglish = !this.isEnglish;\n // }\n\n exportWord() {\n return null;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DatePickerComponent} from './date-picker.component';\nimport {WidgetBaseModule, WidgetService} from 'bbj-widget-base';\nimport {NzDatePickerModule} from 'ng-zorro-antd/date-picker';\nimport {FormsModule} from '@angular/forms';\n\n\n@NgModule({\n declarations: [DatePickerComponent],\n imports: [CommonModule, WidgetBaseModule, NzDatePickerModule, FormsModule],\n exports: [DatePickerComponent]\n})\nexport class DatePickerModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(DatePickerComponent);\n }\n}\n","import { Component, EventEmitter, OnInit } from '@angular/core';\nimport { DataOutput, Property, Widget } from 'bbj-widget-base';\nimport { SFStringWidgetSchema } from '@delon/form';\nimport { format } from 'date-fns';\nimport { backgroundImage } from 'html2canvas/dist/types/css/property-descriptors/background-image';\n\n@Component({\n selector: 'sc-time-picker',\n templateUrl: './time-picker.component.html',\n styleUrls: ['./time-picker.component.less'],\n})\n@Widget('时间选择器', {\n group: 'component',\n image: 'assets/img/screen/time-picker.png',\n icon: 'icontubiao',\n})\nexport class TimePickerComponent implements OnInit {\n @Property('边框', {\n ui: {\n widget: 'myColor',\n example: ['#ffffff', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n borderColor = '#3285ff';\n @Property('背景图片', {\n type: 'string',\n ui: {\n widget: 'myUpload',\n }\n })\n backImage = null;\n @Property('高度')\n height: number = 30;\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = { family: '', color: '#3285ff', weight: 'normal', size: 12, space: 0, lineHeight: '' };\n @Property('填充', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n background = 'rgba(50,133,255,0.2)';\n @Property('时间格式', {\n timeFormat: {\n type: 'string',\n title: 'max',\n ui: {} as SFStringWidgetSchema,\n },\n required: ['timeFormat'],\n })\n timeFormat = 'HH:mm:ss';\n @Property('提示语')\n alert = '请选择时间';\n @DataOutput('值')\n timeChange = new EventEmitter<any>();\n time: Date | null = null;\n timePickerStyle: any;\n\n defaultOpenValue = new Date(0, 0, 0, 0, 0, 0);\n\n constructor() { }\n\n ngOnInit(): void {\n this.timePickerStyle = {\n borderColor: this.borderColor,\n backgroundColor: this.background,\n fontSize: this.font.size + 'px',\n fontFamily: this.font.family,\n color: this.font.color,\n fontWeight: this.font.weight,\n letterSpacing: this.font.space + 'px',\n lineHeight: this.font.lineHeight + 'px',\n height: this.height + 'px',\n backgroundImage: 'url('+this.backImage+')',\n backgroundSize:'100% 100%'\n };\n }\n\n onChange(result: Date) {\n let date = '';\n if (result !== null) {\n date = format(result, this.timeFormat);\n }\n this.timeChange.emit(date);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TimePickerComponent } from './time-picker.component';\nimport {WidgetBaseModule, WidgetService} from 'bbj-widget-base';\nimport { NzTimePickerModule } from 'ng-zorro-antd/time-picker';\nimport {FormsModule} from '@angular/forms';\n\n\n\n\n@NgModule({\n declarations: [TimePickerComponent],\n imports: [CommonModule, WidgetBaseModule, NzTimePickerModule,FormsModule],\n})\nexport class TimePickerModule {\n constructor(widgetService: WidgetService){\n widgetService.register(TimePickerComponent);\n }\n}\n","import { HttpClient } from '@angular/common/http';\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n NgZone,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n SimpleChanges,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { take, takeUntil } from 'rxjs/operators';\r\nimport { ScaleSubject, TemplateUtil, WidgetRef } from 'bbj-widget-base';\r\nimport { Data, DataOutput, Property, Widget, Event } from 'bbj-widget-base';\r\nimport { BaiduMapService } from 'bbj-screen-widget/core';\r\n\r\n// declare const BMap;\r\ndeclare const BMapGL: any;\r\n// declare const BMapGLLib;\r\n// declare const BMapLib;\r\n// declare const BMAP_ANCHOR_BOTTOM_LEFT: number;\r\ndeclare const BMAP_ANCHOR_TOP_LEFT: number;\r\ndeclare const mapvgl: any;\r\ndeclare const BMAP_SATELLITE_MAP: number;\r\ndeclare const BMAP_NORMAL_MAP: number;\r\nconst MapTypeEnum = [\r\n { label: '普通', value: 'normal' },\r\n { label: '深色', value: 'dark' },\r\n { label: '卫星', value: 'satellite' },\r\n { label: '自定义', value: 'custom' },\r\n];\r\n@Component({\r\n selector: 'sc-custom-baidu-map',\r\n templateUrl: './custom-baidu-map.component.html',\r\n styleUrls: ['./custom-baidu-map.component.less'],\r\n})\r\n@Widget('百度地图', {\r\n group: 'component',\r\n image: 'assets/img/screen/my-baidu-map.png',\r\n children: [\r\n {\r\n title: '标记层',\r\n type: 'sc-baidu-marker-layer',\r\n option: {},\r\n hidden: true,\r\n hideChild: true,\r\n },\r\n ],\r\n childTypes: ['sc-baidu-marker-layer', 'sc-baidu-polyline-layer', 'sc-wind-layer', 'sc-typhoon-area-layer'],\r\n description: 'hasChildItem',\r\n} as any)\r\nexport class CustomBaiduMapComponent implements OnInit, OnDestroy, OnChanges {\r\n // @Property('字体', { ui: { widget: 'myFont' } })\r\n // font: any = {\r\n // family: '',\r\n // color: '#000000',\r\n // weight: 'normal',\r\n // size: 16,\r\n // space: 0,\r\n // lineHeight: 0,\r\n // };\r\n @Property('地图类型', {\r\n enum: MapTypeEnum,\r\n })\r\n mapType = 'normal';\r\n mapTypeValue: string;\r\n @Property('上传样式', { type: 'string', ui: { widget: 'myUploadAudio', visibleIf: { mapType: ['custom'] } } })\r\n uploadStyle: string;\r\n @Property('切换按钮')\r\n showMapTypeRadio: boolean;\r\n @Property('全景地图', { type: 'boolean' })\r\n minMapShow = false;\r\n @Property('显示信息', {\r\n ui: { widget: 'select' },\r\n enum: [\r\n { label: '点击', value: 'click' },\r\n { label: '悬停', value: 'mouseover' },\r\n ],\r\n })\r\n showType = 'click';\r\n @Property('信息窗背景', { ui: { widget: 'myColor' } })\r\n infoWindowBackground: string;\r\n @Property('信息窗字体', { ui: { widget: 'myColor' } })\r\n infoWindowColor: string;\r\n @Property('信息窗宽度')\r\n infoWindowWidth: number;\r\n @Property('信息窗高度')\r\n infoWindowHeight: number;\r\n @Property('信息窗模板', { ui: { widget: 'textarea' } })\r\n infoWindowTemplate: string;\r\n @Property('信息窗边框', {\r\n ui: { widget: 'myColor' },\r\n example: ['#ffffff', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\r\n })\r\n infoWindowBorderColor: string;\r\n @Property('隐藏尖角')\r\n @HostBinding('class.hideInfoWindowTail')\r\n hideInfoWindowTail: boolean;\r\n @Property('隐藏关闭按钮')\r\n @HostBinding('class.hideInfoWindowTop')\r\n hideInfoWindowTop: boolean;\r\n @Property('地图拖动', { type: 'boolean' })\r\n dragging = true;\r\n\r\n @Property('遮罩颜色', {\r\n ui: { widget: 'myColor' },\r\n example: ['#ffffff', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\r\n })\r\n shadeColor = '#004395';\r\n @Property('背景颜色', {\r\n ui: { widget: 'myColor' },\r\n example: ['#ffffff', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\r\n })\r\n mapBackColor: string;\r\n\r\n @Property('多边线色', {\r\n ui: { widget: 'myColor' },\r\n example: ['#ffffff', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\r\n })\r\n mapCityColor = '#41b7ff';\r\n @Property('地图缩放', {\r\n ui: { widget: 'myRange', min: 1, max: 40, step: 1 },\r\n })\r\n zoom = 12;\r\n // @Property('放大比例', { type: 'number' })\r\n // scale = 1;\r\n @Property('遮罩透明', { type: 'number' })\r\n fillOpacity = 0;\r\n @Property('多边线粗', { type: 'number' })\r\n strokesize = 2;\r\n @Property('黑夜模式', { type: 'boolean', ui: { hidden: true } })\r\n nightMode = false;\r\n @Property('3D视角')\r\n enable3D: boolean;\r\n @Property('定位控件')\r\n showLocationControl: boolean;\r\n @Property('初始角度', { type: 'number', ui: { visibleIf: { enable3D: [true] } } })\r\n tilt = 73;\r\n // @Property('中心经度', {\r\n // ui: {widget: 'myRange', min: -180, max: 180, step: 1},\r\n // })\r\n centerLng = 120.7;\r\n // @Property('中心纬度', {\r\n // ui: {widget: 'myRange', min: -90, max: 90, step: 1},\r\n // })\r\n centerLat = 28;\r\n @Property('显示省市', {\r\n ui: {\r\n widget: 'myUrlSelect',\r\n allowClear: true,\r\n url: '/assets/mapListItem.json',\r\n },\r\n })\r\n cityName = null;\r\n point: any;\r\n\r\n // _data = [\r\n // {\r\n // options: {\r\n // icon: {\r\n // imageUrl: 'assets/img/screen/number-flop.png',\r\n // size: {\r\n // height: 260,\r\n // width: 250\r\n // }\r\n // }\r\n // },\r\n // point: {\r\n // lng: 120.7, // 经度\r\n // lat: 28, // 纬度\r\n // }\r\n // },\r\n // ];\r\n // 文字标注\r\n\r\n public text: string;\r\n // _children = [];\r\n type: string;\r\n map: any;\r\n edit: boolean;\r\n // markerTierClick: any;\r\n // pingyang = '';\r\n // ruian = '';\r\n @Data({\r\n properties: {\r\n lng: { type: 'number', title: '经度' },\r\n lat: { type: 'number', title: '纬度' },\r\n },\r\n })\r\n _data: any[] = [{ lng: 120.7, lat: 28 }];\r\n @DataOutput(['lng', 'lat'])\r\n @Event('中心点改变', {\r\n params: { properties: { lng: { title: '经度', type: 'number' }, lat: { title: '纬度', type: 'number' } } },\r\n })\r\n dataChange = new EventEmitter<any>();\r\n\r\n @DataOutput('缩放等级')\r\n @Event('缩放', {\r\n params: '缩放等级',\r\n })\r\n zoomChange = new EventEmitter<any>();\r\n @Event('地图点击', {\r\n params: { properties: { lng: { title: '经度', type: 'number' }, lat: { title: '纬度', type: 'number' } } },\r\n })\r\n mapClick = new EventEmitter<any>();\r\n\r\n @ViewChild('container', { static: true })\r\n container: ElementRef;\r\n children: any[];\r\n destroy$ = new Subject();\r\n destroyed: boolean;\r\n // containerStyle: any = {};\r\n // unloadedChildren = {};\r\n overlaysMap = {};\r\n\r\n // @HostBinding('class.hideInfoWindowTail')\r\n // hideInfoWindowTail: boolean;\r\n\r\n private inited: (map: any) => void;\r\n init$ = new Promise((resolve) => {\r\n this.inited = resolve;\r\n });\r\n view: any;\r\n pickerEvent: any;\r\n pickerItem: any;\r\n pickerTimeout: any;\r\n mapTypeEnum = MapTypeEnum.slice(0, 3);\r\n darkStyle: any;\r\n firstOpen: boolean;\r\n firstOpenPromise: Promise<void>;\r\n constructor(\r\n private baiduMapService: BaiduMapService,\r\n private http: HttpClient,\r\n private elementRef: ElementRef,\r\n private zone: NgZone,\r\n @Optional() private scale$: ScaleSubject,\r\n private cd: ChangeDetectorRef,\r\n private widgetRef: WidgetRef,\r\n ) {}\r\n\r\n get element(): HTMLElement {\r\n return this.elementRef.nativeElement;\r\n }\r\n\r\n addLayer(layer: any) {\r\n if (this.view) {\r\n this.view.addLayer(layer);\r\n }\r\n }\r\n\r\n removeLayer(layer: any) {\r\n if (this.view) {\r\n this.view.removeLayer(layer);\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes._data && this._data[0]) {\r\n this.centerLng = +this._data[0].lng;\r\n this.centerLat = +this._data[0].lat;\r\n this.setCenter(this.centerLng, this.centerLat);\r\n }\r\n }\r\n\r\n async ngOnInit() {\r\n if (this.scale$) {\r\n // 这是为了解决地图缩放中心不在鼠标所在位置的问题\r\n this.scale$.pipe(takeUntil(this.destroy$)).subscribe((scale) => {\r\n const { x: sx, y: sy, scaleContent } = scale as any;\r\n const style = this.element.style;\r\n if (scaleContent === false) {\r\n this.zone.onStable.pipe(take(1)).subscribe(() => {\r\n const parent = this.element.parentNode as HTMLElement;\r\n if (parent) {\r\n const match = /translate\\(([-\\d.]+)px, ([-\\d.]+)px\\)/.exec(parent.style.transform);\r\n if (match) {\r\n const offsetX = parseFloat(match[1]);\r\n const offsetY = parseFloat(match[2]);\r\n style.transform = `translate(${-offsetX}px,${-offsetY}px)`;\r\n style.height = parent.clientHeight + offsetY + 'px';\r\n style.width = parent.clientWidth + offsetX + 'px';\r\n style.padding = `${offsetY}px 0 0 ${offsetX}px`;\r\n // this.containerStyle = {\r\n // transformOrigin: `0 0`,\r\n // transform: `translate(${-offsetX}px,${-offsetY}px)`,\r\n // height: parent.clientHeight + offsetY + 'px',\r\n // width: parent.clientWidth + offsetX + 'px',\r\n // padding: `${offsetY}px 0 0 ${offsetX}px`,\r\n // };\r\n }\r\n }\r\n\r\n // this.cd.markForCheck();\r\n });\r\n } else {\r\n const { position, size } = this.widgetRef.widget as any;\r\n const { x, y } = position;\r\n const { width, height } = size;\r\n style.transform = `translate(${-x}px,${-y}px) scale(${1 / sx},${1 / sy})`;\r\n style.height = (y + height) * sy + 'px';\r\n style.width = (x + width) * sx + 'px';\r\n style.padding = `${y * sy}px 0 0 ${x * sx}px`;\r\n }\r\n\r\n // this.cd.markForCheck();\r\n });\r\n }\r\n await this.initMap();\r\n }\r\n\r\n async initMap() {\r\n await this.baiduMapService.loadMapGL();\r\n await this.baiduMapService.loadMapVGL();\r\n this.mapTypeValue = this.mapType;\r\n // 兼容老的配置\r\n if (this.mapType == null) {\r\n if (this.uploadStyle) {\r\n this.mapTypeValue = 'custom';\r\n } else if (this.nightMode) {\r\n this.mapTypeValue = 'dark';\r\n }\r\n }\r\n if (!this.destroyed) {\r\n this.zone.runOutsideAngular(() => {\r\n this.map = new BMapGL.Map(this.container.nativeElement, { restrictCenter: false });\r\n this.map.centerAndZoom(new BMapGL.Point(this.centerLng, this.centerLat), this.zoom); // 设置中心点和缩放级别\r\n this.map.enableScrollWheelZoom(); // 启用滚轮进行缩放功能\r\n // var dist = new BMapGL.DistrictLayer({\r\n // name: '(温州市)',\r\n // kind: 1,\r\n // fillColor: '#fff',\r\n // fillOpacity: 0.1,\r\n // strokeColor: '#daeafa',\r\n // viewport: true,\r\n // });\r\n // this.map.addDistrictLayer(dist);\r\n this.mapTypeChange(this.mapTypeValue);\r\n if (this.edit || this.dragging === false) {\r\n this.map.disableDragging();\r\n }\r\n if (this.enable3D) {\r\n this.map.setTilt(this.tilt == null ? 73 : this.tilt, { noAnimation: true });\r\n this.map.setDisplayOptions({ skyColors: ['rgba(0, 0, 0, 0)'] }); // 隐藏天空\r\n // const navi3DCtrl = new BMapGL.NavigationControl3D(); // 添加3D控件\r\n // this.map.addControl(navi3DCtrl);\r\n } else {\r\n this.map.disableTilt();\r\n this.map.disableRotate();\r\n }\r\n if (this.showLocationControl) {\r\n const options = {\r\n // 控件的停靠位置(可选,默认左上角)\r\n anchor: BMAP_ANCHOR_TOP_LEFT,\r\n // 控件基于停靠位置的偏移量(可选)\r\n offset: new BMapGL.Size(20, 20),\r\n };\r\n let locationControl = new BMapGL.LocationControl(options);\r\n // 将控件添加到地图上\r\n this.map.addControl(locationControl);\r\n }\r\n if (this.minMapShow) {\r\n const stCtrl = new BMapGL.PanoramaControl();\r\n stCtrl.setOffset(new BMapGL.Size(20, 20));\r\n this.map.addControl(stCtrl);\r\n }\r\n if (this.infoWindowBackground) {\r\n this.element.style.setProperty('--info-window-background', this.infoWindowBackground);\r\n }\r\n if (this.infoWindowColor) {\r\n this.element.style.setProperty('--info-window-color', this.infoWindowColor);\r\n }\r\n if (this.infoWindowBorderColor) {\r\n this.element.style.setProperty('--info-window-border-color', this.infoWindowBorderColor);\r\n }\r\n this.map.addEventListener('moveend', (event) => {\r\n const center = this.map.getCenter();\r\n this.dataChange.emit(center);\r\n });\r\n this.map.addEventListener('click', (event) => {\r\n this.mapClick.emit(event.pointer);\r\n });\r\n this.map.addEventListener('zoomend', (event) => {\r\n this.zoomChange.emit(this.map.getZoom());\r\n this.dataChange.emit(this.map.getCenter());\r\n });\r\n this.view = new mapvgl.View({\r\n map: this.map,\r\n });\r\n this.mapLoaded(this.map);\r\n });\r\n this.inited(this.map);\r\n }\r\n }\r\n\r\n setCenter(lng: number, lat: number) {\r\n if (this.map && lng && lat) {\r\n const center = this.map.getCenter();\r\n if (center.lng != lng || center.lat != lat) {\r\n this.setCenterAndZoom(lng, lat, this.map.getZoom());\r\n }\r\n }\r\n }\r\n\r\n setCenterAndZoom(lng: number, lat: number, zoom: number) {\r\n const center = this.map.getCenter();\r\n const currentZoom = this.map.getZoom();\r\n // 误差范围内不移动,防止背景抖动\r\n if (zoom != currentZoom || Math.abs(lng - center.lng) > 1e-13 || Math.abs(lat - center.lat) > 1e-7) {\r\n const point = new BMapGL.Point(lng, lat);\r\n this.map.centerAndZoom(point, zoom, { tilt: this.map.getTilt() });\r\n }\r\n }\r\n\r\n /**\r\n * 根据经纬度范围设置中心和缩放等级\r\n * @param minLng\r\n * @param maxLng\r\n * @param minLat\r\n * @param maxLat\r\n */\r\n setRectCenterAndZoom(minLng: number, maxLng: number, minLat: number, maxLat: number) {\r\n this.setCenterAndZoom((maxLng + minLng) / 2, (maxLat + minLat) / 2, this.getZoom(maxLng, minLng, maxLat, minLat));\r\n }\r\n\r\n getZoom(maxLng: number, minLng: number, maxLat: number, minLat: number) {\r\n const zooms = [\r\n 50, 100, 200, 500, 1000, 2000, 5000, 10000, 20000, 25000, 50000, 100000, 200000, 500000, 1000000, 2000000,\r\n ]; //级别18到3。\r\n const pointA = new BMapGL.Point(maxLng, maxLat); // 创建点坐标A\r\n const pointB = new BMapGL.Point(minLng, minLat); // 创建点坐标B\r\n const distance = +this.map.getDistance(pointA, pointB).toFixed(1); //获取两点距离,保留小数点后两位\r\n const i = zooms.findIndex((zoom) => zoom - distance > 0);\r\n if (i === -1) {\r\n return 5;\r\n }\r\n //之所以会多3,是因为地图范围常常是比例尺距离的10倍以上。所以级别会增加3。\r\n return 18 - i + 3;\r\n }\r\n\r\n openInfoWindow(data: any, lng: number, lat: number) {\r\n if (data.information || this.infoWindowTemplate) {\r\n const point = new BMapGL.Point(+lng, +lat);\r\n // let offsetY = -25;\r\n // if (this.hideInfoWindowTail) {\r\n // offsetY = 0;\r\n // }\r\n let information = data.information;\r\n if (this.infoWindowTemplate) {\r\n information = TemplateUtil.parse(this.infoWindowTemplate, data);\r\n }\r\n const options = {\r\n offset: new BMapGL.Size(0, 0),\r\n width: this.infoWindowWidth || 0,\r\n height: this.infoWindowHeight || 0,\r\n };\r\n const infoWindow = new BMapGL.InfoWindow(information, options);\r\n // 第一次打开信息窗口后在短时间关闭或重新打开会导致click事件失效,临时解决方案是第一次打开后0.5秒内不关闭\r\n if (!this.firstOpen) {\r\n if (this.firstOpenPromise) {\r\n this.firstOpenPromise.then(() => {\r\n this.map.openInfoWindow(infoWindow, point);\r\n });\r\n } else {\r\n this.firstOpenPromise = new Promise<void>((resolve) => {\r\n setTimeout(() => {\r\n this.firstOpen = true;\r\n this.firstOpenPromise = null;\r\n resolve();\r\n }, 500);\r\n });\r\n this.map.openInfoWindow(infoWindow, point);\r\n }\r\n const rawClose = infoWindow.close;\r\n infoWindow.close = () => {\r\n if (this.firstOpenPromise) {\r\n this.firstOpenPromise.then(() => rawClose.call(infoWindow));\r\n } else {\r\n rawClose.call(infoWindow);\r\n }\r\n };\r\n } else {\r\n this.map.openInfoWindow(infoWindow, point);\r\n }\r\n return infoWindow;\r\n }\r\n }\r\n\r\n getCanvasOverlay(child: any) {\r\n let canvasOverlay;\r\n if (this.enable3D) {\r\n const item = child.item;\r\n if (item) {\r\n var pStart = new BMapGL.Point(item.start.lng, item.start.lat);\r\n var pEnd = new BMapGL.Point(item.end.lng, item.end.lat);\r\n var bounds = new BMapGL.Bounds(new BMapGL.Point(pStart.lng, pEnd.lat), new BMapGL.Point(pEnd.lng, pStart.lat));\r\n canvasOverlay = new BMapGL.GroundOverlay(bounds, {\r\n type: 'canvas',\r\n url: item.canvas,\r\n opacity: 1,\r\n });\r\n }\r\n } else {\r\n const pointToPixel = (data) => {\r\n const point = new BMapGL.Point(data.lng, data.lat);\r\n return this.map.pointToPixel(point);\r\n };\r\n canvasOverlay = new BMapGL.CanvasLayer({\r\n paneName: 'markerShadow',\r\n update: function () {\r\n var ctx = this.canvas.getContext('2d');\r\n if (!ctx) {\r\n return;\r\n }\r\n ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);\r\n child.update(ctx, pointToPixel);\r\n },\r\n });\r\n }\r\n return canvasOverlay;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n this.destroyed = true;\r\n if (this.view) {\r\n try {\r\n this.view.destroy();\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n if (this.map) {\r\n try {\r\n this.map.destroy();\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n }\r\n\r\n async mapLoaded(map: any) {\r\n if (this.cityName) {\r\n if (this.cityName === '温州') {\r\n this.cityName = 'wenzhou';\r\n }\r\n const json: any = await this.http.get('assets/echarts/map/json/' + this.cityName + '.json').toPromise();\r\n const polygonData = [];\r\n let encodeScale = json.UTF8Scale || 1024;\r\n json.features.forEach(({ geometry }) => {\r\n geometry.coordinates = (geometry.coordinates as any[]).forEach((coordinate, i) => {\r\n if (geometry.type === 'MultiPolygon') {\r\n const coordinates = (coordinate as any[]).map((points, j) => {\r\n if (json.UTF8Encoding) {\r\n points = this.decodePolygon(points, geometry.encodeOffsets[i][j], encodeScale);\r\n }\r\n return points;\r\n });\r\n polygonData.push(coordinates);\r\n } else {\r\n if (json.UTF8Encoding) {\r\n coordinate = this.decodePolygon(coordinate, geometry.encodeOffsets[i], encodeScale);\r\n }\r\n polygonData.push([coordinate]);\r\n }\r\n });\r\n });\r\n const data = [\r\n {\r\n geometry: {\r\n type: 'MultiPolygon',\r\n coordinates: polygonData,\r\n },\r\n },\r\n ];\r\n var layer = new mapvgl.PolygonLayer({\r\n lineColor: this.mapCityColor,\r\n lineWidth: this.strokesize || 2,\r\n fillColor: this.shadeColor,\r\n data,\r\n renderOrder: -2,\r\n });\r\n this.view.addLayer(layer);\r\n if (this.mapBackColor && !this.mapBackColor.match(/rgba\\(\\d+,\\d+,\\d+,0\\)/)) {\r\n var maskLayer = new mapvgl.MaskLayer({\r\n color: this.mapBackColor,\r\n data,\r\n renderOrder: -3,\r\n });\r\n this.view.addLayer(maskLayer);\r\n }\r\n }\r\n }\r\n\r\n decodePolygon(coordinate: string, encodeOffsets: number[], encodeScale: number) {\r\n const result = [];\r\n let prevX = encodeOffsets[0];\r\n let prevY = encodeOffsets[1];\r\n\r\n for (let i = 0; i < coordinate.length; i += 2) {\r\n var x = coordinate.charCodeAt(i) - 64;\r\n var y = coordinate.charCodeAt(i + 1) - 64;\r\n // ZigZag decoding\r\n x = (x >> 1) ^ -(x & 1);\r\n y = (y >> 1) ^ -(y & 1);\r\n // Delta deocding\r\n x += prevX;\r\n y += prevY;\r\n\r\n prevX = x;\r\n prevY = y;\r\n // Dequantize\r\n result.push([x / encodeScale, y / encodeScale]);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n async mapTypeChange(mapType: string) {\r\n switch (mapType) {\r\n case 'dark':\r\n if (!this.darkStyle) {\r\n this.darkStyle = await this.http.get('assets/echarts/map/json/custom_map.json').toPromise();\r\n }\r\n this.map.setMapType(BMAP_NORMAL_MAP);\r\n this.map.setMapStyleV2({ styleJson: this.darkStyle });\r\n break;\r\n case 'satellite':\r\n this.map.setMapType(BMAP_SATELLITE_MAP);\r\n break;\r\n case 'custom':\r\n if (this.uploadStyle) {\r\n const styleJson = await this.http.get(this.uploadStyle).toPromise();\r\n this.map.setMapType(BMAP_NORMAL_MAP);\r\n this.map.setMapStyleV2({ styleJson });\r\n }\r\n break;\r\n default:\r\n this.map.setMapType(BMAP_NORMAL_MAP);\r\n this.map.setMapStyleV2({ styleJson: null });\r\n }\r\n }\r\n}\r\n","import { Component, OnChanges, OnDestroy, OnInit } from '@angular/core';\nimport { SFArrayWidgetSchema } from '@delon/form';\nimport { Data, Property, Widget } from 'bbj-widget-base';\nimport { CustomBaiduMapComponent } from '../custom-baidu-map.component';\ndeclare const BMapGL;\n\n@Component({\n selector: 'sc-wind-layer',\n templateUrl: './wind-layer.component.html',\n styleUrls: ['./wind-layer.component.less'],\n})\n@Widget('台风层', {\n group: 'component',\n image: '',\n icon: '',\n hidden: true,\n})\nexport class WindLayerComponent implements OnInit, OnChanges, OnDestroy {\n @Property('清晰度', { type: 'number' })\n sharpness = 1000;\n @Property('标记分组', {\n type: 'array',\n title: '标记分组',\n maxItems: 10,\n items: {\n type: 'object',\n properties: {\n group: {\n type: 'string',\n title: '分组',\n },\n color: {\n type: 'string',\n title: '颜色',\n ui: { widget: 'myColor' },\n },\n borderColor: {\n type: 'string',\n title: '线条颜色',\n ui: { widget: 'myColor' },\n },\n borderWidth: {\n type: 'number',\n title: '线条粗细',\n },\n shadowColor: {\n type: 'string',\n title: '阴影颜色',\n ui: { widget: 'myColor' },\n },\n image: {\n type: 'string',\n title: '中心图片',\n ui: { widget: 'myUpload' },\n },\n },\n },\n ui: { grid: { arraySpan: 24 }, spanControl: 24 } as SFArrayWidgetSchema,\n })\n groups: any = [\n {\n group: '3',\n color: 'rgba(62,194,35,0.4)',\n borderColor: '#60db91',\n borderWidth: 1,\n shadowColor: 'rgba(96,219,145,0.2)',\n },\n {\n group: '2',\n color: 'rgba(255,101,41,0.4)',\n borderColor: '#ff7b48',\n borderWidth: 1,\n shadowColor: 'rgba(255,166,51,0.2)',\n },\n {\n group: '1',\n color: 'rgba(243,68,68,0.4)',\n borderColor: '#ff3355',\n borderWidth: 1,\n shadowColor: 'rgba(255,51,85,0.2)',\n image: '/assets/img/screen/typhoon.png',\n },\n ];\n @Data({\n properties: {\n lng: { type: 'number', title: '经度' },\n lat: { type: 'number', title: '纬度' },\n r: { type: 'number', title: '半径' },\n group: { type: 'string', title: '分组' },\n },\n })\n data: any[] = [\n {\n lng: 121.3,\n lat: 27.4,\n group: '3',\n r: 160,\n },\n {\n lng: 119.5,\n lat: 29.97,\n group: '3',\n r: 160,\n },\n {\n lng: 120.52,\n lat: 33.93,\n group: '3',\n r: 75,\n },\n {\n lng: 121.3,\n lat: 27.4,\n group: '2',\n r: 80,\n },\n {\n lng: 119.5,\n lat: 29.97,\n group: '2',\n r: 80,\n },\n {\n lng: 120.52,\n lat: 33.93,\n group: '2',\n r: 50,\n },\n {\n lng: 121.3,\n lat: 27.4,\n group: '1',\n r: 40,\n },\n {\n lng: 119.5,\n lat: 29.97,\n group: '1',\n r: 40,\n },\n {\n lng: 120.52,\n lat: 33.93,\n group: '1',\n r: 25,\n },\n ];\n id: string;\n canvasOverlay: any;\n constructor(private parent: CustomBaiduMapComponent) {}\n\n ngOnInit(): void {}\n\n async ngOnChanges() {\n this.updateOverlay();\n // if ((this.parent as any).enable3D) {\n\n // } else {\n // this.parent.childInit({\n // id: this.id,\n // type: 'canvas',\n // update: this.updateCanvas,\n // });\n // }\n }\n\n async updateOverlay() {\n await this.parent.init$;\n this.remove();\n const canvas = this.getCanvas();\n this.addCanvasOverlay(canvas);\n }\n\n addCanvasOverlay(item: any) {\n if (item) {\n var pStart = new BMapGL.Point(item.start.lng, item.start.lat);\n var pEnd = new BMapGL.Point(item.end.lng, item.end.lat);\n var bounds = new BMapGL.Bounds(\n new BMapGL.Point(pStart.lng, pEnd.lat),\n new BMapGL.Point(pEnd.lng, pStart.lat),\n );\n this.canvasOverlay = new BMapGL.GroundOverlay(bounds, {\n type: 'canvas',\n url: item.canvas,\n opacity: 1,\n });\n this.parent.map.addOverlay(this.canvasOverlay);\n }\n // return canvasOverlay;\n }\n\n ngOnDestroy(): void {\n this.remove();\n // this.parent.deleteChild(this.id);\n }\n\n remove() {\n if (this.canvasOverlay) {\n this.parent.map.removeOverlay(this.canvasOverlay);\n this.canvasOverlay = null;\n }\n }\n\n getCanvas() {\n // const images = {};\n // if (this.groups?.length) {\n // for (const group of this.groups) {\n // if (group.image) {\n // images[group.image] = await this.loadImage(group.image);\n // }\n // }\n // }\n // console.log(this.data);\n if (this.data && this.data.length >= 3) {\n let startLng = 180;\n let startLat = 90;\n let endLng = -180;\n let endLat = -90;\n const data = this.data.map((record) => {\n const r = (+record.r * 180) / Math.PI / 6371.393;\n startLng = Math.min(startLng, +record.lng - r);\n startLat = Math.min(startLat, +record.lat - r);\n endLng = Math.max(endLng, +record.lng + r);\n endLat = Math.max(endLat, +record.lat + r);\n return { ...record, r };\n });\n const sharpness = this.sharpness || 1000;\n const multiple = Math.min(sharpness / (endLng - startLng), sharpness / (endLat - startLat));\n const c = document.createElement('canvas');\n c.width = Math.round((endLng - startLng) * multiple);\n c.height = Math.round((endLat - startLat) * multiple);\n const groups = {};\n data.forEach((record) => {\n const group = record.group;\n if (group) {\n let points: any[] = groups[group];\n if (!points) {\n points = [];\n groups[group] = points;\n }\n points.push({\n x: (+record.lng - startLng) * multiple,\n y: (endLat - +record.lat) * multiple,\n r: record.r * multiple,\n });\n }\n });\n this.groups.forEach((group) => {\n const points = groups[group.group];\n if (points?.length >= 3) {\n const ctx = c.getContext('2d');\n const p1 = points[0];\n const p2 = points[Math.floor(points.length / 2)];\n const p3 = points[points.length - 1];\n var gnt = ctx.createRadialGradient(p1.x, p1.y, 0, p1.x, p1.y, p1.r);\n // gnt.addColorStop(1, 'green');\n // gnt.addColorStop(0, 'green');\n gnt.addColorStop(1, group.shadowColor || 'green');\n gnt.addColorStop(0, 'rgba(0,0,0,0)');\n ctx.fillStyle = gnt;\n ctx.beginPath();\n ctx.arc(p1.x, p1.y, p1.r, 0, Math.PI * 2, true);\n ctx.closePath();\n ctx.fill();\n const getTangency = (p1, p2) => {\n const l = Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n return { x: p2.x + (p2.r * (p1.y - p2.y)) / l, y: p2.y + (p2.r * (p2.x - p1.x)) / l };\n };\n ctx.beginPath();\n let start = Math.atan((p2.x - p1.x) / (p1.y - p2.y));\n ctx.arc(p1.x, p1.y, p1.r, start - Math.PI, start, false);\n let t = getTangency(p1, p2);\n // ctx.lineTo(t.x, t.y);\n let t2 = getTangency(p2, p3);\n ctx.quadraticCurveTo(t.x, t.y, t2.x, t2.y);\n // ctx.lineTo(t.x, t.y);\n start = Math.atan((p3.x - p2.x) / (p2.y - p3.y));\n ctx.arc(p3.x, p3.y, p3.r, start, start + Math.PI, true);\n t = getTangency(p3, p2);\n t2 = getTangency(p2, p1);\n ctx.quadraticCurveTo(t.x, t.y, t2.x, t2.y);\n // ctx.lineTo(t.x, t.y);\n ctx.closePath();\n ctx.fillStyle = group.color || 'green';\n ctx.fill();\n ctx.lineWidth = group.borderWidth || 1;\n ctx.beginPath();\n ctx.arc(p1.x, p1.y, p1.r, 0, Math.PI * 2, true);\n ctx.closePath();\n ctx.strokeStyle = group.borderColor || 'green';\n ctx.stroke();\n // if (group.image && images[group.image]) {\n // const imageSize = p1.r * 0.8;\n // ctx.drawImage(images[group.image], p1.x - imageSize, p1.y - imageSize, imageSize * 2, imageSize * 2);\n // }\n }\n });\n // const points = this.data.map((record) => {\n // return {\n // x: (+record.lng - startLng) * multiple,\n // y: (endLat - +record.lat) * multiple,\n // r: record.r * multiple,\n // };\n // });\n // c.toBlob((blob)=>{\n // FileSaver.saveAs(blob,'typhoon.png')\n // })\n\n return {\n start: {\n lng: startLng,\n lat: startLat,\n },\n end: {\n lng: endLng,\n lat: endLat,\n },\n canvas: c,\n };\n }\n }\n\n // updateCanvas = (ctx: CanvasRenderingContext2D, pointToPixel: Function) => {\n // if (this.data && this.data.length >= 3) {\n // const data = this.data.map((record) => {\n // const r = (+record.r * 180) / Math.PI / 6371.393;\n // return { lat: +record.lat, lng: +record.lng, r, group: record.group };\n // });\n\n // const groups = {};\n // data.forEach((record) => {\n // const group = record.group;\n // if (group) {\n // let points: any[] = groups[group];\n // if (!points) {\n // points = [];\n // groups[group] = points;\n // }\n // const pixel = pointToPixel(record);\n // const pixel2 = pointToPixel({ lat: record.lat, lng: record.lng + record.r });\n // points.push({\n // x: pixel.x,\n // y: pixel.y,\n // r: pixel2.x - pixel.x,\n // });\n // }\n // });\n // this.groups.forEach((group) => {\n // const points = groups[group.group];\n // if (points?.length >= 3) {\n // const p1 = points[0];\n // const p2 = points[Math.floor(points.length / 2)];\n // const p3 = points[points.length - 1];\n // var gnt = ctx.createRadialGradient(p1.x, p1.y, 0, p1.x, p1.y, p1.r);\n\n // gnt.addColorStop(1, group.shadowColor || 'green');\n // gnt.addColorStop(0, 'rgba(0,0,0,0)');\n // ctx.fillStyle = gnt;\n // ctx.beginPath();\n // ctx.arc(p1.x, p1.y, p1.r, 0, Math.PI * 2, true);\n // ctx.closePath();\n // ctx.fill();\n // const getTangency = (p1, p2) => {\n // const l = Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n // return { x: p2.x + (p2.r * (p1.y - p2.y)) / l, y: p2.y + (p2.r * (p2.x - p1.x)) / l };\n // };\n // ctx.beginPath();\n // let start = Math.atan((p2.x - p1.x) / (p1.y - p2.y));\n // ctx.arc(p1.x, p1.y, p1.r, start - Math.PI, start, false);\n // let t = getTangency(p1, p2);\n // let t2 = getTangency(p2, p3);\n // ctx.quadraticCurveTo(t.x, t.y, t2.x, t2.y);\n // start = Math.atan((p3.x - p2.x) / (p2.y - p3.y));\n // ctx.arc(p3.x, p3.y, p3.r, start, start + Math.PI, true);\n // t = getTangency(p3, p2);\n // t2 = getTangency(p2, p1);\n // ctx.quadraticCurveTo(t.x, t.y, t2.x, t2.y);\n // ctx.closePath();\n // ctx.fillStyle = group.color || 'green';\n // ctx.fill();\n // ctx.lineWidth = group.borderWidth || 1;\n // ctx.beginPath();\n // ctx.arc(p1.x, p1.y, p1.r, 0, Math.PI * 2, true);\n // ctx.closePath();\n // ctx.strokeStyle = group.borderColor || 'green';\n // ctx.stroke();\n // }\n // });\n // }\n // };\n\n // loadImage(url: string): Promise<HTMLElement> {\n // return new Promise((resolve, reject) => {\n // const image = new Image();\n // image.src = url;\n // image.onload = () => {\n // resolve(image);\n // };\n // image.onerror = (e) => {\n // resolve(null);\n // };\n // });\n // }\n}\n","import { Inject, forwardRef, NgZone, OnInit, OnChanges, OnDestroy, Directive, SimpleChanges } from '@angular/core';\r\nimport { CustomBaiduMapComponent } from './custom-baidu-map.component';\r\n\r\n@Directive()\r\nexport abstract class BaseLayer implements OnInit, OnDestroy, OnChanges {\r\n inited: boolean;\r\n layers = [];\r\n constructor(protected parent: CustomBaiduMapComponent, protected zone: NgZone) {}\r\n ngOnInit(): void {\r\n this.zone.runOutsideAngular(() => {\r\n this.updateLayers();\r\n });\r\n }\r\n\r\n ngOnChanges(changes:SimpleChanges) {\r\n if (this.inited) {\r\n this.zone.runOutsideAngular(() => {\r\n this.updateData();\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.removeLayers();\r\n }\r\n\r\n async updateLayers() {\r\n await this.parent.init$;\r\n this.removeLayers();\r\n this.layers = this.createLayers();\r\n this.layers.forEach((layer) => {\r\n this.parent.addLayer(layer);\r\n });\r\n this.inited = true;\r\n this.updateData();\r\n }\r\n\r\n removeLayers() {\r\n if (this.layers.length) {\r\n this.layers.forEach((layer) => {\r\n this.parent.removeLayer(layer);\r\n });\r\n this.layers = [];\r\n }\r\n }\r\n\r\n abstract updateData(): void;\r\n\r\n abstract createLayers(): any[];\r\n}\r\n","import { v1 as uuid } from 'uuid';\r\nexport const getUUID = () => {\r\n return uuid().replace(/-/g, '');\r\n};\r\n","import {\n Component,\n EventEmitter,\n forwardRef,\n Inject,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { Data, DataOutput, Property, Widget, Event, DataInput } from 'bbj-widget-base';\nimport { ParentContainerComponent } from '../../parent-container/parent-container.component';\nimport { SFArrayWidgetSchema } from '@delon/form';\nimport { getFontStyle } from '../../shared/util/style.util';\nimport { CustomBaiduMapComponent } from '../custom-baidu-map.component';\nimport { BaseLayer } from '../base-layer';\nimport { FileUrlService } from '../../shared/service/file-url.service';\nimport { NzContextMenuService } from 'ng-zorro-antd/dropdown';\nimport { ScrollDispatcher } from '@angular/cdk/scrolling';\nimport { getUUID } from '../../shared/util/base.util';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\ndeclare const mapvgl;\n\n@Component({\n selector: 'sc-baidu-marker-layer',\n templateUrl: './baidu-marker-layer.component.html',\n styleUrls: ['./baidu-marker-layer.component.less'],\n providers: [ScrollDispatcher], // 防止虚拟滚到导致浮层关闭\n})\n@Widget('标记层', {\n group: 'component',\n image: '',\n icon: '',\n hidden: true,\n})\nexport class BaiduMarkerLayerComponent extends BaseLayer implements OnInit, OnDestroy, OnChanges {\n @Property('', { min: 1, ui: { widget: 'myPicture', spanLabel: 0, spanControl: 24 } })\n iconUrl = 'assets/img/screen/marker.png';\n @Property('图标宽', { type: 'number' })\n iconWidth = 25;\n @Property('图标高', { type: 'number' })\n iconHeight = 38.25;\n @Property('图标偏移x', { type: 'number' })\n iconOffsetX = 0;\n @Property('图标偏移y', { type: 'number' })\n iconOffsetY = -19.125;\n // @Property('分组', {type: 'string'})\n // group = '';\n\n @Property('移至中心')\n toCenter: boolean = false;\n @Property('点聚合')\n enableMarkerClusterer: boolean = false;\n @Property('聚合最小直径', { type: 'number', ui: { visibleIf: { enableMarkerClusterer: [true] } } })\n clusterMinSize = 25;\n @Property('聚合最大直径', { type: 'number', ui: { visibleIf: { enableMarkerClusterer: [true] } } })\n clusterMaxSize = 40;\n @Property('聚合字体', { ui: { widget: 'myFont' } })\n clusterFont: any = {\n color: '#ffffff',\n size: 16,\n };\n @Property('聚合颜色', {\n ui: {\n widget: 'seriesColor',\n visibleIf: { enableMarkerClusterer: [true] },\n },\n })\n clusterGradient: string[];\n @Property('聚合最大级别', { type: 'number', ui: { visibleIf: { enableMarkerClusterer: [true] } } })\n clusterMaxZoom = 4;\n @Property('显示标签', { ui: { visibleIf: { enableMarkerClusterer: [false] } } })\n showLabel: boolean;\n @Property('标签显示缩放等级', { ui: { visibleIf: { showLabel: [true] } } })\n showLabelMinZoom: number;\n // @Property('标签底色', { ui: { widget: 'myColor', visibleIf: { showLabel: [true] } } })\n // labelBackground: string;\n @Property('标签字体', { ui: { widget: 'myFont', visibleIf: { showLabel: [true] } } })\n labelFont: any = {\n family: '',\n color: '#000000',\n weight: 'normal',\n size: 16,\n space: 0,\n lineHeight: 0,\n };\n @Property('描边颜色', {\n ui: {\n widget: 'myColor',\n },\n })\n stroke: string;\n @Property('描边粗细', { type: 'integer' })\n strokeWidth: number;\n @Property('阴影', { ui: { widget: 'myShadow' } })\n shadow: any = { color: '', X: 0, Y: 0, Z: 0 };\n @Property('标签偏移x', { ui: { widget: 'number', visibleIf: { showLabel: [true] } } })\n labelOffsetX: number;\n @Property('标签偏移y', { ui: { widget: 'number', visibleIf: { showLabel: [true] } } })\n labelOffsetY: number;\n @Property('选中放大')\n enlargeOnSelect: boolean;\n @Property('选中时放大倍数', { type: 'number' })\n selectedSize = 1.5;\n @Property('选中时地图缩放', { type: 'number' })\n selectedMapZoom: number;\n @Property('点击空白取消选中', { type: 'boolean', default: true })\n unselectOnClickBlank = true;\n @Property('标记分组', {\n type: 'array',\n title: '标记分组',\n maxItems: 10,\n items: {\n type: 'object',\n properties: {\n group: {\n type: 'string',\n title: '分组',\n },\n type: {\n title: '类型',\n type: 'string',\n enum: [\n {\n label: '图标',\n value: 'icon',\n },\n {\n label: '圆点',\n value: 'circle',\n },\n {\n label: '正方形',\n value: 'square',\n },\n {\n label: '波纹',\n value: 'wave',\n },\n {\n label: '扩散',\n value: 'bubble',\n },\n ],\n default: 'icon',\n },\n color: {\n type: 'string',\n title: '颜色',\n ui: { widget: 'myColor', visibleIf: { type: ['circle', 'square'] } },\n },\n size: {\n type: 'number',\n title: '尺寸',\n ui: { visibleIf: { type: ['circle', 'square', 'wave', 'bubble'] } },\n },\n imageUrl: {\n type: 'string',\n title: '图片',\n ui: {\n widget: 'myPicture',\n visibleIf: { type: ['icon'] },\n },\n },\n width: {\n type: 'number',\n title: '宽度',\n default: 19,\n ui: { visibleIf: { type: ['icon'] } },\n },\n height: {\n type: 'number',\n title: '高度',\n default: 25,\n ui: { visibleIf: { type: ['icon'] } },\n },\n XOffset: {\n type: 'number',\n title: 'X轴偏移',\n ui: { visibleIf: { type: ['icon'] } },\n },\n YOffset: {\n type: 'number',\n title: 'Y轴偏移',\n ui: { visibleIf: { type: ['icon'] } },\n },\n enableMarkerClusterer: {\n type: 'boolean',\n title: '是否聚合',\n ui: { visibleIf: { type: ['icon'] } },\n },\n },\n required: [],\n },\n ui: { grid: { arraySpan: 24 }, spanControl: 24 } as SFArrayWidgetSchema,\n })\n groups = [];\n @Data({\n properties: {\n id: { type: 'string', title: 'id' },\n address: { type: 'string', title: '地点' },\n information: { type: 'string', title: '信息' },\n group: { type: 'string', title: '标记分组' },\n lng: { type: 'number', title: '经度' },\n lat: { type: 'number', title: '纬度' },\n icon: { type: 'string', title: '图标' },\n },\n })\n _data: any[] = [\n {\n id: '1',\n address: '',\n information: '暂无信息',\n group: '',\n lng: '120.7',\n lat: '28',\n },\n ];\n // id: string;\n @DataOutput(['id', 'address', 'lng', 'lat'])\n @Event('选中值改变', {\n params: {\n properties: {\n id: { type: 'string', title: 'id' },\n address: { type: 'string', title: '地点' },\n lng: { type: 'number', title: '经度' },\n lat: { type: 'number', title: '纬度' },\n },\n },\n })\n makerClick = new EventEmitter();\n @DataInput('选中id')\n selectedId: string;\n @Event('点击', {\n params: {\n properties: {\n id: { type: 'string', title: 'id' },\n address: { type: 'string', title: '地点' },\n lng: { type: 'number', title: '经度' },\n lat: { type: 'number', title: '纬度' },\n },\n },\n })\n onClick = new EventEmitter();\n\n layers = [];\n inited: boolean;\n // defaultLayer: any;\n layerMap = {};\n clickData: any;\n clickTimeout: any;\n @ViewChild('menu')\n menu: any;\n subMarkers: any[];\n dataMap = {};\n groupData: {};\n lastSelect: any;\n currentSelectedId: string;\n textLayer: any;\n destroy$ = new Subject();\n constructor(\n protected parent: CustomBaiduMapComponent,\n protected zone: NgZone,\n private fileUrlService: FileUrlService,\n private nzContextMenuService: NzContextMenuService,\n ) {\n super(parent, zone);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n if (this.showLabel && this.showLabelMinZoom != null) {\n this.parent.zoomChange.pipe(takeUntil(this.destroy$)).subscribe((zoom) => {\n this.updateTextVisible(zoom);\n });\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (this.inited) {\n if (changes._data) {\n this.zone.runOutsideAngular(() => {\n this.updateData();\n });\n }\n if (changes.selectedId) {\n if (this.selectedId != this.currentSelectedId) {\n this.select(this.selectedId, { move: true });\n }\n }\n }\n }\n\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n createLayers(): any[] {\n const layers = [];\n this.layerMap = {};\n const defaultLayer = this.createLayer();\n this.layerMap[''] = defaultLayer;\n layers.push(defaultLayer);\n if (this.groups?.length) {\n this.groups.forEach((group) => {\n if (group.group) {\n const layer = this.createLayer(group);\n this.layerMap[group.group] = layer;\n layers.push(layer);\n }\n });\n }\n if (!this.enableMarkerClusterer && this.showLabel) {\n const textOptions = {\n ...this.getTextOptions(this.labelFont),\n // color: '#fff',\n // fontFamily: 'Microsoft Yahei',\n // fontSize: 14,\n flat: false,\n collides: true,\n offset: [this.labelOffsetX || 0, this.labelOffsetY || 0],\n stroke: {\n color: this.stroke,\n },\n padding: [2, 2],\n margin: [0, 0],\n };\n if (this.stroke && this.stroke !== 'rgba(0,0,0,0)') {\n textOptions.stroke = { color: this.stroke };\n }\n if (this.strokeWidth) {\n textOptions.lineWidth = this.strokeWidth;\n }\n if (this.shadow) {\n textOptions.shadow = {\n color: this.shadow.color,\n blur: this.shadow.Z,\n offsetX: this.shadow.X,\n offsetY: this.shadow.Y,\n };\n }\n this.textLayer = new mapvgl.TextLayer(textOptions);\n if (this.showLabelMinZoom != null) {\n this.parent.init$.then(() => {\n const zoom = this.parent.map.getZoom();\n this.updateTextVisible(zoom);\n });\n }\n layers.push(this.textLayer);\n }\n return layers;\n }\n\n createLayer(group?: any) {\n let layer: any;\n const type = group?.type;\n if (type === 'circle' || type === 'square') {\n const options = {\n shape: type,\n color: group?.color || 'rgba(50, 50, 200, 1)',\n size: group?.size || 10,\n };\n this.addPickEvent(options);\n layer = new mapvgl.PointLayer(options);\n } else if (type === 'bubble' || type === 'wave') {\n const options = {\n type,\n color: group?.color || 'rgba(255, 0, 0, 1)',\n size: group?.size || 10,\n duration: 1,\n trail: 1,\n };\n this.addPickEvent(options);\n layer = new mapvgl.CircleLayer(options);\n } else {\n const iconOptions = this.getIconOptions(group);\n if (this.enableMarkerClusterer || group?.enableMarkerClusterer) {\n const options: any = {\n iconOptions,\n textOptions: this.getTextOptions(this.clusterFont),\n minSize: this.clusterMinSize || 25,\n maxSize: this.clusterMaxSize || 40,\n };\n if (this.clusterGradient?.length) {\n const gradient: any = {};\n gradient[0] = this.clusterGradient[0];\n this.clusterGradient.slice(1).forEach((g, i) => {\n gradient[(i + 1) / this.clusterGradient.length] = g;\n });\n options.gradient = gradient;\n }\n if (this.clusterMaxZoom != null) {\n options.maxZoom = this.clusterMaxZoom;\n }\n this.addPickEvent(options);\n layer = new mapvgl.ClusterLayer(options);\n } else {\n this.addPickEvent(iconOptions);\n layer = new mapvgl.IconLayer(iconOptions);\n }\n }\n return layer;\n }\n\n updateTextVisible(zoom?: number) {\n if (this.textLayer) {\n if (zoom >= this.showLabelMinZoom) {\n this.textLayer.show();\n } else {\n this.textLayer.hide();\n }\n }\n }\n\n updateData() {\n this.dataMap = {};\n if (this.toCenter && this._data.length > 0) {\n let maxLng = -180;\n let minLng = 180;\n let maxLat = -90;\n let minLat = 90;\n this._data.forEach((res) => {\n maxLng = Math.max(maxLng, res.lng);\n minLng = Math.min(minLng, res.lng);\n maxLat = Math.max(maxLat, res.lat);\n minLat = Math.min(minLat, res.lat);\n });\n this.parent.setRectCenterAndZoom(minLng, maxLng, minLat, maxLat);\n }\n const groupData = {};\n this.groupData = groupData;\n const textData = [];\n const groups = Object.keys(this.layerMap);\n groups.forEach((group) => {\n groupData[group] = [];\n });\n // const defaultData = [];\n this._data.forEach((record) => {\n let groupName = record.group;\n if (groupName == null || this.layerMap[groupName] == null) {\n groupName = '';\n }\n let id = record.id_value || record.id;\n if (id == null || id == '') {\n id = getUUID();\n }\n const item: any = {\n geometry: {\n type: 'Point',\n coordinates: [record.lng, record.lat],\n },\n properties: {\n text: record.address,\n id,\n group: groupName,\n raw: record,\n },\n };\n // MapVGL的bug,ClusterLayer的iconOptions无效,只能通过properties设置\n\n const layer = this.layerMap[groupName];\n if (layer != null && layer instanceof mapvgl.ClusterLayer) {\n const options = layer.getOptions();\n if (options.iconOptions) {\n const { height, width, offset, icon } = options.iconOptions;\n item.properties = { height, width, offset, icon, ...item.properties };\n }\n }\n if (record.icon) {\n item.properties.icon = this.fileUrlService.getUrl(record.icon);\n }\n // if (this.selectedId && this.selectedId == id) {\n // this.updateSize(item, 1.5);\n // this.lastSelect = item;\n // }\n groupData[groupName].push(item);\n this.dataMap[item.properties.id] = item;\n if (this.textLayer) {\n textData.push(item);\n }\n });\n if (this.selectedId) {\n this.select(this.selectedId, { move: this.selectedId != this.currentSelectedId, resetLayer: false, force: true });\n }\n groups.forEach((group) => {\n const layer = this.layerMap[group];\n const data = groupData[group];\n layer.setData(data);\n });\n if (this.textLayer) {\n this.textLayer.setData(textData);\n }\n }\n\n getIconOptions(group: any) {\n let icon = this.iconUrl || 'assets/img/screen/marker.png';\n let height = this.iconHeight || 38.25;\n let width = this.iconWidth || 25;\n let offsetX = this.iconOffsetX == null ? 0 : this.iconOffsetX;\n let offsetY = this.iconOffsetY == null ? -height / 2 : this.iconOffsetY;\n if (group && group.imageUrl) {\n icon = this.fileUrlService.getUrl(group.imageUrl);\n width = group.width || width;\n height = group.height || height;\n offsetX = group.XOffset != null ? group.XOffset : 0;\n offsetY = group.YOffset != null ? group.YOffset : -height / 2;\n }\n const iconOptions: any = {\n icon,\n width,\n height,\n offset: [offsetX, offsetY],\n };\n return iconOptions;\n }\n\n getTextOptions(font: any) {\n const textOptions: any = {};\n if (font) {\n if (font.size) textOptions.fontSize = font.size;\n if (font.family) textOptions.fontFamily = font.family;\n if (font.color) textOptions.color = font.color;\n // switch (font.weight) {\n // case 'lighter':\n // textOptions.lineWidth = 1;\n // break;\n // case 'normal':\n // textOptions.lineWidth = 2;\n // break;\n // case 'bold':\n // textOptions.lineWidth = 3;\n // break;\n // case 'bolder':\n // textOptions.lineWidth = 4;\n // break;\n // }\n }\n return textOptions;\n }\n\n addPickEvent(options: any) {\n options.enablePicked = true;\n options.onClick = ({ dataItem }) => {\n // 每个图层都会触发一次click事件,如果每个图层都没有点中标记点,传出null\n if (dataItem) {\n this.clickData = dataItem;\n }\n if (this.unselectOnClickBlank !== false && this.clickTimeout == null) {\n this.clickTimeout = setTimeout(() => {\n if (this.clickData == null) {\n this.selectedId = null;\n this.select(null);\n }\n this.clickTimeout = null;\n this.clickData = null;\n this.subMarkers = null;\n });\n }\n if (dataItem) {\n if (dataItem.type === 'Feature') {\n const coordinates = dataItem.geometry.coordinates;\n this.parent.setCenterAndZoom(coordinates[0], coordinates[1], this.parent.map.getZoom() + 2);\n } else {\n const data = dataItem.properties.raw;\n if (data) {\n this.selectedId = dataItem.properties.id;\n this.select(dataItem.properties.id);\n this.zone.run(() => {\n this.onClick.emit({ ...data, id: data.id_value || data.id });\n });\n }\n }\n }\n };\n if (this.parent.showType === 'mouseover') {\n let infoWindow = null;\n let infoWindowData = null;\n options.onMousemove = ({ dataItem }) => {\n const data = dataItem != null ? dataItem.properties.raw : null;\n if (infoWindow != null && infoWindowData != data) {\n infoWindow.close();\n infoWindow = null;\n }\n if (data && data.information && infoWindow == null) {\n infoWindowData = data;\n infoWindow = this.parent.openInfoWindow(data, data.lng, data.lat);\n }\n };\n }\n }\n\n select(id: any, options: { move?: boolean; resetLayer?: boolean; force?: boolean } = {}) {\n if (id != this.currentSelectedId || options.force) {\n let item: any;\n if (id != null && id !== '') {\n item = this.dataMap[id];\n // 如果找不到数据,可能是数据还没加载,等数据加载了再执行\n if (item == null) {\n return;\n }\n }\n this.currentSelectedId = id;\n let lastSelectGroup: string;\n let currentSelectGroup: string;\n let selectedData: any;\n if (this.lastSelect) {\n lastSelectGroup = this.lastSelect.properties.group;\n this.updateSize(this.lastSelect, 1);\n this.lastSelect = null;\n }\n if (item) {\n currentSelectGroup = item.properties.group;\n this.updateSize(item, this.selectedSize ?? 1.5);\n this.lastSelect = item;\n selectedData = item.properties.raw;\n if (options.move) {\n const layer = this.layerMap[currentSelectGroup];\n let zoom = this.parent.map.getZoom();\n if (this.selectedMapZoom) {\n zoom = this.selectedMapZoom;\n } else if (\n layer instanceof mapvgl.ClusterLayer &&\n this.clusterMaxZoom != null &&\n Math.floor(zoom) <= this.clusterMaxZoom\n ) {\n zoom = this.clusterMaxZoom + 2;\n }\n this.parent.setCenterAndZoom(selectedData.lng, selectedData.lat, zoom);\n }\n\n if (selectedData.information && this.parent.showType !== 'mouseover') {\n // 防止其他图层将信息窗口关闭\n setTimeout(() => {\n this.parent.openInfoWindow(selectedData, selectedData.lng, selectedData.lat);\n });\n }\n } else {\n selectedData = {};\n }\n if (options.resetLayer !== false) {\n if (currentSelectGroup != null) {\n this.resetLayerData(currentSelectGroup);\n }\n if (lastSelectGroup != null && lastSelectGroup !== currentSelectGroup) {\n this.resetLayerData(lastSelectGroup);\n }\n }\n // 如果选中的id找不到对应数据,可能是数据还没加载,\n if (id == null || item != null) {\n this.zone.run(() => {\n this.makerClick.emit({ ...selectedData, id: selectedData.id_value || selectedData.id });\n });\n }\n }\n }\n\n resetLayerData(group: string) {\n const layer = this.layerMap[group];\n const data = this.groupData[group];\n if (layer && data) {\n layer.setData(data);\n }\n }\n\n updateSize(item: any, scale: number) {\n if (item && this.enlargeOnSelect) {\n const layer = this.layerMap[item.properties.group];\n let options: any;\n\n if (layer instanceof mapvgl.ClusterLayer) {\n options = layer.getOptions().iconOptions;\n } else {\n options = layer.getOptions();\n }\n const { height, width, offset } = options;\n item.properties.height = height * scale;\n item.properties.width = width * scale;\n if (item.properties.offset) {\n item.properties.offset = [offset[0] * scale, offset[1] * scale];\n }\n }\n }\n}\n","import { Component, forwardRef, Inject, NgZone, OnChanges, OnDestroy, OnInit } from '@angular/core';\r\nimport { SFArrayWidgetSchema } from '@delon/form';\r\nimport { Data, Property, Widget } from 'bbj-widget-base';\r\nimport { BaseLayer } from '../base-layer';\r\nimport { CustomBaiduMapComponent } from '../custom-baidu-map.component';\r\n\r\ndeclare const mapvgl;\r\n\r\n@Component({\r\n selector: 'sc-baidu-polyline-layer',\r\n templateUrl: './baidu-polyline-layer.component.html',\r\n styleUrls: ['./baidu-polyline-layer.component.less'],\r\n})\r\n@Widget('折线层', {\r\n group: 'component',\r\n image: '',\r\n icon: '',\r\n hidden: true,\r\n})\r\nexport class BaiduPolylineLayerComponent extends BaseLayer implements OnInit, OnDestroy, OnChanges {\r\n @Property('线条宽度', {\r\n ui: { widget: 'myRange', min: 1, max: 40, step: 1 },\r\n })\r\n strokeWeight = 4;\r\n @Property('线条颜色', {\r\n type: 'string',\r\n ui: {\r\n widget: 'myColor',\r\n },\r\n })\r\n strokeColor = 'rgba(242,213,173,1)';\r\n @Property('线条类型', {\r\n ui: { widget: 'select' },\r\n enum: [\r\n { label: '实线', value: 'solid' },\r\n { label: '虚线', value: 'dashed' },\r\n ],\r\n })\r\n strokeStyle = 'solid';\r\n @Property('虚线间隔', { type: 'number', ui: { visibleIf: { strokeStyle: ['solid'] } } })\r\n dashInterval = 10;\r\n @Property('动画')\r\n animation: boolean;\r\n @Property('动画线段长度', {\r\n type: 'number',\r\n ui: { widget: 'number', visibleIf: { animation: [true] } },\r\n })\r\n interval = 0.1;\r\n @Property('动画循环时间', { type: 'number', ui: { widget: 'number', visibleIf: { animation: [true] } } })\r\n duration = 2;\r\n @Property('拖尾长度', { type: 'number', ui: { widget: 'number', visibleIf: { animation: [true] } } })\r\n trailLength = 0.5;\r\n @Property('图层', {\r\n type: 'array',\r\n maxItems: 10,\r\n items: {\r\n type: 'object',\r\n properties: {\r\n layer: {\r\n type: 'string',\r\n title: '图层',\r\n },\r\n color: {\r\n type: 'string',\r\n title: '颜色',\r\n ui: { widget: 'myColor' },\r\n },\r\n },\r\n required: [],\r\n },\r\n ui: { grid: { arraySpan: 24 }, spanControl: 24 } as SFArrayWidgetSchema,\r\n })\r\n layerOptions = [];\r\n @Data({\r\n properties: {\r\n layer: { type: 'string', title: '图层' },\r\n lng: { type: 'number', title: '经度' },\r\n lat: { type: 'number', title: '纬度' },\r\n group: { type: 'string', title: '线编号' },\r\n },\r\n })\r\n _data: any[] = [\r\n {\r\n group: 'x',\r\n lng: '120.7',\r\n lat: '28',\r\n },\r\n {\r\n group: 'x',\r\n lng: '120.71',\r\n lat: '28.01',\r\n },\r\n {\r\n group: 'x',\r\n lng: '120.79',\r\n lat: '28.1',\r\n },\r\n {\r\n group: 'y',\r\n lng: '120.72',\r\n lat: '28.02',\r\n },\r\n {\r\n group: 'y',\r\n lng: '120.73',\r\n lat: '28.03',\r\n },\r\n {\r\n group: 'y',\r\n lng: '120.81',\r\n lat: '28.12',\r\n },\r\n ];\r\n id: string;\r\n // layer: any;\r\n layerMap: any = {};\r\n\r\n constructor(protected parent: CustomBaiduMapComponent, protected zone: NgZone) {\r\n super(parent, zone);\r\n }\r\n\r\n // ngOnChanges() {\r\n // this.parent.childInit({\r\n // id: this.id,\r\n // strokeWeight: this.strokeWeight,\r\n // strokeColor: this.strokeColor,\r\n // strokeStyle: this.strokeStyle,\r\n // type: 'polyline',\r\n // item: this._data,\r\n // });\r\n // }\r\n\r\n // ngOnInit(): void {}\r\n\r\n // ngOnDestroy(): void {\r\n // this.parent.deleteChild(this.id);\r\n // }\r\n\r\n updateData(): void {\r\n const dataMap = {};\r\n\r\n const layerLineMap = {};\r\n this._data.forEach((record) => {\r\n let layer = record.layer;\r\n if (!this.layerMap[layer]) {\r\n layer = '';\r\n }\r\n let data = dataMap[layer];\r\n let lineMap = layerLineMap[layer];\r\n if (!data) {\r\n data = [];\r\n lineMap = {};\r\n dataMap[layer] = data;\r\n layerLineMap[layer] = lineMap;\r\n }\r\n let group = record.group;\r\n if (group == null) {\r\n group = '';\r\n }\r\n let line = lineMap[group];\r\n if (line == null) {\r\n line = {\r\n geometry: {\r\n type: 'LineString',\r\n coordinates: [],\r\n },\r\n };\r\n lineMap[group] = line;\r\n data.push(line);\r\n }\r\n\r\n line.geometry.coordinates.push([record.lng, record.lat]);\r\n });\r\n Object.keys(this.layerMap).forEach((key) => {\r\n const layer = this.layerMap[key];\r\n const data = dataMap[key] || [];\r\n layer.setData(data);\r\n });\r\n }\r\n\r\n createLayers(): any[] {\r\n const layers = [];\r\n this.layerMap = {};\r\n const defaultLayer = this.createLayer();\r\n this.layerMap[''] = defaultLayer;\r\n layers.push(defaultLayer);\r\n if (this.layerOptions?.length) {\r\n this.layerOptions.forEach((options) => {\r\n if (options.layer) {\r\n const layer = this.createLayer(options);\r\n this.layerMap[options.layer] = layer;\r\n layers.push(layer);\r\n }\r\n });\r\n }\r\n return layers;\r\n // const options: any = {\r\n // color: this.strokeColor,\r\n // width: this.strokeWeight,\r\n // lineCap: 'round',\r\n // animation: this.animation,\r\n // interval: this.interval,\r\n // duration: this.duration,\r\n // trailLength: this.trailLength,\r\n // style: 'arrow',\r\n // styleOptions: {\r\n // color: '#fff',\r\n // width: 10,\r\n // },\r\n // // blend: 'lighter'\r\n // };\r\n // if (this.strokeStyle === 'dashed') {\r\n // const dashInterval = this.dashInterval || 10;\r\n // options.dashArray = [dashInterval, dashInterval];\r\n // }\r\n // this.layer = new mapvgl.LineLayer(options);\r\n // return [this.layer];\r\n }\r\n\r\n createLayer(layerOptions?: any) {\r\n const options: any = {\r\n color: this.strokeColor,\r\n width: this.strokeWeight,\r\n lineCap: 'round',\r\n animation: this.animation,\r\n interval: this.interval,\r\n duration: this.duration,\r\n trailLength: this.trailLength,\r\n // style: 'arrow',\r\n // styleOptions: {\r\n // color: '#fff',\r\n // width: 10,\r\n // },\r\n blend: 'lighter'\r\n };\r\n if (layerOptions) {\r\n if (layerOptions.color) {\r\n options.color = layerOptions.color;\r\n }\r\n }\r\n if (this.strokeStyle === 'dashed') {\r\n const dashInterval = this.dashInterval || 10;\r\n options.dashArray = [dashInterval, dashInterval];\r\n }\r\n const layer = new mapvgl.LineLayer(options);\r\n return layer;\r\n }\r\n}\r\n","import { Component, NgZone, OnInit } from '@angular/core';\nimport { Data, Property, Widget } from 'bbj-widget-base';\nimport { BaseLayer } from '../base-layer';\nimport { CustomBaiduMapComponent } from '../custom-baidu-map.component';\n\ndeclare const mapvgl;\nconst EARTH_RADIUS = 6371.393;\n\n@Component({\n selector: 'sc-typhoon-area-layer',\n templateUrl: './typhoon-area-layer.component.html',\n styleUrls: ['./typhoon-area-layer.component.less'],\n})\n@Widget('风圈', {\n group: 'component',\n hidden: true,\n})\nexport class TyphoonAreaLayerComponent extends BaseLayer implements OnInit {\n @Property('描边颜色', { ui: { widget: 'myColor' } })\n lineColor = 'rgba(238,160,29,0.8)';\n @Property('描边宽度', { type: 'number' })\n lineWidth = 2;\n @Property('填充颜色', { ui: { widget: 'myColor' } })\n fillColor = 'rgba(238,160,29,0.3)';\n @Data({\n properties: {\n lng: { type: 'number', title: '中心经度' },\n lat: { type: 'number', title: '中心纬度' },\n nw: { type: 'number', title: '西北半径' },\n ne: { type: 'number', title: '东北半径' },\n sw: { type: 'number', title: '西南半径' },\n se: { type: 'number', title: '东南半径' },\n },\n })\n data: any[] = [\n {\n lng: 144.7,\n lat: 38.9,\n nw: 50,\n ne: 100,\n sw: 150,\n se: 200,\n },\n ];\n layer: any;\n constructor(protected parent: CustomBaiduMapComponent, protected zone: NgZone) {\n super(parent, zone);\n }\n\n createLayers(): any[] {\n this.layer = new mapvgl.PolygonLayer({\n lineColor: this.lineColor,\n lineWidth: this.lineWidth,\n fillColor: this.fillColor,\n renderOrder: -1,\n });\n return [this.layer];\n }\n\n updateData(): void {\n const data = [];\n this.data.forEach((r) => {\n var kk = this.getTF([+r.lng, +r.lat], +r.ne, +r.se, +r.sw, +r.nw);\n data.push({\n geometry: {\n type: 'Polygon',\n coordinates: [kk],\n },\n });\n });\n this.layer.setData(data);\n }\n\n getTF(lat, ne, se, sw, nw) {\n // 求出方位半径方向上弧形经纬度\n const getPoints = (center, cradius, startAngle) => {\n // l=EARTH_RADIUS*dy/180*Math.PI\n const radius = (cradius * 180) / EARTH_RADIUS / Math.PI;\n // let radius = cradius / 90;\n let pointNum = 90;\n let endAngle = startAngle + Math.PI / 2;\n let points = [];\n for (var i = 0; i <= pointNum; i++) {\n const angle = startAngle + ((endAngle - startAngle) * i) / pointNum;\n const x = center[0] + (radius * Math.cos(angle)) / Math.abs(Math.cos((center[1] * Math.PI) / 180));\n const y = center[1] + radius * Math.sin(angle);\n points.push([x, y]);\n }\n return points;\n };\n\n let r7Ne = getPoints(lat, ne, 0);\n let r7Nw = getPoints(lat, nw, Math.PI / 2);\n let r7Sw = getPoints(lat, sw, Math.PI);\n let r7Se = getPoints(lat, se, (Math.PI * 3) / 2);\n\n return [...r7Ne, ...r7Nw, ...r7Sw, ...r7Se];\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CustomBaiduMapComponent } from './custom-baidu-map.component';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\nimport { WindLayerComponent } from './wind-layer/wind-layer.component';\nimport { BaiduMarkerLayerComponent } from './baidu-marker-layer/baidu-marker-layer.component';\nimport { BaiduPolylineLayerComponent } from './baidu-polyline-layer/baidu-polyline-layer.component';\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { NzNoAnimationModule } from 'ng-zorro-antd/core/no-animation';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { FormsModule } from '@angular/forms';\nimport { TyphoonAreaLayerComponent } from './typhoon-area-layer/typhoon-area-layer.component';\n\n@NgModule({\n declarations: [\n CustomBaiduMapComponent,\n BaiduMarkerLayerComponent,\n BaiduPolylineLayerComponent,\n WindLayerComponent,\n TyphoonAreaLayerComponent,\n ],\n imports: [\n CommonModule,\n WidgetBaseModule,\n NzDropDownModule,\n NzNoAnimationModule,\n ScrollingModule,\n NzRadioModule,\n FormsModule,\n ],\n})\nexport class CustomBaiduMapModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(CustomBaiduMapComponent, { scaleContent: false });\n widgetService.register(BaiduMarkerLayerComponent);\n widgetService.register(BaiduPolylineLayerComponent);\n widgetService.register(WindLayerComponent);\n widgetService.register(TyphoonAreaLayerComponent);\n }\n}\n","export const icons = [\r\n 'icondingwei1',\r\n 'iconxialakuang',\r\n 'icontianjiazu',\r\n 'iconguanlianshuxing',\r\n 'iconbianzu401',\r\n 'iconanzhuang',\r\n 'iconbaojing',\r\n 'iconbuguifan',\r\n 'iconbianzu621',\r\n 'iconbumen',\r\n 'iconbianzu6',\r\n 'iconbianzu3311',\r\n 'icondaohang',\r\n 'iconbianzu111',\r\n 'iconditu2',\r\n 'iconfuzeren',\r\n 'iconfuzhi1',\r\n 'icongengduo1',\r\n 'iconbuguifanjiashi',\r\n 'iconfadianji',\r\n 'iconbianzu33xiawu42347',\r\n 'iconche',\r\n 'iconguanli',\r\n 'icondukaqi',\r\n 'iconhulian1',\r\n 'iconhoutai',\r\n 'icondianhua2',\r\n 'iconliangqizuozhanjianting',\r\n 'iconguanggao',\r\n 'iconkongqijinghua',\r\n 'iconjuleledaohang',\r\n 'iconluxiang1',\r\n 'iconchouti1',\r\n 'icongerenxinxilan',\r\n 'iconqiqiu',\r\n 'iconpihuating',\r\n 'iconkulian',\r\n 'iconhulianxiawu35716',\r\n 'iconguiji',\r\n 'iconrenyuan1',\r\n 'iconnongye',\r\n 'iconremen',\r\n 'iconshajunshebei',\r\n 'iconnengyuan1',\r\n 'iconshezhixiawu20722',\r\n 'iconshujuyuan',\r\n 'iconxiangpiting',\r\n 'iconlajitong1',\r\n 'iconjiaocheng',\r\n 'icontuichu2',\r\n 'iconweifanggaizao',\r\n 'iconxiaodudu',\r\n 'iconxiaodu1',\r\n 'iconriqi',\r\n 'iconxiaofang',\r\n 'iconwurenji',\r\n 'icontanzhaodengshijian',\r\n 'iconquanxian',\r\n 'iconxiaodu2',\r\n 'iconbumenxiawu14836',\r\n 'iconqiche',\r\n 'iconwulianwang',\r\n 'iconxiaoqu',\r\n 'iconxingzhuangjiehe1',\r\n 'iconxunjian1',\r\n 'iconyangan',\r\n 'iconxinxixiugai',\r\n 'iconyangan1',\r\n 'iconxinshuai',\r\n 'iconzhihang1',\r\n 'iconxiaolian',\r\n 'iconxieya',\r\n 'iconLEDTrackLight-02',\r\n 'iconzhaomingdeng',\r\n 'iconzhangpeng',\r\n 'iconyouhuiquanquanmian',\r\n 'iconicon_gouwu1',\r\n 'iconLedCleanEnergy',\r\n 'iconicon_diannao1',\r\n 'iconled2',\r\n 'iconzhihang2',\r\n 'iconzhineng',\r\n 'iconzhihang',\r\n 'iconjindu',\r\n 'iconhoutui',\r\n 'iconguanbi1',\r\n 'iconhulian',\r\n 'iconkefu',\r\n 'iconkuaidi',\r\n 'iconlianjie',\r\n 'iconkefurexian',\r\n 'iconliuchengjiedian',\r\n 'iconmengjiangnan',\r\n 'iconmoxing',\r\n 'iconqunyou',\r\n 'iconrenyuanguanli',\r\n 'iconqingchuhuancun3x1',\r\n 'iconrenyuanjiegou',\r\n 'iconrongyu',\r\n 'iconshangpin',\r\n 'iconsaomiaohongbao',\r\n 'iconsaoyisao',\r\n 'iconshebei',\r\n 'iconshenghuo',\r\n 'iconshexiang',\r\n 'icontianjia',\r\n 'icontuichubeifen2',\r\n 'icontishi',\r\n 'iconshexiangtou',\r\n 'iconshijiandefuben',\r\n 'iconsoucha',\r\n 'iconxiuxi1',\r\n 'iconxuanze',\r\n 'iconyoutui',\r\n 'iconyonghu',\r\n 'iconzhuanyi',\r\n 'iconicon_diannao',\r\n 'iconwenduji',\r\n 'iconicon_dengdaicaiji',\r\n 'iconzhihuinongye',\r\n 'iconsousuo1',\r\n 'iconicon_neirongjilu',\r\n 'iconicon_ppt',\r\n 'iconshuidi',\r\n 'iconicon_word',\r\n 'iconicon_txt',\r\n 'iconwenjiansoucha',\r\n 'iconwodedianzan1',\r\n 'iconyanganjiankong',\r\n 'iconzhinenglajitong',\r\n 'iconwuliu',\r\n 'iconGroup2',\r\n 'iconicon_gouwu',\r\n 'iconxunjian',\r\n 'iconyouhuiquan',\r\n 'iconyinhangka',\r\n 'iconwodepinglun1',\r\n 'iconGroup2beifen2',\r\n 'iconicon_zhuye',\r\n 'iconwangluo',\r\n 'iconbanbenhao1',\r\n 'iconbianzu11',\r\n 'iconbianzu22',\r\n 'iconbianzu12',\r\n 'iconbianzu13',\r\n 'iconchukou',\r\n 'iconbianzu361',\r\n 'icondaima',\r\n 'iconbianzu39',\r\n 'icondajian',\r\n 'icondiannao',\r\n 'icondenglu',\r\n 'iconbianzu381',\r\n 'iconfangan',\r\n 'icongengxin',\r\n 'icongenghuantouxiang1',\r\n 'icongouwuche',\r\n 'iconguangbo',\r\n 'iconcaijian',\r\n 'iconbaocun',\r\n 'iconbianji',\r\n 'iconbeijing',\r\n 'icondian',\r\n 'iconbukejian',\r\n 'iconfuzhi',\r\n 'iconkejian',\r\n 'iconfangwen',\r\n 'iconguanbi',\r\n 'iconjia',\r\n 'iconlajitong2',\r\n 'iconshangyibu',\r\n 'iconren',\r\n 'iconshangchuan',\r\n 'iconsshanchu',\r\n 'iconshijian',\r\n 'iconsousuo',\r\n 'iconsuo',\r\n 'iconsuoding',\r\n 'iconmokuai',\r\n 'icontexiao',\r\n 'icontubiao',\r\n 'iconwenzi',\r\n 'iconwenjianjia',\r\n 'icontianjiaxuanxiang',\r\n 'iconxiala',\r\n 'iconkaisuo',\r\n 'iconxiayibu',\r\n 'icontupian',\r\n 'iconsxingzhuang',\r\n 'iconxiuxi',\r\n 'iconzhinanzhen',\r\n 'iconyulan',\r\n 'iconstuichu',\r\n 'iconyinle',\r\n 'iconyun',\r\n 'iconzhinanzhen',\r\n];\r\n","import { Component, EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { DataOutput, Property, Widget } from 'bbj-widget-base';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { Observable, Observer } from 'rxjs';\nimport { NzUploadChangeParam, NzUploadFile } from 'ng-zorro-antd/upload';\n\n@Component({\n selector: 'sc-upload',\n templateUrl: './upload.component.html',\n styleUrls: ['./upload.component.less'],\n})\n@Widget('文件上传', {\n group: 'component',\n image: 'assets/img/screen/file-upload.png',\n icon: 'icontubiao',\n})\nexport class UploadComponent implements OnInit, OnChanges {\n @Property('上传样式', {\n type: 'string',\n ui: {\n widget: 'select',\n },\n enum: [\n { label: '经典', value: 'classics' },\n { label: '头像', value: 'portrait' },\n { label: '拖拽', value: 'drag' },\n ],\n })\n style = 'classics';\n listType = '';\n class: any = {};\n showUploadList = true;\n loading = false;\n avatarUrl?: string;\n type = '';\n @DataOutput('值')\n valueChange = new EventEmitter<any>();\n constructor(private msg: NzMessageService) {}\n handleChange(info: NzUploadChangeParam) {\n const status = info.file.status;\n if (status === 'done') {\n this.msg.success(`${info.file.name} 上传成功`);\n this.valueChange.emit(info.file.response);\n if (this.style === 'portrait') {\n this.getBase64(info.file.originFileObj, (img: string) => {\n this.loading = false;\n this.avatarUrl = img;\n });\n }\n } else if (status === 'error') {\n this.msg.error(`${info.file.name} 上传失败`);\n this.loading = false;\n } else if (status === 'uploading') {\n this.loading = true;\n }\n }\n private getBase64(img: File, callback: (img: string) => void): void {\n const reader = new FileReader();\n reader.addEventListener('load', () => callback(reader.result.toString()));\n reader.readAsDataURL(img);\n }\n ngOnInit(): void {}\n ngOnChanges(changes: SimpleChanges): void {\n switch (this.style) {\n case 'portrait':\n this.listType = 'picture-card';\n this.showUploadList = false;\n this.class.width = '128px';\n this.class.height = '128px';\n this.type = '';\n break;\n case 'drag':\n this.type = 'drag';\n this.listType = '';\n this.showUploadList = true;\n this.class.width = '';\n this.class.height = '';\n break;\n default:\n this.type = '';\n this.listType = 'text';\n this.showUploadList = true;\n this.class.width = '';\n this.class.height = '';\n break;\n }\n }\n beforeUpload = (file: NzUploadFile, _fileList: NzUploadFile[]) => {\n if (this.style !== 'portrait') {\n return null;\n }\n return new Observable((observer: Observer<boolean>) => {\n const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png';\n if (!isJpgOrPng) {\n this.msg.error('只能上传图片');\n observer.complete();\n return;\n }\n const isLt2M = file.size / 1024 / 1024 < 2;\n if (!isLt2M) {\n this.msg.error('图片要小于2M');\n observer.complete();\n return;\n }\n observer.next(isJpgOrPng && isLt2M);\n observer.complete();\n });\n };\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UploadComponent } from './upload.component';\nimport {WidgetBaseModule, WidgetService} from 'bbj-widget-base';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzUploadModule } from 'ng-zorro-antd/upload';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\n\n\n\n@NgModule({\n declarations: [UploadComponent],\n imports: [CommonModule, WidgetBaseModule,NzIconModule,NzUploadModule,NzButtonModule],\n})\nexport class UploadModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(UploadComponent);\n }\n}\n","import { Component, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { CustomExport, Data, DataSchema, Property, Widget } from 'bbj-widget-base';\nimport { SFArrayWidgetSchema, SFSchema, SFStringWidgetSchema, SFUISchema } from '@delon/form';\n\n@Component({\n selector: 'sc-cross-table',\n templateUrl: './cross-table.component.html',\n styleUrls: ['./cross-table.component.less'],\n})\n@Widget('交叉表格', { group: 'table', icon: 'icontubiao', image: '/assets/img/screen/cross-table.png' })\nexport class CrossTableComponent implements OnInit, OnChanges, CustomExport {\n @Property('条数/页', { ui: { widget: 'myRange', min: 1, max: 100, step: 1 } })\n pageSize = 10;\n @Property('表头背景', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n },\n })\n theadBackground = '#fafafa';\n @Property('表头字体', { ui: { widget: 'myFont' } })\n headFont: any = { family: '', color: '#222222', weight: 'normal', size: 12, space: 0, lineHeight: 2 };\n @Property('内容对齐', {\n type: 'string',\n ui: {\n widget: 'select',\n },\n enum: [\n { label: '左对齐', value: 'left' },\n { label: '右对齐', value: 'right' },\n { label: '居中', value: 'center' },\n ],\n })\n contentAlign = 'center';\n @Property('表格背景', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n },\n })\n tbodyBackground = '#fafafa';\n @Property('显示边框', {\n type: 'boolean',\n ui: {\n checkedChildren: '开',\n unCheckedChildren: '关',\n },\n })\n showBorder = false;\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = { family: '', color: '#222222', weight: 'normal', size: 12, space: 0, lineHeight: 2 };\n // @Property('字段交叉', {\n // type: 'array',\n // maxItems: 1,\n // items: {\n // type: 'object',\n // properties: {\n // key: {\n // type: 'string',\n // title: '绑定字段',\n // },\n // value: {\n // type: 'string',\n // title: '绑定值',\n // }\n // },\n // required: ['key', 'value'],\n // },\n // ui: {grid: {arraySpan: 24}, spanControl: 24} as SFArrayWidgetSchema,\n // })\n // cross = [{key: 'x', value: 'y', mergeField: 's'}];\n @Property('交叉字段', {\n cross: {\n type: 'string',\n ui: {} as SFStringWidgetSchema,\n },\n required: [''],\n })\n cross = 'x';\n @Property('显示分页', {\n type: 'boolean',\n ui: {\n checkedChildren: '开',\n unCheckedChildren: '关',\n },\n })\n needPage = false;\n @Property('绑定值', {\n crossVal: {\n type: 'string',\n ui: {} as SFStringWidgetSchema,\n },\n required: [''],\n })\n crossVal = 'y';\n @Data({})\n _data: any[] = [\n { x: '一月', y: 10, s: '收入' },\n { x: '二月', y: 20, s: '收入' },\n { x: '三月', y: 25, s: '收入' },\n { x: '四月', y: 35, s: '收入' },\n { x: '五月', y: 27, s: '收入' },\n { x: '六月', y: 28, s: '收入' },\n { x: '一月', y: 18, s: '支出' },\n { x: '二月', y: 28, s: '支出' },\n { x: '三月', y: 32, s: '支出' },\n { x: '四月', y: 48, s: '支出' },\n { x: '五月', y: 20, s: '支出' },\n { x: '六月', y: 17, s: '支出' },\n ];\n @DataSchema('_data')\n schema: SFSchema;\n widthConfig = [];\n rows: any = [];\n heads: any = [];\n ths: any[] = [];\n headStyle: any;\n bodyStyle: any;\n\n groups: any = {};\n data: any[][] = [];\n\n constructor() {}\n\n ngOnInit(): void {\n this.headStyle = {\n family: this.headFont.family,\n color: this.headFont.color,\n weight: this.headFont.weight,\n fontSize: this.headFont.size + 'px',\n space: this.headFont.space,\n lineHeight: this.headFont.lineHeight,\n background: this.theadBackground,\n };\n this.bodyStyle = {\n family: this.font.family,\n color: this.font.color,\n weight: this.font.weight,\n fontSize: this.font.size + 'px',\n space: this.font.space,\n lineHeight: this.font.lineHeight,\n background: this.tbodyBackground,\n };\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes._data || changes.schema) {\n this.data = [];\n this.groups = {};\n this.heads = [];\n this.ths = [];\n this.widthConfig = [];\n if (this.schema?.properties) {\n Object.keys(this.schema.properties).forEach((key) => {\n const property = this.schema.properties[key];\n if (this.cross !== key && this.crossVal !== key && !(property.ui as SFUISchema)?.hidden) {\n this.heads.push(key);\n this.ths.push(property.title);\n this.widthConfig.push(100 + 'px');\n }\n });\n } else {\n /**\n * 取数据源的key 不包含交叉字段\n */\n if (this._data[0] == null) {\n return;\n }\n Object.keys(this._data[0]).forEach((key) => {\n if (this.cross !== key && this.crossVal !== key && !this.heads.includes(key)) {\n this.heads.push(key);\n this.ths.push(key);\n this.widthConfig.push(100 + 'px');\n }\n });\n }\n\n /**\n * 循环数据源 根据字段名 取出表格前半段值 并进行分组 groups 为 map\n */\n this._data.forEach((data) => {\n const group: any = [];\n this.heads.forEach((head) => {\n group.push(data[head]);\n });\n if (this.groups[group] == null) {\n this.groups[group] = [];\n }\n if (!this.ths.includes(data[this.cross])) {\n this.ths.push(data[this.cross]);\n this.widthConfig.push(100 + 'px');\n }\n this.groups[group].push({ title: data[this.cross], value: data[this.crossVal] });\n });\n this.assemble();\n }\n }\n\n assemble() {\n if (this.groups === null || this.groups === 'undefined') {\n return;\n }\n this.rows = [];\n Object.keys(this.groups).forEach((group) => {\n let row = [];\n const arr = group.split(',');\n for (let i = 0; i < arr.length; i++) {\n row.push({ title: this.ths[i], value: arr[i] });\n }\n let totalval = 0;\n this.groups[group].forEach((t: any) => {\n row.push(t);\n totalval = totalval + t.value;\n });\n if (row.length > 0 && row.length < this.ths.length) {\n const nrow = [];\n for (const head of this.ths) {\n let val = '';\n row.forEach((td) => {\n if (td.title === head) {\n val = td.value;\n }\n });\n nrow.push({ title: head, value: val });\n }\n row = nrow;\n }\n row.push({ title: '合计', value: Number(totalval).toFixed(2) });\n this.rows.push(row);\n });\n this.data = this.rows;\n\n this.ths.push('合计');\n this.widthConfig.push(100 + 'px');\n }\n exportWord() {\n let html = `<table>\n <thead>\n <tr>\n ${this.ths.map((head) => `<th>${head}</th>`).join('')}\n </tr>\n </thead>\n <tbody>\n ${this.data\n .map(\n (row) =>\n `<tr>\n ${row.map((td) => `<td>${td.value}</td>`).join('')}\n </tr>`,\n )\n .join('')}\n </tbody>\n</table><br/>`;\n console.log(html);\n return html;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CrossTableComponent } from './cross-table.component';\nimport {WidgetBaseModule, WidgetService} from 'bbj-widget-base';\nimport {NzTableModule} from 'ng-zorro-antd/table';\n\n\n\n\n@NgModule({\n declarations: [CrossTableComponent],\n imports: [CommonModule, WidgetBaseModule, NzTableModule],\n})\nexport class CrossTableModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(CrossTableComponent);\n }\n}\n","import { Component, OnInit, ElementRef, OnChanges, SimpleChanges, EventEmitter } from '@angular/core';\nimport { Widget, Property, Data, DataSchema, DataOutput, CustomExport, Sheet, Event } from 'bbj-widget-base';\nimport { SFArrayWidgetSchema, SFSchema } from '@delon/form';\nimport { isNum } from '@delon/util';\n\n@Component({\n selector: 'sc-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.less'],\n})\n@Widget('表格', { group: 'table', icon: 'icontubiao', image: '/assets/img/screen/custom-table.png' })\nexport class TableComponent implements OnInit, OnChanges, CustomExport {\n @Property('条数/页', { ui: { widget: 'myRange', min: 1, max: 100, step: 1 } })\n pageSize = 10;\n @Property('表头背景', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n },\n })\n theadBackground = '#fafafa';\n @Property('表头字体', { ui: { widget: 'myFont' } })\n headFont: any = { family: '', color: '#222222', weight: 'normal', size: 12, space: 0, lineHeight: 2 };\n @Property('内容对齐', {\n type: 'string',\n ui: {\n widget: 'select',\n },\n enum: [\n { label: '左对齐', value: 'left' },\n { label: '右对齐', value: 'right' },\n { label: '居中', value: 'center' },\n ],\n })\n contentAlign = 'center';\n @Property('表格背景', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n },\n })\n tbodyBackground = '#FFFFFF';\n\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = { family: '', color: '#222222', weight: 'normal', size: 12, space: 0, lineHeight: 2 };\n @Property('是否自定义', {\n type: 'boolean',\n ui: {\n checkedChildren: '开',\n unCheckedChildren: '关',\n },\n })\n isCustom = false;\n @Property('显示边框', {\n type: 'boolean',\n ui: {\n checkedChildren: '开',\n unCheckedChildren: '关',\n },\n })\n showBorder = false;\n @Property('显示分页', {\n type: 'boolean',\n ui: {\n checkedChildren: '开',\n unCheckedChildren: '关',\n },\n })\n needPage = false;\n @Property('统计个数', {\n type: 'boolean',\n ui: {\n checkedChildren: '开',\n unCheckedChildren: '关',\n },\n })\n isCount = false;\n @Property('合计', { type: 'string', ui: { optionalHelp: '填写列名,逗号分隔' } })\n sumColumns: string;\n @Property('颜色分层', {\n type: 'array',\n maxItems: 99,\n items: {\n type: 'object',\n properties: {\n gte: {\n type: 'number',\n title: '大于',\n },\n lte: {\n type: 'number',\n title: '小于',\n minimum: 1,\n },\n color: {\n type: 'string',\n title: '颜色',\n ui: {\n widget: 'myColor',\n },\n },\n },\n required: ['gte', 'lte'],\n },\n ui: { grid: { arraySpan: 24 }, spanControl: 24 } as SFArrayWidgetSchema,\n })\n level = [];\n // @Property('字段交叉', {\n // type: 'array',\n // maxItems: 1,\n // items: {\n // type: 'object',\n // properties: {\n // key: {\n // type: 'string',\n // title: '绑定字段',\n // },\n // value: {\n // type: 'string',\n // title: '绑定值',\n // },\n // mergeField: {\n // type: 'string',\n // title: '合并字段',\n // }\n // },\n // required: [],\n // },\n // ui: {grid: {arraySpan: 24}, spanControl: 24} as SFArrayWidgetSchema,\n // })\n // cross = [];\n @Property('自定义列', {\n type: 'array',\n maxItems: 99,\n items: {\n type: 'object',\n properties: {\n group: {\n type: 'string',\n title: '分组名',\n },\n title: {\n type: 'string',\n title: '列名',\n },\n field: {\n type: 'string',\n title: 'bind',\n },\n width: {\n type: 'number',\n title: '宽度',\n },\n ismerge: {\n type: 'boolean',\n title: '是否合并',\n },\n needlevel: {\n type: 'boolean',\n title: '颜色分层',\n },\n showFilter: {\n type: 'boolean',\n title: '显示筛选',\n },\n },\n required: ['title', 'field'],\n },\n ui: { visibleIf: { isCustom: [true] }, grid: { arraySpan: 24 }, spanLabel: 24, spanControl: 24 },\n })\n customCol: any = [];\n // hasGroup = false;\n isCross = false;\n image: string;\n @Data({})\n _data: any[] = [\n { x: '一月', y: '10%', s: '收入' },\n { x: '二月', y: 20, s: '收入' },\n { x: '三月', y: 25, s: '收入' },\n { x: '四月', y: 35, s: '收入' },\n { x: '五月', y: 27, s: '收入' },\n { x: '六月', y: 28, s: '收入' },\n { x: '一月', y: 18, s: '支出' },\n { x: '二月', y: 28, s: '支出' },\n { x: '三月', y: 32, s: '支出' },\n { x: '四月', y: 48, s: '支出' },\n { x: '五月', y: 20, s: '支出' },\n { x: '六月', y: 17, s: '支出' },\n ];\n @DataSchema('_data')\n schema: SFSchema;\n\n @DataOutput('单元格内容')\n tdChange = new EventEmitter<any>();\n @DataOutput('行数据')\n trChange = new EventEmitter<any>();\n @DataOutput('列名')\n rowChange = new EventEmitter<any>();\n @Event('点击单元格', {\n params: {\n properties: {\n index: { type: 'string', title: '列名' },\n value: { type: 'string', title: '值' },\n data: { type: 'object', title: '行数据' },\n },\n },\n })\n tdClick = new EventEmitter<any>();\n // y: string;\n headStyle: any = {};\n bodyStyle: any = {};\n columns: any;\n groups: any;\n // rowSize = 1;\n widthConfig = [];\n rows = [];\n totalCount = [];\n needCount = false;\n\n dataSize: number;\n titleSize: number;\n searchValue = {};\n headers = [];\n filterValues: { [key: string]: any[] } = {};\n sumData = {};\n constructor(private ele: ElementRef) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.schema || changes.customCol) {\n this.updateHeader();\n this.updateData();\n } else if (changes._data) {\n if (!this.schema) {\n this.updateHeader();\n }\n this.updateData();\n }\n }\n\n ngOnInit() {\n // if (this.ele) {\n // const height = this.ele.nativeElement.offsetHeight - 110;\n // this.y = height > 0 ? height + 'px' : '0px';\n // }\n // console.log(this.groupBy(this._data,'x'));\n // console.log(this.countGroupRow);\n this.headStyle = {\n family: this.headFont.family,\n color: this.headFont.color,\n weight: this.headFont.weight,\n fontSize: this.headFont.size + 'px',\n space: this.headFont.space,\n lineHeight: this.headFont.lineHeight,\n background: this.theadBackground,\n };\n this.bodyStyle = {\n family: this.font.family,\n color: this.font.color,\n weight: this.font.weight,\n fontSize: this.font.size + 'px',\n space: this.font.space,\n lineHeight: this.font.lineHeight,\n };\n }\n\n updateHeader() {\n this.columns = [];\n this.widthConfig = [];\n if (this.isCustom && this.customCol[0]) {\n const hasGroup = this.customCol.some((data) => data.group != null && data.group !== '');\n this.groups = [];\n const subHeader = [];\n const groupMap = {};\n this.customCol.forEach((data) => {\n const grouped = !!data.group;\n const groupName = data.group || data.title;\n this.widthConfig.push((data.width || 100) + 'px');\n const column: any = {\n title: data.title,\n index: data.field,\n ismerge: data.ismerge,\n iscount: data.iscount,\n needlevel: data.needlevel,\n showFilter: data.showFilter,\n };\n\n let group = groupMap[groupName];\n if (group == null) {\n group = { title: groupName, row: 1, col: 0, columns: [] };\n groupMap[groupName] = group;\n this.groups.push(group);\n }\n group.columns.push(column);\n group.col++;\n if (grouped) {\n subHeader.push(column);\n } else {\n group.index = data.field;\n if (hasGroup) {\n group.row = 2;\n }\n }\n });\n this.headers = [this.groups, subHeader];\n } else {\n if (this.schema) {\n Object.keys(this.schema.properties).forEach((key) => {\n const property = this.schema.properties[key];\n if (property) {\n const column = { title: property.title || key, index: key, schema: property };\n this.columns.push(column);\n }\n });\n } else if (this._data && this._data[0]) {\n const data = this._data[0];\n Object.keys(data).forEach((key) => {\n const column = { title: key, index: key };\n this.widthConfig.push(100 + 'px');\n this.columns.push(column);\n });\n }\n this.headers = [this.columns];\n console.log('header', this.headers);\n }\n }\n\n updateData() {\n this.dataSize = this._data.length;\n if (this._data[0]) {\n this.titleSize = Object.keys(this._data[0]).length;\n }\n if (this.isCustom && this.customCol[0]) {\n this.updateFilterOptions();\n this.groupBy(this._data);\n this.count();\n }\n if (this.sumColumns) {\n this.sumData = {};\n this.sumColumns.split(',').forEach((column) => {\n let sum: number = this._data.reduce((p, c) => {\n const value = c[column];\n if (value && isNum(value)) {\n p += +value;\n }\n return p;\n }, 0);\n this.sumData[column] = +sum.toFixed(2);\n });\n }\n }\n\n /**\n * 更新筛选下拉框里的数据\n */\n updateFilterOptions() {\n if (this.groups) {\n this.groups.forEach((group) => {\n group.columns.forEach((column) => {\n if (column.showFilter) {\n const valueSet = new Set<any>();\n const target = group.columns.length == 1 ? group : column;\n target.filter = [];\n if (this._data) {\n this._data.forEach((row) => {\n const key = column.index;\n const value = row[key];\n const filterValue = this.filterValues[key];\n const checked = filterValue && filterValue.includes(value);\n if (checked || this.filterMatch(row, key)) {\n if (value != null && value != '' && !valueSet.has(value)) {\n valueSet.add(value);\n const item = { value, checked };\n target.filter.push(item);\n }\n }\n });\n }\n }\n });\n });\n }\n }\n\n filterMatch(record: any, exclude?: string): boolean {\n const keys = Object.keys(this.filterValues);\n for (const key of keys) {\n if (key !== exclude) {\n const filterValue = this.filterValues[key];\n const value = record[key];\n if (filterValue?.length && !filterValue.includes(value)) {\n return false;\n }\n }\n }\n return true;\n }\n\n groupBy(array) {\n this.rows = [];\n array.forEach((record) => {\n if (this.filterMatch(record)) {\n const row = [];\n for (const group of this.groups) {\n for (const column of group.columns) {\n const value = record[column.index];\n // if (column.showFilter) {\n // const filterValue = column.filterValue || group.filterValue;\n // if (filterValue?.length && !filterValue.includes(value)) {\n // return;\n // }\n // }\n let myColor = '';\n if (column.needlevel) {\n myColor = this.getColor(record[column.index]);\n }\n if (myColor == '') {\n myColor = this.tbodyBackground;\n }\n row.push({ rowspan: 1, value, index: column.index, color: myColor, data: record });\n }\n }\n this.rows.push(row);\n }\n });\n this.customCol.forEach((column, i) => {\n if (column.ismerge) {\n this.needPage = false;\n let lastTd = null;\n this.rows.forEach((row) => {\n const td = row[i];\n if (lastTd != null && lastTd.value === td.value) {\n lastTd.rowspan++;\n td.rowspan = 0;\n } else {\n lastTd = td;\n }\n });\n }\n });\n }\n\n getColor(value): string {\n // value=value.toString().replace('%','');\n const regExp: RegExp = /-?\\d+\\.?\\d*/;\n const result = regExp.exec(value);\n if (this.level.length > 0) {\n for (const t of this.level) {\n if (t.gte <= Number(result[0]) && Number(result[0]) < t.lte) {\n return t.color;\n }\n }\n }\n return '';\n }\n\n count() {\n const name = 'value';\n this._data.forEach((data) => {\n this.groups.forEach((group, i) => {\n group.columns.forEach((column, j) => {\n let item = {};\n let check = false;\n this.totalCount.forEach((ite) => {\n if (ite.filed === column.index) {\n item = ite;\n check = true;\n return;\n }\n });\n if (i === 0 && j === 0 && !check) {\n item = { filed: column.index, value: '合计' };\n }\n if (i !== 0 || j !== 0) {\n if (!check) {\n item = { filed: column.index };\n }\n if (column.iscount) {\n this.needCount = true;\n if (!item[name]) {\n item[name] = 0;\n }\n item[name] = Number(item[name]) + this.getDataValue(data, column.index);\n } else {\n item[name] = '';\n }\n }\n if (!check) {\n this.totalCount.push(item);\n }\n });\n });\n });\n }\n\n getDataValue(array, index) {\n let result = 0;\n array.forEach((data) => {\n if (data.index === index) {\n result = Number(data.value);\n return;\n }\n });\n return result;\n }\n\n onTdClick(td: any, i: number) {\n const { index, value, data } = td;\n this.tdChange.emit(value);\n this.rowChange.emit(this.customCol[i].title);\n this.tdClick.emit({ index, value, data });\n }\n\n onTdClickByGroup(data: any, column: any) {\n const index = column.index;\n const value = data[index];\n this.tdChange.emit(value);\n this.rowChange.emit(column.title);\n this.tdClick.emit({ index, value, data });\n }\n\n onTrClick(data: any) {\n // if (this.isCustom) {\n // data.forEach((a) => {\n // console.log('tr:td' + a.value);\n // });\n // }\n this.trChange.emit(data);\n }\n\n onCheck(column: any, values: any[]) {\n column.filterChecked = values;\n }\n\n filter(column: any) {\n this.filterValues[column.index] = column.filterChecked;\n // column.filterValue = column.filterChecked;\n this.updateData();\n column.filterVisible = false;\n }\n\n reset(column: any) {\n column.filterChecked = [];\n column.filter = column.filter.map((item) => ({\n value: item.value,\n }));\n this.filter(column);\n }\n\n export(): Sheet {\n const data = [];\n const merges = [];\n if (this.groups) {\n const row1 = [];\n const row2 = [];\n this.groups.forEach((group) => {\n const colIndex = row1.length;\n group.columns.forEach((column) => {\n row1.push(group.title);\n row2.push(column.title);\n });\n if (group.row > 1 || group.col > 1) {\n merges.push({ s: { r: 0, c: colIndex }, e: { r: group.row - 1, c: colIndex + group.col - 1 } });\n }\n });\n data.push(row1, row2);\n this._data.forEach((rowData) => {\n const rowIndex = data.length;\n const row = [];\n rowData.forEach((td, i) => {\n row.push(td.value);\n if (td.rowspan > 1) {\n merges.push({ s: { r: rowIndex, c: i }, e: { r: rowIndex + td.rowspan - 1, c: i } });\n }\n });\n data.push(row);\n });\n } else {\n const row1 = this.columns.map((column) => column.title);\n data.push(row1);\n this._data.forEach((rowData) => {\n const row = this.columns.map((column) => rowData[column.index]);\n data.push(row);\n });\n }\n return { data, merges };\n }\n\n exportWord() {\n const element = this.ele.nativeElement as HTMLElement;\n let html = '';\n const tables = element.querySelectorAll('table');\n if (tables.length === 1) {\n html += tables.item(0).outerHTML;\n } else if (tables.length > 1) {\n html += '<table>';\n tables.forEach((table) => {\n table = table.cloneNode(true) as HTMLTableElement;\n const measureRow = table.querySelector('.ant-table-measure-now');\n if (measureRow) {\n measureRow.parentElement.removeChild(measureRow);\n }\n html += table.innerHTML;\n });\n html += '</table><br/>';\n }\n return html;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TableComponent } from './table.component';\nimport { NzTableModule } from 'ng-zorro-antd/table';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\nimport { NzPipesModule } from 'ng-zorro-antd/pipes';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { FormsModule } from '@angular/forms';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\n\n@NgModule({\n declarations: [TableComponent],\n imports: [\n CommonModule,\n FormsModule,\n WidgetBaseModule,\n NzTableModule,\n NzPipesModule,\n NzSelectModule,\n NzIconModule,\n NzDropDownModule,\n NzCheckboxModule,\n NzButtonModule\n ],\n})\nexport class TableModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(TableComponent);\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport { LazyService } from '@delon/util';\r\n\r\ndeclare const Highcharts;\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HighChartsService {\r\n private loadHighChartsPromise: Promise<any>;\r\n private loadHighCharts3DPromise: Promise<any>;\r\n constructor(private lazy: LazyService) {}\r\n\r\n load() {\r\n if (typeof Highcharts !== 'undefined') {\r\n return Promise.resolve();\r\n }\r\n if (this.loadHighChartsPromise == null) {\r\n this.loadHighChartsPromise = this.lazy.loadScript('assets/js/highcharts/highcharts.js');\r\n }\r\n return this.loadHighChartsPromise;\r\n }\r\n\r\n async load3D() {\r\n await this.load();\r\n if (this.loadHighCharts3DPromise == null) {\r\n this.loadHighCharts3DPromise = this.lazy.loadScript('assets/js/highcharts/highcharts-3d.js');\r\n }\r\n return this.loadHighCharts3DPromise;\r\n }\r\n}\r\n","import { Component, ElementRef, OnChanges, OnInit, SimpleChanges, ViewChild } from '@angular/core';\nimport { LazyService } from '@delon/util';\nimport { FindValueSubscriber } from 'rxjs/internal/operators/find';\nimport { Data, Property, Widget } from 'bbj-widget-base';\nimport { HighChartsService } from '../shared/service/highcharts.service';\nimport { getFontStyle } from '../shared/util/style.util';\ndeclare var Highcharts: any;\n@Component({\n selector: 'sc-pie3d-chart',\n templateUrl: './pie3d-chart.component.html',\n styleUrls: ['./pie3d-chart.component.less'],\n})\n@Widget('3D饼图', {\n group: 'pieChart',\n image: 'assets/img/screen/pie3d.png',\n icon: 'icontubiao',\n})\nexport class Pie3dChartComponent implements OnInit, OnChanges {\n static initPluginPromise = null;\n\n @ViewChild('container', { static: true })\n container: ElementRef;\n @Property('标题', { type: 'string' })\n title = '';\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = {\n family: '',\n color: '#FFFFFF',\n weight: 'normal',\n size: 12,\n space: 0,\n lineHeight: '',\n };\n @Property('浮标', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n buoy = false;\n @Property('填充', {\n ui: {\n widget: 'seriesColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n },\n })\n colors = ['#058DC7', '#50B432', '#ED561B', '#DDDF00', '#24CBE5', '#64E572', '#FF9655', '#FFF263', '#6AF9C4'];\n @Property('饼图厚度', { type: 'number' })\n thickness = 45;\n @Property('倾斜角度', { type: 'number' })\n angle = 60;\n @Property('图例开关', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n showLegend = true;\n @Property('图例间距', { type: 'number' })\n itemDistance = 80;\n @Property('高度系数', { type: 'number' })\n coefficient = 1;\n @Property('开始角度', { type: 'number' })\n startAngle = 90;\n @Property('图例水平', {\n ui: { widget: 'select' },\n enum: [\n { label: '居中', value: 'center' },\n { label: '居左', value: 'left' },\n { label: '居右', value: 'right' },\n ],\n })\n alignType = 'center';\n @Property('图例垂直', {\n ui: { widget: 'select' },\n enum: [\n { label: '居上', value: 'top' },\n { label: '居下', value: 'bottom' },\n { label: '居中', value: 'middle' },\n ],\n })\n verticalAlign = 'bottom';\n @Property('提示框字体', { ui: { widget: 'myFont' } })\n tooltipFont: any;\n @Data({\n properties: {\n x: { type: 'string', title: '类目' },\n y: { type: 'number', title: '值' },\n },\n })\n _data = [\n { x: '一月', y: 33 },\n { x: '二月', y: 31 },\n { x: '三月', y: 11 },\n { x: '四月', y: 11 },\n { x: '五月', y: 7 },\n { x: '六月', y: 20 },\n ];\n data: any[] = [];\n\n constructor(private highChartsService: HighChartsService) {}\n\n ngOnInit(): void {}\n\n async ngOnChanges(changes: SimpleChanges) {\n await this.initPlugin();\n this.reloadData();\n let each = Highcharts.each,\n round = Math.round,\n cos = Math.cos,\n sin = Math.sin,\n deg2rad = Math.PI / 180;\n Highcharts.wrap(Highcharts.seriesTypes.pie.prototype, 'translate', function (proceed) {\n proceed.apply(this, [].slice.call(arguments, 1));\n // Do not do this if the chart is not 3D\n if (!this.chart.is3d()) {\n return;\n }\n var series = this,\n chart = series.chart,\n options = chart.options,\n seriesOptions = series.options,\n depth = seriesOptions.depth || 0,\n options3d = options.chart.options3d,\n alpha = options3d.alpha,\n beta = options3d.beta,\n z = seriesOptions.stacking ? (seriesOptions.stack || 0) * depth : series._i * depth;\n z += depth / 2;\n if (seriesOptions.grouping !== false) {\n z = 0;\n }\n each(series.data, function (point) {\n var shapeArgs = point.shapeArgs,\n angle;\n point.shapeType = 'arc3d';\n var ran = point.options.h;\n shapeArgs.z = z;\n shapeArgs.depth = depth * 0.75 + ran;\n shapeArgs.alpha = alpha;\n shapeArgs.beta = beta;\n shapeArgs.center = series.center;\n shapeArgs.ran = ran;\n angle = (shapeArgs.end + shapeArgs.start) / 2;\n point.slicedTranslation = {\n translateX: round(cos(angle) * seriesOptions.slicedOffset * cos(alpha * deg2rad)),\n translateY: round(sin(angle) * seriesOptions.slicedOffset * cos(alpha * deg2rad)),\n };\n });\n });\n (function (H) {\n H.wrap(Highcharts.SVGRenderer.prototype, 'arc3dPath', function (proceed) {\n // Run original proceed method\n var ret = proceed.apply(this, [].slice.call(arguments, 1));\n ret.zTop = (ret.zOut + 0.5) / 100;\n return ret;\n });\n })(Highcharts);\n\n let sum = this._data.reduce((sum, data) => sum + Number(data.y), 0);\n this._data.sort((a, b) => {\n return b.y - a.y;\n });\n const data = [];\n this._data.forEach((record) => {\n // const x=record.x;\n // const s=record.s;\n // const y=record.y;\n const { x, y } = record;\n let obj: any;\n if (sum === 0) {\n obj = { name: x, y: 1, h: (100 / this._data.length) * (this.coefficient || 1) };\n } else {\n obj = { name: x, y: Number(y), h: (Number(y) / sum) * 100 * (this.coefficient || 1) };\n }\n\n data.push(obj);\n });\n let pointFormat = '{series.name}: <b>{point.percentage:.1f}%</b>';\n let labelFormat = '<span style=\"{color}\">{name} :{y}</span>';\n let format = '<span style=\"color:{point.color}\">{point.y}<br/>{point.name}';\n if (sum === 0) {\n pointFormat = '{series.name}: <b>0%</b>';\n labelFormat = '<span style=\"{color}\">{name} :0</span>';\n format = '<span style=\"color:{point.color}\">0<br/>{point.name}';\n }\n const options = {\n legend: {\n itemStyle: {\n color: this.font.color,\n fontSize: this.font.size + 'px',\n fontWeight: this.font.weight,\n fontFamily: this.font.family,\n },\n verticalAlign: this.verticalAlign,\n align: this.alignType,\n itemDistance: this.itemDistance,\n labelFormat,\n },\n chart: {\n type: 'pie',\n animation: false,\n events: {\n load: function () {\n var each = Highcharts.each,\n points = this.series[0].points;\n each(points, function (p, i) {\n p.graphic.attr({\n translateY: -p.shapeArgs.ran,\n });\n p.graphic.side1.attr({\n translateY: -p.shapeArgs.ran,\n });\n p.graphic.side2.attr({\n translateY: -p.shapeArgs.ran,\n });\n });\n },\n },\n options3d: {\n enabled: true,\n alpha: this.angle,\n beta: 0,\n },\n },\n title: {\n text: this.title,\n style: {\n color: this.font.color,\n fontSize: this.font.size + 'px',\n fontWeight: this.font.weight,\n fontFamily: this.font.family,\n },\n },\n tooltip: {\n pointFormat,\n style: getFontStyle(this.tooltipFont),\n },\n plotOptions: {\n pie: {\n showInLegend: this.showLegend,\n allowPointSelect: false,\n cursor: 'pointer',\n depth: this.thickness,\n point: {\n events: {\n legendItemClick: function () {\n return false;\n },\n },\n },\n dataLabels: {\n style: getFontStyle(this.font),\n enabled: this.buoy,\n format,\n // formatter,\n },\n },\n },\n colors: this.colors,\n series: [\n {\n type: 'pie',\n name: this.title,\n startAngle: this.startAngle,\n data,\n },\n ],\n };\n let chart = Highcharts.chart(this.container.nativeElement, options);\n }\n reloadData() {}\n\n initPlugin() {\n return this.highChartsService.load3D();\n }\n\n // async _initPlugin() {\n // await this.lazy.loadScript('assets/js/highcharts/highcharts.js');\n // await this.lazy.loadScript('assets/js/highcharts/highcharts-3d.js');\n // // await this.lazy.loadScript('https://code.highcharts.com.cn/highcharts/modules/exporting.js');\n // // await this.lazy.loadScript('https://img.hcharts.cn/highcharts-plugins/highcharts-zh_CN.js');\n // // await this.lazy.loadScript('https://code.highcharts.com.cn/highcharts/themes/dark-unica.js');\n // }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Pie3dChartComponent } from './pie3d-chart.component';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\n\n\n\n@NgModule({\n declarations: [Pie3dChartComponent],\n imports: [CommonModule, WidgetBaseModule],\n})\nexport class Pie3dChartModule { \n constructor(widgetService: WidgetService) {\n widgetService.register(Pie3dChartComponent);\n }\n}\n","import { Component, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { Data, Property, Widget } from 'bbj-widget-base';\n\n@Component({\n selector: 'sc-multi-title-gauge',\n templateUrl: './multi-title-gauge.component.html',\n styleUrls: ['./multi-title-gauge.component.less']\n})\n@Widget('多标题仪表盘', {\n group: 'otherChart',\n image: 'assets/img/screen/multiTitleGauge.png', \n icon: 'icontubiao',\n})\nexport class MultiTitleGaugeComponent implements OnInit, OnChanges {\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = {\n family: '',\n color: '#FFFFFF',\n weight: 'normal',\n size: 12,\n space: 0,\n lineHeight: 12,\n };\n\n @Property('字体', { ui: { widget: 'myFont' } })\n detailFont: any = {\n family: '',\n color: '#FFFFFF',\n weight: 'normal',\n size: 14,\n space: 0,\n lineHeight: 12,\n };\n @Property('百分号', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n percent = false;\n @Property('类别颜色', {\n ui: {\n widget: 'seriesColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n visibleIf: { colorSwitch: [true] }\n },\n })\n colors = ['#058DC7', '#50B432', '#ED561B', '#DDDF00',\n '#24CBE5', '#64E572', '#FF9655', '#FFF263', '#6AF9C4'];\n @Property('起始角度', {\n ui: { widget: 'myRange', min: 90, max: 360, step: 1 },\n })\n startAngle = 225;\n @Property('结束角度', {\n ui: { widget: 'myRange', min: -90, max: 90, step: 1 },\n })\n endAngle = -45;\n @Property('标签', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n label = false;\n @Property('最大值', {\n ui: { widget: 'number' },\n })\n max = 100;\n @Property('最小值', {\n ui: { widget: 'number' },\n })\n min = 0;\n @Property('指针长度', {\n ui: { widget: 'number' },\n })\n pointerLength = 80;\n @Property('环宽', {\n ui: { widget: 'number' },\n })\n width = 12;\n @Property('显示指针', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n showPointer = true;\n @Property('显示刻度', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n showScale = true;\n image: string;\n chartOption: any = {};\n @Data({\n properties: {\n name: { type: 'string', title: '文字' },\n value: { type: 'number', title: '值' },\n },\n })\n _data = [\n { name: '速度', value: 48 },\n { name: '温度', value: 20 }\n ];\n\n constructor() { }\n ngOnChanges(changes: SimpleChanges): void {\n if (changes._data) {\n const style = {\n color: this.font.color,\n fontFamily: this.font.family,\n fontWeight: this.font.weight,\n fontSize: this.font.size,\n lineHeight: this.font.lineHeight,\n };\n\n // const color = [];\n // const color1 = [];\n // let seriesColor;\n // if (this.seriesColor && this.seriesColor.value) {\n // seriesColor = this.seriesColor.value;\n // } else {\n // seriesColor = this.seriesColor;\n // }\n // for (let i = 0; i < seriesColor.length; i++) {\n // color.push({\n // type: 'linear',\n // x: 0,\n // y: 0,\n // x2: 1,\n // y2: 0,\n // global: false,\n // colorStops: [\n // { offset: 0, color: seriesColor[i][0] },\n // { offset: 1, color: seriesColor[i][1] },\n // ],\n // });\n // }\n // let count = 1;\n // if (seriesColor.length > 1) {\n // count = 1 / seriesColor.length;\n // for (let i = 0; i < seriesColor.length; i++) {\n // color1.push([count * (i + 1), color[i]]);\n // }\n // }\n if(!this.showPointer){\n this.pointerLength=0;\n }\n this.chartOption = {\n series: [{\n type: 'gauge',\n anchor: {\n show: this.showPointer,\n showAbove: true,\n size: 18,\n itemStyle: {\n color: '#FAC858'\n }\n },\n pointer: {\n icon: 'path://M2.9,0.7L2.9,0.7c1.4,0,2.6,1.2,2.6,2.6v115c0,1.4-1.2,2.6-2.6,2.6l0,0c-1.4,0-2.6-1.2-2.6-2.6V3.3C0.3,1.9,1.4,0.7,2.9,0.7z',\n width: 8,\n length: this.pointerLength + '%',\n offsetCenter: [0, '8%']\n },\n progress: {\n show: true,\n overlap: true,\n roundCap: true,\n width:this.width,\n },\n axisLine: {\n roundCap: true,\n lineStyle: {\n width: this.width,\n }\n },\n startAngle: this.startAngle,\n endAngle: this.endAngle,\n splitLine: {\n show: this.showScale,\n },\n axisTick: {\n show: this.showScale,\n },\n axisLabel: {\n show: this.showScale,\n color: '#fff'\n // distance: 50\n },\n data: [],\n color: this.colors,\n title: {\n show: this.label,\n fontSize: this.font.size,\n color: this.font.color,\n },\n detail: {\n formatter: this.percent ? '' + '{value}' + '%' : '{value}',\n width: 40,\n height: this.detailFont.size,\n fontSize: this.detailFont.size,\n color: this.detailFont.color,\n backgroundColor: 'auto',\n borderRadius: 3,\n show:this.label\n },\n max: this.max,\n min: this.min,\n }]\n };\n // console.log(JSON.stringify(this.chartOption));\n }\n this.reloadData();\n }\n\n ngOnInit(): void {\n }\n reloadData() {\n let datas = [];\n if (this._data) {\n let count = this._data.length + 1;\n let numa = 200 / count;\n let numb = numa - 100;\n this._data.forEach((a, index) => {\n let obj = {\n value: a.value,\n name: a.name,\n title: {\n offsetCenter: [(numb + (index * numa)) + '%', '30%']\n },\n detail: {\n offsetCenter: [(numb + (index * numa)) + '%', '50%']\n }\n }\n datas.push(obj);\n })\n }\n this.chartOption.series[0].data = datas;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MultiTitleGaugeComponent } from './multi-title-gauge.component';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\nimport { NgxEchartsModule } from 'ngx-echarts';\n\n\n\n@NgModule({\n declarations: [MultiTitleGaugeComponent],\n imports: [\n CommonModule, WidgetBaseModule, NgxEchartsModule\n ]\n})\nexport class MultiTitleGaugeModule { \n constructor(widgetService: WidgetService) {\n widgetService.register(MultiTitleGaugeComponent);\n }\n}\n","import { Component, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { Property, Widget, Data } from 'bbj-widget-base';\n\n@Component({\n selector: 'sc-gauge-progress',\n templateUrl: './gauge-progress.component.html',\n styleUrls: ['./gauge-progress.component.less'],\n})\n@Widget('进度条仪表盘', {\n group: 'otherChart',\n image: 'assets/img/screen/gauge-progress.png',\n icon: 'icontubiao',\n})\nexport class GaugeProgressComponent implements OnInit, OnChanges {\n @Property('数值字体', { ui: { widget: 'myFont' } })\n numfont: any = {\n family: 'Microsoft YaHei',\n color: '#ffffff',\n weight: 'normal',\n size: 21,\n space: 0,\n lineHeight: '20',\n };\n\n @Property('可视个数', { type: 'number' })\n slidesPerView = 1;\n\n @Property('间距', { type: 'number' })\n spaceBetween = 0;\n\n @Property('左右按钮', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n navigation = true;\n\n @Property('按钮偏移', { type: 'number' })\n navigationMoveVal = -60;\n\n @Property('左图标', {\n type: 'string',\n ui: {\n widget: 'myUpload',\n },\n })\n navigationLeftIcon = null;\n\n @Property('右图标', {\n type: 'string',\n ui: {\n widget: 'myUpload',\n },\n })\n navigationRightIcon = null;\n\n @Property('显示模式', {\n ui: { widget: 'select' },\n enum: [{ label: '图标卡片', value: 'card' }],\n })\n showType = 'card';\n\n @Property('卡片背景', {\n type: 'string',\n ui: {\n widget: 'myUpload',\n },\n })\n cardBgImg = null;\n navigationBtnConfig = {\n prevEl: '.swiper-navigation-prev',\n nextEl: '.swiper-navigation-next',\n };\n //========================================\n @Property('表盘颜色', {\n ui: {\n widget: 'seriesColor',\n type: 'gradual',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n },\n })\n seriesColor: any = { gradient: false, value: [['#6D7597', '#6D7597']] };\n\n @Property('表盘宽度', {\n ui: { widget: 'myRange', min: 0, max: 100, step: 1 },\n })\n width = 10;\n @Property('起始角度', {\n ui: { widget: 'myRange', min: 90, max: 360, step: 1 },\n })\n startAngle = 210;\n @Property('结束角度', {\n ui: { widget: 'myRange', min: -90, max: 90, step: 1 },\n })\n endAngle = -30;\n\n @Property('显示标题', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n label = true;\n\n @Property('标题字体', { ui: { widget: 'myFont' } })\n font: any = {\n family: '',\n color: '#FFFFFF',\n weight: 'normal',\n size: 18,\n space: 0,\n lineHeight: 18,\n };\n @Property('标题位移', {\n ui: { widget: 'number' },\n })\n labelOffset = 50;\n @Property('标题宽度', {\n ui: { widget: 'number' },\n })\n labelWidth = null;\n\n @Property('显示数值', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n labelVal = true;\n\n @Property('数值字体', { ui: { widget: 'myFont' } })\n numFont: any = {\n family: '',\n color: '#FFFFFF',\n weight: 'normal',\n size: 38,\n space: 0,\n lineHeight: 38,\n };\n\n @Property('百分号', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n percent = false;\n\n @Property('数值位移', {\n ui: { widget: 'number' },\n })\n labelValOffset = -10;\n\n @Property('最大值', {\n ui: { widget: 'number' },\n })\n max = 100;\n @Property('最小值', {\n ui: { widget: 'number' },\n })\n min = 0;\n\n @Property('进度颜色', {\n ui: {\n widget: 'seriesColor',\n type: 'gradual',\n },\n })\n progressColor = { gradient: true, value: [['#2505F0', '#f00']] };\n\n @Property('进度阴影', {\n ui: {\n widget: 'myColor',\n example: ['#ffffff', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],\n },\n })\n progressShadow = null;\n\n image: string;\n constructor() {}\n chartOption: any = {};\n @Data({\n properties: {\n name: { type: 'string', title: '文字' },\n value: { type: 'number', title: '值' },\n },\n })\n _data = [{ name: '标题', value: 50 }];\n\n data = [];\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes._data) {\n this.data = [];\n if (this._data) {\n if (this._data.length <= this.slidesPerView) {\n this.navigation = false;\n }\n this._data.forEach((e: any) => {\n let sourceData = [];\n sourceData.push(e);\n let chartOption = {\n series: [\n {\n // name: this.title,\n type: 'gauge',\n startAngle: this.startAngle,\n endAngle: this.endAngle,\n progress: {\n show: e.value && Number(e.value) > 0 ? true : false,\n overlap: false,\n roundCap: true,\n clip: false,\n itemStyle: {\n borderWidth: 1,\n color: this.getColor(this.progressColor, 'progress'),\n shadowColor: this.progressShadow,\n shadowBlur: 5,\n },\n },\n detail: {\n show: this.labelVal,\n formatter: this.percent ? '' + ((e.value / this.max) * 100).toFixed(2) + '%' : '{value}',\n color: this.numFont.color,\n fontFamily: this.numFont.family,\n fontWeight: this.numFont.weight,\n fontSize: this.numFont.size,\n lineHeight: this.numFont.lineHeight,\n offsetCenter: [0, `${this.labelValOffset}%`],\n },\n data: sourceData,\n title: {\n show: this.label,\n color: this.font.color,\n fontFamily: this.font.family,\n fontWeight: this.font.weight,\n fontSize: this.font.size,\n lineHeight: this.font.lineHeight,\n offsetCenter: [0, `${this.labelOffset}%`],\n overflow: 'breakAll',\n width: this.labelWidth,\n },\n axisLine: {\n roundCap: true,\n lineStyle: {\n width: this.width,\n color: this.getColor(this.seriesColor),\n },\n },\n max: this.max,\n min: this.min,\n axisLabel: {\n show: false,\n },\n splitLine: {\n show: false,\n },\n axisTick: {\n show: false,\n },\n pointer: {\n show: false,\n },\n },\n ],\n };\n this.data.push(chartOption);\n });\n }\n\n // console.log(this._data[0].value,this._data[0].value && Number(this._data[0].value) !== 0 ? true : false)\n\n // console.log(JSON.stringify(this.chartOption));\n }\n }\n ngOnInit() {}\n getColor(colorBox, type?: string) {\n const color = [];\n const color1 = [];\n const colorInfo = colorBox && colorBox.value ? colorBox.value : colorBox;\n colorInfo.forEach((item) => {\n color.push({\n type: 'linear',\n x: 0,\n y: 0,\n x2: 1,\n y2: 0,\n global: false,\n colorStops: [\n { offset: 0, color: item[0] },\n { offset: 1, color: item[1] },\n ],\n });\n });\n let count = 1;\n if (colorInfo.length > 1) {\n count = 1 / colorInfo.length;\n for (let i = 0; i < colorInfo.length; i++) {\n color1.push([count * (i + 1), color[i]]);\n }\n }\n return type === 'progress' ? color[0] : count < 1 ? color1 : [[1, color[0]]];\n }\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { GaugeProgressComponent } from './gauge-progress.component';\r\nimport { NgxEchartsModule } from 'ngx-echarts';\r\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\r\nimport 'swiper/swiper-element-bundle.js';\r\n\r\n@NgModule({\r\n declarations: [GaugeProgressComponent],\r\n imports: [CommonModule, WidgetBaseModule, NgxEchartsModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n})\r\nexport class GaugeProgressModule {\r\n constructor(widgetService: WidgetService) {\r\n widgetService.register(GaugeProgressComponent);\r\n }\r\n}\r\n","import { Component, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { Data, Property, Widget } from 'bbj-widget-base';\n\n@Component({\n selector: 'sc-bulletin-board',\n templateUrl: './bulletin-board.component.html',\n styleUrls: ['./bulletin-board.component.less']\n})\n@Widget('布告栏', {group: 'component', icon: 'icontubiao', image: '/assets/img/screen/bulletin-board.png'})\nexport class BulletinBoardComponent implements OnInit,OnChanges {\n @Property('标题', {type:'string'})\n title='';\n @Property('标题字体', { ui: { widget: 'myFont' } })\n titleFont: any = { family: '', color: '#ffffff', weight: 'normal', size: 20, space: 0, lineHeight: 40 };\n @Property('小标题字', { ui: { widget: 'myFont' } })\n subtitleFont: any = { family: '', color: '#ffffff', weight: 'normal', size: 20, space: 0, lineHeight: 40 };\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = {\n family: '',\n color: '#FFFFFF',\n weight: 'normal',\n size: 12,\n space: 0,\n lineHeight: 12,\n };\n @Property('边框颜色', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#ffffff'],\n },\n })\n borderColor = '';\n @Property('渐变开始', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#ffffff'],\n },\n })\n startColor = '#D0021B';\n @Property('渐变结束', {\n ui: {\n widget: 'myColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#ffffff'],\n },\n })\n endColor = '#F5A623';\n @Property('边框粗细',{\n type:'number'\n })\n borderWidth=5;\n @Property('分隔符',{\n type:'string'\n })\n separate=';';\n @Property('内容边距',{\n type:'number'\n })\n marginSize=';';\n @Data({\n properties: {\n title: { type: 'string', title: '小标题' },\n content: { type: 'string', title: '内容' },\n },\n })\n _data = [\n { title: '单位单位单位', content: '【带班领导】 张三 1300000000;【值班联系】 李四 1300000000 ' },\n { title: '单位单位单位', content: '【带班领导】 张三 1300000000;【值班联系】 李四 1300000000 ' },\n { title: '单位单位单位', content: '【带班领导】 张三 1300000000;【值班联系】 李四 1300000000 ' },\n { title: '单位单位单位', content: '【带班领导】 张三 1300000000;【值班联系】 李四 1300000000 ' },\n ];\n contentArr: any = [];\n titleStyle: any;\n textStyle: any;\n subtitleStyle: any;\n boxStyle: any;\n constructor() { }\n\n ngOnChanges(changes: SimpleChanges): void {\n if(this._data&&this._data.length>0){\n this._data.forEach(a=>{\n let obj={title:'',content:[]};\n let sp=this.separate;\n if(!sp||sp===''){\n sp=';';\n }\n obj.title=a.title;\n obj.content=a.content.split(sp);\n this.contentArr.push(obj);\n })\n }\n }\n\n ngOnInit(): void {\n this.titleStyle = {\n fontSize: this.titleFont.size + 'px',\n fontFamily: this.titleFont.family,\n color: this.titleFont.color,\n fontWeight: this.titleFont.weight,\n letterSpacing: this.titleFont.space + 'px',\n lineHeight: this.titleFont.lineHeight + 'px',\n // backgroundColor: this.headBackground,\n };\n this.subtitleStyle = {\n fontSize: this.subtitleFont.size + 'px',\n fontFamily: this.subtitleFont.family,\n color: this.subtitleFont.color,\n fontWeight: this.subtitleFont.weight,\n letterSpacing: this.subtitleFont.space + 'px',\n lineHeight: this.subtitleFont.lineHeight + 'px',\n borderLeft: this.borderWidth+'px'+' solid '+this.borderColor,\n background:'-webkit-linear-gradient(left,'+this.startColor+','+this.endColor+')',\n };\n this.textStyle = {\n fontSize: this.font.size + 'px',\n fontFamily: this.font.family,\n color: this.font.color,\n fontWeight: this.font.weight,\n letterSpacing: this.font.space + 'px',\n lineHeight: this.font.lineHeight + 'px',\n };\n this.boxStyle={\n margin: this.marginSize+'px 0px',\n }\n \n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BulletinBoardComponent } from './bulletin-board.component';\nimport { WidgetService } from 'bbj-widget-base';\n\n\n\n@NgModule({\n declarations: [\n BulletinBoardComponent\n ],\n imports: [\n CommonModule\n ]\n})\nexport class BulletinBoardModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(BulletinBoardComponent);\n }\n }\n","import { Component, ElementRef, OnInit, EventEmitter, OnChanges, SimpleChanges, ViewChild } from '@angular/core';\nimport { Property, Widget, DataOutput, Data } from 'bbj-widget-base';\n\n// install Swiper components\n// SwiperCore.use([\n// Navigation,\n// Pagination,\n// Scrollbar,\n// A11y,\n// Virtual,\n// Zoom,\n// Autoplay,\n// Thumbs,\n// Controller\n// ]);\n@Component({\n selector: 'sc-item-swiper',\n templateUrl: './item-swiper.component.html',\n styleUrls: ['./item-swiper.component.less'],\n})\n@Widget('轮播', { group: 'component', image: 'assets/img/screen/item-swiper.png', icon: 'iconmokuai' })\nexport class ItemSwiperComponent implements OnInit, OnChanges {\n @Property('标题字体', { ui: { widget: 'myFont' } })\n font: any = { family: 'Microsoft YaHei', color: '#ffffff', weight: 'normal', size: 20, space: 0, lineHeight: '66' };\n\n @Property('数值字体', { ui: { widget: 'myFont' } })\n numfont: any = {\n family: 'Microsoft YaHei',\n color: '#ffffff',\n weight: 'normal',\n size: 21,\n space: 0,\n lineHeight: '25',\n };\n @Property('分组字体', { ui: { widget: 'myFont' } })\n titlefont: any = {\n family: 'Microsoft YaHei',\n color: '#ffffff',\n weight: 'normal',\n size: 21,\n space: 0,\n lineHeight: '25',\n };\n @Property('可视个数', { type: 'number' })\n slidesPerView = 3;\n @Property('选项高度')\n selectHeight: number = 180;\n @Property('分组高度', { type: 'number' })\n gourpHeight = 0;\n @Property('值高度', { type: 'number' })\n valueBottom = 0;\n @Property('间距', { type: 'number' })\n spaceBetween = 10;\n\n @Property('左右按钮', {\n ui: { widget: 'boolean', checkedChildren: '开', unCheckedChildren: '关' },\n })\n navigation = true;\n\n @Property('按钮偏移', { type: 'number' })\n navigationMoveVal = -60;\n\n @Property('左图标', {\n type: 'string',\n ui: {\n widget: 'myUpload',\n },\n })\n navigationLeftIcon = null;\n\n @Property('右图标', {\n type: 'string',\n ui: {\n widget: 'myUpload',\n },\n })\n navigationRightIcon = null;\n\n @Property('显示模式', {\n ui: { widget: 'select' },\n enum: [{ label: '图标卡片', value: 'card' }],\n })\n showType = 'card';\n\n @Property('卡片背景', {\n type: 'string',\n ui: {\n widget: 'myUpload',\n },\n })\n cardBgImg = null;\n @Property('图片高度')\n height: number = 180;\n @Property('图片宽度')\n width: number = 180;\n @Property('是否分组')\n isgroup: boolean = false;\n @Property('图片分类', {\n type: 'array',\n title: '图片分类',\n maxItems: 10,\n items: {\n type: 'object',\n properties: {\n imageUrl: {\n type: 'string',\n title: '图片',\n ui: {\n widget: 'myPicture',\n },\n },\n },\n required: [],\n },\n ui: { visibleIf: { isgroup: [false] }, grid: { arraySpan: 24 }, spanControl: 24 },\n })\n images: any = [\n { imageUrl: 'assets/img/screen/picture9.png' },\n { imageUrl: 'assets/img/screen/picture9.png' },\n { imageUrl: 'assets/img/screen/picture9.png' },\n { imageUrl: 'assets/img/screen/picture9.png' },\n { imageUrl: 'assets/img/screen/picture9.png' },\n { imageUrl: 'assets/img/screen/picture9.png' },\n ];\n @Property('新增分组', {\n type: 'array',\n title: '新增分组',\n maxItems: 10,\n items: {\n type: 'object',\n properties: {\n groupName: {\n type: 'string',\n title: '组名',\n },\n imageUrl: {\n type: 'string',\n title: '图片',\n ui: {\n widget: 'myPicture',\n },\n },\n },\n required: [],\n },\n ui: { visibleIf: { isgroup: [true] }, grid: { arraySpan: 24 }, spanControl: 24 },\n })\n groups = [\n { groupName: '1', imageUrl: 'assets/img/screen/picture9.png' },\n { groupName: '2', imageUrl: 'assets/img/screen/picture9.png' },\n { groupName: '3', imageUrl: 'assets/img/screen/picture9.png' },\n { groupName: '4', imageUrl: 'assets/img/screen/picture9.png' },\n { groupName: '5', imageUrl: 'assets/img/screen/picture9.png' },\n { groupName: '6', imageUrl: 'assets/img/screen/picture9.png' },\n ];\n groupfont: any = {};\n @Data({\n properties: {\n label: { title: '标题', type: 'string' },\n value: { title: '值', type: 'string' },\n group: { title: '分组', type: 'string' },\n },\n })\n _data: any[] = [\n { label: '测试1', value: '1000', group: '1' },\n { label: '测试2', value: '1000', group: '2' },\n { label: '测试3', value: '1000', group: '3' },\n { label: '测试4', value: '1000', group: '4' },\n { label: '测试5', value: '1000', group: '5' },\n { label: '测试6', value: '1000', group: '6' },\n ];\n @DataOutput('值')\n valueChange = new EventEmitter<any>();\n\n navigationBtnConfig = {\n prevEl: '.swiper-navigation-prev',\n nextEl: '.swiper-navigation-next',\n };\n\n data: any = [];\n items: any = {};\n showNavigation = true;\n constructor(private ele: ElementRef) {}\n\n ngOnInit(): void {\n if (this.isgroup) {\n this.groupfont = {\n fontSize: this.titlefont.size + 'px',\n fontFamily: this.titlefont.family,\n color: this.titlefont.color,\n fontWeight: this.titlefont.weight,\n letterSpacing: this.titlefont.space + 'px',\n lineHeight: this.titlefont.lineHeight + 'px',\n top: this.gourpHeight + 'px',\n };\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.items = {};\n this.data = [];\n if (changes.numfont) {\n this.numfont = {\n fontSize: this.numfont.size + 'px',\n fontFamily: this.numfont.family,\n color: this.numfont.color,\n fontWeight: this.numfont.weight,\n letterSpacing: this.numfont.space + 'px',\n lineHeight: this.numfont.lineHeight + 'px',\n };\n }\n if (changes.font) {\n this.font = {\n fontSize: this.font.size + 'px',\n fontFamily: this.font.family,\n color: this.font.color,\n fontWeight: this.font.weight,\n letterSpacing: this.font.space + 'px',\n lineHeight: this.font.lineHeight + 'px',\n };\n }\n if (this._data && this._data[0] && !this.isgroup) {\n this._data.forEach((t, i) => {\n let img = '';\n if (this.images) {\n img = this.images[i]?.imageUrl || this.images[this.images.length - 1].imageUrl;\n t.imgstyle = {\n height: (this.height || 30) + 'px',\n width: (this.width || 30) + 'px',\n };\n }\n t.img = img;\n this.data.push(t);\n });\n }\n if (this._data && this._data[0] && this.isgroup) {\n this._data.forEach((t: any) => {\n let groupName = t.group || ' ';\n if (!this.items[groupName]) {\n this.items[groupName] = {};\n }\n let a = this.items[groupName];\n if (!a.field) {\n a.field = [];\n }\n let arr = a.field;\n arr.push({ label: t.label, value: t.value });\n });\n if (this.groups && this.groups.length > 0) {\n this.groups.forEach((e) => {\n let a = this.items[e.groupName];\n if (!a) {\n return;\n }\n a.img = e.imageUrl || '';\n a.imgstyle = {\n height: (this.height || 30) + 'px',\n width: (this.width || 30) + 'px',\n };\n });\n }\n Object.keys(this.items).forEach((key) => {\n let map = this.items[key];\n map['group'] = key;\n this.data.push(map);\n });\n }\n if (!this.data || !this.data[0]) {\n this.showNavigation = false;\n } else {\n this.showNavigation = this.navigation;\n }\n console.log(this.data);\n }\n onSwiper(swiper) {}\n onSlideChange() {}\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ItemSwiperComponent } from './item-swiper.component';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\nimport { NzSpaceModule } from 'ng-zorro-antd/space';\nimport 'swiper/swiper-element-bundle.js';\n\n@NgModule({\n declarations: [ItemSwiperComponent],\n imports: [CommonModule, WidgetBaseModule, NzSpaceModule],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class ItemSwiperModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(ItemSwiperComponent);\n }\n}\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Inject,\r\n OnChanges,\r\n OnInit,\r\n Optional,\r\n Renderer2,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { CustomExport, Data, DataOutput, Widget, WIDGET_CONFIG } from 'bbj-widget-base';\r\n\r\n@Component({\r\n selector: 'sc-temporary-data',\r\n templateUrl: './temporary-data.component.html',\r\n styleUrls: ['./temporary-data.component.less'],\r\n})\r\n@Widget('临时数据', { group: 'component', image: 'assets/img/screen/temporary-data.png', icon: 'iconmokuai' })\r\nexport class TemporaryDataComponent implements OnInit, OnChanges, CustomExport {\r\n @Data({})\r\n data: any[] = [];\r\n\r\n @DataOutput('数据')\r\n dataChange = new EventEmitter<any>();\r\n\r\n edit: boolean;\r\n\r\n constructor(private renderer: Renderer2, private elementRef: ElementRef) {}\r\n\r\n ngOnInit(): void {\r\n if (!this.edit) {\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'display', 'none');\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.data) {\r\n this.dataChange.emit(this.data);\r\n }\r\n }\r\n\r\n exportWord() {\r\n return null;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TemporaryDataComponent } from './temporary-data.component';\nimport { WidgetService } from 'bbj-widget-base';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\n@NgModule({\n declarations: [TemporaryDataComponent],\n imports: [CommonModule, NzIconModule],\n})\nexport class TemporaryDataModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(TemporaryDataComponent);\n }\n}\n","import { AfterViewInit, Component, ElementRef, HostListener, OnInit, ViewChild } from '@angular/core';\nimport { Property, Widget } from 'bbj-widget-base';\n\n@Component({\n selector: 'sc-line-light-flow',\n templateUrl: './line-light-flow.component.html',\n styleUrls: ['./line-light-flow.component.css'],\n})\n@Widget('光线特效', {\n group: 'mipAnim',\n})\nexport class LineLightFlowComponent implements OnInit, AfterViewInit {\n @Property('线条颜色', {\n ui: {\n widget: 'myColor',\n },\n })\n lineColor = '#004CB3';\n @Property('线条阴影', {\n ui: {\n widget: 'myColor',\n },\n })\n lineshadowColor = 'rgba(0, 193, 220, 1)';\n\n @Property('高亮颜色', {\n ui: {\n widget: 'myColor',\n },\n })\n lineHightLightColor = '#8ED6FF';\n\n @Property('中间间距', {\n type: 'number'\n })\n distance = 10;\n @Property('上边距', {\n type: 'number'\n })\n topDistance = 0;\n\n @ViewChild('lineCanvas') lineCanvas: ElementRef;\n opt: any;\n\n @ViewChild('canvasBox') canvasBox: ElementRef;\n resizeTimeout: any;\n constructor() {\n\n }\n\n @HostListener('window:resize')\n resize() {\n if (this.resizeTimeout) {\n clearTimeout(this.resizeTimeout);\n }\n this.resizeTimeout = setTimeout(() => {\n this.reload();\n this.resizeTimeout = null;\n }, 100);\n }\n ngAfterViewInit(): void {\n this.reload();\n }\n\n reload() {\n this.opt = {};\n this.opt.currentIndex = 1;\n this.opt.canvas = this.lineCanvas.nativeElement;\n this.initOpt();\n this._initCanvas(this.opt.canvas, this.opt.width, this.opt.height);\n this._createPattern(this.opt.canvas);\n this.draw(0);\n\n }\n\n ngOnInit(): void {\n // this.opt = {};\n // this.opt.currentIndex = 1;\n // this.opt.canvas = this.lineCanvas.nativeElement;\n\n // this.initOpt();\n // this._initCanvas(this.opt.canvas, this.opt.width, this.opt.height);\n // this._createPattern(this.opt.canvas);\n // this.draw(0);\n }\n\n initOpt() {\n const d = this.distance || 100;\n const innerW = this.canvasBox.nativeElement.offsetWidth;\n // const d = Math.round(innerW * (Number(this.distance) || 10) / 100); // 间距\n console.log(innerW, innerW * (Number(this.distance)) / 100, '间距', d)\n this.opt = {\n ...this.opt,\n animating: true,\n distance: d,\n width: innerW,\n tabHeight: 40,\n height: 60,\n curDisX: 0,\n currentIndex: 0,\n avgSpeed: this.calcAVGSpeed(d * 2),\n tabWidthList: [\n Math.round(innerW / 2) - d / 2,\n Math.round(innerW / 2) + d / 2,\n ]\n };\n }\n // 计算速度\n calcAVGSpeed(a) {\n const [j, k, l] = [0.85, 10, 4];\n let b = (l * j * a + k * (1 - j) * a) / (k * l * 20);\n return (b = Math.max(Math.abs(b), 2.5) * Math.sign(b)), b;\n }\n // 获取当前速度\n getCurSpeed(a, b) {\n const [j, k, l] = [0.85, 10, 4];\n const c = Math.abs(a) > Math.abs(j * b) ? l * this.opt.avgSpeed : k * this.opt.avgSpeed;\n return c;\n }\n // 生成曲线\n _calCurve(a, b, c, d, e, f) {\n // console.log(a + f,b,c-f,d,c,d);\n e.bezierCurveTo(a + f, b, c - f, d, c, d);\n }\n\n // 初始化画布\n _initCanvas(canvas, width, height) {\n const devicePixelRatio = window.devicePixelRatio;\n const canvasObj = canvas.getContext('2d');\n canvas.width = width * devicePixelRatio;\n canvas.height = height * devicePixelRatio;\n canvas.style.width = width + 'px';\n canvas.style.height = height + 'px';\n canvasObj.scale(devicePixelRatio, devicePixelRatio);\n }\n\n // 创建遮盖蒙版\n _createPattern(a) {\n const [b, c, d] = [140, 23, 1];\n let e = document.createElement('canvas');\n (e.width = b), (e.height = c), (e.style.width = b / d + 'px'), (e.style.height = c / d + 'px');\n const f = e.getContext('2d');\n // 缩放 宽高 100%\n f.scale(d, d);\n f.lineWidth = 0.4;\n for (let g = 3, h = 0.8, j = 1; 2 > j; j++) {\n // 设置或返回用于笔触的颜色、渐变或模式\n f.strokeStyle = 'RGBA(0, 0, 0,0)';\n // 开始一条路径\n f.beginPath();\n // 把路径移动到画布中的指定点,不创建线条\n f.moveTo(0, j * g);\n // 添加一个新点,然后在画布中创建从该点到最后指定点的线条\n f.lineTo(b, j * g);\n // 绘制已定义的路径\n f.stroke();\n // 创建从当前点回到起始点的路径\n f.closePath();\n if (10 < j) { h -= 0.1; }\n }\n const i = a.getContext('2d').createPattern(e, 'repeat-x');\n (this.opt.pattern = i), (e = null);\n }\n\n\n // 高亮\n _drawHightlight(a) {\n // a = 0\n const opt = this.opt;\n const b = opt.canvas.getContext('2d');\n const d = 0.3;\n // clearRect 在给定的矩形内清除指定的像素,这里清完了\n b.clearRect(0, 0, 2 * opt.width, 2 * opt.height);\n b.shadowColor = this.lineshadowColor;\n b.shadowBlur = 5;\n b.strokeStyle = this.lineColor;\n b.lineWidth = 0.8;\n b.fillStyle = 'none';\n this._draw(b, false);\n // 这里绘制了外围边框线条\n // return false;\n const e = b.createLinearGradient(0, 0, opt.width, opt.height);\n const f = a - d;\n e.addColorStop(Math.min(1, Math.max(0, 0 + f)), 'rgba(0,0,0,0)');\n e.addColorStop(Math.min(1, Math.max(0, 0 + f + 0.1)), this.lineHightLightColor);\n e.addColorStop(Math.min(1, 0 + f + d), this.lineHightLightColor);\n e.addColorStop(Math.min(1, 0 + f + d + 0.1), 'rgba(0,0,0,0)');\n e.addColorStop(1, 'rgba(0,0,0,0)');\n b.lineWidth = 1.5;\n b.strokeStyle = e;\n b.fillStyle = opt.pattern;\n this._draw(b, true);\n }\n\n draw(a) {\n // console.log(a);\n this._drawHightlight(a);\n // return false;\n\n this.opt.timer = requestAnimationFrame(() => {\n // console.log(a);\n this.draw((a + 0.005) % 1.6);\n });\n }\n\n _draw(canvasObj, trueorfalse) {\n const opt = this.opt;\n const tableHeight = opt.tabHeight;\n const [f, g, i, j, k] = [0, 110, 40, 0.5, 2.5];\n let l = 0;\n if (\n (canvasObj.beginPath(),\n canvasObj.moveTo(-50, -15),\n canvasObj.lineTo(-50, j),\n opt.animating)\n ) {\n const m = this.getCurSpeed(opt.curDisX, opt.distance);\n l = Math.min(Math.abs(opt.distance), Math.abs(opt.curDisX + m)) * Math.sign(m);\n }\n if (\n (canvasObj.lineTo(\n f + opt.tabWidthList[0] + l - g / 2,\n k + j\n ),\n this._calCurve(\n f + opt.tabWidthList[0] + l - g / 2,\n k + j,\n f + opt.tabWidthList[0] + l + g / 2,\n tableHeight + j,\n canvasObj,\n i\n ),\n opt.animating)\n ) {\n const o =\n opt.tabWidthList[opt.nextIndex + 1] -\n opt.tabWidthList[opt.nextIndex];\n canvasObj.lineTo(\n f + opt.tabWidthList[0] + o + l - g / 2,\n tableHeight + j\n ),\n this._calCurve(\n f + opt.tabWidthList[0] + o + l - g / 2,\n tableHeight + j,\n f + opt.tabWidthList[0] + o + l + g / 2,\n k + j,\n canvasObj,\n i\n );\n } else {\n // lineTO添加一个新点 宽度长度\n canvasObj.lineTo(\n f + opt.tabWidthList[1] + l - g / 2,\n tableHeight + j\n );\n this._calCurve(\n f + opt.tabWidthList[1] + l - g / 2,\n tableHeight + j,\n f + opt.tabWidthList[1] + l + g / 2,\n k + j,\n canvasObj,\n i\n );\n }\n\n canvasObj.lineTo(opt.width + 10, j);\n canvasObj.lineTo(opt.width + 10, -15);\n canvasObj.closePath();\n canvasObj.stroke();\n if (trueorfalse) { canvasObj.fill(); }\n if (opt.animating && trueorfalse) { opt.curDisX = l; }\n if (Math.abs(l) >= Math.abs(opt.distance)) { opt.animating = false; }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\nimport { LineLightFlowComponent } from './line-light-flow.component';\n\n\n\n@NgModule({\n declarations: [\n LineLightFlowComponent\n ],\n imports: [\n CommonModule,\n WidgetBaseModule\n ]\n})\nexport class LineLightFlowModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(LineLightFlowComponent);\n }\n }\n","import { Component, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { Data, Method, Param, Property, Widget } from 'bbj-widget-base';\r\n\r\n@Component({\r\n selector: 'sc-iframe',\r\n templateUrl: './iframe.component.html',\r\n styleUrls: ['./iframe.component.less'],\r\n})\r\n@Widget('iframe', { group: 'component', image: 'assets/img/screen/iframe.png', icon: 'iconmokuai' })\r\nexport class IframeComponent implements OnInit, OnChanges {\r\n @Property('url')\r\n url: string;\r\n\r\n @Data({ properties: { url: { type: 'string', title: 'url' } } })\r\n data: any[];\r\n edit: boolean;\r\n\r\n constructor() {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.data) {\r\n if (this.data.length && this.data[0].url) {\r\n this.url = this.data[0].url;\r\n }\r\n }\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n @Method('设置url')\r\n setUrl(@Param('url') url: string) {\r\n this.url = url;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IframeComponent } from './iframe.component';\nimport { NzPipesModule } from 'ng-zorro-antd/pipes';\nimport { WidgetService } from 'bbj-widget-base';\n\n@NgModule({\n declarations: [IframeComponent],\n imports: [CommonModule, NzPipesModule],\n})\nexport class IframeModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(IframeComponent);\n }\n}\n","import { Component, HostBinding, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { DataInput, Property, Widget, Data, Method, Param } from 'bbj-widget-base';\r\n\r\n@Component({\r\n selector: 'sc-video-grid',\r\n templateUrl: './video-grid.component.html',\r\n styleUrls: ['./video-grid.component.less'],\r\n})\r\n@Widget('视频宫格', { group: 'component', image: 'assets/img/screen/video-grid.png', icon: 'iconmokuai' })\r\nexport class VideoGridComponent implements OnInit, OnChanges {\r\n @Property('宫格数', {\r\n enum: [\r\n { label: '四宫格', value: 4 },\r\n { label: '九宫格', value: 9 },\r\n ],\r\n })\r\n size = 4;\r\n @Property('间隔', { type: 'number' })\r\n gutter = 4;\r\n @Property('切换按钮')\r\n showToggle: boolean;\r\n @Property('视频类型', { enum: ['flv', 'hls', 'iframe'] })\r\n type = 'flv';\r\n @Property('是否有声音')\r\n hasAudio: boolean;\r\n @DataInput('视频地址')\r\n src: string;\r\n @Data({\r\n properties: {\r\n src: { title: '视频地址', type: 'string' },\r\n },\r\n })\r\n data: any = [];\r\n height: string;\r\n cellSize: string;\r\n videos = [];\r\n margin: number;\r\n selectedIndex = 0;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n this.updateSize();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.size) {\r\n this.updateSize();\r\n }\r\n if (changes.gutter) {\r\n this.updateGutter();\r\n }\r\n if (changes.src) {\r\n this.addSrc(this.src);\r\n }\r\n if (changes.data) {\r\n if (this.data?.length) {\r\n this.data.forEach((r, i) => {\r\n const video = this.videos[i];\r\n if (video) {\r\n video.src = r.src;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n updateSize() {\r\n if (this.size !== this.videos.length) {\r\n if (this.size > this.videos.length) {\r\n for (let i = this.videos.length; i < this.size; i++) {\r\n this.videos.push({});\r\n }\r\n } else {\r\n this.videos = this.videos.slice(0, this.size);\r\n }\r\n if (this.size === 9) {\r\n this.cellSize = '33.33%';\r\n } else {\r\n this.cellSize = '50%';\r\n }\r\n this.validIndex();\r\n }\r\n }\r\n\r\n updateGutter() {\r\n if (this.gutter) {\r\n this.margin = -this.gutter;\r\n this.height = `calc(100% + ${this.gutter * 2}px)`;\r\n }\r\n }\r\n\r\n validIndex() {\r\n if (this.selectedIndex >= this.videos.length) {\r\n this.selectedIndex = 0;\r\n }\r\n }\r\n\r\n @Method('设置视频地址')\r\n addSrc(@Param('视频地址') src: string) {\r\n if (src) {\r\n const video = this.videos[this.selectedIndex];\r\n if (video) {\r\n video.src = src;\r\n }\r\n this.selectedIndex++;\r\n this.validIndex();\r\n }\r\n }\r\n\r\n toggle() {\r\n this.size = this.size === 4 ? 9 : 4;\r\n this.updateSize();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VideoGridComponent } from './video-grid.component';\nimport { WidgetService } from 'bbj-widget-base';\nimport { NzGridModule } from 'ng-zorro-antd/grid';\nimport { VideoPlayerModule } from '../shared/component/video-player/video-player.module';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\n@NgModule({\n declarations: [VideoGridComponent],\n imports: [CommonModule, VideoPlayerModule, NzGridModule,NzIconModule],\n})\nexport class VideoGridModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(VideoGridComponent);\n }\n}\n","import { Component, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { Widget, Data, Property } from 'bbj-widget-base';\n\n@Component({\n selector: 'sc-scatter3d',\n templateUrl: './scatter3d.component.html',\n styleUrls: ['./scatter3d.component.less'],\n})\n@Widget('3D散点图', {\n group: 'otherChart',\n image: 'assets/img/screen/bubble.png',\n icon: 'icontubiao',\n})\nexport class Scatter3dComponent implements OnInit, OnChanges {\n @Property('最小值', { type: 'number' })\n min = 0;\n @Property('最大值', { type: 'number' })\n max = 10;\n @Property('最小尺寸', { type: 'number' })\n symbolSizeMin = 10;\n @Property('最大尺寸', { type: 'number' })\n symbolSizeMax = 20;\n @Property('颜色', {\n ui: {\n widget: 'seriesColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n },\n })\n visualMapColor = [\n '#313695',\n '#4575b4',\n '#74add1',\n '#abd9e9',\n '#e0f3f8',\n '#ffffbf',\n '#fee090',\n '#fdae61',\n '#f46d43',\n '#d73027',\n '#a50026',\n ];\n @Property('最小不透明度', { type: 'number', minimum: 0, maximum: 1 })\n colorAlphaMin = 0.5;\n @Property('最大不透明度', { type: 'number', minimum: 0, maximum: 1 })\n colorAlphaMax = 1;\n @Property('高度', { type: 'number' })\n boxHeight = 100;\n @Property('宽度', { type: 'number' })\n boxWidth = 100;\n @Property('深度', { type: 'number' })\n boxDepth = 100;\n\n @Data({\n properties: {\n x: { type: 'number', title: 'x' },\n y: { type: 'number', title: 'y' },\n z: { type: 'number', title: 'z' },\n value: { type: 'number', title: '值' },\n },\n })\n data = [\n { x: 0, y: 0, z: 0, value: 1 },\n { x: 0, y: 0, z: 1, value: 2 },\n { x: 0, y: 1, z: 0, value: 3 },\n { x: 0, y: 1, z: 1, value: 4 },\n { x: 1, y: 0, z: 0, value: 5 },\n { x: 1, y: 0, z: 1, value: 6 },\n { x: 1, y: 1, z: 0, value: 7 },\n { x: 1, y: 1, z: 1, value: 8 },\n ];\n options: any;\n constructor() {}\n\n ngOnInit(): void {\n this.reset();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.reset();\n }\n\n reset() {\n const data = this.data ? this.data.map((item) => [item.x, item.y, item.z, item.value]) : [];\n this.options = {\n visualMap: {\n show: false,\n min: this.min,\n max: this.max,\n inRange: {\n symbolSize: [this.symbolSizeMin, this.symbolSizeMax],\n color: this.visualMapColor,\n colorAlpha: [this.colorAlphaMin, this.colorAlphaMax],\n },\n },\n xAxis3D: {\n type: 'value',\n },\n yAxis3D: {\n type: 'value',\n },\n zAxis3D: {\n type: 'value',\n },\n grid3D: {\n axisLine: {\n lineStyle: { color: '#fff' },\n },\n axisPointer: {\n lineStyle: { color: '#fff' },\n },\n viewControl: {\n // autoRotate: true\n },\n boxHeight: this.boxHeight ?? 100,\n boxWidth: this.boxWidth ?? 100,\n boxDepth: this.boxDepth ?? 100,\n },\n series: [\n {\n type: 'scatter3D',\n data,\n },\n ],\n };\n console.log(this.options);\n }\n\n onChartClick(event) {}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Scatter3dComponent } from './scatter3d.component';\nimport { NgxEchartsModule } from 'ngx-echarts';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\n\n@NgModule({\n declarations: [Scatter3dComponent],\n imports: [CommonModule, WidgetBaseModule, NgxEchartsModule],\n})\nexport class Scatter3dModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(Scatter3dComponent);\n }\n}\n","import { NgModule } from '@angular/core';\r\nimport { ImageModule } from './image/image.module';\r\nimport { BasicLineChartModule } from './basic-line-chart/basic-line-chart.module';\r\nimport { ButtonModule } from './button/button.module';\r\nimport { TimerModule } from './timer/timer.module';\r\nimport { NumberFlopModule } from './number-flop/number-flop.module';\r\nimport { VoteModule } from './vote/vote.module';\r\nimport { SelectModule } from './select/select.module';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { SearchModule } from './search/search.module';\r\nimport { WeatherModule } from './weather/weather.module';\r\nimport { RadioModule } from './radio/radio.module';\r\nimport { CheckboxModule } from './checkbox/checkbox.module';\r\nimport { RateModule } from './rate/rate.module';\r\nimport { GeneralTextModule } from './general-text/general-text.module';\r\nimport { MarqueeModule } from './marquee/marquee.module';\r\nimport { WordartModule } from './wordart/wordart.module';\r\nimport { IconfontModule } from './iconfont/iconfont.module';\r\nimport { AudioModule } from './audio/audio.module';\r\nimport { BasicBarChartModule } from './basic-bar-chart/basic-bar-chart.module';\r\nimport { BasicPieChartModule } from './basic-pie-chart/basic-pie-chart.module';\r\nimport { BarChartThreeDModule } from './bar-chart-three-d/bar-chart-three-d.module';\r\nimport { ShapeModule } from './shape/shape.module';\r\nimport { LineBarChartModule } from './line-bar-chart/line-bar-chart.module';\r\nimport { BubbleChartModule } from './bubble-chart/bubble-chart.module';\r\nimport { RadarChartModule } from './radar-chart/radar-chart.module';\r\nimport { FunnelChartModule } from './funnel-chart/funnel-chart.module';\r\nimport { BackgroundModule } from './background/background.module';\r\nimport { GaugeModule } from './gauge/gauge.module';\r\nimport { PercentPieChartModule } from './percent-pie-chart/percent-pie-chart.module';\r\nimport { TreeRingChartModule } from './tree-ring-chart/tree-ring-chart.module';\r\nimport { LiquidFillModule } from './liquid-fill/liquid-fill.module';\r\nimport { ShufflingListModule } from './shuffling-list/shuffling-list.module';\r\n// import {DropDownDetailListModule} from './drop-down-detail-list/drop-down-detail-list.module';\r\n// import {DynamicListModule} from './dynamic-list/dynamic-list.module';\r\nimport { BasicPlanimetricMapModule } from './basic-planimetric-map/basic-planimetric-map.module';\r\nimport { BreathingBubbleLayerModule } from './breathing-bubble-layer/breathing-bubble-layer.module';\r\nimport { PlanimetricMap2dModule } from './planimetric-map2d/planimetric-map2d.module';\r\nimport { ParentContainerModule } from './parent-container/parent-container.module';\r\nimport { PlanimetricMap3dModule } from './planimetric-map3d/planimetric-map3d.module';\r\nimport { MipAnimComponent } from './mip-anim/mip-anim.component';\r\nimport { MipAnimModule } from './mip-anim/mip-anim.module';\r\nimport { TreeControlModule } from './tree-control/tree-control.module';\r\nimport { VisualMapChartModule } from './visual-map-chart/visual-map-chart.module';\r\nimport { DatePickerModule } from './date-picker/date-picker.module';\r\nimport { TimePickerModule } from './time-picker/time-picker.module';\r\nimport { CustomBaiduMapModule } from './custom-baidu-map/custom-baidu-map.module';\r\nimport { WidgetService } from 'bbj-widget-base';\r\nimport { ImageComponent } from './image/image.component';\r\nimport { icons } from './iconfont/icon';\r\nimport { IconfontComponent } from './iconfont/iconfont.component';\r\nimport { GeneralTextComponent } from './general-text/general-text.component';\r\nimport { WordartComponent } from './wordart/wordart.component';\r\nimport { AudioComponent } from './audio/audio.component';\r\nimport { BasicLineChartComponent } from './basic-line-chart/basic-line-chart.component';\r\nimport { BarChartThreeDComponent } from './bar-chart-three-d/bar-chart-three-d.component';\r\nimport { ShapeComponent } from './shape/shape.component';\r\nimport { LineBarChartComponent } from './line-bar-chart/line-bar-chart.component';\r\nimport { BackgroundComponent } from './background/background.component';\r\nimport { BasicPieChartComponent } from './basic-pie-chart/basic-pie-chart.component';\r\nimport { BasicBarChartComponent } from './basic-bar-chart/basic-bar-chart.component';\r\nimport { ButtonComponent } from './button/button.component';\r\nimport { SelectComponent } from './select/select.component';\r\nimport { UploadModule } from './upload/upload.module';\r\nimport { TreeControlComponent } from './tree-control/tree-control.component';\r\nimport { CrossTableModule } from './cross-table/cross-table.module';\r\nimport { DatePickerComponent } from './date-picker/date-picker.component';\r\nimport { TableModule } from './table/table.module';\r\nimport { Pie3dChartModule } from './pie3d-chart/pie3d-chart.module';\r\nimport { MultiTitleGaugeModule } from './multi-title-gauge/multi-title-gauge.module';\r\nimport { GaugeProgressModule } from './gauge-progress/gauge.module';\r\nimport { CheckboxComponent } from './checkbox/checkbox.component';\r\nimport { BulletinBoardModule } from './bulletin-board/bulletin-board.module';\r\n// import {MyBaiduMapModule} from './my-baidu-map/my-baidu-map.module';\r\n// import {DataMapModule} from './data-map/data-map.module';\r\nimport { ItemSwiperModule } from './item-swiper/item-swiper.module';\r\nimport { TemporaryDataModule } from './temporary-data/temporary-data.module';\r\nimport { LineLightFlowModule } from './line-light-flow/line-light-flow.module';\r\nimport { IframeModule } from './iframe/iframe.module';\r\nimport { VideoGridModule } from './video-grid/video-grid.module';\r\nimport { Scatter3dModule } from './scatter3d/scatter3d.module';\r\n@NgModule({\r\n imports: [\r\n FormsModule,\r\n ImageModule,\r\n BasicLineChartModule,\r\n BasicPieChartModule,\r\n BasicBarChartModule,\r\n LineBarChartModule,\r\n BarChartThreeDModule,\r\n BubbleChartModule,\r\n RadarChartModule,\r\n FunnelChartModule,\r\n PercentPieChartModule,\r\n TreeRingChartModule,\r\n GaugeModule,\r\n LiquidFillModule,\r\n ButtonModule,\r\n TimerModule,\r\n NumberFlopModule,\r\n VoteModule,\r\n SelectModule,\r\n SearchModule,\r\n WeatherModule,\r\n RadioModule,\r\n CheckboxModule,\r\n RateModule,\r\n GeneralTextModule,\r\n MarqueeModule,\r\n WordartModule,\r\n IconfontModule,\r\n TableModule,\r\n AudioModule,\r\n ShapeModule,\r\n BackgroundModule,\r\n ShufflingListModule,\r\n BasicPlanimetricMapModule,\r\n BreathingBubbleLayerModule,\r\n PlanimetricMap2dModule,\r\n ParentContainerModule,\r\n PlanimetricMap3dModule,\r\n MipAnimModule,\r\n TreeControlModule,\r\n VisualMapChartModule,\r\n DatePickerModule,\r\n TimePickerModule,\r\n CustomBaiduMapModule,\r\n UploadModule,\r\n CrossTableModule,\r\n Pie3dChartModule,\r\n MultiTitleGaugeModule,\r\n GaugeProgressModule,\r\n ItemSwiperModule,\r\n BulletinBoardModule,\r\n TemporaryDataModule,\r\n LineLightFlowModule,\r\n IframeModule,\r\n VideoGridModule,\r\n Scatter3dModule,\r\n // DropDownDetailListModule,\r\n // DynamicListModule,\r\n // MyBaiduMapModule,\r\n // DataMapModule\r\n ],\r\n exports: [],\r\n declarations: [],\r\n})\r\nexport class ScreenWidgetModule {\r\n constructor(widgetService: WidgetService) {\r\n widgetService.register(ButtonComponent, { size: { width: 60, height: 30 } });\r\n widgetService.register(SelectComponent, {\r\n size: { width: 200, height: 36 },\r\n option: {\r\n borderColor: '#3285ff',\r\n background: 'rgba(50,133,255,0.2)',\r\n dropdownBackgroundColor: '#3285ff',\r\n selectDropDownColor: '#fff',\r\n selectHoverColor: '#fff',\r\n selectHoverBackgroundColor: '#3285ff',\r\n font: { color: '#ffffff' },\r\n dropdownBg: 'rgba(50,133,255,0.2)',\r\n dropdownBorderColor: '#3285ff',\r\n },\r\n });\r\n for (let i = 1; i <= 82; i++) {\r\n widgetService.register(ImageComponent, {\r\n option: { image: `assets/img/screen/picture${i}.png` },\r\n });\r\n }\r\n icons.forEach((icon) => {\r\n widgetService.register(IconfontComponent, {\r\n option: { icon },\r\n });\r\n });\r\n widgetService.register(\r\n GeneralTextComponent,\r\n {\r\n className: 'big-title title',\r\n title: '大标题',\r\n option: {\r\n title: '大标题',\r\n font: { family: '', color: '#ffffff', weight: 'normal', size: 36, space: 0, lineHeight: 50 },\r\n },\r\n },\r\n {\r\n className: 'normal-title title',\r\n title: '标题',\r\n option: {\r\n title: '标题',\r\n font: { family: '', color: '#ffffff', weight: 'normal', size: 32, space: 0, lineHeight: 45 },\r\n },\r\n },\r\n {\r\n className: 'subtitle title',\r\n title: '副标题',\r\n option: {\r\n title: '副标题',\r\n font: { family: '', color: '#ffffff', weight: 'normal', size: 24, space: 0, lineHeight: 33 },\r\n },\r\n },\r\n {\r\n className: 'small-title title',\r\n title: '小标题',\r\n option: {\r\n title: '小标题',\r\n font: { family: '', color: '#ffffff', weight: 'normal', size: 16, space: 0, lineHeight: 22 },\r\n },\r\n },\r\n {\r\n className: 'content title',\r\n title: '正文内容',\r\n option: {\r\n title: '正文内容',\r\n font: { family: '', color: '#ffffff', weight: 'normal', size: 13, space: 0, lineHeight: 18 },\r\n },\r\n },\r\n );\r\n widgetService.register(\r\n WordartComponent,\r\n {\r\n className: 'wordart1 wordart',\r\n title: '可视化数字大屏',\r\n option: {\r\n title: '可视化数字大屏',\r\n font: { family: 'cursive', color: '#3285FF', weight: 'normal', size: 24, space: 0, lineHeight: '' },\r\n },\r\n },\r\n {\r\n className: 'wordart2 wordart',\r\n title: '可视化数字大屏',\r\n option: {\r\n title: '可视化数字大屏',\r\n font: { family: 'sans-serif', color: '#7ee5ce', weight: 'bold', size: 24, space: 0, lineHeight: '' },\r\n },\r\n },\r\n {\r\n className: 'wordart3 wordart',\r\n title: '可视化数字大屏',\r\n option: {\r\n title: '可视化数字大屏',\r\n backgroundImage: '-webkit-linear-gradient(-90deg, #09FFDD 14%, #0055FF 100%)',\r\n font: { family: 'sans-serif', color: '#7ee5ce', weight: 'bold', size: 24, space: 0, lineHeight: '' },\r\n },\r\n },\r\n {\r\n className: 'wordart4 wordart',\r\n title: '可视化数字大屏',\r\n option: {\r\n title: '可视化数字大屏',\r\n backgroundImage: '-webkit-linear-gradient(-90deg, #F76B1C 14%, #FAD961 100%)',\r\n font: { family: 'sans-serif', color: '#7ee5ce', weight: 'bold', size: 24, space: 0, lineHeight: '' },\r\n },\r\n },\r\n {\r\n className: 'wordart5 wordart',\r\n title: '可视化数字大屏',\r\n option: {\r\n title: '可视化数字大屏',\r\n backgroundImage: '-webkit-linear-gradient(-90deg, #B4EC51 14%, #429321 100%)',\r\n font: { family: 'sans-serif', color: '#7ee5ce', weight: 'bold', size: 24, space: 0, lineHeight: '' },\r\n },\r\n },\r\n {\r\n className: 'wordart6 wordart',\r\n title: '可视化数字大屏',\r\n option: {\r\n title: '可视化数字大屏',\r\n backgroundImage: '-webkit-linear-gradient(-90deg, #3023AE 14%, #FE55FF 100%)',\r\n font: { family: 'sans-serif', color: '#7ee5ce', weight: 'bold', size: 24, space: 0, lineHeight: '' },\r\n },\r\n },\r\n );\r\n widgetService.register(\r\n AudioComponent,\r\n {\r\n title: '视频demo',\r\n option: {\r\n type: 'video',\r\n src: 'https://xiche.oss-cn-beijing.aliyuncs.com/video/20180417154421.mp4',\r\n },\r\n },\r\n {\r\n title: '音频demo',\r\n option: {\r\n type: 'audio',\r\n src: 'https://xiche.oss-cn-beijing.aliyuncs.com/video/20180417154421.mp4',\r\n },\r\n },\r\n );\r\n widgetService.register(\r\n BasicLineChartComponent,\r\n {\r\n option: {\r\n type: 'basic',\r\n font: { color: '#FFFFFF' },\r\n },\r\n image: 'assets/img/screen/basic-line-chart.png',\r\n },\r\n {\r\n title: '区域折线图',\r\n image: 'assets/img/screen/area-line-chart.png',\r\n option: {\r\n type: 'area',\r\n font: { color: '#FFFFFF' },\r\n },\r\n },\r\n {\r\n title: '基本曲线图',\r\n image: 'assets/img/screen/smooth-line-chart.png',\r\n group: 'smoothLineChart',\r\n option: {\r\n type: 'smooth',\r\n font: { color: '#FFFFFF' },\r\n },\r\n },\r\n {\r\n title: '区域曲线图',\r\n image: 'assets/img/screen/smooth-area-line-chart.png',\r\n group: 'smoothLineChart',\r\n option: {\r\n type: 'smooth-area',\r\n font: { color: '#FFFFFF' },\r\n },\r\n },\r\n {\r\n title: '阶梯线图',\r\n group: 'stepLineChart',\r\n option: {\r\n type: 'step',\r\n step: 'end',\r\n font: { color: '#FFFFFF' },\r\n },\r\n image: 'assets/img/screen/basic-line-chart.png',\r\n },\r\n );\r\n widgetService.register(\r\n BasicPieChartComponent,\r\n {\r\n option: {\r\n type: 'basic',\r\n },\r\n },\r\n {\r\n title: '环形饼图',\r\n image: 'assets/img/screen/pie-o.png',\r\n option: {\r\n type: 'ring',\r\n },\r\n },\r\n {\r\n title: '玫瑰饼图',\r\n image: 'assets/img/screen/rosePie.png',\r\n option: {\r\n type: 'rose',\r\n },\r\n },\r\n {\r\n title: '玫瑰环形饼图',\r\n image: 'assets/img/screen/roseRingPie.png',\r\n option: {\r\n type: 'roseRing',\r\n },\r\n },\r\n );\r\n widgetService.register(\r\n BasicBarChartComponent,\r\n {\r\n option: {\r\n font: { color: '#FFFFFF' },\r\n },\r\n },\r\n {\r\n title: '堆叠柱图',\r\n image: 'assets/img/screen/doubleBar.png',\r\n option: {\r\n type: 'double',\r\n font: { color: '#FFFFFF' },\r\n },\r\n },\r\n {\r\n title: '横向柱图',\r\n image: 'assets/img/screen/horiBar.png',\r\n option: {\r\n type: 'hori',\r\n font: { color: '#FFFFFF' },\r\n },\r\n },\r\n {\r\n title: '横向堆叠柱图',\r\n image: 'assets/img/screen/doubleHoriBar.png',\r\n option: {\r\n type: 'horiD',\r\n font: { color: '#FFFFFF' },\r\n },\r\n },\r\n {\r\n title: '双向柱图',\r\n image: 'assets/img/screen/doubleColorBar.png',\r\n option: {\r\n type: 'dcolor',\r\n font: { color: '#FFFFFF' },\r\n },\r\n },\r\n );\r\n widgetService.register(\r\n BarChartThreeDComponent,\r\n {\r\n title: '3D柱图',\r\n image: 'assets/img/screen/3Dbar.png',\r\n option: {\r\n type: '3D',\r\n },\r\n },\r\n {\r\n title: '3D堆叠柱图',\r\n image: 'assets/img/screen/3DdoubleBar.png',\r\n option: {\r\n type: '3Ddouble',\r\n },\r\n },\r\n {\r\n title: '3D横向柱图',\r\n image: 'assets/img/screen/3DhoriBar.png',\r\n option: {\r\n type: 'hori',\r\n },\r\n },\r\n {\r\n title: '3D堆叠横向柱图',\r\n image: 'assets/img/screen/3DdoubleHoriBar.png',\r\n option: {\r\n type: 'horiD',\r\n },\r\n },\r\n );\r\n widgetService.register(TreeControlComponent, {\r\n option: {\r\n font: {\r\n color: '#ffffff',\r\n },\r\n },\r\n });\r\n widgetService.register(\r\n ShapeComponent,\r\n {\r\n title: '线条',\r\n image: 'assets/img/screen/shape01.png',\r\n option: {\r\n type: 'line',\r\n },\r\n },\r\n {\r\n title: '三角形',\r\n image: 'assets/img/screen/shape06.png',\r\n option: {\r\n type: 'triangle',\r\n },\r\n },\r\n {\r\n title: '矩形',\r\n image: 'assets/img/screen/shape03.png',\r\n option: {\r\n type: 'rect',\r\n },\r\n },\r\n {\r\n title: '圆角矩形',\r\n image: 'assets/img/screen/shape04.png',\r\n option: {\r\n type: 'rect',\r\n fillet: 16,\r\n },\r\n },\r\n {\r\n title: '平行四边形',\r\n image: 'assets/img/screen/shape09.png',\r\n option: {\r\n type: 'parallelogram',\r\n deviation: 30,\r\n },\r\n },\r\n {\r\n title: '梯形',\r\n image: 'assets/img/screen/shape10.png',\r\n option: {\r\n type: 'trapezoid',\r\n upper: 50,\r\n bottom: 100,\r\n },\r\n },\r\n {\r\n title: '五边形',\r\n image: 'assets/img/screen/shape08.png',\r\n option: {\r\n type: 'polygonplus',\r\n side: 5,\r\n },\r\n },\r\n {\r\n title: '五角星',\r\n image: 'assets/img/screen/shape07.png',\r\n option: {\r\n type: 'polyhedrosis',\r\n side: 5,\r\n },\r\n },\r\n {\r\n title: '圆形',\r\n image: 'assets/img/screen/shape05.png',\r\n option: {\r\n type: 'circle',\r\n },\r\n },\r\n {\r\n title: '箭头',\r\n image: 'assets/img/screen/shape11.png',\r\n option: {\r\n type: 'polygon',\r\n data: [\r\n {\r\n x: 20,\r\n y: 80,\r\n },\r\n {\r\n x: 100,\r\n y: 80,\r\n },\r\n {\r\n x: 100,\r\n y: 40,\r\n },\r\n {\r\n x: 180,\r\n y: 100,\r\n },\r\n {\r\n x: 100,\r\n y: 160,\r\n },\r\n {\r\n x: 100,\r\n y: 120,\r\n },\r\n {\r\n x: 20,\r\n y: 120,\r\n },\r\n ],\r\n },\r\n },\r\n );\r\n for (let i = 1; i <= 75; i++) {\r\n widgetService.register(BackgroundComponent, {\r\n option: {\r\n image: `assets/img/screen/moduleBg${i}.png`,\r\n type: 'background',\r\n },\r\n });\r\n }\r\n for (let i = 1; i <= 8; i++) {\r\n widgetService.register(BackgroundComponent, {\r\n option: {\r\n image: `assets/img/screen/border${i}.png`,\r\n type: 'background',\r\n },\r\n });\r\n }\r\n for (let i = 1; i <= 8; i++) {\r\n widgetService.register(BackgroundComponent, {\r\n option: {\r\n image: `assets/img/screen/bg${i}.png`,\r\n type: 'border',\r\n },\r\n });\r\n }\r\n ['assets/img/screen/mipAnim1.gif', 'assets/img/screen/mipAnim2.gif'].forEach((image) => {\r\n widgetService.register(MipAnimComponent, {\r\n option: { image },\r\n });\r\n });\r\n widgetService.register(DatePickerComponent, {\r\n option: {\r\n borderColor: '#3285ff',\r\n font: { color: '#3285ff' },\r\n background: 'rgba(50,133,255,0.2)',\r\n },\r\n });\r\n widgetService.register(CheckboxComponent, {\r\n option: { font: { color: '#ffffff' } },\r\n });\r\n }\r\n}\r\n","import { Component, OnInit, ElementRef } from '@angular/core';\nimport { Widget, Property, Data } from 'bbj-widget-base';\n\n@Component({\n selector: 'sc-announcement',\n templateUrl: './announcement.component.html',\n styleUrls: ['./announcement.component.less'],\n})\n@Widget('公告', { group: 'component', image: 'assets/img/screen/announcement.png', icon: 'iconmokuai' })\nexport class AnnouncementComponent implements OnInit {\n @Property('显示图标', { type: 'boolean' })\n headIconDisplay = true;\n @Property('内边距', { ui: { widget: 'myGrid' } })\n padding: any = {\n top: 30,\n right: 24,\n bottom: 30,\n left: 24,\n };\n @Property('字体', { ui: { widget: 'myFont' } })\n font: any = {\n family: '',\n color: '#333333',\n weight: 'normal',\n size: 13,\n space: 0,\n lineHeight: '',\n };\n @Property('图标', { ui: { hidden: true } })\n icon = 'sound';\n @Data({\n properties: {\n content: { type: 'string', title: '公告内容' },\n },\n })\n data = [\n {\n content:\n '陆十三,男,共产党员,村小组长。多年来,他始终怀着对党、对人民无比热爱的赤诚之心,热衷于社会公益慈善事业,尽心竭力地为人民群众做好事实事,通过自身捐款、社会筹款等多种途径融资,为贫困山区、失学儿童送去…',\n },\n ];\n constructor(private element: ElementRef) {}\n\n ngOnInit() {\n if (this.padding) {\n this.element.nativeElement.style.padding = `${this.padding.top}px ${this.padding.right}px ${this.padding.bottom}px ${this.padding.left}px`;\n this.element.nativeElement.style.fontSize = this.font.size + 'px';\n this.element.nativeElement.style.fontFamily = this.font.family;\n this.element.nativeElement.style.color = this.font.color;\n this.element.nativeElement.style.fontWeight = this.font.weight;\n this.element.nativeElement.style.letterSpacing = this.font.space + 'px';\n this.element.nativeElement.style.lineHeight = this.font.lineHeight + 'px';\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport { AnnouncementComponent } from './announcement.component';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\n\n@NgModule({\n declarations: [\n AnnouncementComponent\n ],\n imports: [\n CommonModule,\n WidgetBaseModule\n ]\n})\nexport class AnnouncementModule {\n constructor(private widgetService:WidgetService){\n widgetService.register(AnnouncementComponent);\n }\n}\n","import { EventInput } from '@fullcalendar/angular';\r\nimport { addDays, format, isMatch, parse } from 'date-fns';\r\n\r\nconst dayFormat = 'yyyy-MM-dd';\r\n\r\n/**\r\n * 如果结束时间是仅日期的格式,加上一天\r\n * @param event\r\n */\r\nexport function updateEndTime(event: EventInput) {\r\n if (typeof event.end === 'string' && isMatch(event.end, dayFormat)) {\r\n event.end = format(addDays(parse(event.end, dayFormat, new Date()), 1), dayFormat);\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild, OnChanges, SimpleChanges, EventEmitter, ChangeDetectorRef } from '@angular/core';\nimport { Widget, Property, Data, DataOutput } from 'bbj-widget-base';\nimport { CalendarOptions, FullCalendarComponent } from '@fullcalendar/angular';\nimport { deepCopy } from '@delon/util';\nimport { Router } from '@angular/router';\nimport { addDays, format, isMatch, parse } from 'date-fns';\nimport { updateEndTime } from './calendar.util';\nimport { properties } from 'ng-zorro-antd/core/util';\n\n@Component({\n selector: 'sc-calendar',\n templateUrl: './calendar.component.html',\n styleUrls: ['./calendar.component.less'],\n})\n@Widget('日历', {\n group: 'component',\n image: 'assets/img/screen/rili.png',\n icon: 'iconmokuai',\n childTypes: ['sc-calendar-events', 'sc-calendar-background-events'],\n})\nexport class CalendarComponent implements OnInit, OnChanges {\n @Property('是否自定义初始日期', { ui: { format: 'date', widget: 'checkbox', spanLabel: 0, spanControl: 24 } })\n isInitialDate = true;\n @Property('', { ui: { type: 'date', format: 'date', spanLabel: 0, spanControl: 24 } })\n initialDate = '2020-07-18';\n @Data({\n properties: {\n id: { type: 'string', title: 'id' },\n start: { type: 'string', title: '开始日期' },\n end: { type: 'string', title: '结束日期' },\n title: { type: 'string', title: '内容' },\n },\n })\n data: any[] = [\n { end: '2020-07-21 00:00:00', start: '2020-07-19 00:00:00', title: 'event 3' },\n { end: '2020-07-19 00:00:00', start: '2020-07-18 00:00:00', title: 'event 4' },\n { end: '2020-07-22', start: '2020-07-20', title: 'event 5' },\n ];\n @DataOutput(['id', 'title'])\n dataClick = new EventEmitter<any>();\n @DataOutput(\n {\n properties: {\n type: { type: 'string', title: '视图类型' },\n start: { type: 'string', title: '开始时间' },\n end: { type: 'string', title: '结束时间' },\n },\n },\n { triggerLink: false },\n )\n datesSetChange = new EventEmitter<{ type: string; start: string; end: string }>();\n children: any[];\n id: string;\n eventMap = new Map<any, any[]>();\n constructor(private router: Router, private cd: ChangeDetectorRef) {}\n calendarOptions: CalendarOptions;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.data) {\n if (this.data?.length) {\n const events = this.data.map((item) => {\n const event = {\n ...item,\n extendedProps: {\n eventClick: this.eventClick,\n },\n };\n updateEndTime(event);\n return event;\n });\n this.setEvents(this.id, events);\n } else {\n this.removeEvents(this.id);\n }\n if (!this.calendarOptions) {\n this.update();\n }\n // const events = this.data.map((item) => ({\n // id: item.id,\n // start: item.start.indexOf(' 00:00:00') > -1 ? item.start.split(' ')[0] : item.start,\n // end: item.end.indexOf(' 00:00:00') > -1 ? item.end.split(' ')[0] : item.end,\n // title: item.title,\n // }));\n }\n }\n ngOnInit(): void {}\n\n setEvents(key: any, events: any[]) {\n this.eventMap.set(key, events);\n this.update();\n }\n\n removeEvents(key: any) {\n if (this.eventMap.has(key)) {\n this.eventMap.delete(key);\n this.update();\n }\n }\n\n update() {\n const events = [];\n for (const event of this.eventMap.values()) {\n if (event) {\n events.push(...event);\n }\n }\n this.calendarOptions = {\n headerToolbar: {\n left: 'prev,next today',\n center: 'title',\n right: 'timeGridDay,timeGridWeek,dayGridMonth',\n },\n buttonText: {\n dayGridMonth: '月',\n timeGridWeek: '周',\n timeGridDay: '日',\n today: '今日',\n },\n timeZone: 'local',\n initialDate: this.isInitialDate ? this.initialDate : null,\n events: events,\n locale: 'zh',\n eventTimeFormat: {\n hour: 'numeric',\n minute: '2-digit',\n hour12: false,\n },\n slotLabelFormat: { hour: 'numeric', minute: '2-digit', hour12: false },\n eventClick: (info) => {\n info.jsEvent.preventDefault();\n if (info.event.extendedProps?.eventClick) {\n info.event.extendedProps.eventClick(info.event);\n }\n // this.dataClick.emit({ id: info.event.id, title: info.event.title });\n },\n datesSet: (arg) => {\n console.log(arg);\n let type = arg.view.type;\n type = type.substring(type.indexOf('Grid') + 4).toLowerCase();\n const start = format(arg.start, 'yyyy-MM-dd');\n const end = format(arg.end, 'yyyy-MM-dd');\n\n this.datesSetChange.emit({ type, start, end });\n },\n };\n this.cd.markForCheck();\n }\n eventClick = (event) => {\n this.dataClick.emit({ id: event.id, title: event.title });\n };\n}\n","import { Directive, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';\r\nimport { CalendarComponent } from './calendar.component';\r\nimport { EventApi, EventSourceInput } from '@fullcalendar/angular';\r\n\r\n@Directive()\r\nexport abstract class CalendarEventsChild implements OnChanges, OnDestroy {\r\n data: any[];\r\n id: string;\r\n constructor(public parent: CalendarComponent) {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.data) {\r\n if (this.data) {\r\n let events = this.getEvents(this.data);\r\n this.parent.setEvents(this.id, events);\r\n } else {\r\n this.parent.removeEvents(this.id);\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.parent.removeEvents(this.id);\r\n }\r\n\r\n abstract getEvents(data: any[]): EventSourceInput[];\r\n}\r\n","import { Component, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';\nimport { Data, Property, Widget } from 'bbj-widget-base';\nimport { CalendarComponent } from '../calendar.component';\nimport { CalendarEventsChild } from '../calendar-events-child';\nimport { EventSourceInput } from '@fullcalendar/common';\nimport { addDays, format, isMatch, parse } from 'date-fns';\nimport { updateEndTime } from '../calendar.util';\n\n@Component({\n selector: 'sc-calendar-background-events',\n templateUrl: './background-events.component.html',\n styleUrls: ['./background-events.component.less'],\n})\n@Widget('背景颜色', { hidden: true })\nexport class BackgroundEventsComponent extends CalendarEventsChild {\n @Property('颜色', {\n ui: {\n widget: 'myColor',\n },\n })\n color: string;\n @Data({\n properties: {\n id: { type: 'string', title: 'id' },\n start: { type: 'string', title: '开始日期' },\n end: { type: 'string', title: '结束日期' },\n title: { type: 'string', title: '标题' },\n color: { type: 'string', title: '背景颜色' },\n },\n })\n data: any[] = [\n { end: '2020-07-21 00:00:00', start: '2020-07-19 00:00:00', title: 'event 3' },\n { end: '2020-07-19 00:00:00', start: '2020-07-18 00:00:00', title: 'event 4' },\n { end: '2020-07-22', start: '2020-07-20', title: 'event 5' },\n ];\n\n constructor(public parent: CalendarComponent) {\n super(parent);\n }\n\n getEvents(data: any[]): EventSourceInput[] {\n return data.map((item) => {\n const event = { ...item, display: 'background' };\n if (!event.color && this.color) {\n event.color = this.color;\n }\n updateEndTime(event);\n return event;\n });\n }\n}\n","import { Component, EventEmitter, OnInit } from '@angular/core';\nimport { Data, DataOutput, Property, Widget } from 'bbj-widget-base';\nimport { CalendarEventsChild } from '../calendar-events-child';\nimport { CalendarComponent } from '../calendar.component';\nimport { EventApi, EventSourceInput } from '@fullcalendar/common';\nimport { addDays, format, isMatch, parse } from 'date-fns';\nimport { updateEndTime } from '../calendar.util';\n\n@Component({\n selector: 'sc-calendar-events',\n templateUrl: './events.component.html',\n styleUrls: ['./events.component.less'],\n})\n@Widget('事件', { hidden: true })\nexport class EventsComponent extends CalendarEventsChild {\n @Property('颜色', {\n ui: {\n widget: 'myColor',\n },\n })\n color: string;\n @Data({\n properties: {\n id: { type: 'string', title: 'id' },\n start: { type: 'string', title: '开始日期' },\n end: { type: 'string', title: '结束日期' },\n title: { type: 'string', title: '标题' },\n color: { type: 'string', title: '颜色' },\n },\n })\n data: any[] = [\n { end: '2020-07-21 00:00:00', start: '2020-07-19 00:00:00', title: 'event 3' },\n { end: '2020-07-19 00:00:00', start: '2020-07-18 00:00:00', title: 'event 4' },\n { end: '2020-07-22', start: '2020-07-20', title: 'event 5' },\n ];\n @DataOutput(['id', 'title'])\n dataClick = new EventEmitter<any>();\n constructor(public parent: CalendarComponent) {\n super(parent);\n }\n\n getEvents(data: any[]): EventSourceInput[] {\n return data.map((item) => {\n const event = {\n ...item,\n extendedProps: {\n eventClick: this.eventClick,\n },\n };\n if (!event.color && this.color) {\n event.color = this.color;\n }\n updateEndTime(event);\n return event;\n });\n }\n\n eventClick = (event: EventApi) => {\n this.dataClick.emit(event);\n };\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\nimport { CalendarComponent } from './calendar.component';\nimport { FullCalendarModule } from '@fullcalendar/angular';\nimport dayGridPlugin from '@fullcalendar/daygrid'; // a plugin\nimport timeGridPlugin from '@fullcalendar/timegrid'; // a plugin\nimport interactionPlugin from '@fullcalendar/interaction';\nimport { BackgroundEventsComponent } from './background-events/background-events.component';\nimport { EventsComponent } from './events/events.component'; // a plugin\n\n@NgModule({\n declarations: [CalendarComponent, BackgroundEventsComponent, EventsComponent],\n imports: [CommonModule, WidgetBaseModule, FullCalendarModule],\n})\nexport class CalendarModule {\n constructor(widgetService: WidgetService) {\n FullCalendarModule.registerPlugins([\n dayGridPlugin,\n timeGridPlugin,\n interactionPlugin,\n ]);\n widgetService.register(CalendarComponent);\n widgetService.register(EventsComponent);\n widgetService.register(BackgroundEventsComponent);\n }\n}\n","import { Component, OnInit } from '@angular/core';\r\nimport { Property, Widget } from 'bbj-widget-base';\r\n\r\n@Component({\r\n selector: 'sc-tabs',\r\n templateUrl: './tabs.component.html',\r\n styleUrls: ['./tabs.component.less'],\r\n})\r\n@Widget('标签页', {\r\n group: 'component', image: 'assets/img/screen/tabs.png', icon: 'iconmokuai',\r\n children: [\r\n {\r\n title: '选项卡1',\r\n type: 'sc-tab',\r\n option: { title: 'Tab 1' },\r\n hidden: true,\r\n hideChild: true,\r\n },\r\n ],\r\n childTypes: ['sc-tab'],\r\n})\r\nexport class TabsComponent implements OnInit {\r\n @Property('页签样式', {\r\n enum: [\r\n { label: '线条', value: 'line' },\r\n { label: '卡片', value: 'card' },\r\n ],\r\n })\r\n type = 'line';\r\n @Property('尺寸', {\r\n enum: [\r\n { label: '大', value: 'large' },\r\n { label: '中', value: 'default' },\r\n { label: '小', value: 'small' },\r\n ],\r\n })\r\n size = 'default';\r\n @Property('页签位置', {\r\n enum: [\r\n { label: '上', value: 'top' },\r\n { label: '右', value: 'right' },\r\n { label: '下', value: 'bottom' },\r\n { label: '左', value: 'left' },\r\n ],\r\n })\r\n tabPosition = 'top';\r\n @Property('切换动画', { type: 'boolean', ui: { visibleIf: { tabPosition: ['top', 'bottom'] } } })\r\n animated = true;\r\n @Property('间隙')\r\n tabBarGutter: number;\r\n\r\n selectedIndex = 0;\r\n\r\n children: any[];\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n getContainer() {\r\n if (this.children) {\r\n const selectedChild = this.children[this.selectedIndex];\r\n if (selectedChild) {\r\n return selectedChild.id;\r\n }\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\nimport { Property, Widget } from 'bbj-widget-base';\n\n@Component({\n selector: 'sc-tab',\n templateUrl: './tab.component.html',\n styleUrls: ['./tab.component.less'],\n})\n@Widget('选项卡', { hidden: true })\nexport class TabComponent implements OnInit {\n @Property('标题')\n title = 'New Tab';\n children: any[];\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TabsComponent } from './tabs.component';\nimport { WidgetBaseModule, WidgetService } from 'bbj-widget-base';\nimport { NzTabsModule } from 'ng-zorro-antd/tabs';\nimport { TabComponent } from './tab/tab.component';\n\n@NgModule({\n declarations: [TabsComponent, TabComponent],\n imports: [CommonModule, WidgetBaseModule, NzTabsModule],\n})\nexport class TabsModule {\n constructor(widgetService: WidgetService) {\n widgetService.register(TabsComponent);\n widgetService.register(TabComponent);\n }\n}\n","import {\n Component,\n ElementRef,\n EmbeddedViewRef,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { Data, Property, Widget } from 'bbj-widget-base';\n\nimport { isDate, format, min, parseISO } from 'date-fns';\nimport { getUUID } from '../shared/util/base.util';\n\n@Component({\n selector: 'sc-gantt',\n templateUrl: './gantt.component.html',\n styleUrls: ['./gantt.component.less'],\n})\n@Widget('甘特图', { group: 'component', image: 'assets/img/screen/gantt.png', icon: 'iconmokuai' })\nexport class GanttComponent implements OnInit, OnChanges {\n @ViewChild('fcEventContent', { static: true }) eventContent: TemplateRef<any>;\n private readonly contentRenderers = new Map<string, EmbeddedViewRef<any>>();\n @Property('头部名称', { type: 'string' })\n headerContent = '项目';\n @Property('项目字体', { ui: { widget: 'myFont' } })\n contentFont: any = { family: '', color: '', weight: 'normal', size: 12, space: 0, lineHeight: 40 };\n @Property('系列颜色', {\n ui: {\n widget: 'seriesColor',\n example: ['#D0021B', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', '#333333'],\n },\n })\n lineColor = ['rgba(50,133,255,1)', 'rgba(123,113,192,1' + ')'];\n @Property('进度透明', { type: 'number', max: 1 })\n progressTransparency = 0.8;\n @Property('区域占比', { type: 'number' })\n areaRate = 20;\n @Property('进度条高度', { type: 'number' })\n progressHeight = 32;\n @Data({\n properties: {\n start: { type: 'string', title: '开始日期' },\n end: { type: 'string', title: '结束日期' },\n title: { type: 'string', title: '待办事项' },\n project: { type: 'string', title: '所属项目' },\n progress: { type: 'string', title: '进度' },\n },\n })\n data: any[] = [\n { start: '2020-11-10', end: '2020-11-15', title: '代办事件1', project: 'benbenjun', progress: '0.4' },\n { start: '2020-10-10', end: '2020-11-11', title: '代办事件2', project: 'benbenjun2', progress: '0.6' },\n { start: '2020-10-11', end: '2020-11-19', title: '代办事件3', project: 'benbenjun3', progress: '0.9' },\n ];\n calendarOptions: any;\n resources: any = [];\n events: any = [];\n\n initDate: any;\n\n constructor(private ele: ElementRef) {}\n\n ngOnInit(): void {}\n\n ngOnChanges(changes: SimpleChanges): void {\n this.init();\n }\n\n init() {\n if (this.contentFont) {\n this.ele.nativeElement.style.setProperty('--fontSize', this.contentFont.size + 'px');\n this.ele.nativeElement.style.setProperty('--color', this.contentFont.color);\n this.ele.nativeElement.style.setProperty('--weight', this.contentFont.weight);\n this.ele.nativeElement.style.setProperty('--family', this.contentFont.weight);\n this.ele.nativeElement.style.setProperty('--lineHeight', this.contentFont.lineHeight + 'px');\n this.ele.nativeElement.style.setProperty('--height', this.progressHeight + 'px');\n }\n\n // if (changes.data) {\n if (this.data == null || this.data.length < 1) {\n return;\n }\n const dateArr = [];\n let arrIndex = 0;\n this.data.forEach((d) => {\n let color = '';\n if (this.lineColor !== null && this.lineColor.length > 0) {\n if (arrIndex >= this.lineColor.length) {\n arrIndex = 0;\n }\n color = this.lineColor[arrIndex];\n }\n dateArr.push(parseISO(d.start));\n this.resources.push({ id: d.project, title: d.project, eventColor: 'rgb(0,210,253,0)' });\n this.events.push({\n id: getUUID(),\n resourceId: d.project,\n start: d.start,\n end: d.end,\n title: d.title,\n backColor: color,\n progress: d.progress,\n });\n arrIndex++;\n });\n this.calendarOptions = {\n timeZone: 'UTC',\n headerToolbar: {\n left: 'today prev,next',\n center: 'title',\n right: 'resourceTimelineDay,resourceTimelineTenDay,resourceTimelineMonth,resourceTimelineYear',\n },\n initialView: 'resourceTimelineMonth',\n scrollTime: '08:00',\n aspectRatio: 1.5,\n initialDate: this.initDate ? format(this.initDate, 'yyyy-MM-dd') : format(min(dateArr), 'yyyy-MM-dd'),\n views: {\n resourceTimelineDay: {\n buttonText: '小时',\n slotDuration: '00:15',\n },\n resourceTimelineTenDay: {\n type: 'resourceTimeline',\n duration: { days: 10 },\n buttonText: '未来10天',\n },\n resourceTimelineMonth: {\n buttonText: '月',\n // dayHeaders:false,\n // // columnFormat: 'dddd',\n // dayNames: ['1', '2', '3', '4', '5', '6', '7'],\n // dayNamesShort: ['1', '2', '3', '4', '5', '6', '7'],\n // dayHeaderFormat:{weekday:'long'},\n // dayHeaderContent: (data) => {\n // console.log(data);\n // },\n slotLabelFormat: [{ day: 'numeric' }, { weekday: 'long' }],\n },\n resourceTimelineYear: {\n buttonText: '年',\n slotLabelFormat: [{ month: 'long' }],\n // slotDuration: '48:00:00',\n slotLabelInterval: { month: 1 },\n },\n },\n buttonText: {\n today: '今日',\n },\n editable: false,\n resourceAreaHeaderContent: this.headerContent,\n locale: 'zh-cn',\n // dayHeaderFormat: {weekday: 'long'},\n resourceAreaWidth: this.areaRate + '%',\n resources: [],\n // visibleRange: {\n // start: '2020-03-22',\n // end: '2020-03-25'\n // },\n events: [],\n columnFormat: 'dddd',\n eventContent: (arg) => this.renderEventContent(arg),\n eventWillUnmount: (arg) => this.unrenderEvent(arg),\n };\n this.calendarOptions.resources = this.resources;\n this.calendarOptions.events = this.events;\n // }\n }\n\n renderEventContent(args) {\n let renderer = this.contentRenderers.get(args.event.id);\n const proColor =\n args.event.extendedProps.backColor.substr(0, args.event.extendedProps.backColor.lastIndexOf(',') + 1) +\n this.progressTransparency +\n ')';\n const data = {\n barStyle: {\n width: args.event.extendedProps.progress * 100 + '%',\n backgroundColor: args.event.extendedProps.backColor,\n },\n progressStyle: {\n backgroundColor: proColor,\n },\n title: args.event.title,\n progress: Number(args.event.extendedProps.progress) * 100 + '%',\n start: format(args.event.start, 'yyyy-MM-dd'),\n end: format(args.event.end, 'yyyy-MM-dd'),\n };\n // if (!renderer) {\n // Make a new renderer and save it so that we can destroy when the event is unmounted.\n renderer = this.eventContent.createEmbeddedView({ data });\n this.contentRenderers.set(args.event.id, renderer);\n // } else {\n // // Just update the existing renderer.\n // renderer.context.data = data;\n // renderer.markForCheck();\n // }\n renderer.detectChanges();\n return { domNodes: renderer.rootNodes };\n }\n\n unrenderEvent(arg) {\n const renderer = this.contentRenderers.get(arg.event.id);\n if (renderer) {\n renderer.destroy();\n }\n }\n\n // onChange(events) {\n //\n // }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {GanttComponent} from './gantt.component';\nimport {WidgetBaseModule, WidgetService} from 'bbj-widget-base';\nimport {FullCalendarModule} from '@fullcalendar/angular';\nimport dayGridPlugin from '@fullcalendar/daygrid';\nimport timeGridPlugin from '@fullcalendar/timegrid';\nimport interactionPlugin from '@fullcalendar/interaction';\nimport resourceTimelinePlugin from '@fullcalendar/resource-timeline';\nimport {NzToolTipModule} from 'ng-zorro-antd/tooltip';\n// import {FormsModule} from '@angular/forms';\n// import {NzDatePickerModule} from 'ng-zorro-antd/date-picker';\n\n\n@NgModule({\n declarations: [GanttComponent],\n imports: [\n CommonModule,\n WidgetBaseModule,\n FullCalendarModule,\n NzToolTipModule,\n // FormsModule,\n // NzDatePickerModule,\n ],\n})\nexport class GanttModule {\n constructor(widgetService: WidgetService) {\n FullCalendarModule.registerPlugins([\n // register FullCalendar plugins\n dayGridPlugin,\n timeGridPlugin,\n interactionPlugin,\n resourceTimelinePlugin,\n ]);\n widgetService.register(GanttComponent);\n }\n}\n","import { NgModule } from '@angular/core';\r\nimport { ImageModule } from './image/image.module';\r\nimport { BasicLineChartModule } from './basic-line-chart/basic-line-chart.module';\r\nimport { ButtonModule } from './button/button.module';\r\nimport { TimerModule } from './timer/timer.module';\r\nimport { NumberFlopModule } from './number-flop/number-flop.module';\r\nimport { VoteModule } from './vote/vote.module';\r\nimport { SelectModule } from './select/select.module';\r\nimport { SearchModule } from './search/search.module';\r\nimport { WeatherModule } from './weather/weather.module';\r\nimport { RadioModule } from './radio/radio.module';\r\nimport { CheckboxModule } from './checkbox/checkbox.module';\r\nimport { RateModule } from './rate/rate.module';\r\nimport { GeneralTextModule } from './general-text/general-text.module';\r\nimport { MarqueeModule } from './marquee/marquee.module';\r\nimport { WordartModule } from './wordart/wordart.module';\r\nimport { IconfontModule } from './iconfont/iconfont.module';\r\nimport { AudioModule } from './audio/audio.module';\r\nimport { BasicBarChartModule } from './basic-bar-chart/basic-bar-chart.module';\r\nimport { BasicPieChartModule } from './basic-pie-chart/basic-pie-chart.module';\r\nimport { BarChartThreeDModule } from './bar-chart-three-d/bar-chart-three-d.module';\r\nimport { ShapeModule } from './shape/shape.module';\r\nimport { LineBarChartModule } from './line-bar-chart/line-bar-chart.module';\r\nimport { BubbleChartModule } from './bubble-chart/bubble-chart.module';\r\nimport { RadarChartModule } from './radar-chart/radar-chart.module';\r\nimport { FunnelChartModule } from './funnel-chart/funnel-chart.module';\r\nimport { BackgroundModule } from './background/background.module';\r\nimport { GaugeModule } from './gauge/gauge.module';\r\nimport { PercentPieChartModule } from './percent-pie-chart/percent-pie-chart.module';\r\nimport { TreeRingChartModule } from './tree-ring-chart/tree-ring-chart.module';\r\nimport { LiquidFillModule } from './liquid-fill/liquid-fill.module';\r\nimport { WidgetService } from 'bbj-widget-base';\r\nimport { BasicBarChartComponent } from './basic-bar-chart/basic-bar-chart.component';\r\nimport { ButtonComponent } from './button/button.component';\r\nimport { ImageComponent } from './image/image.component';\r\nimport { BasicLineChartComponent } from './basic-line-chart/basic-line-chart.component';\r\nimport { BasicPieChartComponent } from './basic-pie-chart/basic-pie-chart.component';\r\nimport { TreeRingChartComponent } from './tree-ring-chart/tree-ring-chart.component';\r\nimport { LineBarChartComponent } from './line-bar-chart/line-bar-chart.component';\r\nimport { BarChartThreeDComponent } from './bar-chart-three-d/bar-chart-three-d.component';\r\nimport { BubbleChartComponent } from './bubble-chart/bubble-chart.component';\r\nimport { RadarChartComponent } from './radar-chart/radar-chart.component';\r\nimport { FunnelChartComponent } from './funnel-chart/funnel-chart.component';\r\nimport { GaugeComponent } from './gauge/gauge.component';\r\nimport { TimerComponent } from './timer/timer.component';\r\nimport { NumberFlopComponent } from './number-flop/number-flop.component';\r\nimport { VoteComponent } from './vote/vote.component';\r\nimport { SelectComponent } from './select/select.component';\r\nimport { SearchComponent } from './search/search.component';\r\nimport { WeatherComponent } from './weather/weather.component';\r\nimport { RadioComponent } from './radio/radio.component';\r\nimport { CheckboxComponent } from './checkbox/checkbox.component';\r\nimport { RateComponent } from './rate/rate.component';\r\nimport { GeneralTextComponent } from './general-text/general-text.component';\r\nimport { IconfontComponent } from './iconfont/iconfont.component';\r\nimport { WordartComponent } from './wordart/wordart.component';\r\nimport { MarqueeComponent } from './marquee/marquee.component';\r\nimport { AudioComponent } from './audio/audio.component';\r\nimport { PercentPieChartComponent } from './percent-pie-chart/percent-pie-chart.component';\r\nimport { LiquidFillComponent } from './liquid-fill/liquid-fill.component';\r\nimport { ShapeComponent } from './shape/shape.component';\r\nimport { BackgroundComponent } from './background/background.component';\r\nimport { AnnouncementComponent } from './announcement/announcement.component';\r\nimport { AnnouncementModule } from './announcement/announcement.module';\r\nimport { TableModule } from './table/table.module';\r\nimport { TableComponent } from './table/table.component';\r\nimport { BasicPlanimetricMapModule } from './basic-planimetric-map/basic-planimetric-map.module';\r\nimport { BreathingBubbleLayerModule } from './breathing-bubble-layer/breathing-bubble-layer.module';\r\nimport { PlanimetricMap2dModule } from './planimetric-map2d/planimetric-map2d.module';\r\nimport { ParentContainerModule } from './parent-container/parent-container.module';\r\nimport { BasicPlanimetricMapComponent } from './basic-planimetric-map/basic-planimetric-map.component';\r\nimport { PlanimetricMap3dModule } from './planimetric-map3d/planimetric-map3d.module';\r\nimport { PlanimetricMap3dComponent } from './planimetric-map3d/planimetric-map3d.component';\r\nimport { CalendarModule } from './calendar/calendar.module';\r\nimport { CalendarComponent } from './calendar/calendar.component';\r\nimport { VisualMapChartModule } from './visual-map-chart/visual-map-chart.module';\r\nimport { TimePickerModule } from './time-picker/time-picker.module';\r\nimport { DatePickerModule } from './date-picker/date-picker.module';\r\nimport { TreeControlModule } from './tree-control/tree-control.module';\r\nimport { CustomBaiduMapModule } from './custom-baidu-map/custom-baidu-map.module';\r\nimport { icons } from './iconfont/icon';\r\nimport { TreeControlComponent } from './tree-control/tree-control.component';\r\nimport { TabsModule } from './tabs/tabs.module';\r\nimport { MipAnimComponent } from './mip-anim/mip-anim.component';\r\nimport { MipAnimModule } from './mip-anim/mip-anim.module';\r\nimport { UploadModule } from './upload/upload.module';\r\nimport { CrossTableModule } from './cross-table/cross-table.module';\r\nimport { GanttModule } from './gantt/gantt.module';\r\nimport { Pie3dChartModule } from './pie3d-chart/pie3d-chart.module';\r\n\r\nimport { LineLightFlowModule } from './line-light-flow/line-light-flow.module';\r\nimport { TemporaryDataModule } from './temporary-data/temporary-data.module';\r\n\r\n@NgModule({\r\n imports: [\r\n ImageModule,\r\n BasicLineChartModule,\r\n BasicPieChartModule,\r\n BasicBarChartModule,\r\n LineBarChartModule,\r\n BarChartThreeDModule,\r\n BubbleChartModule,\r\n RadarChartModule,\r\n FunnelChartModule,\r\n PercentPieChartModule,\r\n TreeRingChartModule,\r\n GaugeModule,\r\n LiquidFillModule,\r\n ButtonModule,\r\n TimerModule,\r\n NumberFlopModule,\r\n VoteModule,\r\n SelectModule,\r\n SearchModule,\r\n WeatherModule,\r\n RadioModule,\r\n CheckboxModule,\r\n RateModule,\r\n GeneralTextModule,\r\n MarqueeModule,\r\n WordartModule,\r\n IconfontModule,\r\n AudioModule,\r\n ShapeModule,\r\n BackgroundModule,\r\n // BasicSmoothLineChartModule,\r\n AnnouncementModule,\r\n TableModule,\r\n BasicPlanimetricMapModule,\r\n BreathingBubbleLayerModule,\r\n PlanimetricMap2dModule,\r\n ParentContainerModule,\r\n PlanimetricMap3dModule,\r\n TreeControlModule,\r\n VisualMapChartModule,\r\n TimePickerModule,\r\n DatePickerModule,\r\n CustomBaiduMapModule,\r\n TabsModule,\r\n MipAnimModule,\r\n CalendarModule,\r\n UploadModule,\r\n CrossTableModule,\r\n GanttModule,\r\n Pie3dChartModule,\r\n LineLightFlowModule,\r\n TemporaryDataModule,\r\n ],\r\n exports: [],\r\n declarations: [],\r\n})\r\nexport class WorkbenchWidgetModule {\r\n constructor(widgetService: WidgetService) {\r\n widgetService.register(ButtonComponent, { option: {}, size: { width: 3, height: 3 } });\r\n widgetService.register(CalendarComponent, { option: {}, size: { width: 16, height: 12 } });\r\n for (let i = 1; i <= 82; i++) {\r\n widgetService.register(ImageComponent, {\r\n option: { image: `assets/img/screen/picture${i}.png`, hideHead: true },\r\n size: { width: 6, height: 6 },\r\n });\r\n }\r\n icons.forEach((icon) => {\r\n widgetService.register(IconfontComponent, {\r\n option: { type: 'iconfont', icon, hideHead: true },\r\n size: { width: 4, height: 4 },\r\n });\r\n });\r\n widgetService.register(TimerComponent, {\r\n option: { font: { color: '#595F7A' } },\r\n size: { width: 10, height: 4 },\r\n });\r\n widgetService.register(NumberFlopComponent, { size: { width: 12, height: 6 } });\r\n widgetService.register(VoteComponent, { size: { width: 6, height: 6 } });\r\n widgetService.register(SelectComponent, { size: { width: 6, height: 4 } });\r\n widgetService.register(SearchComponent, { size: { width: 6, height: 3 } });\r\n widgetService.register(WeatherComponent, {\r\n option: { tempFont: { color: '#595F7A' } },\r\n size: { width: 10, height: 6 },\r\n });\r\n widgetService.register(RadioComponent, {\r\n option: { font: { color: '#595F7A' } },\r\n size: { width: 6, height: 4 },\r\n });\r\n widgetService.register(RateComponent, {\r\n option: { font: { color: '#595F7A' } },\r\n size: { width: 6, height: 6 },\r\n });\r\n widgetService.register(\r\n GeneralTextComponent,\r\n {\r\n className: 'big-title title',\r\n title: '大标题',\r\n option: {\r\n title: '大标题',\r\n font: { family: '', color: '#333333', weight: 'normal', size: 36, space: 0, lineHeight: 50 },\r\n },\r\n size: { width: 5, height: 3 },\r\n },\r\n {\r\n className: 'normal-title title',\r\n title: '标题',\r\n option: {\r\n title: '标题',\r\n font: { family: '', color: '#333333', weight: 'normal', size: 32, space: 0, lineHeight: 45 },\r\n },\r\n size: { width: 5, height: 3 },\r\n },\r\n {\r\n className: 'subtitle title',\r\n title: '副标题',\r\n option: {\r\n title: '副标题',\r\n font: { family: '', color: '#333333', weight: 'normal', size: 24, space: 0, lineHeight: 33 },\r\n },\r\n size: { width: 5, height: 3 },\r\n },\r\n {\r\n className: 'small-title title',\r\n title: '小标题',\r\n option: {\r\n title: '小标题',\r\n font: { family: '', color: '#333333', weight: 'normal', size: 16, space: 0, lineHeight: 22 },\r\n },\r\n size: { width: 5, height: 3 },\r\n },\r\n {\r\n className: 'content title',\r\n title: '正文内容',\r\n option: {\r\n title: '正文内容',\r\n font: { family: '', color: '#333333', weight: 'normal', size: 13, space: 0, lineHeight: 18 },\r\n },\r\n size: { width: 5, height: 3 },\r\n },\r\n );\r\n widgetService.register(\r\n WordartComponent,\r\n {\r\n className: 'wordart1 wordart',\r\n title: '可视化数字大屏',\r\n option: {\r\n title: '可视化数字大屏',\r\n font: { family: 'cursive', color: '#3285FF', weight: 'normal', size: 24, space: 0, lineHeight: '' },\r\n },\r\n size: { width: 7, height: 3 },\r\n },\r\n {\r\n className: 'wordart2 wordart',\r\n title: '可视化数字大屏',\r\n option: {\r\n title: '可视化数字大屏',\r\n font: { family: 'sans-serif', color: '#7ee5ce', weight: 'bold', size: 24, space: 0, lineHeight: '' },\r\n },\r\n size: { width: 7, height: 3 },\r\n },\r\n {\r\n className: 'wordart3 wordart',\r\n title: '可视化数字大屏',\r\n option: {\r\n title: '可视化数字大屏',\r\n backgroundImage: '-webkit-linear-gradient(-90deg, #09FFDD 14%, #0055FF 100%)',\r\n font: { family: 'sans-serif', color: '#7ee5ce', weight: 'bold', size: 24, space: 0, lineHeight: '' },\r\n },\r\n size: { width: 7, height: 3 },\r\n },\r\n {\r\n className: 'wordart4 wordart',\r\n title: '可视化数字大屏',\r\n option: {\r\n title: '可视化数字大屏',\r\n backgroundImage: '-webkit-linear-gradient(-90deg, #F76B1C 14%, #FAD961 100%)',\r\n font: { family: 'sans-serif', color: '#7ee5ce', weight: 'bold', size: 24, space: 0, lineHeight: '' },\r\n },\r\n size: { width: 7, height: 3 },\r\n },\r\n {\r\n className: 'wordart5 wordart',\r\n title: '可视化数字大屏',\r\n option: {\r\n title: '可视化数字大屏',\r\n backgroundImage: '-webkit-linear-gradient(-90deg, #B4EC51 14%, #429321 100%)',\r\n font: { family: 'sans-serif', color: '#7ee5ce', weight: 'bold', size: 24, space: 0, lineHeight: '' },\r\n },\r\n size: { width: 7, height: 3 },\r\n },\r\n {\r\n className: 'wordart6 wordart',\r\n title: '可视化数字大屏',\r\n option: {\r\n title: '可视化数字大屏',\r\n backgroundImage: '-webkit-linear-gradient(-90deg, #3023AE 14%, #FE55FF 100%)',\r\n font: { family: 'sans-serif', color: '#7ee5ce', weight: 'bold', size: 24, space: 0, lineHeight: '' },\r\n },\r\n size: { width: 7, height: 3 },\r\n },\r\n );\r\n widgetService.register(MarqueeComponent, {\r\n option: {\r\n font: { color: '#595F7A' },\r\n },\r\n size: { width: 7, height: 3 },\r\n });\r\n widgetService.register(\r\n AudioComponent,\r\n {\r\n title: '视频demo',\r\n option: {\r\n type: 'video',\r\n src: 'https://xiche.oss-cn-beijing.aliyuncs.com/video/20180417154421.mp4',\r\n },\r\n },\r\n {\r\n title: '音频demo',\r\n option: {\r\n type: 'audio',\r\n src: 'https://xiche.oss-cn-beijing.aliyuncs.com/video/20180417154421.mp4',\r\n },\r\n },\r\n );\r\n widgetService.register(\r\n BasicLineChartComponent,\r\n {\r\n option: {\r\n type: 'basic',\r\n },\r\n image: 'assets/img/screen/basic-line-chart.png',\r\n },\r\n {\r\n title: '区域折线图',\r\n image: 'assets/img/screen/area-line-chart.png',\r\n option: {\r\n type: 'area',\r\n },\r\n },\r\n {\r\n title: '基本曲线图',\r\n image: 'assets/img/screen/smooth-line-chart.png',\r\n group: 'smoothLineChart',\r\n option: {\r\n type: 'smooth',\r\n },\r\n },\r\n {\r\n title: '区域曲线图',\r\n image: 'assets/img/screen/smooth-area-line-chart.png',\r\n group: 'smoothLineChart',\r\n option: {\r\n type: 'smooth-area',\r\n },\r\n },\r\n {\r\n title: '阶梯线图',\r\n group: 'stepLineChart',\r\n option: {\r\n type: 'step',\r\n step: 'end',\r\n },\r\n image: 'assets/img/screen/basic-line-chart.png',\r\n },\r\n );\r\n widgetService.register(\r\n BasicPieChartComponent,\r\n {\r\n option: {\r\n type: 'basic',\r\n font: { color: '#595F7A' },\r\n },\r\n },\r\n {\r\n title: '环形饼图',\r\n image: 'assets/img/screen/pie-o.png',\r\n option: {\r\n type: 'ring',\r\n font: { color: '#595F7A' },\r\n },\r\n },\r\n {\r\n title: '玫瑰饼图',\r\n image: 'assets/img/screen/rosePie.png',\r\n option: {\r\n type: 'rose',\r\n font: { color: '#595F7A' },\r\n },\r\n },\r\n {\r\n title: '玫瑰环形饼图',\r\n image: 'assets/img/screen/roseRingPie.png',\r\n option: {\r\n type: 'roseRing',\r\n font: { color: '#595F7A' },\r\n },\r\n },\r\n );\r\n widgetService.register(PercentPieChartComponent, {\r\n option: {\r\n font: { color: '#595F7A' },\r\n },\r\n });\r\n widgetService.register(TreeRingChartComponent, {\r\n option: {\r\n font: { color: '#595F7A' },\r\n },\r\n });\r\n widgetService.register(\r\n BasicBarChartComponent,\r\n {},\r\n {\r\n title: '堆叠柱图',\r\n image: 'assets/img/screen/doubleBar.png',\r\n option: {\r\n type: 'double',\r\n },\r\n },\r\n {\r\n title: '横向柱图',\r\n image: 'assets/img/screen/horiBar.png',\r\n option: {\r\n type: 'hori',\r\n },\r\n },\r\n {\r\n title: '横向堆叠柱图',\r\n image: 'assets/img/screen/doubleHoriBar.png',\r\n option: {\r\n type: 'horiD',\r\n },\r\n },\r\n {\r\n title: '双向柱图',\r\n image: 'assets/img/screen/doubleColorBar.png',\r\n option: {\r\n type: 'dcolor',\r\n },\r\n },\r\n );\r\n widgetService.register(LineBarChartComponent, {\r\n title: '折线柱图',\r\n image: 'assets/img/screen/lineBar.png',\r\n option: {\r\n type: 'line',\r\n font: { color: '#595F7A' },\r\n },\r\n });\r\n widgetService.register(\r\n BarChartThreeDComponent,\r\n {\r\n title: '3D柱图',\r\n image: 'assets/img/screen/3Dbar.png',\r\n option: {\r\n type: '3D',\r\n font: { color: '#595F7A' },\r\n },\r\n },\r\n {\r\n title: '3D堆叠柱图',\r\n image: 'assets/img/screen/3DdoubleBar.png',\r\n option: {\r\n type: '3Ddouble',\r\n font: { color: '#595F7A' },\r\n },\r\n },\r\n {\r\n title: '3D横向柱图',\r\n image: 'assets/img/screen/3DhoriBar.png',\r\n option: {\r\n type: 'hori',\r\n font: { color: '#595F7A' },\r\n },\r\n },\r\n {\r\n title: '3D堆叠横向柱图',\r\n image: 'assets/img/screen/3DdoubleHoriBar.png',\r\n option: {\r\n type: 'horiD',\r\n font: { color: '#595F7A' },\r\n },\r\n },\r\n );\r\n widgetService.register(BubbleChartComponent, {\r\n title: '散点图',\r\n image: 'assets/img/screen/bubble.png',\r\n option: {\r\n type: 'bubble',\r\n font: { color: '#595F7A' },\r\n },\r\n });\r\n widgetService.register(RadarChartComponent, {\r\n title: '雷达图',\r\n image: 'assets/img/screen/radar.png',\r\n option: {\r\n type: 'radar',\r\n font: { color: '#595F7A' },\r\n },\r\n });\r\n widgetService.register(FunnelChartComponent, {\r\n title: '三角图',\r\n image: 'assets/img/screen/funnel.png',\r\n option: {\r\n type: 'funnel',\r\n font: { color: '#595F7A' },\r\n },\r\n });\r\n widgetService.register(GaugeComponent, {\r\n option: {\r\n font: { color: '#595F7A' },\r\n },\r\n });\r\n widgetService.register(LiquidFillComponent, {\r\n option: {\r\n font: { color: '#595F7A' },\r\n },\r\n });\r\n widgetService.register(\r\n ShapeComponent,\r\n {\r\n title: '线条',\r\n image: 'assets/img/screen/shape01.png',\r\n option: {\r\n type: 'line',\r\n },\r\n size: { width: 6, height: 7 },\r\n },\r\n {\r\n title: '三角形',\r\n image: 'assets/img/screen/shape06.png',\r\n option: {\r\n type: 'triangle',\r\n },\r\n size: { width: 6, height: 7 },\r\n },\r\n {\r\n title: '矩形',\r\n image: 'assets/img/screen/shape03.png',\r\n option: {\r\n type: 'rect',\r\n },\r\n size: { width: 6, height: 7 },\r\n },\r\n {\r\n title: '圆角矩形',\r\n image: 'assets/img/screen/shape04.png',\r\n option: {\r\n type: 'rect',\r\n fillet: 16,\r\n },\r\n size: { width: 6, height: 7 },\r\n },\r\n {\r\n title: '平行四边形',\r\n image: 'assets/img/screen/shape09.png',\r\n option: {\r\n type: 'parallelogram',\r\n bottom: 110,\r\n deviation: 30,\r\n },\r\n size: { width: 6, height: 7 },\r\n },\r\n {\r\n title: '梯形',\r\n image: 'assets/img/screen/shape10.png',\r\n option: {\r\n type: 'trapezoid',\r\n upper: 70,\r\n bottom: 100,\r\n deviation: 0,\r\n },\r\n size: { width: 6, height: 7 },\r\n },\r\n {\r\n title: '五边形',\r\n image: 'assets/img/screen/shape08.png',\r\n option: {\r\n type: 'polygonplus',\r\n side: 5,\r\n },\r\n size: { width: 6, height: 7 },\r\n },\r\n {\r\n title: '五角星',\r\n image: 'assets/img/screen/shape07.png',\r\n option: {\r\n type: 'polyhedrosis',\r\n side: 5,\r\n },\r\n size: { width: 6, height: 7 },\r\n },\r\n {\r\n title: '圆形',\r\n image: 'assets/img/screen/shape05.png',\r\n option: {\r\n type: 'circle',\r\n },\r\n size: { width: 6, height: 7 },\r\n },\r\n {\r\n title: '箭头',\r\n image: 'assets/img/screen/shape11.png',\r\n option: {\r\n type: 'polygon',\r\n data: [\r\n {\r\n x: 20,\r\n y: 80,\r\n },\r\n {\r\n x: 100,\r\n y: 80,\r\n },\r\n {\r\n x: 100,\r\n y: 40,\r\n },\r\n {\r\n x: 180,\r\n y: 100,\r\n },\r\n {\r\n x: 100,\r\n y: 160,\r\n },\r\n {\r\n x: 100,\r\n y: 120,\r\n },\r\n {\r\n x: 20,\r\n y: 120,\r\n },\r\n ],\r\n },\r\n },\r\n );\r\n for (let i = 1; i <= 75; i++) {\r\n widgetService.register(BackgroundComponent, {\r\n option: {\r\n image: `assets/img/screen/moduleBg${i}.png`,\r\n type: 'background',\r\n },\r\n size: { width: 10, height: 3 },\r\n });\r\n }\r\n for (let i = 1; i <= 8; i++) {\r\n widgetService.register(BackgroundComponent, {\r\n option: {\r\n image: `assets/img/screen/border${i}.png`,\r\n type: 'background',\r\n },\r\n size: { width: 10, height: 10 },\r\n });\r\n }\r\n for (let i = 1; i <= 8; i++) {\r\n widgetService.register(BackgroundComponent, {\r\n option: {\r\n image: `assets/img/screen/bg${i}.png`,\r\n type: 'border',\r\n },\r\n size: { width: 10, height: 10 },\r\n });\r\n }\r\n widgetService.register(AnnouncementComponent, { size: { width: 14, height: 6 } });\r\n widgetService.register(TableComponent, {\r\n option: {\r\n image: 'assets/img/screen/table.png',\r\n },\r\n });\r\n widgetService.register(BasicPlanimetricMapComponent, { size: { width: 12, height: 12 } });\r\n widgetService.register(PlanimetricMap3dComponent, { size: { width: 12, height: 12 } });\r\n ['assets/img/screen/mipAnim1.gif', 'assets/img/screen/mipAnim2.gif'].forEach((image) => {\r\n widgetService.register(MipAnimComponent, {\r\n option: { image },\r\n size: { height: 6, width: 6 },\r\n });\r\n });\r\n }\r\n}\r\n","/*\n * Public API Surface of screen-widget\n */\nexport * from './lib/shared/service/common.service';\nexport * from 'bbj-screen-widget/core';\nexport * from './lib/shared/service/gaode-map.service';\nexport * from './lib/screen-widget.module';\nexport * from './lib/workbench-widget.module';\nexport * from './lib/bar-chart-three-d/bar-chart-three-d.module';\nexport * from './lib/basic-bar-chart/basic-bar-chart.component';\nexport * from './lib/basic-bar-chart/basic-bar-chart.module';\nexport * from './lib/basic-line-chart/basic-line-chart.module';\nexport * from './lib/basic-pie-chart/basic-pie-chart.module';\nexport * from './lib/bubble-chart/bubble-chart.module';\nexport * from './lib/funnel-chart/funnel-chart.module';\nexport * from './lib/gauge/gauge.module';\nexport * from './lib/liquid-fill/liquid-fill.module';\nexport * from './lib/percent-pie-chart/percent-pie-chart.module';\nexport * from './lib/radar-chart/radar-chart.module';\nexport * from './lib/tree-ring-chart/tree-ring-chart.module';\nexport * from './lib/tree-control/tree-control.module';\nexport * from './lib/scatter3d/scatter3d.module';\n\n// 地图\nexport * from './lib/visual-map-chart/visual-map-chart.module'; // 2D热力地图\nexport * from './lib/basic-planimetric-map/basic-planimetric-map.module'; // 基础平面地图\nexport * from './lib/planimetric-map2d/planimetric-map2d.module'; // 2D平面地图\nexport * from './lib/planimetric-map3d/planimetric-map3d.module'; // 3D平面地图\nexport * from './lib/marquee/marquee.module'; // 跑马灯\nexport * from './lib/table/table.module'; // 表格\nexport * from './lib/date-picker/date-picker.module'; // 日期选择器\n\nexport * from './lib/audio/audio.module'; //视频、音频组件\n\nexport * from './lib/custom-baidu-map/custom-baidu-map.module'; // 百度地图\n\nexport * from './lib/checkbox/checkbox.module'; // 复选框\nexport * from './lib/select/select.module'; // 下拉框\n\nexport * from './lib/shared/service/file-url.service';\n\nexport * from './lib/iframe/iframe.module'; // iframe\n\nexport * from './lib/shared/component/video-player/video-player.module';\nexport * from './lib/cross-table/cross-table.module';\nexport * from './lib/video-grid/video-grid.module'; //视频宫格\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {AnnouncementComponent as ɵea} from './lib/announcement/announcement.component';\nexport {AnnouncementModule as ɵdz} from './lib/announcement/announcement.module';\nexport {AudioComponent as ɵbp} from './lib/audio/audio.component';\nexport {BackgroundComponent as ɵbu} from './lib/background/background.component';\nexport {BackgroundModule as ɵbt} from './lib/background/background.module';\nexport {BarChartThreeDComponent as ɵg} from './lib/bar-chart-three-d/bar-chart-three-d.component';\nexport {BasicLineChartComponent as ɵc} from './lib/basic-line-chart/basic-line-chart.component';\nexport {BasicPieChartComponent as ɵd} from './lib/basic-pie-chart/basic-pie-chart.component';\nexport {BasicPlanimetricMapComponent as ɵby} from './lib/basic-planimetric-map/basic-planimetric-map.component';\nexport {BreathingBubbleLayerComponent as ɵcb} from './lib/breathing-bubble-layer/breathing-bubble-layer.component';\nexport {BreathingBubbleLayerModule as ɵca} from './lib/breathing-bubble-layer/breathing-bubble-layer.module';\nexport {BubbleChartComponent as ɵh} from './lib/bubble-chart/bubble-chart.component';\nexport {BulletinBoardComponent as ɵdr} from './lib/bulletin-board/bulletin-board.component';\nexport {BulletinBoardModule as ɵdq} from './lib/bulletin-board/bulletin-board.module';\nexport {ButtonComponent as ɵp} from './lib/button/button.component';\nexport {ButtonModule as ɵo} from './lib/button/button.module';\nexport {BackgroundEventsComponent as ɵeg} from './lib/calendar/background-events/background-events.component';\nexport {CalendarEventsChild as ɵeh} from './lib/calendar/calendar-events-child';\nexport {CalendarComponent as ɵef} from './lib/calendar/calendar.component';\nexport {CalendarModule as ɵee} from './lib/calendar/calendar.module';\nexport {EventsComponent as ɵei} from './lib/calendar/events/events.component';\nexport {CheckboxComponent as ɵbe} from './lib/checkbox/checkbox.component';\nexport {CrossTableComponent as ɵdg} from './lib/cross-table/cross-table.component';\nexport {BaiduMarkerLayerComponent as ɵcz} from './lib/custom-baidu-map/baidu-marker-layer/baidu-marker-layer.component';\nexport {BaiduPolylineLayerComponent as ɵdb} from './lib/custom-baidu-map/baidu-polyline-layer/baidu-polyline-layer.component';\nexport {BaseLayer as ɵda} from './lib/custom-baidu-map/base-layer';\nexport {CustomBaiduMapComponent as ɵcy} from './lib/custom-baidu-map/custom-baidu-map.component';\nexport {TyphoonAreaLayerComponent as ɵdd} from './lib/custom-baidu-map/typhoon-area-layer/typhoon-area-layer.component';\nexport {WindLayerComponent as ɵdc} from './lib/custom-baidu-map/wind-layer/wind-layer.component';\nexport {DatePickerComponent as ɵcv} from './lib/date-picker/date-picker.component';\nexport {FunnelChartComponent as ɵj} from './lib/funnel-chart/funnel-chart.component';\nexport {GanttComponent as ɵek} from './lib/gantt/gantt.component';\nexport {GanttModule as ɵej} from './lib/gantt/gantt.module';\nexport {GaugeProgressComponent as ɵdn} from './lib/gauge-progress/gauge-progress.component';\nexport {GaugeProgressModule as ɵdm} from './lib/gauge-progress/gauge.module';\nexport {GaugeComponent as ɵm} from './lib/gauge/gauge.component';\nexport {GeneralTextComponent as ɵbi} from './lib/general-text/general-text.component';\nexport {GeneralTextModule as ɵbh} from './lib/general-text/general-text.module';\nexport {IconfontComponent as ɵbn} from './lib/iconfont/iconfont.component';\nexport {IconfontModule as ɵbm} from './lib/iconfont/iconfont.module';\nexport {IframeComponent as ɵdw} from './lib/iframe/iframe.component';\nexport {ImageComponent as ɵb} from './lib/image/image.component';\nexport {ImageModule as ɵa} from './lib/image/image.module';\nexport {ItemSwiperComponent as ɵdp} from './lib/item-swiper/item-swiper.component';\nexport {ItemSwiperModule as ɵdo} from './lib/item-swiper/item-swiper.module';\nexport {LineBarChartComponent as ɵf} from './lib/line-bar-chart/line-bar-chart.component';\nexport {LineBarChartModule as ɵe} from './lib/line-bar-chart/line-bar-chart.module';\nexport {LineLightFlowComponent as ɵdv} from './lib/line-light-flow/line-light-flow.component';\nexport {LineLightFlowModule as ɵdu} from './lib/line-light-flow/line-light-flow.module';\nexport {LiquidFillComponent as ɵn} from './lib/liquid-fill/liquid-fill.component';\nexport {MarqueeComponent as ɵbj} from './lib/marquee/marquee.component';\nexport {MipAnimComponent as ɵcs} from './lib/mip-anim/mip-anim.component';\nexport {MipAnimModule as ɵcr} from './lib/mip-anim/mip-anim.module';\nexport {MultiTitleGaugeComponent as ɵdl} from './lib/multi-title-gauge/multi-title-gauge.component';\nexport {MultiTitleGaugeModule as ɵdk} from './lib/multi-title-gauge/multi-title-gauge.module';\nexport {NumberFlopComponent as ɵu} from './lib/number-flop/number-flop.component';\nexport {NumberFlopModule as ɵt} from './lib/number-flop/number-flop.module';\nexport {ParentContainerComponent as ɵbz} from './lib/parent-container/parent-container.component';\nexport {ParentContainerModule as ɵcl} from './lib/parent-container/parent-container.module';\nexport {PercentPieChartComponent as ɵk} from './lib/percent-pie-chart/percent-pie-chart.component';\nexport {Pie3dChartComponent as ɵdi} from './lib/pie3d-chart/pie3d-chart.component';\nexport {Pie3dChartModule as ɵdh} from './lib/pie3d-chart/pie3d-chart.module';\nexport {FlyLineLayerComponent as ɵce} from './lib/planimetric-map2d/fly-line-layer/fly-line-layer.component';\nexport {FlyLineLayerModule as ɵcd} from './lib/planimetric-map2d/fly-line-layer/fly-line-layer.module';\nexport {Map2dMarkLayerComponent as ɵci} from './lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.component';\nexport {Map2dMarkLayerModule as ɵch} from './lib/planimetric-map2d/map2d-mark-layer/map2d-mark-layer.module';\nexport {Map2dPolylineLayerComponent as ɵcg} from './lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.component';\nexport {Map2dPolylineLayerModule as ɵcf} from './lib/planimetric-map2d/map2d-polyline-layer/map2d-polyline-layer.module';\nexport {Map2dVisualLayerComponent as ɵck} from './lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.component';\nexport {Map2dVisualLayerModule as ɵcj} from './lib/planimetric-map2d/map2d-visual-layer/map2d-visual-layer.module';\nexport {PlanimetricMap2dComponent as ɵcc} from './lib/planimetric-map2d/planimetric-map2d.component';\nexport {Map3dLineLayerComponent as ɵcq} from './lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.component';\nexport {Map3dLineLayerModule as ɵcp} from './lib/planimetric-map3d/map3d-line-layer/map3d-line-layer.module';\nexport {Map3dMarkLayerComponent as ɵco} from './lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.component';\nexport {Map3dMarkLayerModule as ɵcn} from './lib/planimetric-map3d/map3d-mark-layer/map3d-mark-layer.module';\nexport {PlanimetricMap3dComponent as ɵcm} from './lib/planimetric-map3d/planimetric-map3d.component';\nexport {RadarChartComponent as ɵi} from './lib/radar-chart/radar-chart.component';\nexport {RadioComponent as ɵbd} from './lib/radio/radio.component';\nexport {RadioModule as ɵbc} from './lib/radio/radio.module';\nexport {RateComponent as ɵbg} from './lib/rate/rate.component';\nexport {RateModule as ɵbf} from './lib/rate/rate.module';\nexport {Scatter3dComponent as ɵdy} from './lib/scatter3d/scatter3d.component';\nexport {SearchComponent as ɵz} from './lib/search/search.component';\nexport {SearchModule as ɵy} from './lib/search/search.module';\nexport {SelectComponent as ɵx} from './lib/select/select.component';\nexport {ShapeComponent as ɵbs} from './lib/shape/shape.component';\nexport {ShapeModule as ɵbr} from './lib/shape/shape.module';\nexport {VideoPlayerComponent as ɵbq} from './lib/shared/component/video-player/video-player.component';\nexport {HighChartsService as ɵdj} from './lib/shared/service/highcharts.service';\nexport {HttpService as ɵq} from './lib/shared/service/http.service';\nexport {ColorPipe as ɵbx} from './lib/shuffling-list/color.pipe';\nexport {ShufflingListComponent as ɵbw} from './lib/shuffling-list/shuffling-list.component';\nexport {ShufflingListModule as ɵbv} from './lib/shuffling-list/shuffling-list.module';\nexport {TableComponent as ɵbo} from './lib/table/table.component';\nexport {TabComponent as ɵed} from './lib/tabs/tab/tab.component';\nexport {TabsComponent as ɵec} from './lib/tabs/tabs.component';\nexport {TabsModule as ɵeb} from './lib/tabs/tabs.module';\nexport {TemporaryDataComponent as ɵdt} from './lib/temporary-data/temporary-data.component';\nexport {TemporaryDataModule as ɵds} from './lib/temporary-data/temporary-data.module';\nexport {TimePickerComponent as ɵcx} from './lib/time-picker/time-picker.component';\nexport {TimePickerModule as ɵcw} from './lib/time-picker/time-picker.module';\nexport {TimerComponent as ɵs} from './lib/timer/timer.component';\nexport {TimerModule as ɵr} from './lib/timer/timer.module';\nexport {TreeControlComponent as ɵct} from './lib/tree-control/tree-control.component';\nexport {TreeRingChartComponent as ɵl} from './lib/tree-ring-chart/tree-ring-chart.component';\nexport {UploadComponent as ɵdf} from './lib/upload/upload.component';\nexport {UploadModule as ɵde} from './lib/upload/upload.module';\nexport {VideoGridComponent as ɵdx} from './lib/video-grid/video-grid.component';\nexport {VisualMapChartComponent as ɵcu} from './lib/visual-map-chart/visual-map-chart.component';\nexport {VoteComponent as ɵw} from './lib/vote/vote.component';\nexport {VoteModule as ɵv} from './lib/vote/vote.module';\nexport {WeatherComponent as ɵbb} from './lib/weather/weather.component';\nexport {WeatherModule as ɵba} from './lib/weather/weather.module';\nexport {WordartComponent as ɵbl} from './lib/wordart/wordart.component';\nexport {WordartModule as ɵbk} from './lib/wordart/wordart.module';"],"names":["LazyService","echarts.getMap","echarts.registerMap","uuid"],"mappings":"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C,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACtC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACtC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACtC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACpC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE;YACtC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE;YACtC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YACrC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE;YACrC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE;YACtC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC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"}