bar-echarts.vue 1.8 KB

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