@10yun/cv-mobile-ui 0.5.55 → 0.5.57

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 (351) hide show
  1. package/{ui-sdks → other}/qiun-data-charts/js_sdk/u-charts/config-ucharts.js +605 -605
  2. package/{ui-sdks → other}/qiun-data-charts/package.json +2 -1
  3. package/other/qiun-data-charts_2.5.0-20230101_example/App.vue +20 -0
  4. package/other/qiun-data-charts_2.5.0-20230101_example/common/uni-icons.css +542 -0
  5. package/other/qiun-data-charts_2.5.0-20230101_example/common/uni.css +246 -0
  6. package/other/qiun-data-charts_2.5.0-20230101_example/components/qiun-title-bar/qiun-title-bar.vue +51 -0
  7. package/other/qiun-data-charts_2.5.0-20230101_example/components/test-charts/test-charts.vue +48 -0
  8. package/other/qiun-data-charts_2.5.0-20230101_example/main.js +13 -0
  9. package/other/qiun-data-charts_2.5.0-20230101_example/manifest.json +75 -0
  10. package/other/qiun-data-charts_2.5.0-20230101_example/mockdata/demodata.json +448 -0
  11. package/other/qiun-data-charts_2.5.0-20230101_example/mockdata/mapdata.json +1 -0
  12. package/other/qiun-data-charts_2.5.0-20230101_example/pages/canvas/canvas.vue +142 -0
  13. package/other/qiun-data-charts_2.5.0-20230101_example/pages/echarts/echarts.vue +228 -0
  14. package/other/qiun-data-charts_2.5.0-20230101_example/pages/format-e/format-e.vue +113 -0
  15. package/other/qiun-data-charts_2.5.0-20230101_example/pages/format-u/format-u.vue +110 -0
  16. package/other/qiun-data-charts_2.5.0-20230101_example/pages/index/index.vue +58 -0
  17. package/other/qiun-data-charts_2.5.0-20230101_example/pages/layout/layout.vue +174 -0
  18. package/other/qiun-data-charts_2.5.0-20230101_example/pages/other/other.vue +233 -0
  19. package/other/qiun-data-charts_2.5.0-20230101_example/pages/tab/tab.vue +115 -0
  20. package/other/qiun-data-charts_2.5.0-20230101_example/pages/ucharts/ucharts.vue +339 -0
  21. package/other/qiun-data-charts_2.5.0-20230101_example/pages/unicloud/unicloud.vue +117 -0
  22. package/other/qiun-data-charts_2.5.0-20230101_example/pages/updata/updata.vue +212 -0
  23. package/other/qiun-data-charts_2.5.0-20230101_example/pages.json +79 -0
  24. package/other/qiun-data-charts_2.5.0-20230101_example/static/logo.png +0 -0
  25. package/other/qiun-data-charts_2.5.0-20230101_example/uni.scss +76 -0
  26. package/other/qiun-data-charts_2.5.0-20230101_example/uniCloud-aliyun/database/db_init.json +455 -0
  27. package/other/qiun-data-charts_2.5.0-20230101_example/uniCloud-aliyun/database/qiun-charts-demo.schema.json +76 -0
  28. package/other/{u-parse-2019 → u-parse}/components/wxParseTemplate0.vue +2 -1
  29. package/other/{u-parse-2019 → u-parse}/libs/html2json.js +2 -2
  30. package/other/{uParse → u-parse}/libs/wxDiscode.js +1 -1
  31. package/other/u-parse/readme.md +102 -0
  32. package/other/{u-parse-2019 → u-parse}/u-parse.vue +1 -6
  33. package/other/u-parse2026/libs/html2json.js +2 -2
  34. package/other/u-parse2026/libs/wxDiscode.js +1 -1
  35. package/other/u-parse2026/u-parse.css +1 -0
  36. package/other/u-parse2026/u-parse.vue +1 -3
  37. package/other/uParse2/components/wxParseAudio.vue +1 -0
  38. package/other/{uParse → uParse2}/components/wxParseImg.vue +4 -4
  39. package/other/{uParse → uParse2}/components/wxParseTable.vue +15 -6
  40. package/other/{uParse → uParse2}/components/wxParseTemplate0.vue +7 -6
  41. package/other/{uParse → uParse2}/components/wxParseTemplate1.vue +10 -0
  42. package/other/{uParse → uParse2}/libs/html2json.js +2 -2
  43. package/other/{u-parse-2019 → uParse2}/libs/wxDiscode.js +1 -1
  44. package/other/{uParse/wxParse.css → uParse2/u-parse.css} +4 -4
  45. package/other/{uParse/wxParse.vue → uParse2/u-parse.vue} +18 -11
  46. package/other/uParse2/u-parse2.css +264 -0
  47. package/package.json +1 -1
  48. package/ui-cv/components/cv-dialog-share/cv-dialog-share.vue +7 -7
  49. package/ui-cv/components/cv-geo-local/cv-geo-local.vue +1 -1
  50. package/ui-cv/components/cv-icons/cv-icons.vue +18 -62
  51. package/ui-cv/components/cv-icons/iconfont/font-default-icons.js +127 -131
  52. package/ui-cv/components/cv-input-password/cv-input-password.vue +1 -1
  53. package/ui-cv/components/cv-mask-svg/cv-mask-svg.vue +1 -1
  54. package/ui-cv/components/cv-mask-svg/mixins.js +16 -12
  55. package/ui-cv/components/cv-upload-image/cv-upload-image.vue +4 -4
  56. package/ui-fireui/components/u-share-model/u-share-model.vue +1 -1
  57. package/ui-fireui/components/u-uploadsamll/u-uploadsamll.vue +1 -1
  58. package/uview-plus/components/u-dropdown-list/u-dropdown-list.vue +1 -2
  59. package/uview-plus/components/u-form/form.js +13 -12
  60. package/uview-plus/components/u-image/u-image-wu.vue +25 -1
  61. package/uview-plus/components/u-parse/README.md +192 -0
  62. package/uview-plus/components/u-parse/changelog.md +163 -0
  63. package/uview-plus/components/u-parse/node/node.vue +37 -3
  64. package/{uni-ui/lib/uni-breadcrumb → uview-plus/components/u-parse}/package.json +24 -29
  65. package/uview-plus/components/u-parse/parser.js +8 -3
  66. package/uview-plus/components/u-parse/static/app-plus/up-parse/js/handler.js +1 -0
  67. package/uview-plus/components/u-parse/static/app-plus/up-parse/local-2.5.2.html +29 -0
  68. package/uview-plus/components/u-parse/u-parse.vue +29 -1
  69. package/other/lime-painter2/README2.md +0 -576
  70. package/other/lime-painter2/changelog.md +0 -225
  71. package/other/lime-painter2/package.json +0 -93
  72. package/other/lime-painter2/readme.md +0 -758
  73. package/other/lime-painter2/test.md +0 -45
  74. package/other/qiun-data-charts/qiun-data-charts.vue +0 -1618
  75. package/other/u-parse-2019/readme.md +0 -99
  76. package/other/uParse/components/style.css +0 -1
  77. package/other/uParse/components/wxParseAudio.vue +0 -1
  78. package/other/xt-parse/changelog.md +0 -41
  79. package/other/xt-parse/node/node.vue +0 -752
  80. package/other/xt-parse/package.json +0 -129
  81. package/other/xt-parse/parser.js +0 -1461
  82. package/other/xt-parse/props.js +0 -49
  83. package/other/xt-parse/readme.md +0 -145
  84. package/other/xt-parse/static/app-plus/u-parse/js/handler.js +0 -1
  85. package/other/xt-parse/u-parse.vue +0 -510
  86. package/plugins/luch-request/adapters/index.js +0 -131
  87. package/plugins/luch-request/core/InterceptorManager.js +0 -50
  88. package/plugins/luch-request/core/Request.js +0 -199
  89. package/plugins/luch-request/core/buildFullPath.js +0 -20
  90. package/plugins/luch-request/core/defaults.js +0 -32
  91. package/plugins/luch-request/core/dispatchRequest.js +0 -5
  92. package/plugins/luch-request/core/mergeConfig.js +0 -125
  93. package/plugins/luch-request/core/settle.js +0 -16
  94. package/plugins/luch-request/helpers/buildURL.js +0 -71
  95. package/plugins/luch-request/helpers/combineURLs.js +0 -12
  96. package/plugins/luch-request/helpers/isAbsoluteURL.js +0 -14
  97. package/plugins/luch-request/index.d.ts +0 -197
  98. package/plugins/luch-request/index.js +0 -2
  99. package/plugins/luch-request/readme.md +0 -3
  100. package/plugins/luch-request/utils/clone.js +0 -260
  101. package/plugins/luch-request/utils.js +0 -131
  102. package/ui-cv/components/cv-cell-row/cv-cell-row.vue +0 -220
  103. package/ui-cv/components/cv-icons/iconfont/font-action-icons.js +0 -73
  104. package/ui-cv/components/cv-icons/iconfont/font-action.css +0 -7
  105. package/ui-cv/components/cv-icons/iconfont/font-action.js +0 -5
  106. package/ui-cv/components/cv-icons/iconfont/font-arrow-icons.js +0 -47
  107. package/ui-cv/components/cv-icons/iconfont/font-arrow.css +0 -6
  108. package/ui-cv/components/cv-icons/iconfont/font-arrow.js +0 -5
  109. package/ui-cv/components/cv-icons/iconfont/font-base-icons.js +0 -92
  110. package/ui-cv/components/cv-icons/iconfont/font-base.css +0 -6
  111. package/ui-cv/components/cv-icons/iconfont/font-base.js +0 -5
  112. package/ui-cv/components/cv-icons/iconfont/font-mall-icons.js +0 -35
  113. package/ui-cv/components/cv-icons/iconfont/font-mall.css +0 -7
  114. package/ui-cv/components/cv-icons/iconfont/font-mall.js +0 -5
  115. package/ui-cv/components/cv-icons/iconfont/font-media-icons.js +0 -45
  116. package/ui-cv/components/cv-icons/iconfont/font-media.css +0 -7
  117. package/ui-cv/components/cv-icons/iconfont/font-media.js +0 -5
  118. package/ui-cv/components/cv-icons/iconfont/font-order-icons.js +0 -34
  119. package/ui-cv/components/cv-icons/iconfont/font-order.css +0 -6
  120. package/ui-cv/components/cv-icons/iconfont/font-order.js +0 -5
  121. package/ui-cv/components/cv-icons/iconfont/font-people-icons.js +0 -49
  122. package/ui-cv/components/cv-icons/iconfont/font-people.css +0 -7
  123. package/ui-cv/components/cv-icons/iconfont/font-people.js +0 -5
  124. package/ui-cv/components/cv-icons/iconfont/font-status-icons.js +0 -34
  125. package/ui-cv/components/cv-icons/iconfont/font-status.css +0 -6
  126. package/ui-cv/components/cv-icons/iconfont/font-status.js +0 -5
  127. package/ui-cv/components/cv-icons/iconfont/font-wallet-icons.js +0 -17
  128. package/ui-cv/components/cv-icons/iconfont/font-wallet.css +0 -6
  129. package/ui-cv/components/cv-icons/iconfont/font-wallet.js +0 -5
  130. package/ui-cv/components/cv-icons/icons/default-icons.js +0 -132
  131. package/ui-cv/components/cv-icons/icons/icons-action.js +0 -72
  132. package/ui-cv/components/cv-icons/icons/icons-arrow.js +0 -46
  133. package/ui-cv/components/cv-icons/icons/icons-base.js +0 -89
  134. package/ui-cv/components/cv-icons/icons/icons-mall.js +0 -34
  135. package/ui-cv/components/cv-icons/icons/icons-media.js +0 -44
  136. package/ui-cv/components/cv-icons/icons/icons-order.js +0 -33
  137. package/ui-cv/components/cv-icons/icons/icons-people.js +0 -46
  138. package/ui-cv/components/cv-icons/icons/icons-status.js +0 -32
  139. package/ui-cv/components/cv-icons/icons/icons-wallet.js +0 -15
  140. package/ui-sdks/sdk-app-update/img/logo.png +0 -0
  141. package/ui-sdks/sdk-app-update/img/update_bg.png +0 -0
  142. package/ui-sdks/sdk-app-update/img/update_bg_top.png +0 -0
  143. package/ui-sdks/sdk-app-update/sdk-app-update.vue +0 -396
  144. package/ui-sdks/sdk-app-update/xxxx +0 -62
  145. package/ui-sdks/sdk-privacy-policy/sdk-privacy-policy.vue +0 -113
  146. package/ui-sdks/sdk-u-charts/config-echarts.js +0 -420
  147. package/ui-sdks/sdk-u-charts/config-ucharts.js +0 -630
  148. package/ui-sdks/sdk-u-charts/u-charts.js +0 -7398
  149. package/ui-sdks/sdk-u-charts/u-charts.min.js +0 -1
  150. package/ui-sdks/sdk-webview-main/WebViewMain.vue +0 -1
  151. package/ui-sdks/sdk-webview-main/main.js +0 -0
  152. package/ui-sdks/sdk-webview-main/mixin.js +0 -0
  153. package/uni-ui/lib/uni-badge/changelog.md +0 -33
  154. package/uni-ui/lib/uni-badge/package.json +0 -107
  155. package/uni-ui/lib/uni-badge/readme.md +0 -8
  156. package/uni-ui/lib/uni-breadcrumb/changelog.md +0 -6
  157. package/uni-ui/lib/uni-breadcrumb/readme.md +0 -66
  158. package/uni-ui/lib/uni-calendar/changelog.md +0 -30
  159. package/uni-ui/lib/uni-calendar/package.json +0 -105
  160. package/uni-ui/lib/uni-calendar/readme.md +0 -103
  161. package/uni-ui/lib/uni-card/changelog.md +0 -26
  162. package/uni-ui/lib/uni-card/package.json +0 -107
  163. package/uni-ui/lib/uni-card/readme.md +0 -10
  164. package/uni-ui/lib/uni-collapse/changelog.md +0 -48
  165. package/uni-ui/lib/uni-collapse/package.json +0 -106
  166. package/uni-ui/lib/uni-collapse/readme.md +0 -11
  167. package/uni-ui/lib/uni-combox/changelog.md +0 -17
  168. package/uni-ui/lib/uni-combox/package.json +0 -107
  169. package/uni-ui/lib/uni-combox/readme.md +0 -10
  170. package/uni-ui/lib/uni-countdown/changelog.md +0 -30
  171. package/uni-ui/lib/uni-countdown/package.json +0 -105
  172. package/uni-ui/lib/uni-countdown/readme.md +0 -9
  173. package/uni-ui/lib/uni-data-checkbox/changelog.md +0 -51
  174. package/uni-ui/lib/uni-data-checkbox/package.json +0 -107
  175. package/uni-ui/lib/uni-data-checkbox/readme.md +0 -17
  176. package/uni-ui/lib/uni-data-picker/changelog.md +0 -81
  177. package/uni-ui/lib/uni-data-picker/package.json +0 -109
  178. package/uni-ui/lib/uni-data-picker/readme.md +0 -21
  179. package/uni-ui/lib/uni-data-select/changelog.md +0 -51
  180. package/uni-ui/lib/uni-data-select/package.json +0 -106
  181. package/uni-ui/lib/uni-data-select/readme.md +0 -7
  182. package/uni-ui/lib/uni-dateformat/changelog.md +0 -10
  183. package/uni-ui/lib/uni-dateformat/package.json +0 -107
  184. package/uni-ui/lib/uni-dateformat/readme.md +0 -10
  185. package/uni-ui/lib/uni-datetime-picker/changelog.md +0 -177
  186. package/uni-ui/lib/uni-datetime-picker/package.json +0 -107
  187. package/uni-ui/lib/uni-datetime-picker/readme.md +0 -20
  188. package/uni-ui/lib/uni-drawer/changelog.md +0 -13
  189. package/uni-ui/lib/uni-drawer/package.json +0 -106
  190. package/uni-ui/lib/uni-drawer/readme.md +0 -9
  191. package/uni-ui/lib/uni-easyinput/changelog.md +0 -121
  192. package/uni-ui/lib/uni-easyinput/package.json +0 -107
  193. package/uni-ui/lib/uni-easyinput/readme.md +0 -10
  194. package/uni-ui/lib/uni-fab/changelog.md +0 -25
  195. package/uni-ui/lib/uni-fab/package.json +0 -107
  196. package/uni-ui/lib/uni-fab/readme.md +0 -8
  197. package/uni-ui/lib/uni-fav/changelog.md +0 -19
  198. package/uni-ui/lib/uni-fav/package.json +0 -106
  199. package/uni-ui/lib/uni-fav/readme.md +0 -9
  200. package/uni-ui/lib/uni-file-picker/changelog.md +0 -91
  201. package/uni-ui/lib/uni-file-picker/package.json +0 -105
  202. package/uni-ui/lib/uni-file-picker/readme.md +0 -10
  203. package/uni-ui/lib/uni-forms/changelog.md +0 -100
  204. package/uni-ui/lib/uni-forms/package.json +0 -107
  205. package/uni-ui/lib/uni-forms/readme.md +0 -22
  206. package/uni-ui/lib/uni-goods-nav/changelog.md +0 -18
  207. package/uni-ui/lib/uni-goods-nav/package.json +0 -105
  208. package/uni-ui/lib/uni-goods-nav/readme.md +0 -9
  209. package/uni-ui/lib/uni-grid/changelog.md +0 -13
  210. package/uni-ui/lib/uni-grid/package.json +0 -106
  211. package/uni-ui/lib/uni-grid/readme.md +0 -10
  212. package/uni-ui/lib/uni-group/changelog.md +0 -16
  213. package/uni-ui/lib/uni-group/package.json +0 -106
  214. package/uni-ui/lib/uni-group/readme.md +0 -8
  215. package/uni-ui/lib/uni-icons/changelog.md +0 -44
  216. package/uni-ui/lib/uni-icons/package.json +0 -111
  217. package/uni-ui/lib/uni-icons/readme.md +0 -7
  218. package/uni-ui/lib/uni-indexed-list/changelog.md +0 -19
  219. package/uni-ui/lib/uni-indexed-list/package.json +0 -107
  220. package/uni-ui/lib/uni-indexed-list/readme.md +0 -10
  221. package/uni-ui/lib/uni-link/changelog.md +0 -17
  222. package/uni-ui/lib/uni-link/package.json +0 -106
  223. package/uni-ui/lib/uni-link/readme.md +0 -10
  224. package/uni-ui/lib/uni-list/changelog.md +0 -52
  225. package/uni-ui/lib/uni-list/package.json +0 -108
  226. package/uni-ui/lib/uni-list/readme.md +0 -44
  227. package/uni-ui/lib/uni-load-more/changelog.md +0 -27
  228. package/uni-ui/lib/uni-load-more/package.json +0 -105
  229. package/uni-ui/lib/uni-load-more/readme.md +0 -12
  230. package/uni-ui/lib/uni-nav-bar/changelog.md +0 -64
  231. package/uni-ui/lib/uni-nav-bar/package.json +0 -106
  232. package/uni-ui/lib/uni-nav-bar/readme.md +0 -13
  233. package/uni-ui/lib/uni-notice-bar/changelog.md +0 -22
  234. package/uni-ui/lib/uni-notice-bar/package.json +0 -107
  235. package/uni-ui/lib/uni-notice-bar/readme.md +0 -11
  236. package/uni-ui/lib/uni-number-box/changelog.md +0 -39
  237. package/uni-ui/lib/uni-number-box/package.json +0 -104
  238. package/uni-ui/lib/uni-number-box/readme.md +0 -11
  239. package/uni-ui/lib/uni-pagination/changelog.md +0 -27
  240. package/uni-ui/lib/uni-pagination/package.json +0 -106
  241. package/uni-ui/lib/uni-pagination/readme.md +0 -10
  242. package/uni-ui/lib/uni-popup/changelog.md +0 -102
  243. package/uni-ui/lib/uni-popup/package.json +0 -107
  244. package/uni-ui/lib/uni-popup/readme.md +0 -15
  245. package/uni-ui/lib/uni-rate/changelog.md +0 -27
  246. package/uni-ui/lib/uni-rate/package.json +0 -106
  247. package/uni-ui/lib/uni-rate/readme.md +0 -11
  248. package/uni-ui/lib/uni-row/changelog.md +0 -10
  249. package/uni-ui/lib/uni-row/package.json +0 -106
  250. package/uni-ui/lib/uni-row/readme.md +0 -9
  251. package/uni-ui/lib/uni-scss/changelog.md +0 -8
  252. package/uni-ui/lib/uni-scss/package.json +0 -99
  253. package/uni-ui/lib/uni-scss/readme.md +0 -3
  254. package/uni-ui/lib/uni-search-bar/changelog.md +0 -47
  255. package/uni-ui/lib/uni-search-bar/package.json +0 -106
  256. package/uni-ui/lib/uni-search-bar/readme.md +0 -12
  257. package/uni-ui/lib/uni-section/changelog.md +0 -2
  258. package/uni-ui/lib/uni-section/package.json +0 -104
  259. package/uni-ui/lib/uni-section/readme.md +0 -7
  260. package/uni-ui/lib/uni-segmented-control/changelog.md +0 -15
  261. package/uni-ui/lib/uni-segmented-control/package.json +0 -106
  262. package/uni-ui/lib/uni-segmented-control/readme.md +0 -11
  263. package/uni-ui/lib/uni-steps/changelog.md +0 -18
  264. package/uni-ui/lib/uni-steps/package.json +0 -106
  265. package/uni-ui/lib/uni-steps/readme.md +0 -11
  266. package/uni-ui/lib/uni-swipe-action/changelog.md +0 -60
  267. package/uni-ui/lib/uni-swipe-action/package.json +0 -113
  268. package/uni-ui/lib/uni-swipe-action/readme.md +0 -10
  269. package/uni-ui/lib/uni-swiper-dot/changelog.md +0 -12
  270. package/uni-ui/lib/uni-swiper-dot/package.json +0 -106
  271. package/uni-ui/lib/uni-swiper-dot/readme.md +0 -10
  272. package/uni-ui/lib/uni-table/changelog.md +0 -35
  273. package/uni-ui/lib/uni-table/package.json +0 -106
  274. package/uni-ui/lib/uni-table/readme.md +0 -11
  275. package/uni-ui/lib/uni-tag/changelog.md +0 -25
  276. package/uni-ui/lib/uni-tag/package.json +0 -106
  277. package/uni-ui/lib/uni-tag/readme.md +0 -11
  278. package/uni-ui/lib/uni-title/changelog.md +0 -10
  279. package/uni-ui/lib/uni-title/package.json +0 -107
  280. package/uni-ui/lib/uni-title/readme.md +0 -12
  281. package/uni-ui/lib/uni-tooltip/changelog.md +0 -16
  282. package/uni-ui/lib/uni-tooltip/package.json +0 -104
  283. package/uni-ui/lib/uni-tooltip/readme.md +0 -7
  284. package/uni-ui/lib/uni-transition/changelog.md +0 -31
  285. package/uni-ui/lib/uni-transition/package.json +0 -112
  286. package/uni-ui/lib/uni-transition/readme.md +0 -10
  287. package/uni-ui/lib/uni-ui/changelog.md +0 -639
  288. package/uni-ui/lib/uni-ui/package.json +0 -148
  289. package/uni-ui/lib/uni-ui/readme.md +0 -247
  290. /package/other/{lime-painter2/components/lime-painter → lime-painter/components/lime-painter2}/canvas.js +0 -0
  291. /package/other/{lime-painter2/components/lime-painter → lime-painter/components/lime-painter2}/draw.js +0 -0
  292. /package/other/{lime-painter2/components/lime-painter → lime-painter/components/lime-painter2}/draw2.js +0 -0
  293. /package/other/{lime-painter2/components/lime-painter → lime-painter/components/lime-painter2}/gradient.js +0 -0
  294. /package/other/{lime-painter2/components/lime-painter → lime-painter/components/lime-painter2}/index.vue +0 -0
  295. /package/other/{lime-painter2/components/lime-painter → lime-painter/components/lime-painter2}/index2.vue +0 -0
  296. /package/other/{lime-painter2/components/lime-painter → lime-painter/components/lime-painter2}/layout.js +0 -0
  297. /package/other/{lime-painter2/components/lime-painter → lime-painter/components/lime-painter2}/qrcode.js +0 -0
  298. /package/other/{lime-painter2/components/lime-painter → lime-painter/components/lime-painter2}/utils.js +0 -0
  299. /package/{ui-sdks → other}/qiun-data-charts/changelog.md +0 -0
  300. /package/{ui-sdks → other}/qiun-data-charts/components/qiun-data-charts/qiun-data-charts.vue +0 -0
  301. /package/{ui-sdks → other}/qiun-data-charts/components/qiun-error/qiun-error.vue +0 -0
  302. /package/{ui-sdks → other}/qiun-data-charts/components/qiun-loading/loading1.vue +0 -0
  303. /package/{ui-sdks → other}/qiun-data-charts/components/qiun-loading/loading2.vue +0 -0
  304. /package/{ui-sdks → other}/qiun-data-charts/components/qiun-loading/loading3.vue +0 -0
  305. /package/{ui-sdks → other}/qiun-data-charts/components/qiun-loading/loading4.vue +0 -0
  306. /package/{ui-sdks → other}/qiun-data-charts/components/qiun-loading/loading5.vue +0 -0
  307. /package/{ui-sdks → other}/qiun-data-charts/components/qiun-loading/qiun-loading.vue +0 -0
  308. /package/{ui-sdks → other}/qiun-data-charts/js_sdk/u-charts/config-echarts.js +0 -0
  309. /package/{ui-sdks → other}/qiun-data-charts/js_sdk/u-charts/readme.md +0 -0
  310. /package/{ui-sdks → other}/qiun-data-charts/js_sdk/u-charts/u-charts.js +0 -0
  311. /package/{ui-sdks → other}/qiun-data-charts/js_sdk/u-charts/u-charts.min.js +0 -0
  312. /package/{ui-sdks/sdk-u-charts → other/qiun-data-charts/js_sdk2}/app-echarts.min.js +0 -0
  313. /package/{ui-sdks/sdk-u-charts → other/qiun-data-charts/js_sdk2}/h5-echarts.min.js +0 -0
  314. /package/{ui-sdks → other}/qiun-data-charts/license.md +0 -0
  315. /package/{ui-sdks → other}/qiun-data-charts/readme.md +0 -0
  316. /package/{ui-sdks → other}/qiun-data-charts/static/app-plus/echarts.min.js +0 -0
  317. /package/{ui-sdks → other}/qiun-data-charts/static/h5/echarts.min.js +0 -0
  318. /package/{ui-sdks → other}/tui-clipboard/tui-clipboard.js +0 -0
  319. /package/other/{u-parse-2019 → u-parse}/components/wxParseAudio.vue +0 -0
  320. /package/other/{u-parse-2019 → u-parse}/components/wxParseImg.vue +0 -0
  321. /package/other/{u-parse-2019 → u-parse}/components/wxParseTemplate1.vue +0 -0
  322. /package/other/{u-parse-2019 → u-parse}/components/wxParseTemplate10.vue +0 -0
  323. /package/other/{u-parse-2019 → u-parse}/components/wxParseTemplate11.vue +0 -0
  324. /package/other/{u-parse-2019 → u-parse}/components/wxParseTemplate2.vue +0 -0
  325. /package/other/{u-parse-2019 → u-parse}/components/wxParseTemplate3.vue +0 -0
  326. /package/other/{u-parse-2019 → u-parse}/components/wxParseTemplate4.vue +0 -0
  327. /package/other/{u-parse-2019 → u-parse}/components/wxParseTemplate5.vue +0 -0
  328. /package/other/{u-parse-2019 → u-parse}/components/wxParseTemplate6.vue +0 -0
  329. /package/other/{u-parse-2019 → u-parse}/components/wxParseTemplate7.vue +0 -0
  330. /package/other/{u-parse-2019 → u-parse}/components/wxParseTemplate8.vue +0 -0
  331. /package/other/{u-parse-2019 → u-parse}/components/wxParseTemplate9.vue +0 -0
  332. /package/other/{u-parse-2019 → u-parse}/components/wxParseVideo.vue +0 -0
  333. /package/other/{u-parse-2019 → u-parse}/libs/htmlparser.js +0 -0
  334. /package/other/{u-parse-2019 → u-parse}/u-parse.css +0 -0
  335. /package/other/{uParse → uParse2}/components/wxParseTemplate10.vue +0 -0
  336. /package/other/{uParse → uParse2}/components/wxParseTemplate11.vue +0 -0
  337. /package/other/{uParse → uParse2}/components/wxParseTemplate2.vue +0 -0
  338. /package/other/{uParse → uParse2}/components/wxParseTemplate3.vue +0 -0
  339. /package/other/{uParse → uParse2}/components/wxParseTemplate4.vue +0 -0
  340. /package/other/{uParse → uParse2}/components/wxParseTemplate5.vue +0 -0
  341. /package/other/{uParse → uParse2}/components/wxParseTemplate6.vue +0 -0
  342. /package/other/{uParse → uParse2}/components/wxParseTemplate7.vue +0 -0
  343. /package/other/{uParse → uParse2}/components/wxParseTemplate8.vue +0 -0
  344. /package/other/{uParse → uParse2}/components/wxParseTemplate9.vue +0 -0
  345. /package/other/{uParse → uParse2}/components/wxParseVideo.vue +0 -0
  346. /package/other/{uParse → uParse2}/editor.css +0 -0
  347. /package/other/{uParse → uParse2}/libs/htmlparser.js +0 -0
  348. /package/{other/xt-parse/static/app-plus/u-parse → uview-plus/components/u-parse/static/app-plus/up-parse}/js/handler2.js +0 -0
  349. /package/{other/xt-parse/static/app-plus/u-parse → uview-plus/components/u-parse/static/app-plus/up-parse}/js/uni.webview.min.js +0 -0
  350. /package/{other/xt-parse/static/app-plus/u-parse → uview-plus/components/u-parse/static/app-plus/up-parse}/js/uni.webview.min2.js +0 -0
  351. /package/{other/xt-parse/static/app-plus/u-parse → uview-plus/components/u-parse/static/app-plus/up-parse}/local.html +0 -0
