triangleChart.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. <template>
  2. <div ref="distion" style="width: 100%; height: 100%"></div>
  3. </template>
  4. <script>
  5. import * as echarts from "echarts";
  6. export default {
  7. props: ["frtAnalogData"],
  8. data() {
  9. return {};
  10. },
  11. mounted() {
  12. this.$nextTick(() => {
  13. console.log(1111111111);
  14. console.log(this.frtAnalogData);
  15. console.log(1111111111);
  16. this.initChart();
  17. console.log("this.arr");
  18. console.log(this.arr);
  19. console.log("this.arr");
  20. });
  21. },
  22. beforeUnmount() {
  23. window.removeEventListener("resize", this.chart);
  24. },
  25. methods: {
  26. //次数分布折线图
  27. initChart() {
  28. var chart = echarts.init(this.$refs.distion);
  29. var option;
  30. var arr = [
  31. this.frtAnalogData.heavyLoad,
  32. this.frtAnalogData.easyLoad,
  33. this.frtAnalogData.norMalLoad,
  34. ];
  35. console.log(arr)
  36. option = {
  37. calculable: true,
  38. color: ["#FF5656", "#FFAF38", "#00F4FD"],
  39. series: [
  40. {
  41. name: "漏斗图",
  42. type: "funnel",
  43. left: "10%",
  44. right: "30%",
  45. width: "50%",
  46. top: "0%",
  47. bottom: "0%",
  48. minSize: "0%",
  49. maxSize: "70%",
  50. sort: "ascending",
  51. gap: 10,
  52. label: {
  53. show: true,
  54. // formatter: " {b|{b}} {a|{c}} ",
  55. formatter: function (params) {
  56. console.log("params");
  57. console.log(params);
  58. let a = params.data.name + " ";
  59. let b = params.data.reaVal;
  60. return "{a|" + a + "}" + "{b|" + b + "}";
  61. },
  62. rich: {
  63. a: {
  64. color: "#fff",
  65. fontSize: 12,
  66. },
  67. b: {
  68. color: "rgba(101,166,196,1)",
  69. fontSize: 20,
  70. marginLeft: "10",
  71. fontFamily: "impact",
  72. },
  73. },
  74. },
  75. labelLine: {
  76. length: 60,
  77. lineStyle: {
  78. width: 1,
  79. type: "solid",
  80. },
  81. },
  82. itemStyle: {
  83. //去掉默认白色边框线
  84. borderWidth: 0,
  85. borderColor: "#fff",
  86. },
  87. data: [
  88. {
  89. value: 10,
  90. name: "重载运行",
  91. reaVal: this.frtAnalogData.heavyLoad,
  92. },
  93. {
  94. value: 20,
  95. name: "轻载运行",
  96. reaVal: this.frtAnalogData.easyLoad,
  97. },
  98. {
  99. value: 30,
  100. name: "正常运行",
  101. reaVal: this.frtAnalogData.norMalLoad,
  102. },
  103. ],
  104. },
  105. ],
  106. };
  107. chart.setOption(option);
  108. window.addEventListener("resize", () => {
  109. chart.resize();
  110. });
  111. this.chart = chart;
  112. },
  113. },
  114. };
  115. </script>