index.vue 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <template>
  2. <div ref="echartD"></div>
  3. </template>
  4. <script>
  5. import * as echarts from "echarts";
  6. import "echarts-liquidfill";
  7. export default {
  8. props: {
  9. dataMap: { type: Number, default: () => 0 },
  10. },
  11. data() {
  12. return {
  13. // wordcloud:wordcloud
  14. };
  15. },
  16. watch: {
  17. dataMap(val) {
  18. this.getData(val);
  19. },
  20. },
  21. mounted() {
  22. this.getData();
  23. },
  24. methods: {
  25. getData() {
  26. let dataMap = [this.dataMap, this.dataMap, this.dataMap, this.dataMap];
  27. echarts.init(this.$refs.echartD).setOption({
  28. series: [
  29. {
  30. type: "liquidFill",
  31. data: dataMap,
  32. direction: "left",
  33. radius: "75%",
  34. center: ["50%", "50%"],
  35. backgroundStyle: {
  36. borderWidth: 5,
  37. borderColor: "#73FBFD",
  38. color: "rgb(255,255,255,0)",
  39. },
  40. label: {
  41. normal: {
  42. formatter: "",
  43. fontSize: "0.175rem",
  44. fontFamily: "syhtN",
  45. },
  46. },
  47. outline: {
  48. itemStyle: {
  49. borderColor: "#034748",
  50. borderWidth: 13,
  51. },
  52. borderDistance: 0,
  53. },
  54. },
  55. ],
  56. });
  57. },
  58. resize() {
  59. echarts.init(this.$refs.echartD).resize();
  60. },
  61. },
  62. };
  63. </script>
  64. <style scoped></style>