@@ -1,1618 +0,0 @@
1
- <!--
2
- * qiun-data-charts 秋云高性能跨全端图表组件 v2.3.3-20210706
3
- * Copyright (c) 2021 QIUN® 秋云 https://www.ucharts.cn All rights reserved.
4
- * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
5
- * 复制使用请保留本段注释,感谢支持开源!
6
- * 为方便更多开发者使用,如有更好的建议请提交码云 Pull Requests !
7
- *
8
- * uCharts®官方网站
9
- * https://www.uCharts.cn
10
- *
11
- * 开源地址:
12
- * https://gitee.com/uCharts/uCharts
13
- *
14
- * uni-app插件市场地址:
15
- * http://ext.dcloud.net.cn/plugin?id=271
16
- *
17
- -->
18
- <template>
19
- <view class="chartsview" :id="'ChartBoxId' + cid">
20
- <view v-if="mixinDatacomLoading">
21
- <!-- 自定义加载状态,请改这里 -->
22
- <qiun-loading :loadingType="loadingType" />
23
- </view>
24
- <view v-if="mixinDatacomErrorMessage && errorShow" @tap="reloading">
25
- <!-- 自定义错误提示,请改这里 -->
26
- <qiun-error :errorMessage="errorMessage" />
27
- </view>
28
- <!-- APP和H5采用renderjs渲染图表 -->
29
- <!-- #ifdef APP-VUE || H5 -->
30
- <template v-if="echarts">
31
- <view
32
- :style="{ background: background }"
33
- style="width: 100%; height: 100%"
34
- :data-directory="directory"
35
- :id="'EC' + cid"
36
- :prop="echartsOpts"
37
- :change:prop="rdcharts.ecinit"
38
- :resize="echartsResize"
39
- :change:resize="rdcharts.ecresize"
40
- v-show="showchart"
41
- />
42
- </template>
43
- <template v-else>
44
- <view
45
- @tap="rdcharts.tap"
46
- @mousemove="rdcharts.mouseMove"
47
- @mousedown="rdcharts.mouseDown"
48
- @mouseup="rdcharts.mouseUp"
49
- @touchstart="rdcharts.touchStart"
50
- @touchmove="rdcharts.touchMove"
51
- @touchend="rdcharts.touchEnd"
52
- :id="'UC' + cid"
53
- :prop="uchartsOpts"
54
- :change:prop="rdcharts.ucinit"
55
- >
56
- <canvas
57
- :id="cid"
58
- :canvasId="cid"
59
- :style="{ width: cWidth + 'px', height: cHeight + 'px', background: background }"
60
- :disable-scroll="disableScroll"
61
- @error="_error"
62
- v-show="showchart"
63
- />
64
- </view>
65
- </template>
66
- <!-- #endif -->
67
- <!-- 支付宝小程序 -->
68
- <!-- #ifdef MP-ALIPAY -->
69
- <template v-if="ontouch">
70
- <canvas
71
- :id="cid"
72
- :canvasId="cid"
73
- :width="cWidth * pixel"
74
- :height="cHeight * pixel"
75
- :style="{ width: cWidth + 'px', height: cHeight + 'px', background: background }"
76
- :disable-scroll="disScroll"
77
- @tap="_tap"
78
- @touchstart="_touchStart"
79
- @touchmove="_touchMove"
80
- @touchend="_touchEnd"
81
- @error="_error"
82
- v-show="showchart"
83
- />
84
- </template>
85
- <template v-if="!ontouch">
86
- <canvas
87
- :id="cid"
88
- :canvasId="cid"
89
- :width="cWidth * pixel"
90
- :height="cHeight * pixel"
91
- :style="{ width: cWidth + 'px', height: cHeight + 'px', background: background }"
92
- :disable-scroll="disScroll"
93
- @tap="_tap"
94
- @error="_error"
95
- v-show="showchart"
96
- />
97
- </template>
98
- <!-- #endif -->
99
- <!-- 其他小程序通过vue渲染图表 -->
100
- <!-- #ifdef MP-360 || MP-BAIDU || MP-QQ || MP-TOUTIAO || MP-WEIXIN -->
101
- <template v-if="type2d">
102
- <view v-if="ontouch" @tap="_tap">
103
- <canvas
104
- :id="cid"
105
- :canvasId="cid"
106
- :style="{ width: cWidth + 'px', height: cHeight + 'px', background: background }"
107
- type="2d"
108
- :disable-scroll="disScroll"
109
- @touchstart="_touchStart"
110
- @touchmove="_touchMove"
111
- @touchend="_touchEnd"
112
- @error="_error"
113
- v-show="showchart"
114
- />
115
- </view>
116
- <view v-if="!ontouch" @tap="_tap">
117
- <canvas
118
- :id="cid"
119
- :canvasId="cid"
120
- :style="{ width: cWidth + 'px', height: cHeight + 'px', background: background }"
121
- type="2d"
122
- :disable-scroll="disScroll"
123
- @error="_error"
124
- v-show="showchart"
125
- />
126
- </view>
127
- </template>
128
- <template v-if="!type2d">
129
- <view v-if="ontouch" @tap="_tap">
130
- <canvas
131
- :id="cid"
132
- :canvasId="cid"
133
- :style="{ width: cWidth + 'px', height: cHeight + 'px', background: background }"
134
- @touchstart="_touchStart"
135
- @touchmove="_touchMove"
136
- @touchend="_touchEnd"
137
- :disable-scroll="disScroll"
138
- @error="_error"
139
- v-if="showchart"
140
- />
141
- </view>
142
- <view v-if="!ontouch">
143
- <canvas
144
- :id="cid"
145
- :canvasId="cid"
146
- :style="{ width: cWidth + 'px', height: cHeight + 'px', background: background }"
147
- :disable-scroll="disScroll"
148
- @tap="_tap"
149
- @error="_error"
150
- v-if="showchart"
151
- />
152
- </view>
153
- </template>
154
- <!-- #endif -->
155
- </view>
156
- </template>
157
- <script>
158
- import uCharts from '@10yun/cv-mobile-ui/ui-sdks/u-charts/u-charts.js';
159
- import cfu from '@10yun/cv-mobile-ui/ui-sdks/u-charts/config-ucharts.js';
160
- // #ifdef APP-VUE || H5
161
- import cfe from '@10yun/cv-mobile-ui/ui-sdks/u-charts/config-echarts.js';
162
- // #endif
163
-
164
- function deepCloneAssign(origin = {}, ...args) {
165
- for (let i in args) {
166
- for (let key in args[i]) {
167
- if (args[i].hasOwnProperty(key)) {
168
- origin[key] =
169
- args[i][key] && typeof args[i][key] === 'object'
170
- ? deepCloneAssign(Array.isArray(args[i][key]) ? [] : {}, origin[key], args[i][key])
171
- : args[i][key];
172
- }
173
- }
174
- }
175
- return origin;
176
- }
177
-
178
- function formatterAssign(args, formatter) {
179
- for (let key in args) {
180
- if (args[key] !== null && typeof args[key] === 'object') {
181
- formatterAssign(args[key], formatter);
182
- } else if (key === 'format' && typeof args[key] === 'string') {
183
- args['formatter'] = formatter[args[key]] ? formatter[args[key]] : undefined;
184
- }
185
- }
186
- return args;
187
- }
188
-
189
- // 时间转换函数,为了匹配uniClinetDB读取出的时间与categories不同
190
- function getFormatDate(date) {
191
- var seperator = '-';
192
- var year = date.getFullYear();
193
- var month = date.getMonth() + 1;
194
- var strDate = date.getDate();
195
- if (month >= 1 && month <= 9) {
196
- month = '0' + month;
197
- }
198
- if (strDate >= 0 && strDate <= 9) {
199
- strDate = '0' + strDate;
200
- }
201
- var currentdate = year + seperator + month + seperator + strDate;
202
- return currentdate;
203
- }
204
-
205
- var lastMoveTime = null;
206
- /**
207
- * 防抖
208
- *
209
- * @param { Function } fn 要执行的方法
210
- * @param { Number } wait 防抖多少毫秒
211
- *
212
- * 在 vue 中使用(注意:不能使用箭头函数,否则this指向不对,并且不能再次封装如:
213
- * move(){ // 错误调用方式
214
- * debounce(function () {
215
- * console.log(this.title);
216
- * }, 1000)});
217
- * 应该直接使用:// 正确调用方式
218
- * move: debounce(function () {
219
- * console.log(this.title);
220
- * }, 1000)
221
- */
222
- function debounce(fn, wait) {
223
- let timer = false;
224
- return function () {
225
- clearTimeout(timer);
226
- timer && clearTimeout(timer);
227
- timer = setTimeout(() => {
228
- timer = false;
229
- fn.apply(this, arguments); // 把参数传进去
230
- }, wait);
231
- };
232
- }
233
-
234
- export default {
235
- name: 'qiun-data-charts',
236
- mixins: [uniCloud.mixinDatacom],
237
- props: {
238
- type: {
239
- type: String,
240
- default: null
241
- },
242
- canvasId: {
243
- type: String,
244
- default: 'uchartsid'
245
- },
246
- canvas2d: {
247
- type: Boolean,
248
- default: false
249
- },
250
- background: {
251
- type: String,
252
- default: 'none'
253
- },
254
- animation: {
255
- type: Boolean,
256
- default: true
257
- },
258
- chartData: {
259
- type: Object,
260
- default() {
261
- return {
262
- categories: [],
263
- series: []
264
- };
265
- }
266
- },
267
- opts: {
268
- type: Object,
269
- default() {
270
- return {};
271
- }
272
- },
273
- eopts: {
274
- type: Object,
275
- default() {
276
- return {};
277
- }
278
- },
279
- loadingType: {
280
- type: Number,
281
- default: 2
282
- },
283
- errorShow: {
284
- type: Boolean,
285
- default: true
286
- },
287
- errorReload: {
288
- type: Boolean,
289
- default: true
290
- },
291
- errorMessage: {
292
- type: String,
293
- default: null
294
- },
295
- inScrollView: {
296
- type: Boolean,
297
- default: false
298
- },
299
- reshow: {
300
- type: Boolean,
301
- default: false
302
- },
303
- reload: {
304
- type: Boolean,
305
- default: false
306
- },
307
- disableScroll: {
308
- type: Boolean,
309
- default: false
310
- },
311
- ontap: {
312
- type: Boolean,
313
- default: true
314
- },
315
- ontouch: {
316
- type: Boolean,
317
- default: false
318
- },
319
- onmouse: {
320
- type: Boolean,
321
- default: true
322
- },
323
- onmovetip: {
324
- type: Boolean,
325
- default: false
326
- },
327
- echartsH5: {
328
- type: Boolean,
329
- default: false
330
- },
331
- echartsApp: {
332
- type: Boolean,
333
- default: false
334
- },
335
- tooltipShow: {
336
- type: Boolean,
337
- default: true
338
- },
339
- tooltipFormat: {
340
- type: String,
341
- default: undefined
342
- },
343
- tooltipCustom: {
344
- type: Object,
345
- default: undefined
346
- },
347
- startDate: {
348
- type: String,
349
- default: undefined
350
- },
351
- endDate: {
352
- type: String,
353
- default: undefined
354
- },
355
- textEnum: {
356
- type: Array,
357
- default() {
358
- return [];
359
- }
360
- },
361
- groupEnum: {
362
- type: Array,
363
- default() {
364
- return [];
365
- }
366
- },
367
- pageScrollTop: {
368
- type: Number,
369
- default: 0
370
- },
371
- directory: {
372
- type: String,
373
- default: '/'
374
- },
375
- tapLegend: {
376
- type: Boolean,
377
- default: true
378
- }
379
- },
380
- data() {
381
- return {
382
- cid: 'uchartsid',
383
- inWx: false,
384
- inAli: false,
385
- inTt: false,
386
- inBd: false,
387
- inH5: false,
388
- inApp: false,
389
- inWin: false,
390
- type2d: true,
391
- disScroll: false,
392
- openmouse: false,
393
- pixel: 1,
394
- cWidth: 375,
395
- cHeight: 250,
396
- showchart: false,
397
- echarts: false,
398
- echartsResize: false,
399
- uchartsOpts: {},
400
- echartsOpts: {},
401
- drawData: {},
402
- lastDrawTime: null
403
- };
404
- },
405
- created() {
406
- this.cid = this.canvasId;
407
- if (this.canvasId == 'uchartsid' || this.canvasId == '') {
408
- let t = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
409
- let len = t.length;
410
- let id = '';
411
- for (let i = 0; i < 32; i++) {
412
- id += t.charAt(Math.floor(Math.random() * len));
413
- }
414
- this.cid = id;
415
- }
416
- const systemInfo = uni.getSystemInfoSync();
417
- if (systemInfo.platform === 'windows') {
418
- this.inWin = true;
419
- }
420
- // #ifdef MP-WEIXIN
421
- this.inWx = true;
422
- if (this.canvas2d === false || systemInfo.platform === 'windows') {
423
- this.type2d = false;
424
- } else {
425
- this.pixel = systemInfo.pixelRatio;
426
- if (this.canvasId === 'uchartsid' || this.canvasId == '') {
427
- console.log('[uCharts]:开启canvas2d模式,必须指定canvasId,否则会出现偶尔获取不到dom节点的问题!');
428
- }
429
- }
430
- // #endif
431
- //非微信小程序端强制关闭canvas2d模式
432
- // #ifndef MP-WEIXIN
433
- this.type2d = false;
434
- // #endif
435
- // #ifdef MP-ALIPAY
436
- this.inAli = true;
437
- this.pixel = systemInfo.pixelRatio;
438
- // #endif
439
- // #ifdef MP-BAIDU
440
- this.inBd = true;
441
- // #endif
442
- // #ifdef MP-TOUTIAO
443
- this.inTt = true;
444
- // #endif
445
- this.disScroll = this.disableScroll;
446
- },
447
- mounted() {
448
- // #ifdef APP-VUE
449
- this.inApp = true;
450
- if (this.echartsApp === true) {
451
- this.echarts = true;
452
- this.openmouse = false;
453
- }
454
- // #endif
455
- // #ifdef APP-NVUE
456
- this.inApp = true;
457
- this.mixinDatacomLoading = false;
458
- this.mixinDatacomErrorMessage = '暂不支持NVUE';
459
- // #endif
460
- // #ifdef H5
461
- this.inH5 = true;
462
- if (this.inWin === true) {
463
- this.openmouse = this.onmouse;
464
- }
465
- if (this.echartsH5 === true) {
466
- this.echarts = true;
467
- }
468
- // #endif
469
- this.$nextTick(() => {
470
- this.beforeInit();
471
- });
472
- // #ifndef MP-ALIPAY || MP-BAIDU || MP-TOUTIAO || APP-VUE
473
- const time = this.inH5 ? 500 : 200;
474
- const _this = this;
475
- uni.onWindowResize(
476
- debounce(function (res) {
477
- if (_this.mixinDatacomLoading == true) {
478
- return;
479
- }
480
- let errmsg = _this.mixinDatacomErrorMessage;
481
- if (errmsg !== null && errmsg !== 'null' && errmsg !== '') {
482
- return;
483
- }
484
- if (_this.echarts) {
485
- _this.echartsResize = !_this.echartsResize;
486
- } else {
487
- _this.resizeHandler();
488
- }
489
- }, time)
490
- );
491
- // #endif
492
- },
493
- destroyed() {
494
- if (this.echarts === true) {
495
- delete cfe.option[this.cid];
496
- delete cfe.instance[this.cid];
497
- } else {
498
- delete cfu.option[this.cid];
499
- delete cfu.instance[this.cid];
500
- }
501
- // #ifndef MP-ALIPAY || MP-BAIDU || MP-TOUTIAO
502
- uni.offWindowResize(() => {});
503
- // #endif
504
- },
505
- watch: {
506
- chartDataProps: {
507
- handler(val, oldval) {
508
- if (typeof val === 'object') {
509
- if (JSON.stringify(val) !== JSON.stringify(oldval)) {
510
- if (val.series && val.series.length > 0) {
511
- this.beforeInit();
512
- } else {
513
- this.mixinDatacomLoading = true;
514
- this._clearChart();
515
- this.showchart = false;
516
- this.mixinDatacomErrorMessage = null;
517
- }
518
- }
519
- } else {
520
- this.mixinDatacomLoading = false;
521
- this._clearChart();
522
- this.showchart = false;
523
- this.mixinDatacomErrorMessage = '参数错误:chartData数据类型错误';
524
- }
525
- },
526
- immediate: false,
527
- deep: true
528
- },
529
- localdata: {
530
- handler(val, oldval) {
531
- if (JSON.stringify(val) !== JSON.stringify(oldval)) {
532
- if (val.length > 0) {
533
- this.beforeInit();
534
- } else {
535
- this.mixinDatacomLoading = true;
536
- this._clearChart();
537
- this.showchart = false;
538
- this.mixinDatacomErrorMessage = null;
539
- }
540
- }
541
- },
542
- immediate: false,
543
- deep: true
544
- },
545
- optsProps: {
546
- handler(val, oldval) {
547
- if (typeof val === 'object') {
548
- if (JSON.stringify(val) !== JSON.stringify(oldval) && this.echarts === false) {
549
- this.checkData(this.drawData);
550
- }
551
- } else {
552
- this.mixinDatacomLoading = false;
553
- this._clearChart();
554
- this.showchart = false;
555
- this.mixinDatacomErrorMessage = '参数错误:opts数据类型错误';
556
- }
557
- },
558
- immediate: false,
559
- deep: true
560
- },
561
- eoptsProps: {
562
- handler(val, oldval) {
563
- if (typeof val === 'object') {
564
- if (JSON.stringify(val) !== JSON.stringify(oldval) && this.echarts === true) {
565
- this.checkData(this.drawData);
566
- }
567
- } else {
568
- this.mixinDatacomLoading = false;
569
- this.showchart = false;
570
- this.mixinDatacomErrorMessage = '参数错误:eopts数据类型错误';
571
- }
572
- },
573
- immediate: false,
574
- deep: true
575
- },
576
- reshow(val, oldval) {
577
- if (val === true && this.mixinDatacomLoading === false) {
578
- setTimeout(() => {
579
- this.mixinDatacomErrorMessage = null;
580
- this.echartsResize = !this.echartsResize;
581
- this.checkData(this.drawData);
582
- }, 200);
583
- }
584
- },
585
- reload(val, oldval) {
586
- if (val === true) {
587
- this.showchart = false;
588
- this.mixinDatacomErrorMessage = null;
589
- this.reloading();
590
- }
591
- },
592
- mixinDatacomErrorMessage(val, oldval) {
593
- if (val) {
594
- this.emitMsg({
595
- name: 'error',
596
- params: {
597
- type: 'error',
598
- errorShow: this.errorShow,
599
- msg: val,
600
- id: this.cid
601
- }
602
- });
603
- if (this.errorShow) {
604
- console.log('[秋云图表组件]' + val);
605
- }
606
- }
607
- },
608
- errorMessage(val, oldval) {
609
- if (val && this.errorShow && val !== null && val !== 'null' && val !== '') {
610
- this.showchart = false;
611
- this.mixinDatacomLoading = false;
612
- this.mixinDatacomErrorMessage = val;
613
- } else {
614
- this.showchart = false;
615
- this.mixinDatacomErrorMessage = null;
616
- this.reloading();
617
- }
618
- }
619
- },
620
- computed: {
621
- optsProps() {
622
- return JSON.parse(JSON.stringify(this.opts));
623
- },
624
- eoptsProps() {
625
- return JSON.parse(JSON.stringify(this.eopts));
626
- },
627
- chartDataProps() {
628
- return JSON.parse(JSON.stringify(this.chartData));
629
- }
630
- },
631
- methods: {
632
- beforeInit() {
633
- this.mixinDatacomErrorMessage = null;
634
- if (
635
- typeof this.chartData === 'object' &&
636
- this.chartData != null &&
637
- this.chartData.series !== undefined &&
638
- this.chartData.series.length > 0
639
- ) {
640
- //拷贝一下chartData,为了opts变更后统一数据来源
641
- this.drawData = deepCloneAssign({}, this.chartData);
642
- this.mixinDatacomLoading = false;
643
- this.showchart = true;
644
- this.checkData(this.chartData);
645
- } else if (this.localdata.length > 0) {
646
- this.mixinDatacomLoading = false;
647
- this.showchart = true;
648
- this.localdataInit(this.localdata);
649
- } else if (this.collection !== '') {
650
- this.mixinDatacomLoading = false;
651
- this.getCloudData();
652
- } else {
653
- this.mixinDatacomLoading = true;
654
- }
655
- },
656
- localdataInit(resdata) {
657
- //替换enum类型为正确的描述
658
- if (this.groupEnum.length > 0) {
659
- for (let i = 0; i < resdata.length; i++) {
660
- for (let j = 0; j < this.groupEnum.length; j++) {
661
- if (resdata[i].group === this.groupEnum[j].value) {
662
- resdata[i].group = this.groupEnum[j].text;
663
- }
664
- }
665
- }
666
- }
667
- if (this.textEnum.length > 0) {
668
- for (let i = 0; i < resdata.length; i++) {
669
- for (let j = 0; j < this.textEnum.length; j++) {
670
- if (resdata[i].text === this.textEnum[j].value) {
671
- resdata[i].text = this.textEnum[j].text;
672
- }
673
- }
674
- }
675
- }
676
- let needCategories = false;
677
- let tmpData = { categories: [], series: [] };
678
- let tmpcategories = [];
679
- let tmpseries = [];
680
- //拼接categories
681
- if (this.echarts === true) {
682
- needCategories = cfe.categories.includes(this.type);
683
- } else {
684
- needCategories = cfu.categories.includes(this.type);
685
- }
686
- if (needCategories === true) {
687
- //如果props中的chartData带有categories,则优先使用chartData的categories
688
- if (this.chartData && this.chartData.categories && this.chartData.categories.length > 0) {
689
- tmpcategories = this.chartData.categories;
690
- } else {
691
- //如果是日期类型的数据,不管是本地数据还是云数据,都按起止日期自动拼接categories
692
- if (this.startDate && this.endDate) {
693
- let idate = new Date(this.startDate);
694
- let edate = new Date(this.endDate);
695
- while (idate <= edate) {
696
- tmpcategories.push(getFormatDate(idate));
697
- idate = idate.setDate(idate.getDate() + 1);
698
- idate = new Date(idate);
699
- }
700
- //否则从结果中去重并拼接categories
701
- } else {
702
- let tempckey = {};
703
- resdata.map(function (item, index) {
704
- if (item.text != undefined && !tempckey[item.text]) {
705
- tmpcategories.push(item.text);
706
- tempckey[item.text] = true;
707
- }
708
- });
709
- }
710
- }
711
- tmpData.categories = tmpcategories;
712
- }
713
- //拼接series
714
- let tempskey = {};
715
- resdata.map(function (item, index) {
716
- if (item.group != undefined && !tempskey[item.group]) {
717
- tmpseries.push({ name: item.group, data: [] });
718
- tempskey[item.group] = true;
719
- }
720
- });
721
- //如果没有获取到分组名称(可能是带categories的数据,也可能是不带的饼图类)
722
- if (tmpseries.length == 0) {
723
- tmpseries = [{ name: '默认分组', data: [] }];
724
- //如果是需要categories的图表类型
725
- if (needCategories === true) {
726
- for (let j = 0; j < tmpcategories.length; j++) {
727
- let seriesdata = 0;
728
- for (let i = 0; i < resdata.length; i++) {
729
- if (resdata[i].text == tmpcategories[j]) {
730
- seriesdata = resdata[i].value;
731
- }
732
- }
733
- tmpseries[0].data.push(seriesdata);
734
- }
735
- //如果是饼图类的图表类型
736
- } else {
737
- for (let i = 0; i < resdata.length; i++) {
738
- tmpseries[0].data.push({
739
- name: resdata[i].text,
740
- value: resdata[i].value
741
- });
742
- }
743
- }
744
- //如果有分组名
745
- } else {
746
- for (let k = 0; k < tmpseries.length; k++) {
747
- //如果有categories
748
- if (tmpcategories.length > 0) {
749
- for (let j = 0; j < tmpcategories.length; j++) {
750
- let seriesdata = 0;
751
- for (let i = 0; i < resdata.length; i++) {
752
- if (tmpseries[k].name == resdata[i].group && resdata[i].text == tmpcategories[j]) {
753
- seriesdata = resdata[i].value;
754
- }
755
- }
756
- tmpseries[k].data.push(seriesdata);
757
- }
758
- //如果传了group而没有传text,即没有categories(正常情况下这种数据是不符合数据要求规范的)
759
- } else {
760
- for (let i = 0; i < resdata.length; i++) {
761
- if (tmpseries[k].name == resdata[i].group) {
762
- tmpseries[k].data.push(resdata[i].value);
763
- }
764
- }
765
- }
766
- }
767
- }
768
- tmpData.series = tmpseries;
769
- //拷贝一下chartData,为了opts变更后统一数据来源
770
- this.drawData = deepCloneAssign({}, tmpData);
771
- this.checkData(tmpData);
772
- },
773
- reloading() {
774
- if (this.errorReload === false) {
775
- return;
776
- }
777
- this.showchart = false;
778
- this.mixinDatacomErrorMessage = null;
779
- if (this.collection !== '') {
780
- this.mixinDatacomLoading = false;
781
- this.onMixinDatacomPropsChange(true);
782
- } else {
783
- this.beforeInit();
784
- }
785
- },
786
- checkData(anyData) {
787
- let cid = this.cid;
788
- //复位opts或eopts
789
- if (this.echarts === true) {
790
- cfe.option[cid] = deepCloneAssign({}, this.eopts);
791
- cfe.option[cid].id = cid;
792
- cfe.option[cid].type = this.type;
793
- } else {
794
- if (this.type && cfu.type.includes(this.type)) {
795
- cfu.option[cid] = deepCloneAssign({}, cfu[this.type], this.opts);
796
- cfu.option[cid].canvasId = cid;
797
- } else {
798
- this.mixinDatacomLoading = false;
799
- this.showchart = false;
800
- this.mixinDatacomErrorMessage = '参数错误:props参数中type类型不正确';
801
- }
802
- }
803
- //挂载categories和series
804
- let newData = deepCloneAssign({}, anyData);
805
- if (newData.series !== undefined && newData.series.length > 0) {
806
- this.mixinDatacomErrorMessage = null;
807
- if (this.echarts === true) {
808
- cfe.option[cid].chartData = newData;
809
- this.$nextTick(() => {
810
- this.init();
811
- });
812
- } else {
813
- cfu.option[cid].categories = newData.categories;
814
- cfu.option[cid].series = newData.series;
815
- this.$nextTick(() => {
816
- this.init();
817
- });
818
- }
819
- }
820
- },
821
- resizeHandler() {
822
- //渲染防抖
823
- let currTime = Date.now();
824
- let lastDrawTime = this.lastDrawTime ? this.lastDrawTime : currTime - 3000;
825
- let duration = currTime - lastDrawTime;
826
- if (duration < 1000) return;
827
- let chartdom = uni
828
- .createSelectorQuery()
829
- // #ifndef MP-ALIPAY
830
- .in(this)
831
- // #endif
832
- .select('#ChartBoxId' + this.cid)
833
- .boundingClientRect((data) => {
834
- this.showchart = true;
835
- if (data.width > 0 && data.height > 0) {
836
- if (data.width !== this.cWidth || data.height !== this.cHeight) {
837
- this.checkData(this.drawData);
838
- }
839
- }
840
- })
841
- .exec();
842
- },
843
- getCloudData() {
844
- if (this.mixinDatacomLoading == true) {
845
- return;
846
- }
847
- this.mixinDatacomLoading = true;
848
- this.mixinDatacomGet()
849
- .then((res) => {
850
- this.mixinDatacomResData = res.result.data;
851
- this.localdataInit(this.mixinDatacomResData);
852
- })
853
- .catch((err) => {
854
- this.mixinDatacomLoading = false;
855
- this.showchart = false;
856
- this.mixinDatacomErrorMessage = '请求错误:' + err;
857
- });
858
- },
859
- onMixinDatacomPropsChange(needReset, changed) {
860
- if (needReset == true && this.collection !== '') {
861
- this.showchart = false;
862
- this.mixinDatacomErrorMessage = null;
863
- this._clearChart();
864
- this.getCloudData();
865
- }
866
- },
867
- _clearChart() {
868
- let cid = this.cid;
869
- if (this.echrts !== true) {
870
- const ctx = uni.createCanvasContext(cid, this);
871
- ctx.clearRect(0, 0, this.cWidth, this.cHeight);
872
- ctx.draw();
873
- }
874
- },
875
- init() {
876
- let cid = this.cid;
877
- let chartdom = uni
878
- .createSelectorQuery()
879
- // #ifndef MP-ALIPAY
880
- .in(this)
881
- // #endif
882
- .select('#ChartBoxId' + cid)
883
- .boundingClientRect((data) => {
884
- if (data.width > 0 && data.height > 0) {
885
- this.mixinDatacomLoading = false;
886
- this.showchart = true;
887
- this.lastDrawTime = Date.now();
888
- this.cWidth = data.width;
889
- this.cHeight = data.height;
890
- if (this.echarts !== true) {
891
- cfu.option[cid].background = this.background == 'none' ? '#FFFFFF' : this.background;
892
- cfu.option[cid].canvas2d = this.type2d;
893
- cfu.option[cid].pixelRatio = this.pixel;
894
- cfu.option[cid].animation = this.animation;
895
- cfu.option[cid].width = data.width * this.pixel;
896
- cfu.option[cid].height = data.height * this.pixel;
897
- cfu.option[cid].ontap = this.ontap;
898
- cfu.option[cid].ontouch = this.ontouch;
899
- cfu.option[cid].onmouse = this.openmouse;
900
- cfu.option[cid].onmovetip = this.onmovetip;
901
- cfu.option[cid].tooltipShow = this.tooltipShow;
902
- cfu.option[cid].tooltipFormat = this.tooltipFormat;
903
- cfu.option[cid].tooltipCustom = this.tooltipCustom;
904
- cfu.option[cid].inScrollView = this.inScrollView;
905
- cfu.option[cid].lastDrawTime = this.lastDrawTime;
906
- cfu.option[cid].tapLegend = this.tapLegend;
907
- }
908
- //如果是H5或者App端,采用renderjs渲染图表
909
- if (this.inH5 || this.inApp) {
910
- if (this.echarts == true) {
911
- cfe.option[cid].ontap = this.ontap;
912
- cfe.option[cid].onmouse = this.openmouse;
913
- cfe.option[cid].tooltipShow = this.tooltipShow;
914
- cfe.option[cid].tooltipFormat = this.tooltipFormat;
915
- cfe.option[cid].tooltipCustom = this.tooltipCustom;
916
- cfe.option[cid].lastDrawTime = this.lastDrawTime;
917
- this.echartsOpts = deepCloneAssign({}, cfe.option[cid]);
918
- } else {
919
- cfu.option[cid].rotateLock = cfu.option[cid].rotate;
920
- this.uchartsOpts = deepCloneAssign({}, cfu.option[cid]);
921
- }
922
- //如果是小程序端,采用uCharts渲染
923
- } else {
924
- cfu.option[cid] = formatterAssign(cfu.option[cid], cfu.formatter);
925
- this.mixinDatacomErrorMessage = null;
926
- this.mixinDatacomLoading = false;
927
- this.showchart = true;
928
- this.$nextTick(() => {
929
- if (this.type2d === true) {
930
- const query = uni.createSelectorQuery().in(this);
931
- query
932
- .select('#' + cid)
933
- .fields({ node: true, size: true })
934
- .exec((res) => {
935
- if (res[0]) {
936
- const canvas = res[0].node;
937
- const ctx = canvas.getContext('2d');
938
- cfu.option[cid].context = ctx;
939
- canvas.width = data.width * this.pixel;
940
- canvas.height = data.height * this.pixel;
941
- canvas._width = data.width * this.pixel;
942
- canvas._height = data.height * this.pixel;
943
- cfu.option[cid].rotateLock = cfu.option[cid].rotate;
944
- if (cfu.instance[cid] && cfu.option[cid] && cfu.option[cid].update === true) {
945
- this._updataUChart(cid);
946
- } else {
947
- setTimeout(() => {
948
- cfu.option[cid].context.restore();
949
- cfu.option[cid].context.save();
950
- this._newChart(cid);
951
- }, 100);
952
- }
953
- } else {
954
- this.showchart = false;
955
- this.mixinDatacomErrorMessage = '参数错误:开启2d模式后,未获取到dom节点,canvas-id:' + cid;
956
- }
957
- });
958
- } else {
959
- if (this.inAli) {
960
- cfu.option[cid].rotateLock = cfu.option[cid].rotate;
961
- }
962
- cfu.option[cid].context = uni.createCanvasContext(cid, this);
963
- if (cfu.instance[cid] && cfu.option[cid] && cfu.option[cid].update === true) {
964
- this._updataUChart(cid);
965
- } else {
966
- setTimeout(() => {
967
- cfu.option[cid].context.restore();
968
- cfu.option[cid].context.save();
969
- this._newChart(cid);
970
- }, 100);
971
- }
972
- }
973
- });
974
- }
975
- } else {
976
- this.mixinDatacomLoading = false;
977
- this.showchart = false;
978
- if (this.reshow == true) {
979
- this.mixinDatacomErrorMessage = '布局错误:未获取到父元素宽高尺寸!canvas-id:' + cid;
980
- }
981
- }
982
- })
983
- .exec();
984
- },
985
- saveImage() {
986
- uni.canvasToTempFilePath(
987
- {
988
- canvasId: this.cid,
989
- success: (res) => {
990
- //#ifdef H5
991
- var a = document.createElement('a');
992
- a.href = res.tempFilePath;
993
- a.download = this.cid;
994
- a.target = '_blank';
995
- a.click();
996
- //#endif
997
- //#ifndef H5
998
- uni.saveImageToPhotosAlbum({
999
- filePath: res.tempFilePath,
1000
- success: function () {
1001
- uni.showToast({
1002
- title: '保存成功',
1003
- duration: 2000
1004
- });
1005
- }
1006
- });
1007
- //#endif
1008
- }
1009
- },
1010
- this
1011
- );
1012
- },
1013
- // #ifndef APP-VUE || H5
1014
- _newChart(cid) {
1015
- if (this.mixinDatacomLoading == true) {
1016
- return;
1017
- }
1018
- this.showchart = true;
1019
- cfu.instance[cid] = new uCharts(cfu.option[cid]);
1020
- cfu.instance[cid].addEventListener('renderComplete', () => {
1021
- this.emitMsg({
1022
- name: 'complete',
1023
- params: { type: 'complete', complete: true, id: cid }
1024
- });
1025
- cfu.instance[cid].delEventListener('renderComplete');
1026
- });
1027
- cfu.instance[cid].addEventListener('scrollLeft', () => {
1028
- this.emitMsg({
1029
- name: 'scrollLeft',
1030
- params: { type: 'scrollLeft', scrollLeft: true, id: cid }
1031
- });
1032
- });
1033
- cfu.instance[cid].addEventListener('scrollRight', () => {
1034
- this.emitMsg({
1035
- name: 'scrollRight',
1036
- params: { type: 'scrollRight', scrollRight: true, id: cid }
1037
- });
1038
- });
1039
- },
1040
- _updataUChart(cid) {
1041
- cfu.instance[cid].updateData(cfu.option[cid]);
1042
- },
1043
- _tooltipDefault(item, category, index, opts) {
1044
- if (category) {
1045
- let data = item.data;
1046
- if (typeof item.data === 'object') {
1047
- data = item.data.value;
1048
- }
1049
- return category + ' ' + item.name + ':' + data;
1050
- } else {
1051
- if (item.properties && item.properties.name) {
1052
- return item.properties.name;
1053
- } else {
1054
- return item.name + ':' + item.data;
1055
- }
1056
- }
1057
- },
1058
- _showTooltip(e) {
1059
- let cid = this.cid;
1060
- let tc = cfu.option[cid].tooltipCustom;
1061
- if (tc && tc !== undefined && tc !== null) {
1062
- let offset = undefined;
1063
- if (tc.x >= 0 && tc.y >= 0) {
1064
- offset = { x: tc.x, y: tc.y + 10 };
1065
- }
1066
- cfu.instance[cid].showToolTip(e, {
1067
- index: tc.index,
1068
- offset: offset,
1069
- textList: tc.textList,
1070
- formatter: (item, category, index, opts) => {
1071
- if (typeof cfu.option[cid].tooltipFormat === 'string' && cfu.formatter[cfu.option[cid].tooltipFormat]) {
1072
- return cfu.formatter[cfu.option[cid].tooltipFormat](item, category, index, opts);
1073
- } else {
1074
- return this._tooltipDefault(item, category, index, opts);
1075
- }
1076
- }
1077
- });
1078
- } else {
1079
- cfu.instance[cid].showToolTip(e, {
1080
- formatter: (item, category, index, opts) => {
1081
- if (typeof cfu.option[cid].tooltipFormat === 'string' && cfu.formatter[cfu.option[cid].tooltipFormat]) {
1082
- return cfu.formatter[cfu.option[cid].tooltipFormat](item, category, index, opts);
1083
- } else {
1084
- return this._tooltipDefault(item, category, index, opts);
1085
- }
1086
- }
1087
- });
1088
- }
1089
- },
1090
- _tap(e, move) {
1091
- let cid = this.cid;
1092
- let currentIndex = null;
1093
- let legendIndex = null;
1094
- if (this.inScrollView === true || this.inAli) {
1095
- let chartdom = uni
1096
- .createSelectorQuery()
1097
- // #ifndef MP-ALIPAY
1098
- .in(this)
1099
- .select('#ChartBoxId' + cid)
1100
- // #endif
1101
- // #ifdef MP-ALIPAY
1102
- .select('#' + this.cid)
1103
- // #endif
1104
- .boundingClientRect((data) => {
1105
- e.changedTouches = [];
1106
- if (this.inAli) {
1107
- e.changedTouches.unshift({
1108
- x: e.detail.clientX - data.left,
1109
- y: e.detail.clientY - data.top
1110
- });
1111
- } else {
1112
- e.changedTouches.unshift({
1113
- x: e.detail.x - data.left,
1114
- y: e.detail.y - data.top - this.pageScrollTop
1115
- });
1116
- }
1117
- if (move) {
1118
- if (this.tooltipShow === true) {
1119
- this._showTooltip(e);
1120
- }
1121
- } else {
1122
- currentIndex = cfu.instance[cid].getCurrentDataIndex(e);
1123
- legendIndex = cfu.instance[cid].getLegendDataIndex(e);
1124
- if (this.tapLegend === true) {
1125
- cfu.instance[cid].touchLegend(e);
1126
- }
1127
- if (this.tooltipShow === true) {
1128
- this._showTooltip(e);
1129
- }
1130
- this.emitMsg({
1131
- name: 'getIndex',
1132
- params: {
1133
- type: 'getIndex',
1134
- event: {
1135
- x: e.detail.x - data.left,
1136
- y: e.detail.y - data.top
1137
- },
1138
- currentIndex: currentIndex,
1139
- legendIndex: legendIndex,
1140
- id: cid,
1141
- opts: cfu.instance[cid].opts
1142
- }
1143
- });
1144
- }
1145
- })
1146
- .exec();
1147
- } else {
1148
- if (move) {
1149
- if (this.tooltipShow === true) {
1150
- this._showTooltip(e);
1151
- }
1152
- } else {
1153
- e.changedTouches = [];
1154
- e.changedTouches.unshift({
1155
- x: e.detail.x - e.currentTarget.offsetLeft,
1156
- y: e.detail.y - e.currentTarget.offsetTop
1157
- });
1158
- currentIndex = cfu.instance[cid].getCurrentDataIndex(e);
1159
- legendIndex = cfu.instance[cid].getLegendDataIndex(e);
1160
- if (this.tapLegend === true) {
1161
- cfu.instance[cid].touchLegend(e);
1162
- }
1163
- if (this.tooltipShow === true) {
1164
- this._showTooltip(e);
1165
- }
1166
- this.emitMsg({
1167
- name: 'getIndex',
1168
- params: {
1169
- type: 'getIndex',
1170
- event: {
1171
- x: e.detail.x,
1172
- y: e.detail.y - e.currentTarget.offsetTop
1173
- },
1174
- currentIndex: currentIndex,
1175
- legendIndex: legendIndex,
1176
- id: cid,
1177
- opts: cfu.instance[cid].opts
1178
- }
1179
- });
1180
- }
1181
- }
1182
- },
1183
- _touchStart(e) {
1184
- let cid = this.cid;
1185
- lastMoveTime = Date.now();
1186
- if (cfu.option[cid].enableScroll === true) {
1187
- cfu.instance[cid].scrollStart(e);
1188
- }
1189
- this.emitMsg({
1190
- name: 'getTouchStart',
1191
- params: { type: 'touchStart', event: e.changedTouches[0], id: cid }
1192
- });
1193
- },
1194
- _touchMove(e) {
1195
- let cid = this.cid;
1196
- let currMoveTime = Date.now();
1197
- let duration = currMoveTime - lastMoveTime;
1198
- if (duration < Math.floor(1000 / 60)) return; //每秒60帧
1199
- lastMoveTime = currMoveTime;
1200
- if (cfu.option[cid].enableScroll === true) {
1201
- cfu.instance[cid].scroll(e);
1202
- }
1203
- this.emitMsg({
1204
- name: 'getTouchMove',
1205
- params: { type: 'touchMove', event: e.changedTouches[0], id: cid }
1206
- });
1207
- if (this.ontap === true && cfu.option[cid].enableScroll === false && this.onmovetip === true) {
1208
- this._tap(e, true);
1209
- }
1210
- },
1211
- _touchEnd(e) {
1212
- let cid = this.cid;
1213
- if (cfu.option[cid].enableScroll === true) {
1214
- cfu.instance[cid].scrollEnd(e);
1215
- }
1216
- this.emitMsg({
1217
- name: 'getTouchEnd',
1218
- params: { type: 'touchEnd', event: e.changedTouches[0], id: cid }
1219
- });
1220
- if (this.ontap === true && cfu.option[cid].enableScroll === false && this.onmovetip === true) {
1221
- this._tap(e, true);
1222
- }
1223
- },
1224
- // #endif
1225
- _error(e) {
1226
- this.mixinDatacomErrorMessage = e.detail.errMsg;
1227
- },
1228
- emitMsg(msg) {
1229
- this.$emit(msg.name, msg.params);
1230
- },
1231
- getRenderType() {
1232
- //防止如果开启echarts且父元素为v-if的情况renderjs监听不到prop变化的问题
1233
- if (this.echarts === true && this.mixinDatacomLoading === false) {
1234
- this.beforeInit();
1235
- }
1236
- },
1237
- toJSON() {
1238
- return this;
1239
- }
1240
- }
1241
- };
1242
- </script>
1243
-
1244
- <!-- #ifdef APP-VUE || H5 -->
1245
- <script module="rdcharts" lang="renderjs">
1246
-
1247
- import uCharts from '@10yun/cv-mobile-ui/ui-sdks/u-charts/u-charts.js';
1248
- import cfu from '@10yun/cv-mobile-ui/ui-sdks/u-charts/config-ucharts.js';
1249
- // #ifdef APP-VUE || H5
1250
- import cfe from '@10yun/cv-mobile-ui/ui-sdks/u-charts/config-echarts.js';
1251
- // #endif
1252
-
1253
- var that = {};
1254
- var rootdom = null;
1255
-
1256
- function rddeepCloneAssign(origin = {}, ...args) {
1257
- for (let i in args) {
1258
- for (let key in args[i]) {
1259
- if (args[i].hasOwnProperty(key)) {
1260
- origin[key] = args[i][key] && typeof args[i][key] === 'object' ? rddeepCloneAssign(Array.isArray(args[i][key]) ? [] : {}, origin[key], args[i][key]) : args[i][key];
1261
- }
1262
- }
1263
- }
1264
- return origin;
1265
- }
1266
-
1267
- function rdformatterAssign(args,formatter) {
1268
- for (let key in args) {
1269
- if(args[key] !== null && typeof args[key] === 'object'){
1270
- rdformatterAssign(args[key],formatter)
1271
- }else if(key === 'format' && typeof args[key] === 'string'){
1272
- args['formatter'] = formatter[args[key]] ? formatter[args[key]] : undefined;
1273
- }
1274
- }
1275
- return args;
1276
- }
1277
-
1278
- export default {
1279
- data() {
1280
- return {
1281
- rid:null
1282
- }
1283
- },
1284
- mounted() {
1285
- rootdom = {top:0,left:0}
1286
- // #ifdef H5
1287
- let dm = document.querySelectorAll('uni-main')[0]
1288
- if(dm === undefined){
1289
- dm = document.querySelectorAll('uni-page-wrapper')[0]
1290
- }
1291
- rootdom = {top:dm.offsetTop,left:dm.offsetLeft}
1292
- // #endif
1293
- setTimeout(()=>{
1294
- if(this.rid === null){
1295
- this.$ownerInstance.callMethod('getRenderType')
1296
- }
1297
- },200)
1298
- },
1299
- destroyed(){
1300
- delete cfu.option[this.rid]
1301
- delete cfu.instance[this.rid]
1302
- delete cfe.option[this.rid]
1303
- delete cfe.instance[this.rid]
1304
- },
1305
- methods: {
1306
- //==============以下是ECharts的方法====================
1307
- ecinit(newVal, oldVal, owner, instance){
1308
- let cid = JSON.stringify(newVal.id)
1309
- this.rid = cid
1310
- that[cid] = this.$ownerInstance
1311
- let eopts = JSON.parse(JSON.stringify(newVal))
1312
- let type = eopts.type;
1313
- //载入并覆盖默认配置
1314
- if (type && cfe.type.includes(type)) {
1315
- cfe.option[cid] = rddeepCloneAssign({}, cfe[type], eopts);
1316
- }else{
1317
- cfe.option[cid] = rddeepCloneAssign({}, eopts);
1318
- }
1319
- let newData = eopts.chartData;
1320
- //挂载categories和series
1321
- if(cfe.option[cid].xAxis && cfe.option[cid].xAxis.type && cfe.option[cid].xAxis.type === 'category'){
1322
- cfe.option[cid].xAxis.data = newData.categories
1323
- }
1324
- if(cfe.option[cid].yAxis && cfe.option[cid].yAxis.type && cfe.option[cid].yAxis.type === 'category'){
1325
- cfe.option[cid].yAxis.data = newData.categories
1326
- }
1327
- cfe.option[cid].series = []
1328
- for (var i = 0; i < newData.series.length; i++) {
1329
- cfe.option[cid].seriesTemplate = cfe.option[cid].seriesTemplate ? cfe.option[cid].seriesTemplate : {}
1330
- let Template = rddeepCloneAssign({},cfe.option[cid].seriesTemplate,newData.series[i])
1331
- cfe.option[cid].series.push(Template)
1332
- }
1333
- if (typeof window.echarts === 'object') {
1334
- this.newEChart()
1335
- }else{
1336
- const script = document.createElement('script')
1337
- // #ifdef APP-VUE
1338
- script.src = './uni_modules/qiun-data-charts/static/app-plus/echarts.min.js'
1339
- // #endif
1340
- // #ifdef H5
1341
- const rooturl = window.location.origin
1342
- const directory = instance.getDataset().directory
1343
- script.src = rooturl + directory + 'uni_modules/qiun-data-charts/static/h5/echarts.min.js'
1344
- // #endif
1345
- script.onload = this.newEChart
1346
- document.head.appendChild(script)
1347
- }
1348
- },
1349
- ecresize(newVal, oldVal, owner, instance){
1350
- if(cfe.instance[this.rid]){
1351
- cfe.instance[this.rid].resize()
1352
- }
1353
- },
1354
- newEChart(){
1355
- let cid = this.rid
1356
- if(cfe.instance[cid] === undefined){
1357
- cfe.instance[cid] = echarts.init(that[cid].$el.children[0])
1358
- //ontap开启后才触发click事件
1359
- if(cfe.option[cid].ontap === true){
1360
- cfe.instance[cid].on('click', resdata => {
1361
- let event = JSON.parse(JSON.stringify({
1362
- x:resdata.event.offsetX,y:resdata.event.offsetY
1363
- }))
1364
- that[cid].callMethod('emitMsg',{name:"getIndex", params:{type:"getIndex", event:event, currentIndex:resdata.dataIndex, value:resdata.data, seriesName: resdata.seriesName,id:cid}})
1365
- })
1366
- }
1367
- this.updataEChart(cid,cfe.option[cid])
1368
- }else{
1369
- this.updataEChart(cid,cfe.option[cid])
1370
- }
1371
- },
1372
- updataEChart(cid,option){
1373
- //替换option内format属性为formatter的预定义方法
1374
- option = rdformatterAssign(option,cfe.formatter)
1375
- if(option.tooltip){
1376
- option.tooltip.show = option.tooltipShow?true:false;
1377
- option.tooltip.position = this.tooltipPosition()
1378
- //tooltipFormat方法,替换组件的tooltipFormat为config-echarts.js内对应的方法
1379
- if (typeof option.tooltipFormat === 'string' && cfe.formatter[option.tooltipFormat]) {
1380
- option.tooltip.formatter = option.tooltip.formatter ? option.tooltip.formatter : cfe.formatter[option.tooltipFormat]
1381
- }
1382
- }
1383
- // 颜色渐变添加的方法
1384
- if (option.series) {
1385
- for (let i in option.series) {
1386
- let linearGradient = option.series[i].linearGradient
1387
- if (linearGradient) {
1388
- option.series[i].color = new echarts.graphic.LinearGradient(linearGradient[0],linearGradient[1],linearGradient[2],linearGradient[3],linearGradient[4])
1389
- }
1390
- }
1391
- }
1392
- cfe.instance[cid].setOption(option, option.notMerge)
1393
- cfe.instance[cid].on('finished', function(){
1394
- that[cid].callMethod('emitMsg',{name:"complete",params:{type:"complete",complete:true,id:cid}})
1395
- if(cfe.instance[cid]){
1396
- cfe.instance[cid].off('finished')
1397
- }
1398
- })
1399
- },
1400
- tooltipPosition(){
1401
- return (point, params, dom, rect, size) => {
1402
- let x = point[0]
1403
- let y = point[1]
1404
- let viewWidth = size.viewSize[0]
1405
- let viewHeight = size.viewSize[1]
1406
- let boxWidth = size.contentSize[0]
1407
- let boxHeight = size.contentSize[1]
1408
- let posX = x + 30
1409
- let posY = y + 30
1410
- if (posX + boxWidth > viewWidth) {
1411
- posX = x - boxWidth - 30
1412
- }
1413
- if (posY + boxHeight > viewHeight) {
1414
- posY = y - boxHeight - 30
1415
- }
1416
- return [posX, posY]
1417
- }
1418
- },
1419
- //==============以下是uCharts的方法====================
1420
- ucinit(newVal, oldVal, owner, instance){
1421
- if(JSON.stringify(newVal) == JSON.stringify(oldVal)){
1422
- return;
1423
- }
1424
- let cid = JSON.parse(JSON.stringify(newVal.canvasId))
1425
- this.rid = cid
1426
- that[cid] = this.$ownerInstance
1427
- cfu.option[cid] = JSON.parse(JSON.stringify(newVal))
1428
- cfu.option[cid] = rdformatterAssign(cfu.option[cid],cfu.formatter)
1429
- let canvasdom = document.getElementById(cid)
1430
- if(canvasdom && canvasdom.children[0]){
1431
- cfu.option[cid].context = canvasdom.children[0].getContext("2d")
1432
- if(cfu.instance[cid] && cfu.option[cid] && cfu.option[cid].update === true){
1433
- this.updataUChart()
1434
- }else{
1435
- setTimeout(()=>{
1436
- cfu.option[cid].context.restore();
1437
- cfu.option[cid].context.save();
1438
- this.newUChart()
1439
- },100)
1440
- }
1441
- }
1442
- },
1443
- newUChart() {
1444
- let cid = this.rid
1445
- cfu.instance[cid] = new uChartsRD(cfu.option[cid])
1446
- cfu.instance[cid].addEventListener('renderComplete', () => {
1447
- that[cid].callMethod('emitMsg',{name:"complete",params:{type:"complete",complete:true,id:cid}})
1448
- cfu.instance[cid].delEventListener('renderComplete')
1449
- });
1450
- cfu.instance[cid].addEventListener('scrollLeft', () => {
1451
- that[cid].callMethod('emitMsg',{name:"scrollLeft",params:{type:"scrollLeft",scrollLeft:true,id:cid}})
1452
- });
1453
- cfu.instance[cid].addEventListener('scrollRight', () => {
1454
- that[cid].callMethod('emitMsg',{name:"scrollRight",params:{type:"scrollRight",scrollRight:true,id:cid}})
1455
- });
1456
- },
1457
- updataUChart() {
1458
- let cid = this.rid
1459
- cfu.instance[cid].updateData(cfu.option[cid])
1460
- },
1461
- tooltipDefault(item, category, index, opts) {
1462
- if (category) {
1463
- let data = item.data
1464
- if(typeof item.data === "object"){
1465
- data = item.data.value
1466
- }
1467
- return category + ' ' + item.name + ':' + data;
1468
- } else {
1469
- if (item.properties && item.properties.name) {
1470
- return item.properties.name ;
1471
- } else {
1472
- return item.name + ':' + item.data;
1473
- }
1474
- }
1475
- },
1476
- showTooltip(e,cid) {
1477
- let tc = cfu.option[cid].tooltipCustom
1478
- if (tc && tc !== undefined && tc !== null) {
1479
- let offset = undefined;
1480
- if (tc.x >= 0 && tc.y >= 0) {
1481
- offset = { x: tc.x, y: tc.y + 10 };
1482
- }
1483
- cfu.instance[cid].showToolTip(e, {
1484
- index: tc.index,
1485
- offset: offset,
1486
- textList: tc.textList,
1487
- formatter: (item, category, index, opts) => {
1488
- if (typeof cfu.option[cid].tooltipFormat === 'string' && cfu.formatter[cfu.option[cid].tooltipFormat]) {
1489
- return cfu.formatter[cfu.option[cid].tooltipFormat](item, category, index, opts);
1490
- } else {
1491
- return this.tooltipDefault(item, category, index, opts);
1492
- }
1493
- }
1494
- });
1495
- } else {
1496
- cfu.instance[cid].showToolTip(e, {
1497
- formatter: (item, category, index, opts) => {
1498
- if (typeof cfu.option[cid].tooltipFormat === 'string' && cfu.formatter[cfu.option[cid].tooltipFormat]) {
1499
- return cfu.formatter[cfu.option[cid].tooltipFormat](item, category, index, opts);
1500
- } else {
1501
- return this.tooltipDefault(item, category, index, opts);
1502
- }
1503
- }
1504
- });
1505
- }
1506
- },
1507
- tap(e) {
1508
- let cid = this.rid
1509
- let ontap = cfu.option[cid].ontap
1510
- let tooltipShow = cfu.option[cid].tooltipShow
1511
- let tapLegend = cfu.option[cid].tapLegend
1512
- if(ontap == false) return;
1513
- let currentIndex=null
1514
- let legendIndex=null
1515
- let rchartdom = document.getElementById('UC'+cid).getBoundingClientRect()
1516
- let tmpe = {}
1517
- if(e.detail.x){//tap或者click的事件
1518
- tmpe = { x: e.detail.x - rchartdom.left, y:e.detail.y - rchartdom.top + rootdom.top}
1519
- }else{//mouse的事件
1520
- tmpe = { x: e.clientX - rchartdom.left, y:e.clientY - rchartdom.top + rootdom.top}
1521
- }
1522
- e.changedTouches.unshift(tmpe)
1523
- currentIndex=cfu.instance[cid].getCurrentDataIndex(e)
1524
- legendIndex=cfu.instance[cid].getLegendDataIndex(e)
1525
- if(tapLegend === true){
1526
- cfu.instance[cid].touchLegend(e);
1527
- }
1528
- if(tooltipShow==true){
1529
- this.showTooltip(e,cid)
1530
- }
1531
- that[cid].callMethod('emitMsg',{name:"getIndex",params:{type:"getIndex",event:tmpe,currentIndex:currentIndex,legendIndex:legendIndex,id:cid, opts: cfu.instance[cid].opts}})
1532
- },
1533
- touchStart(e) {
1534
- let cid = this.rid
1535
- let ontouch = cfu.option[cid].ontouch
1536
- if(ontouch == false) return;
1537
- cfu.instance[cid].scrollStart(e)
1538
- that[cid].callMethod('emitMsg',{name:"getTouchStart",params:{type:"touchStart",event:e.changedTouches[0],id:cid}})
1539
- },
1540
- touchMove(e) {
1541
- let cid = this.rid
1542
- let ontouch = cfu.option[cid].ontouch
1543
- if(ontouch == false) return;
1544
- cfu.instance[cid].scroll(e)
1545
- that[cid].callMethod('emitMsg',{name:"getTouchMove",params:{type:"touchMove",event:e.changedTouches[0],id:cid}})
1546
- if(cfu.option[cid].ontap === true && cfu.option[cid].enableScroll === false && cfu.option[cid].onmovetip === true){
1547
- let rchartdom = document.getElementById('UC'+cid).getBoundingClientRect()
1548
- let tmpe = { x: e.changedTouches[0].clientX - rchartdom.left, y:e.changedTouches[0].clientY - rchartdom.top + rootdom.top}
1549
- e.changedTouches.unshift(tmpe)
1550
- if(cfu.option[cid].tooltipShow === true){
1551
- this.showTooltip(e,cid)
1552
- }
1553
- }
1554
- },
1555
- touchEnd(e) {
1556
- let cid = this.rid
1557
- let ontouch = cfu.option[cid].ontouch
1558
- if(ontouch == false) return;
1559
- cfu.instance[cid].scrollEnd(e)
1560
- that[cid].callMethod('emitMsg',{name:"getTouchEnd",params:{type:"touchEnd",event:e.changedTouches[0],id:cid}})
1561
- },
1562
- mouseDown(e) {
1563
- let cid = this.rid
1564
- let onmouse = cfu.option[cid].onmouse
1565
- if(onmouse == false) return;
1566
- let rchartdom = document.getElementById('UC'+cid).getBoundingClientRect()
1567
- let tmpe = {}
1568
- tmpe = { x: e.clientX - rchartdom.left, y:e.clientY - rchartdom.top + rootdom.top}
1569
- e.changedTouches.unshift(tmpe)
1570
- cfu.instance[cid].scrollStart(e)
1571
- cfu.option[cid].mousedown=true;
1572
- that[cid].callMethod('emitMsg',{name:"getTouchStart",params:{type:"mouseDown",event:tmpe,id:cid}})
1573
- },
1574
- mouseMove(e) {
1575
- let cid = this.rid
1576
- let onmouse = cfu.option[cid].onmouse
1577
- let tooltipShow = cfu.option[cid].tooltipShow
1578
- if(onmouse == false) return;
1579
- let rchartdom = document.getElementById('UC'+cid).getBoundingClientRect()
1580
- let tmpe = {}
1581
- tmpe = { x: e.clientX - rchartdom.left, y:e.clientY - rchartdom.top + rootdom.top}
1582
- e.changedTouches.unshift(tmpe)
1583
- if(cfu.option[cid].mousedown){
1584
- cfu.instance[cid].scroll(e)
1585
- that[cid].callMethod('emitMsg',{name:"getTouchMove",params:{type:"mouseMove",event:tmpe,id:cid}})
1586
- }else if(cfu.instance[cid]){
1587
- if(tooltipShow==true){
1588
- this.showTooltip(e,cid)
1589
- }
1590
- }
1591
- },
1592
- mouseUp(e) {
1593
- let cid = this.rid
1594
- let onmouse = cfu.option[cid].onmouse
1595
- if(onmouse == false) return;
1596
- let rchartdom = document.getElementById('UC'+cid).getBoundingClientRect()
1597
- let tmpe = {}
1598
- tmpe = { x: e.clientX - rchartdom.left, y:e.clientY - rchartdom.top + rootdom.top}
1599
- e.changedTouches.unshift(tmpe)
1600
- cfu.instance[cid].scrollEnd(e)
1601
- cfu.option[cid].mousedown=false;
1602
- that[cid].callMethod('emitMsg',{name:"getTouchEnd",params:{type:"mouseUp",event:tmpe,id:cid}})
1603
- },
1604
- }
1605
- }
1606
- </script>
1607
- <!-- #endif -->
1608
-
1609
- <style scoped>
1610
- .chartsview {
1611
- width: 100%;
1612
- height: 100%;
1613
- display: flex;
1614
- flex: 1;
1615
- justify-content: center;
1616
- align-items: center;
1617
- }
1618
- </style>