yangfeng
2023-12-11 14101bd42ce17dfb9d951d0738abe9d303fb3fe5
src/components/AddIssue.vue
@@ -9,7 +9,7 @@
  >
    <div class="tank-box">
      <div slot="title" class="tac drawerHeader">
        <span class="title-l">新任务</span>
        <span class="title-l">{{messageError?'提示':'新任务'}}</span>
        <!-- <span class="title-r" @click="closeClick">
          <img src="../../public/close.png" />
        </span> -->
@@ -24,17 +24,10 @@
            text-align: left;
          "
        >
          <div class="title-box margin_bottom_13">
            <div class="title-item color_4efefa font_size_20 title-bng">
              当前任务:{{ taskData.Procedure.procedure.procedureName || "" }}
            </div>
            <div class="title-item title-bng color_4efefa font_size_20">
              生产数量:<span style="color:#fff;">{{ taskData.Order.amount || 0 }}</span>
            </div>
          </div>
          <template v-if="messageError">
            <div class="error-t">
              <img src="../../public/error.png" />
              <span v-if="messageError =='下发成功!'"  class="el-icon-success color_success"></span>
              <span  v-else class="el-icon-error color_error"></span>
            </div>
            <div class="error-m">
              {{ messageError }}
@@ -43,10 +36,20 @@
              class="font_size_20 color_fff"
              style="text-align: center; width: 100%; margin: 10px 0"
            >
              请重试
              <span v-if="messageError =='下发成功!'" style="font-size:30px;">{{3-Number(sencond)}}s</span>
              <span v-else>请重试</span>
            </div>
          </template>
          <template v-else>
          <template v-else-if="Object.keys(taskData).length > 0 ">
            <div class="title-box margin_bottom_13">
              <div class="title-item color_4efefa font_size_20 title-bng">
                当前任务:{{ taskData.Procedure.procedure.procedureName || "" }}
              </div>
              <div class="title-item title-bng color_4efefa font_size_20">
                生产数量:<span style="color:#fff;">{{ taskData.Order.amount || 0 }}</span>
              </div>
            </div>
            <div class="title-auto-box">
              <div class="title-box margin_bottom_20">
                <div class="title-item">
@@ -162,19 +165,22 @@
        </div> -->
        </div>
      </div>
      <div slot="footer" class="dialog-footer tac" style="overflow: hidden">
      <div slot="footer" :class="messageError?'dialog-footer tac btn-error':'dialog-footer tac'" style="overflow: hidden">
        <template v-if="messageError">
          <div class="btn"  @click="confirmClick2">
            <img src="../../public/agin.png" />
          <div class="btn" v-if="messageError =='下发成功!'||ArrError"  @click="closeClick">
            <img  src="../../public/close-btn.png" />
          </div>
          <div class="btn" v-else  @click="confirmClick2">
            <img  src="../../public/agin.png" />
          </div>
        </template>
        <template v-else>
          <div class="btn" @click="closeClick">
              <img src="../../public/btn1.png" />
          </div>
          <div class="btn" v-if="showBtn == 1" @click="confirmClick1">
            <img v-if='taskData&&taskData.canStarted' src="../../public/confirm1.png" />
            <img v-else src="../../public/confirm2.png" />
          <div class="btn" v-if="showBtn == 1">
            <div v-if='taskData&&taskData.CanStarted' @click="confirmClick1"><img  src="../../public/confirm1.png" /></div>
            <div v-else><img  src="../../public/confirm2.png" /></div>
          </div>
          <div class="btn" v-if="showBtn == 2">
            <img src="../../public/confirm2.png" />
@@ -223,12 +229,24 @@
        return [];
      },
    },
    ArrError:{
      type: [String],
      default: () => {
        return '';
      },
    },
    safeProduce:{
      type: [String],
      default: () => {
        return '';
      },
    }
    },
    activeName:{
      type: [String,Number],
      default: () => {
        return 1;
      },
    },
  },
  data() {
    return {
@@ -240,6 +258,8 @@
      messageError: "",
      resParams: {},
      isLoading:false,
      sencond:0,
      sencondTimer:null,
    };
  },
  mounted() {
@@ -257,6 +277,12 @@
        this.showBtn = 3;
      }
    },
    sencond(){
      if(this.sencond==3){
        clearInterval(this.sencondTimer);
        this.closeClick()
      }
    },
    islook(){
      if (this.timer) {
        clearInterval(this.timer);
@@ -264,6 +290,10 @@
      this.num = 0;
      this.showBtn=1;
      this.isLoading=false
      this.sencond=0
      this.sencondTimer=null
      this.messageError=''
      this.resParams= {},
      this.$emit('isTip',this.islook)
    },
  },
@@ -290,16 +320,20 @@
    getInfo() {
      // 1 未生产 2生产中 3生产完成
      if (
        Object.keys(this.taskData).length > 0 &&
        this.taskData.Procedure.ID &&
        this.taskData.Procedure.Status == 1
        Object.keys(this.taskData).length > 0 && this.taskData.Procedure.ID &&
          this.taskData.Procedure.Status == 1
      ) {
        this.num = 0;
        this.showBtn = 1;
        this.islook = true;
          this.num = 0;
          this.showBtn = 1;
          this.islook = true;
      } else {
        this.islook = false;
        // this.islook = true;
        //  this.islook = true;
      }
      if(this.ArrError){
        this.messageError=this.ArrError;
      }
      
    },
@@ -374,6 +408,11 @@
      if (res.code == 200) {
        if (this.num == 30) {
          this.messageError = "下发成功!";
          if (!this.sencondTimer) {
            this.sencondTimer = setInterval(() => {
              this.sencond = this.sencond + 1;
            }, 1000);
          }
          clearInterval(this.timer);
          // this.num = 30;
          // this.showBtn = 2;
@@ -382,7 +421,7 @@
          this.num = 0;
          this.showBtn= 1
          this.shutdown();
          this.$emit('getSetProductNumber')
          this.$emit('getSetProductNumber',this.activeName)
          // this.$message.success("下发生产数量成功!");
        }
      } else {
@@ -401,6 +440,12 @@
</script>
<style lang="scss" scoped>
.color_error{
  color:red;
}
.color_success{
  color:green;
}
.tank-box {
  width: 753px;
  height: 728px;
@@ -464,16 +509,16 @@
  }
}
.error-t {
  width: 120px;
  margin: 50px auto 40px;
  img {
    width: 100%;
  width: 100px;
  margin: 100px auto 40px;
  font-size:98px;
  span {
    display: inline-block;
  }
}
.error-m {
  line-height: 35px;
  font-size: 26px;
  font-size: 28px;
  color: #fff;
  margin-bottom: 20px;
  text-align: center;
@@ -487,6 +532,9 @@
::v-deep .el-dialog__body {
  padding: 0 !important;
}
.btn-error{
  bottom:80px!important;
}
.btn {
  width: 150px;
  height: auto;