From 0d4b65b968fdbf59cc9c0b0b2ca2091b4fc6c4ba Mon Sep 17 00:00:00 2001
From: songshankun <songshankun@foxmail.com>
Date: 星期五, 10 十一月 2023 11:50:38 +0800
Subject: [PATCH] feat: 添加获取/设定设备配置接口,添加设备配置弹窗,生产弹窗添加根据配置决定是否允许无工艺参数生产

---
 src/views/visualization.vue |   82 +++++++++++++++++++++++++++++++---------
 1 files changed, 63 insertions(+), 19 deletions(-)

diff --git a/src/views/visualization.vue b/src/views/visualization.vue
index 24b7b59..65eda1a 100644
--- a/src/views/visualization.vue
+++ b/src/views/visualization.vue
@@ -38,6 +38,11 @@
             @click="setUrl"
           ></span>
           <span
+            class="font el-icon-s-tools set-title"
+            style="float: right;margin-right: 6px"
+            @click="openParamsConfigModal"
+          ></span>
+          <span
             style="float: right;margin-right:20px;font-size:28px;line-height:25px;"
             @click="taskClick"
           >
@@ -53,7 +58,7 @@
         >
         <template v-if="taskData">
           <div class="gong-date">
-            宸ュ簭杩愯鏃堕棿锛歿{ getFormatTime(taskData.Procedure.startTime) }}
+            宸ュ簭杩愯鏃堕棿锛歿{ getTaskRunningTime(taskData.Procedure.realStartTime,taskData.Procedure.realEndTime) }}
           </div>
           <div class="statelist">
             <span class="title-item"
@@ -593,6 +598,7 @@
       :listData="listData"
       @updateGet="updateGet"
     />
+    <ParamsConfigModal :visible="paramsConfigIsShow" @close="closeParamsConfigModal"></ParamsConfigModal>
   </div>
 </template>
 
@@ -616,8 +622,10 @@
 import TaskControlModal from "@/components/TaskControlModal.vue";
 import {channelNameConfig} from "@/common/constants";
 import _ from 'lodash'
+import ParamsConfigModal from "@/components/ParamsConfigModal.vue";
 export default {
   components: {
+    ParamsConfigModal,
     TaskControlModal,
     Card,
     Knowledge,
@@ -753,6 +761,7 @@
       resprocInfoTimer:null,
       channelNameConfig: channelNameConfig,
       index:null,
+      paramsConfigIsShow:false
     };
   },
   mounted() {
@@ -902,7 +911,7 @@
               }
             }
             this.resResult[i]=res;
-            console.log( this.resResult[i],'===res111')
+            // console.log( this.resResult[i],'===res111')
           })
         }
       }
@@ -1058,23 +1067,55 @@
       let now = new Date();
       this.formatTime2 = this.getDateObj(now, "yyyy骞碝M鏈坉d鏃�");
     },
-    getFormatTime(date){
-      const getCha=()=>{
-        let now=new Date().getTime()
-        let String=now-date*1000;
-        let seconds=Math.floor(String/1000)
-        let minutes=Math.floor(seconds/60)
-
-        let days=Math.floor(String/1000/60/60/24)
-        let hours=Math.floor(minutes/60)-days*24
-        let m=minutes-days*24*60-hours*60
-        return days+'澶�'+hours+'鏃�'+m+'鍒�'
+    /**
+     * 璁$畻鏃堕棿娈�, 娉ㄦ剰鍙傛暟瑕佹眰鏃堕棿鎴充负 JS Date 鐨�13浣嶆椂闂存埑
+     * @param {number} startTime
+     * @param {number} endTime
+     * @return {string}
+     */
+    calcRunningDuration(startTime,endTime){
+      let timeDuration=endTime-startTime;
+      if (timeDuration<0){
+        return '0澶�0鏃�0鍒�'
       }
-      let d= getCha()
+
+      let seconds=Math.floor(timeDuration/1000)
+      let minutes=Math.floor(seconds/60)
+
+      let days=Math.floor(timeDuration/1000/60/60/24)
+      let hours=Math.floor(minutes/60)-days*24
+      let m=minutes-days*24*60-hours*60
+      return `${days}澶�${hours}鏃�${m}鍒哷
+    },
+
+    /**
+     * 宸ュ簭杩愯鏃堕棿
+     * 鏍规嵁鎺ュ彛杩斿洖 realStartTime realEndTime 鍒ゆ柇濡備綍灞曠ず
+     * 濡傛灉 realEndTime 涓� 0 鍒� 鐢ㄥ綋鍓嶆椂闂� - realStartTime
+     * 濡傛灉 瀛樺湪 realEndTime, 鍒� realEndTime - realStartTime
+     * 娉ㄦ剰 realStartTime realEndTime 鏄帴鍙h繑鍥炵殑10浣嶆椂闂存埑
+     * @param realStartTime
+     * @param realEndTime
+     * @return {string}
+     */
+    getTaskRunningTime(realStartTime,realEndTime){
+      const getInfo = ()=>{
+        if (!realStartTime && !realEndTime){
+          return '--'
+        }
+        if(!realEndTime){
+          const now = Math.floor(new Date().getTime()/1000) * 1000
+          return this.calcRunningDuration(realStartTime*1000,now)
+        }
+
+        return this.calcRunningDuration(realStartTime*1000,realEndTime*1000)
+      }
+
+      let result = getInfo()
       setInterval(() => {
-       d= getCha();
+        result = getInfo();
       }, 6000);
-      return date?d:'--';
+      return result;
     },
     setInterCard(value, name, i) {
       if (this.TasksCopy[i].Procedure.procedure[value]!=null) {
@@ -1300,10 +1341,8 @@
     getProgressInfo() {
       this.resprocInfoTimer=null
       for (let i in this.TasksCopy){
-        if(this.TasksCopy[i].Procedure.ID){
           getProgress({
             channel: Number(i),
-            procedureId: this.TasksCopy[i].Procedure.ID,
           }).then((res) => {
             if (res.code == 200) {
               this.TasksCopy[i].finishNumber = res.data?.finishNumber ?? 0;
@@ -1313,7 +1352,6 @@
             }
             this.resprocInfoTimer=res;
           });
-        }
       }
     },
     // 璁剧疆
@@ -1326,6 +1364,12 @@
         path: "/set",
       });
     },
+    openParamsConfigModal(){
+      this.paramsConfigIsShow=true
+    },
+    closeParamsConfigModal(){
+      this.paramsConfigIsShow=false
+    },
     // 鍙充晶鎺у埗
     controlClick() {
       if (this.Tasks.length > 0) {

--
Gitblit v1.8.0