index.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <template>
  2. <div class="data_body">
  3. <div style="width: 100%; height: 100%">
  4. <div id="charts_canvas" class="echart" style="width: 100%; height: 100%; "></div>
  5. </div>
  6. </div>
  7. </template>
  8. <script>
  9. export default {
  10. data() {
  11. return {
  12. chartObj: null,
  13. ooption: {
  14. xdata: [],
  15. sdata: [],
  16. },
  17. option: {
  18. xAxis: {
  19. data: ['一年级一班', '一年级二班', '一年级三班', '一年级四班', '一年级五班', '一年级六班', '一年级七班']
  20. },
  21. tooltip: {
  22. formatter: function (params, ticket, callback) {
  23. return `最高分:${params.value[2]}</br>最低分:${params.value[1]}`;
  24. }
  25. },
  26. yAxis: {},
  27. grid: {
  28. top:'5%',
  29. left: '0%',
  30. right: '0%',
  31. bottom: '5%',
  32. containLabel: true
  33. },
  34. series: [
  35. {
  36. type: 'candlestick',
  37. data: [
  38. [70, 80, 70, 80],
  39. [60, 90, 60, 90],
  40. [50, 80, 50, 80],
  41. [78, 88, 78, 88],
  42. [85, 98, 85, 98],
  43. [75, 95, 75, 95],
  44. [65, 100, 65, 100],
  45. [55, 99, 55, 99]
  46. ],
  47. itemStyle: {
  48. color: "#0DDE70",
  49. borderColor: null
  50. }
  51. }
  52. ]
  53. },
  54. };
  55. },
  56. methods: {
  57. setChart(option) {
  58. // 雷达图显示的标签
  59. let newPromise = new Promise((resolve) => {
  60. resolve();
  61. });
  62. //然后异步执行echarts的初始化函数
  63. newPromise.then(() => {
  64. const chartObj = this.$echarts.init(
  65. //劳动课程
  66. this.$el.querySelector("#charts_canvas")
  67. );
  68. // this.option.xAxis.data = option.xdata;
  69. // this.option.series[0].data = option.sdata;
  70. // 初始化雷达图
  71. this.chartObj = chartObj;
  72. this.chartObj.setOption(this.option);
  73. });
  74. },
  75. },
  76. watch: {
  77. },
  78. mounted() {
  79. this.setChart(this.ooption);
  80. var _this = this;
  81. window.addEventListener("resize", () => {
  82. if (_this.chartObj) {
  83. _this.chartObj.resize();
  84. }
  85. });
  86. },
  87. };
  88. </script>
  89. <style scoped>
  90. .data_body {
  91. height: 100%;
  92. /* display: flex; */
  93. position: relative;
  94. border-radius: 5px;
  95. /* border: 1px solid #eee; */
  96. margin: 0 auto;
  97. box-sizing: border-box;
  98. padding: 0;
  99. width: 95%;
  100. background: #fff;
  101. }
  102. </style>