liuying
2025-04-28 0630126012170da25291d55f0a1bd3130e64f434
yiqi_screen/src/components/ProductionStatistics.vue
@@ -1,7 +1,6 @@
<template>
  <!-- 本班/本月产量统计 -->
  <div class="box-container box4" id="echarts4"></div>
</template>
<script>
@@ -25,8 +24,9 @@
  watch: {
    produceStatisData(val) {
      // 测试用:
      val.currentShiftProduceNum = 300;
      val.currentShiftPlanNum = 300;
      // val.currentShiftProduceNum = 280;
      // val.currentShiftPlanNum = 300;
      // 当前班组实际生产数量 currentShiftProduceNum
      // 当前班组计划生产数量 currentShiftPlanNum
      var num1 = val.currentShiftProduceNum; //实际生产数量
@@ -36,15 +36,15 @@
        num1 = 0;
        num2 = 10;
      }
      this.$set(this.option.series[0], "data", [
        // { value: 1 },  //实际生产数量 1/ (9+1) = 10%
        // { value: 9 },
        { value: num1,
        {
          value: num1,
         }, //实际生产数量
        { value: num2 },
        {
          value: num2,
        },
      ]);
      var num3 = val.currentMonthProduceNum;
      var num4 = val.currentMonthPlanNum - val.currentMonthProduceNum;
@@ -67,52 +67,51 @@
    this.option = {
      color: ["#00f6fe", "transparent"],
         // 插入背景图
         graphic: [
        {
          type: "image",
          id: "background1",
          left: "11px", // 根据环形图的位置调整
          top: "59.5px", // 根据环形图的位置调整
          z: -10,
          bounding: "raw",
          origin: [0, 0],
          style: {
            image: require(`@/assets/images/quan.png`), // 第一个环形图的背景图片路径
            width: 100,
            height: 100,
            opacity: 1,
          },
        },
        {
          type: "image",
          id: "background2",
          left: "130px", // 根据环形图的位置调整
          top: "59.5px", // 根据环形图的位置调整
          z: -10,
          bounding: "raw",
          origin: [0, 0],
          style: {
            image: require(`@/assets/images/quan.png`), // 第一个环形图的背景图片路径
            width: 100,
            height: 100,
            opacity: 1,
          },
        },
      ],
      //    graphic: [
      //   {
      //     type: "image",
      //     id: "background1",
      //     left: "13px", // 根据环形图的位置调整
      //     top: "61px", // 根据环形图的位置调整
      //     z: -10,
      //     bounding: "raw",
      //     origin: [0, 0],
      //     style: {
      //       image: require(`@/assets/images/quan.png`), // 第一个环形图的背景图片路径
      //       width: 100,
      //       height: 100,
      //     },
      //   },
      //   {
      //     type: "image",
      //     id: "background2",
      //     left: "131px", // 根据环形图的位置调整
      //     top: "61px", // 根据环形图的位置调整
      //     z: -10,
      //     bounding: "raw",
      //     origin: [0, 0],
      //     style: {
      //       image: require(`@/assets/images/quan.png`), // 第一个环形图的背景图片路径
      //       width: 100,
      //       height: 100,
      //     },
      //   },
      // ],
      series: [
        {
          name: "Access From",
          type: "pie",
          // padAngle: 5, //环与环之间的间隙
          radius: ["30%", "37%"], //环变细
          center: ["26%", "47%"],
          silent: true,clockwise: true,
          radius: ["29%", "36%"], //环变细
          center: ["25%", "49%"],
          // avoidLabelOverlap: false,
          label: {
            show: false,
            position: "center",
            formatter: function (params) {
              return Math.floor(params.percent) + '%'; // 四舍五入到整数
              return params.percent < 1
                ? params.percent + "%"
                : Math.floor(params.percent) + "%"; // 四舍五入到整数
            },
            color: "#fff",
            fontSize: 12,
@@ -126,7 +125,6 @@
              color: "#19d8d0",
              fontWeight: "normal",
            },
          },
          labelLine: {
            show: false,
@@ -143,14 +141,16 @@
          type: "pie",
          // padAngle: 5, //环与环之间的间隙
          // radius: ["25%", "40%"],
          radius: ["30%", "37%"], //环变细
          center: ["74%", "47%"],
          radius: ["29%", "36%"], //环变细
          center: ["74%", "49%"],
          // avoidLabelOverlap: false,
          label: {
            show: false,
            position: "center",
            formatter: function (params) {
              return Math.floor(params.percent) + '%'; // 四舍五入到整数
              return params.percent < 1
                ? params.percent + "%"
                : Math.floor(params.percent) + "%"; // 四舍五入到整数
            },
            color: "#fff",
            fontSize: 12,
@@ -274,35 +274,5 @@
<style>
#echarts4 {
  transform: scaleY(2);
}
.box4::before{
    position: absolute;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    content: "";
    width: 95px;
    height: 47px;
    z-index: -1;
    top: 86px;
    left: 13px;
    transform: scaleY(2);
    border: 1px solid #074d95;
    border-radius: 100%;
}
.box4::after{
  position: absolute;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    content: "";
    width: 95px;
    height: 47px;
    z-index: -1;
    top: 86px;
    left: 132px;
    transform: scaleY(2);
    border: 1px solid #074d95;
    border-radius: 100%;
}
</style>