yangfeng
2023-12-05 27fa305bf0c3a4405366a966c28b4d32203106b8
src/views/cockpitPage/index.vue
@@ -21,13 +21,16 @@
      <WorkOrderProgress :table-data="workOrderData"></WorkOrderProgress>
    </template>
    <template #leftBlock6>
      <PerSonnelProductivity></PerSonnelProductivity>
      <PerSonnelProductivity
        ref="leftBlock6"
        :chartData="perSonnelChartData"
      ></PerSonnelProductivity>
    </template>
    <template #rightBlock1>
      <DeviceChart ref="rightBlock1" :chartData="deviceChartData"></DeviceChart>
    </template>
    <template #rightBlock2>
      <MaterialChart></MaterialChart>
      <MaterialChart :chartData="materialChartData"></MaterialChart>
    </template>
    <template #rightBlock3>
      <BarChart></BarChart>
@@ -88,12 +91,21 @@
      },
      // 工单进度统计
      workOrderData: [],
      // 人员生产效率
      perSonnelChartData: {
        datax: [],
        datay: [],
      },
      // 设备负荷对比
      deviceChartData: {
        datax: [],
        datay: [],
      },
      dataindex: 0,
      // 物料需求统计
      materialChartData: {
        datax: [],
        datay: [],
      },
    };
  },
  mounted() {
@@ -105,25 +117,31 @@
  watch: {},
  methods: {
    async getDashboard() {
      await getDashboard().then((res) => {
        console.log(res);
        // 左上数值统计数据
        this.setLeftBlock1(res.data);
        // 机器开机率数据
        this.setleftBlock2(res.data);
        //  左中数据统计值
        this.setLeftBlock3(res.data);
        // 订单完成比率
        this.setLeftBlock4(res.data);
        // 工单进度统计
        this.setLeftBlock5(res.data);
        // 设备负荷对比
        this.setRightBlock1(res.data);
      }).finally(()=>{
        setTimeout(()=>{
          this.getDashboard()
        },30000)
      });
      await getDashboard()
        .then((res) => {
          console.log(res);
          // 左上数值统计数据
          this.setLeftBlock1(res.data);
          // 机器开机率数据
          this.setleftBlock2(res.data);
          //  左中数据统计值
          this.setLeftBlock3(res.data);
          // 订单完成比率
          this.setLeftBlock4(res.data);
          // 工单进度统计
          this.setLeftBlock5(res.data);
          // 人员生效效率比 人员技能
          this.setLeftBlock6(res.data);
          // 设备负荷对比
          this.setRightBlock1(res.data);
          // 物料需求统计
          this.setRightBlock2(res.data);
        })
        .finally(() => {
          setTimeout(() => {
            this.getDashboard();
          }, 30000);
        });
    },
    // 处理左上数据
    setLeftBlock1(data) {
@@ -220,6 +238,25 @@
      });
      this.workOrderData = list;
    },
    // 人员生效效率比 人员技能
    setLeftBlock6(data) {
      this.perSonnelChartData.datax = [];
      this.perSonnelChartData.datay = [];
      data.PersonnelProductivity.map((item) => {
        this.perSonnelChartData.datax.push(item.Name);
        this.perSonnelChartData.datay.push(parseFloat(item.Value));
      });
      console.log(this.perSonnelChartData.datay);
      // 人员技能饼图
      let chartData2 = [];
      chartData2 = data.WorkerTypeStats.map((item) => {
        return {
          name: item.Name,
          value: parseFloat(item.Value),
        };
      });
      this.$refs.leftBlock6.getChartRight("chart2", chartData2);
    },
    // 设备负荷对比
    setRightBlock1(data) {
      this.deviceChartData.datax = [];
@@ -228,7 +265,15 @@
        this.deviceChartData.datax.push(item.Name);
        this.deviceChartData.datay.push(parseFloat(item.Value));
      });
      // this.$refs.rightBlock1.pieChart("chart", this.deviceChartData);
    },
    // 物料需求统计
    setRightBlock2(data) {
      this.materialChartData.datax = [];
      this.materialChartData.datay = [];
      data.MaterialRequirement.map((item) => {
        this.materialChartData.datax.push(item.Name);
        this.materialChartData.datay.push(parseFloat(item.Value));
      });
    },
  },
};