From a6c049ce564fe10a83b6f1759035a8c2803c6e18 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期一, 25 九月 2023 15:37:12 +0800
Subject: [PATCH] 看板的 获取任务接口变更, 新任务获取变更,计划时间格式修改

---
 src/components/AddIssue.vue |  207 ++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 145 insertions(+), 62 deletions(-)

diff --git a/src/components/AddIssue.vue b/src/components/AddIssue.vue
index 41c8c49..bbd2bfa 100644
--- a/src/components/AddIssue.vue
+++ b/src/components/AddIssue.vue
@@ -3,16 +3,16 @@
   <el-dialog
     :close-on-click-modal="false"
     :visible.sync="islook"
-    width="700px"
+    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,47 @@
               <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'"
               >
+              <div class="gif-box" v-if="showBtn == 2||(showBtn == 3&&!isLoading)">
+                <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>
+                <div class="gif-right">
+                  ----- 鍓╀綑鏃堕棿 -----
+                  <span>00:00:{{30 - Number(num)<10?0:''}}{{ 30 - Number(num) }}</span>
+                </div>
+              </div>
                 {{ 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 / 30) * 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 / 30) * 100)"
+                    ></el-progress>
+                </div>
+              </template>
             </div>
           </template>
 
@@ -145,13 +165,16 @@
       <div slot="footer" class="dialog-footer tac" style="overflow: hidden">
         <template v-if="messageError">
           <div class="btn"  @click="confirmClick2">
-            <img src="../../public/confirm3.png" />
+            <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 src="../../public/confirm3.png" />
+            <img v-if='taskData&&taskData.canStarted' src="../../public/confirm1.png" />
+            <img v-else src="../../public/confirm2.png" />
           </div>
           <div class="btn" v-if="showBtn == 2">
             <img src="../../public/confirm2.png" />
@@ -163,10 +186,8 @@
             @click="onSubmit()"
           >
             <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" />
+            <img src="../../public/loading.png"  v-if="isLoading"/>
+            <img src="../../public/confirm3.png" v-if="!isLoading"/>
           </div>
         </template>
       </div>
@@ -178,7 +199,6 @@
 <script>
 import {
   startTask,
-  setProductNumber,
   sendProcessParams,
 } from "@/api/home/index"; // 浜х嚎
 // import ErrorIssue from "@/components/ErrorIssue";
@@ -203,6 +223,12 @@
         return [];
       },
     },
+    safeProduce:{
+      type: [String],
+      default: () => {
+        return '';
+      },
+    }
   },
   data() {
     return {
@@ -210,34 +236,46 @@
       showBtn:1,
       num: 0,
       timer: null,
-      message: "璇风‘璁ょ敓浜у畨鍏紒",
+      message: this.safeProduce,
       messageError: "",
       resParams: {},
       isLoading:false,
     };
   },
   mounted() {
+    this.message=this.safeProduce;
     this.getInfo();
   },
   watch: {
     taskData(val) {
+      this.message=this.safeProduce;
       this.getInfo();
     },
     num() {
-      if (this.num == 60) {
+      if (this.num == 30) {
         clearInterval(this.timer);
         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;
       this.showBtn = 2;
-      (this.message = "璇风‘璁ょ敓浜у畨鍏紒"),
+      (this.message = this.safeProduce),
         (this.timer = setInterval(() => {
           this.num = this.num + 1;
         }, 1000));
@@ -250,6 +288,7 @@
       this.shutdown();
     },
     getInfo() {
+      // 1 鏈敓浜� 2鐢熶骇涓� 3鐢熶骇瀹屾垚
       if (
         Object.keys(this.taskData).length > 0 &&
         this.taskData.Procedure.ID &&
@@ -262,6 +301,7 @@
         this.islook = false;
         // this.islook = true;
       }
+      
     },
     getDateObj(date, fmt) {
       if (/(y+)/.test(fmt)) {
@@ -295,7 +335,7 @@
     formatDate(value) {
       if (value) {
         const now = value ? new Date(value * 1000) : new Date();
-        let time = this.getDateObj(now, "yyyy-MM-dd");
+        let time = this.getDateObj(now, "MM-dd hh:mm");
         return time;
       } else {
         return "";
@@ -303,13 +343,12 @@
     },
 
     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) {
-            this.num = 60;
+          if (this.num == 30 || this.resParams) {
+            this.num = 30;
             this.getCode(this.resParams);
           }
         }, 1000);
@@ -317,13 +356,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;
@@ -336,12 +372,12 @@
     },
     getCode(res) {
       if (res.code == 200) {
-        if (this.num == 60) {
+        if (this.num == 30) {
           this.messageError = "涓嬪彂鎴愬姛锛�";
           clearInterval(this.timer);
-          // this.num = 60;
+          // this.num = 30;
           // this.showBtn = 2;
-          this.message = "璇风‘璁ょ敓浜у畨鍏紒";
+          this.message = this.safeProduce;
 
           this.num = 0;
           this.showBtn= 1
@@ -352,9 +388,9 @@
       } else {
         this.messageError = res.msg ? res.msg : "鎶辨瓑锛屽伐搴忎笅鍙戝け璐ワ紒";
         clearInterval(this.timer);
-        this.num = 60;
+        this.num = 30;
         this.showBtn = 2;
-        this.message = "璇风‘璁ょ敓浜у畨鍏紒";
+        this.message =this.safeProduce;
       }
     },
     shutdown() {
@@ -366,15 +402,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 +432,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,18 +490,17 @@
 .btn {
   width: 150px;
   height: auto;
-  float: right;
   display: inline-block;
   position:relative;
   img {
     width: 100%;
   }
   .icon-loading{
-    font-size:19px;
+    font-size:32px;
     color:#333;
     position:absolute;
-    line-height:3.4;
-    left:15%;
+    line-height:2.0;
+    left:38%;
   }
   &:nth-of-type(1) {
     // margin-right: 30px;
@@ -540,15 +582,56 @@
   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% - 220px);
     overflow: auto;
+    width:calc(100% - 140px);
+    margin: 0 auto; 
+    background:#0E246A;
+    .title-box{
+      padding:0 10px;
+      width:calc(100% - 20px);
+    }
+  }
+  .gif-box{
+    width:230px;
+    margin:0 auto;
+    margin-bottom:5px;
+    .gif-right{
+      width:210px;
+      font-size:14px;
+      color:#fff;
+      line-height:28px;
+      span{
+        font-weight: 700;
+        font-size:18px;
+      }
+    }
+  }
+  .gif{
+    width:55px;
+    vertical-align: middle;
+    float:left;
+    margin-right:20px;
+    img{
+      width:100%;
+    }
+    .yuandian {
+        width: 55px;
+        height: 55px;
+        float:left;
+        // background: #15d815;
+        background:red;
+        border-radius: 50%;
+        // margin-top:-5px;
+        vertical-align: middle;
+      }
   }
   .progress-item {
     width: 55%;
@@ -583,7 +666,7 @@
     width:25%;
     float:left;
     margin-left:30px;
-    font-size: 27px;
+    font-size: 25px;
     color: #fff;
     height: 3.2vw;
     line-height: 4.5vw;

--
Gitblit v1.8.0