haoxuan
2023-09-27 ecfe4aaabcc876eb91a1fa6248fe75f4c810b8e2
src/views/visualization.vue
@@ -1,8 +1,8 @@
<template>
  <div class="home">
    <!--  -->
    <template v-if="Tasks&&Tasks.length>0">
    <!-- v-if="Tasks&&Tasks.length>0" -->
    <template >
      <div class="left">
        <p class="title">
          <template v-if="Number(ChannelAmount)>1">
@@ -312,7 +312,7 @@
                      </div>
                      <div class="card_top-2">
                        <div style="line-height: 45px; text-align: center">
                          生产中
                          {{ taskData.Procedure.Status==3?'生产完成':'生产中' }}
                        </div>
                        <!-- <span class="card-top-r-t">完成进度:50%</span>
                          <span class="card-top-r-b">12月28日 08:24</span> -->
@@ -344,7 +344,9 @@
              ></p>
              <div class="right-small-btn bottom-box-btn">
                <el-button type="primary"> 打印</el-button>
                <el-button v-if="taskData.Procedure.Status==3" type="primary" class="huise"> 完成</el-button>
                <el-popover
                 v-else
                  placement="top-end"
                  width="160"
                  class="button-finish"
@@ -447,12 +449,25 @@
        <div class="right-top-m">
          设备状态:
          <!-- 1断开2生产3待机 -->
          <span style="position: relative"
           v-if="plcStatus" >
            <img v-if="plcStatus == 1" src="../../public/duan.png" />
            <img v-else src="../../public/lian.png" />
            <!-- <span class="yuandian"></span> -->
            {{ plcStatus==1?'断开':(plcStatus==2?'生产中':'待机') }}
          <span style="position: relative" v-if="plcStatus" >
            <el-popover
              v-if="plcStatus == 1&&plcNotConnected"
              width="180"
              :content="plcNotConnected"
              placement="top-end"
              trigger="click"
            >
              <span slot="reference">
                <img  src="../../public/duan.png" />
                断开
              </span>
            </el-popover>
            <span v-else>
              <img  v-if="plcStatus == 1&&!plcNotConnected"  src="../../public/duan.png" />
              <img  v-else src="../../public/lian.png" />
              <!-- <span class="yuandian"></span> -->
              {{ plcStatus==1?'断开':(plcStatus==2?'生产中':'待机') }}
            </span>
          </span>
        </div>
        <div class="right-top-m-btn">
@@ -512,7 +527,7 @@
      </div>
    </template>
    <!--  -->
    <template v-else>
    <!-- <template v-else>
      <div class="home-img-box">
        <div class="bg-title">
          <img src="../../public/bg-title.png" />
@@ -543,7 +558,7 @@
        </div>
      </div>
      
    </template>
    </template> -->
    <!-- 控制的弹框 -->
    <AddControl ref="control" :Arr="Arr" />
    <!-- 控制的弹框 -->
@@ -686,6 +701,8 @@
      isTipShow:false,
      // isFinsh:0,
      safeProduce:'',
      // 设备断开的原因
      plcNotConnected:'',
      ChannelAmount:0,
    };
  },
@@ -716,7 +733,11 @@
        this.getStartArr()
        this.$refs.control.islook=true
      }else{
        this.$message.error('目前没有任务!')
        this.$message({
          message:'目前没有任务!',
          type: 'error',
          duration: 3 * 1000
        })
      }
    },
    isTip(val){
@@ -891,7 +912,7 @@
      };
      this.Tasks = [];
      this.TasksCopy=[]
      getTaskInfo({  }).then((res) => {
      getTaskInfo({taskMode:2}).then((res) => {
        if (res.code == 200&&res.data) {
          let arr=[]
          if(res.data.Tasks){
@@ -902,6 +923,7 @@
          this.activeName=1;
          this.TasksCopy = res.data.Tasks ? res.data.Tasks : [];
          this.safeProduce=res.data.Prompt.safeProduce?res.data.Prompt.safeProduce:''
          this.plcNotConnected=res.data.Prompt.plcNotConnected?res.data.Prompt.plcNotConnected:''
          this.ChannelAmount=res.data.ChannelAmount?res.data.ChannelAmount:1
          // if(this.ChannelAmount>1 &&this.TasksCopy.length<2){
          //   this.TasksCopy.push(object)
@@ -958,15 +980,15 @@
                }, 3000);
          }
        }
        if (res.code != 200 || this.TasksCopy.length == 0) {
          this.getcountdown();
          // 控制重新请求getTaskInfo, 只开启一个定时器
          if (!this.cutdownTimer) {
            this.cutdownTimer = setInterval(() => {
              this.getcountdown();
            }, 60000);
          }
        }
        // if (res.code != 200 || this.TasksCopy.length == 0) {
        //   this.getcountdown();
        //   // 控制重新请求getTaskInfo, 只开启一个定时器
        //   if (!this.cutdownTimer) {
        //     this.cutdownTimer = setInterval(() => {
        //       this.getcountdown();
        //     }, 60000);
        //   }
        // }
        this.cutClick(1)
      });
      // this.TasksCopy.push(object)
@@ -980,7 +1002,7 @@
      //       break;
      //   }
      // }
      getTaskUnStarted({page:1,pageSize:1}).then(res=>{
      getTaskInfo({taskMode:1}).then(res=>{
        if(res.code==200){
          this.taskData=res.data.Tasks?res.data.Tasks[0]:{};
          if (this.taskData.Procedure.ID) {
@@ -1402,6 +1424,15 @@
      border: 0;
    }
  }
  .huise{
    width: 46%;
    float: right;
  }
  .huise.el-button--primary {
      background: #CCE8E8;
      color: #AAAAAA;
      border: 0;
    }
}
.home {
  width: 100%;