haoxuan
2023-09-15 05f3dd19cd55fef61fa89ac9f60f915ef7bd9e07
src/components/AddIssue.vue
@@ -3,16 +3,16 @@
  <el-dialog
    :close-on-click-modal="false"
    :visible.sync="islook"
    width="783px"
    width="753px"
    class="add-event-dialog"
    :show-close="false"
  >
    <div class="tank-box">
      <div slot="title" class="tac drawerHeader">
        <span class="title-l">新任务</span>
        <span class="title-r" @click="closeClick">
        <!-- <span class="title-r" @click="closeClick">
          <img src="../../public/close.png" />
        </span>
        </span> -->
      </div>
      <div class="dialog-content-box">
        <div
@@ -29,7 +29,7 @@
              当前任务:{{ taskData.Procedure.procedure.procedureName || "" }}
            </div>
            <div class="title-item title-bng color_4efefa font_size_20">
              生产数量:<span>{{ taskData.Order.amount || 0 }}</span>
              生产数量:<span style="color:#fff;">{{ taskData.Order.amount || 0 }}</span>
            </div>
          </div>
          <template v-if="messageError">
@@ -69,10 +69,11 @@
                  工时: {{ taskData.Procedure.procedure.workHours || "" }}
                </div>
                <div class="title-item">
                  起止时间: {{ formatDate(taskData.Order.startTime) || "" }}
                  计划时间: {{ formatDate(taskData.Order.startTime) || "" }}
                  -
                  {{ formatDate(taskData.Order.endTime) }}
                </div>
                <div class="title-item">
                  客户名称:{{ taskData.Order.customer || "" }}
                </div>
@@ -110,28 +111,40 @@
              <div
                style="
                  color: red;
                  font-size: 16px;
                  font-size: 26px;
                  width: 100%;
                  text-align: center;
                  font-weight: 700;
                  margin-bottom: 20px;
                  margin-top: 10px;
                  margin-bottom: 15px;
                  line-height:35px;
                "
                :class="showBtn == 3&&isLoading?'margin-top-10px':'margin-top-40px'"
              >
              <template v-if="showBtn == 2">
                  <div class="gif">
                    <img  src="../../public/shan.gif" />
                  </div>
                </template>
                <template v-if="showBtn == 3&&!isLoading">
                  <div class="gif">
                    <span class="yuandian"></span>
                  </div>
                </template>
                {{ message }}
              </div>
              <div class="progress-item">
                <span>{{ parseInt((num / 60) * 100) }}%</span>
                <el-progress
                  style="width: calc(100% - 50px); float: right"
                  define-back-color="#CDC6C6"
                  color="#00cc66"
                  text-color="#fff"
                  :text-inside="true"
                  :stroke-width="20"
                  :percentage="parseInt((num / 60) * 100)"
                ></el-progress>
              </div>
              <template v-if="showBtn == 3&&isLoading">
                <div class="progress-item">
                    <span>{{ parseInt((num / 60) * 100) }}%</span>
                    <el-progress
                      style="width: calc(100% - 50px); float: right"
                      define-back-color="#CDC6C6"
                      color="#00cc66"
                      text-color="#fff"
                      :text-inside="true"
                      :stroke-width="20"
                      :percentage="parseInt((num / 60) * 100)"
                    ></el-progress>
                </div>
              </template>
            </div>
          </template>
@@ -149,9 +162,11 @@
          </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 src="../../public/confirm3.png" />
            <img src="../../public/confirm1.png" />
          </div>
          <div class="btn" v-if="showBtn == 2">
            <img src="../../public/confirm2.png" />
@@ -165,9 +180,6 @@
            <i class="el-icon-loading icon-loading" v-if="isLoading"/>
            <img src="../../public/confirm1.png" />
          </div>
          <div class="btn" @click="closeClick">
              <img src="../../public/btn1.png" />
          </div>
        </template>
      </div>
      <!-- <ErrorIssue ref="error" :messageError="messageError" @shutdown="shutdown"/> -->
