From 3ed1e1db73f7462186188a3d75970b37170521c5 Mon Sep 17 00:00:00 2001 From: songshankun <songshankun@foxmail.com> Date: 星期日, 08 十月 2023 17:39:10 +0800 Subject: [PATCH] Merge branch 'wn' into songshankun/tasks-pagination --- src/views/visualization.vue | 116 ++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 89 insertions(+), 27 deletions(-) diff --git a/src/views/visualization.vue b/src/views/visualization.vue index a99156d..bb6eb01 100644 --- a/src/views/visualization.vue +++ b/src/views/visualization.vue @@ -124,6 +124,10 @@ </div> </div> <div class="content_right"> + <div class="gif" v-if="taskData.Procedure.ID" @click="processModelClick(taskData)"> + <img v-if="isUpdateIcon" src="../../public/shan.gif" /> + <span v-else class="yuandian"></span> + </div> <el-descriptions :column="(activeName == 1||activeName == 3) ? 2 : 1" :colon="true"> <el-descriptions-item label="浜у搧鍚嶇О">{{ taskData.Order.productName || "--" @@ -507,7 +511,6 @@ <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> @@ -613,7 +616,7 @@ <!-- 宸ヨ壓妯″瀷 --> <ProcessModel ref="processModel" - :processList="processList" + :listData="listData" /> </div> </template> @@ -628,6 +631,7 @@ getProgress, countdown, getTaskUnStarted, + processModelList, } from "@/api/home/index"; // 浜х嚎 import Card from "@/components/Card.vue"; import Knowledge from "../components/Knowledge.vue"; @@ -746,6 +750,7 @@ // 璁板綍瀹氭椂鍣ㄧ姸鎬� procInfoTimer: null, cutdownTimer: null, + ProcessModelTimer: null, TaskCount:0, plcStatus:0, isTipShow:false, @@ -763,16 +768,11 @@ outputMaterials: [], procedureList: [], }, - processList:[ - { - name:'浜у搧1+宸ヨ壓2', - number:'v1.0' - }, - { - name:'浜у搧1+宸ヨ壓2', - number:'v2.0' - } - ] + processList:[], + isUpdateIcon:false, + listData:[], + resResult:null, + resprocInfoTimer:null, }; }, mounted() { @@ -792,6 +792,8 @@ }, beforeDestroy() { clearTimeout(this.pollingTaskCountTimer) + clearTimeout(this.procInfoTimer) + clearTimeout(this.ProcessModelTimer) }, watch:{ // isFinsh(){ @@ -801,6 +803,52 @@ // } }, methods: { + + getModelList(){ + this.resResult=null + for (let i in this.TasksCopy){ + if(this.TasksCopy[i].Procedure.ID&&this.TasksCopy[i].number){ + processModelList({ + procedureId: this.TasksCopy[i].Procedure.ID, + page: 1, + pageSize:6, + number:this.TasksCopy[i].number + }).then(res=>{ + if(res.code==200){ + this.processList=res.data?res.data:[]; + if(this.processList.length>0){ + for(let i in this.processList){ + if(this.processList[i].isUpdate){ + this.isUpdateIcon=true; + break; + } + } + } + } + this.resResult=res; + }) + } + } + }, + processModelClick(list){ + this.listData=list; + if( Object.keys(this.listData).length > 0){ + if(this.listData.Procedure.ID&&this.listData.number){ + this.$refs.processModel.islook=true + return true; + } + } + this.$message.error('褰撳墠宸ュ簭鏃犵紪鍙凤紝鏃犳硶鏌ョ湅宸ュ簭!') + + }, + getProcessModelList(){ + this.getModelList() + if (!this.ProcessModelTimer&&!this.resResult) { + this.ProcessModelTimer = setInterval(() => { + this.getModelList(); + }, 10000) + } + }, mergeProcessParams(params){ if (params?.length){ return params.map(ele=> `${ele.Key}: ${ele.Value}`).join(' ') @@ -1036,6 +1084,7 @@ this.TasksCopy[i].inputMaterials = []; this.TasksCopy[i].outputMaterials = []; this.TasksCopy[i].finishNumber = 0; + this.TasksCopy[i].number=0; this.finishShow['finishShow&'+i]=false this.TasksCopy[i].Procedure.procedure.workers = this.TasksCopy[i].Procedure .procedure.workers @@ -1052,6 +1101,7 @@ if (this.TasksCopy[i].Procedure.ID) { startTask({ id: this.TasksCopy[i].Procedure.ID }).then((res) => { if (res.code == 200) { + this.TasksCopy[i].number=res.data.Number // res.data.number this.TasksCopy[i].procedureList[0].push({ number: res.data.Number, @@ -1066,11 +1116,12 @@ } this.getStartArr() this.getProgressInfo(); - if (!this.procInfoTimer) { + if (!this.procInfoTimer&&!this.resprocInfoTimer) { this.procInfoTimer = setInterval(() => { this.getProgressInfo(); }, 3000); - } + } + this.getProcessModelList(); } // if (res.code != 200 || this.TasksCopy.length == 0) { // this.getcountdown(); @@ -1111,6 +1162,7 @@ }) }, getProgressInfo() { + this.resprocInfoTimer=null for (let i in this.TasksCopy){ if(this.TasksCopy[i].Procedure.ID){ getProgress({ @@ -1123,10 +1175,10 @@ : 0; this.plcStatus=res.data.plcStatus?res.data.plcStatus:0 } + this.resprocInfoTimer=res; }); } } - }, // 璁剧疆 setUrl() { @@ -1417,6 +1469,16 @@ background: #09e5ed !important; color: #333 !important; } +.yuandian { + width: 35px; + height: 35px; + display:inline-block; + // background: #15d815; + background:red; + border-radius: 50%; + // margin-top:-5px; + vertical-align: middle; + } .bottom_list { position: relative; padding: 10px; @@ -1623,6 +1685,18 @@ padding: 0 10px; background: rgb(22 72 173); border-radius: 6px; + position:relative; + .gif{ + position:absolute; + right:15px; + top:10px; + width:35px; + vertical-align: middle; + cursor:pointer; + img{ + width:100%; + } + } // background: #233b9e; .el-descriptions-row{ height:45px; @@ -1863,18 +1937,6 @@ // float:left; display:inline-block; } - } - - .yuandian { - width: 25px; - height: 25px; - line-height: 40px; - margin-top: 12.5px; - display: inline-block; - background: #15d815; - display: block; - border-radius: 50%; - float: right; } } .right-top-m-btn { -- Gitblit v1.8.0