dataQuery.vue 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <template>
  2. <view class="charts-box">
  3. <qiun-data-charts type="line" :eopts="opts" :chartData="chartData" :onzoom="true" :ontouch="true"
  4. :echartsH5="true" />
  5. </view>
  6. </template>
  7. <script>
  8. export default {
  9. props: {
  10. service: Array,
  11. serviceTime: Array
  12. },
  13. data() {
  14. return {
  15. chartData: {},
  16. //您可以通过修改 config-ucharts.js 文件中下标为 ['line'] 的节点来配置全局默认参数,如都是默认参数,此处可以不传 opts 。实际应用过程中 opts 只需传入与全局默认参数中不一致的【某一个属性】即可实现同类型的图表显示不同的样式,达到页面简洁的需求。
  17. opts: {
  18. color: ["#1890FF", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4",
  19. "#ea7ccc"
  20. ],
  21. padding: [15, 10, 0, 15],
  22. enableScroll: true,
  23. legend: {
  24. top:0
  25. },
  26. grid: {
  27. bottom: '25%'
  28. },
  29. xAxis: {
  30. disableGrid: true,
  31. itemCount: 5,
  32. scrollShow: true,
  33. rotateLabel: true,
  34. rotateAngle: -20
  35. },
  36. yAxis: {
  37. gridType: "dash",
  38. dashLength: 2
  39. },
  40. extra: {
  41. line: {
  42. type: "curve",
  43. width: 2,
  44. activeType: "hollow"
  45. }
  46. },
  47. dataZoom: [{
  48. type: 'inside',
  49. start: 0,
  50. end: 10
  51. },
  52. {
  53. start: 0,
  54. end: 10
  55. }
  56. ],
  57. }
  58. };
  59. },
  60. mounted() {
  61. this.getServerData();
  62. },
  63. methods: {
  64. getServerData() {
  65. const time = this.serviceTime.map(item => {
  66. return item.substring(0, 19)
  67. })
  68. let res = {
  69. categories: time,
  70. series: this.service
  71. };
  72. // this.opts.xAxis.itemCount = this.service[0].data.length
  73. this.chartData = JSON.parse(JSON.stringify(res));
  74. },
  75. }
  76. };
  77. </script>
  78. <style scoped>
  79. /* 请根据实际需求修改父元素尺寸,组件自动识别宽高 */
  80. .charts-box {
  81. width: 100%;
  82. height: 300px;
  83. }
  84. </style>