@@ -178,7 +190,6 @@
<script>
import {
  startTask,
  setProductNumber,
  sendProcessParams,
} from "@/api/home/index"; // 产线
// import ErrorIssue from "@/components/ErrorIssue";
@@ -229,10 +240,20 @@
        this.showBtn = 3;
      }
    },
    islook(){
      if (this.timer) {
        clearInterval(this.timer);
      }
      this.num = 0;
      this.showBtn=1;
      this.isLoading=false
      this.$emit('isTip',this.islook)
    },
  },
  methods: {
    confirmClick2() {
      this.messageError = "";
      this.isLoading=false;
    },
    confirmClick1() {
      this.num = 0;
@@ -262,6 +283,7 @@
        this.islook = false;
        // this.islook = true;
      }
    },
    getDateObj(date, fmt) {
      if (/(y+)/.test(fmt)) {
@@ -305,7 +327,7 @@
    onSubmit() {
      
      if (this.taskData.Procedure.ID) {
        (this.message = "参数下发中..."), (this.num = 0);
        (this.message = "工艺参数下发中..."), (this.num = 0);
        this.timer = setInterval(() => {
          this.num = this.num + 1;
          if (this.num == 60 || this.resParams) {
@@ -317,13 +339,10 @@
          return true;
        }
        this.isLoading=true;
          sendProcessParams({ id: this.taskData.Procedure.ID }).then((res) => {
            console.log(res,'====res')
          sendProcessParams({ procedureId: this.taskData.Procedure.ID,position: Number(this.taskData.Position), }).then((res) => {
            if (res.code == 200) {
              setProductNumber().then((res) => {
                this.resParams = res;
                this.isLoading=false;
              });
              this.resParams = res;
              this.isLoading=false;
            } else {
              this.isLoading=false;
              this.resParams = res;
@@ -366,15 +385,22 @@
<style lang="scss" scoped>
.tank-box {
  width: 783px;
  height: 630px;
  width: 753px;
  height: 728px;
  background: url("../../public/tank.png") no-repeat center center / cover;
  position: relative;
  .dialog-footer {
    position: absolute;
    bottom: 30px;
    width:94%;
    bottom: 25px;
    width:100%;
    text-align:center;
  }
}
.margin-top-10px{
  margin-top:10px;
}
.margin-top-40px{
  margin-top:40px;
}
.color_4efefa {
  color: #4efefa !important;
@@ -389,10 +415,10 @@
  margin-bottom: 13px;
}
.title-box {
  width: calc(100% - 160px);
  width: calc(100% - 140px);
  height: auto;
  overflow: hidden;
  padding:0 80px;
  padding:0 70px;
  .title-item {
    width: 45%;
    float: left;
@@ -447,7 +473,6 @@
.btn {
  width: 150px;
  height: auto;
  float: right;
  display: inline-block;
  position:relative;
  img {
@@ -540,15 +565,41 @@
  width: 100%;
}
.dialog-content-box {
  height: calc(100% - 200px);
  height: calc(100% - 190px);
  // overflow: hidden;
  padding: 20px 0px 20px;
  padding: 20px 0px 10px;
  .el-form {
    overflow: hidden;
  }
  .title-auto-box {
    height: calc(100% - 150px);
    height: calc(100% - 160px);
    overflow: auto;
    width:calc(100% - 140px);
    margin: 0 auto;
    background:#0E246A;
    .title-box{
      padding:0 10px;
      width:calc(100% - 20px);
    }
  }
  .gif{
    width:35px;
    margin:0 auto;
    display:inline-block;
    vertical-align: middle;
    img{
      width:100%;
    }
    .yuandian {
        width: 35px;
        height: 35px;
        display: inline-block;
        // background: #15d815;
        background:red;
        border-radius: 50%;
        margin-top:-5px;
        vertical-align: middle;
      }
  }
  .progress-item {
    width: 55%;
@@ -583,7 +634,7 @@
    width:25%;
    float:left;
    margin-left:30px;
    font-size: 27px;
    font-size: 25px;
    color: #fff;
    height: 3.2vw;
    line-height: 4.5vw;