From 4209bc06d421d24342d4ea138e4df5592b1e95c4 Mon Sep 17 00:00:00 2001 From: haoxuan <haoxuan> Date: 星期二, 19 九月 2023 11:26:57 +0800 Subject: [PATCH] 任务数 点击出 弹框 增加statu的判断 --- src/views/visualization.vue | 191 ++++++++++++++++++++++++++++++++++------------- 1 files changed, 137 insertions(+), 54 deletions(-) diff --git a/src/views/visualization.vue b/src/views/visualization.vue index b0763dc..21d26be 100644 --- a/src/views/visualization.vue +++ b/src/views/visualization.vue @@ -1,8 +1,8 @@ <template> <div class="home"> - <!-- v-if="Object.keys(taskData).length > 0 && taskData.Procedure.ID" --> - <template> + <!-- --> + <template v-if="Tasks&&Tasks.length>0"> <div class="left"> <p class="title"> <span @@ -27,7 +27,7 @@ style="float: right;margin-right:20px;font-size:28px;line-height:25px;" @click="taskClick" > - <el-badge :value="TaskCount" :class="TaskCount==0?'item color_666':'item color_fff'"> + <el-badge :value="TaskCount" :class="(TaskCount==0||isTipShow)?'item color_666':'item color_fff'"> <i class="el-icon-chat-dot-round" /> </el-badge> </span> @@ -37,6 +37,7 @@ v-for="(taskData, index) in Tasks" :key="index" > + <template v-if="taskData"> <div class="gong-date"> 宸ュ簭杩愯鏃堕棿锛歿{ getFormatTime(taskData.Procedure.startTime) }} </div> @@ -44,13 +45,13 @@ <span class="title-item" >宸ュ崟缂栧彿: <span class="color_4efefa">{{ - taskData.Order.workOrderId || "" + taskData.Order.workOrderId || "--" }}</span> </span> <span class="title-item" >褰撳墠宸ュ簭: <span class="color_4efefa">{{ - taskData.Procedure.procedure.procedureName || "" + taskData.Procedure.procedure.procedureName || "--" }}</span> </span> <span class="title-item" @@ -74,15 +75,15 @@ </span> </span> --> </div> - <div class="gongx" v-if="taskData.AllProcedures"> - <el-steps :active="taskData.CurrentProcedureIndex?taskData.CurrentProcedureIndex:0" finish-status="success" class="steps"> + <div class="gongx"> + <el-steps v-if="taskData.AllProcedures" :active="taskData.CurrentProcedureIndex?taskData.CurrentProcedureIndex:0" finish-status="success" class="steps"> <el-step icon="" :title="item" v-for="(item,index) in taskData.AllProcedures" :key="index"></el-step> </el-steps> </div> <div class="content"> <div class="content_left"> <div class="content-top"> - <div class="small_title">褰撳墠瀹屾垚</div> + <div class="small_title">鍔犲伐鏁�</div> <div class="content_leftBttom"> <dl> <dd @@ -95,7 +96,7 @@ </div> </div> <div class="content-top"> - <div class="small_title">姝e搧鐢熶骇</div> + <div class="small_title">鐩爣鏁�</div> <div class="content_leftBttom"> <dl> <dd @@ -152,8 +153,10 @@ ? parseInt( (taskData.finishNumber / taskData.Order.amount) * 100 - ) - : 0 + )>100?100:parseInt( + (taskData.finishNumber / taskData.Order.amount) * + 100 + ): 0 " ></el-progress> </el-descriptions-item> @@ -244,8 +247,16 @@ > <template v-if="list.name == '宸ュ簭'"> <div class="card_content"> - <div class="card_contentLeft color_blue"> - {{ list.deviceName }} + <div class="card_contentLeft color_blue font_dian"> + <!-- {{ list.deviceName }} --> + <el-tooltip + effect="dark" + popper-class="tooltip-width-200" + :content="list.deviceName" + placement="top-start" + > + <span>{{ list.deviceName }}</span> + </el-tooltip> <!-- <span style="float: right">6m/s</span> --> </div> </div> @@ -274,7 +285,11 @@ (taskData.finishNumber / taskData.Order.amount) * 100 - ) + )>100?100:parseInt( + (taskData.finishNumber / + taskData.Order.amount) * + 100 + ) : 0 " :show-text="false" @@ -293,8 +308,8 @@ <!-- <div class="card_content"> </div> --> - <div class="card_top-4"> - <div>宸ヨ壓缂栧彿锛歿{ list.number }}</div> + <div :class="activeName==1?'card_top-4 font_size_20px':'card_top-4'"> + <div>宸ヨ壓缂栧彿锛�<div >{{ list.number }}</div></div> <!-- <div style=" font-size: 14px; @@ -417,6 +432,13 @@ > </div> </div> + </template> + <!-- 2涓换鍔$殑鏃跺�欙紝绗簩涓换鍔′负绌虹殑鏃跺�欐樉绀� --> + <template + v-if="activeName == 2 &&(!taskData||Object.keys(taskData).length==0)" + > + <el-empty description="鏆傛棤浠诲姟..."></el-empty> + </template> </div> </div> <div class="right"> @@ -471,9 +493,12 @@ style="font-size: 20px; font-weight: 600; margin-right: 10px" >{{ item.workerName || "" }}</span > - <span>{{ item.phoneNum || "" }}</span> + <!-- <span>{{ item.phoneNum || "" }}</span> --> + <span class="color_yellow"><i class="el-icon-star-on" /><i class="el-icon-star-on" /><i class="el-icon-star-on" /><i class="el-icon-star-on" /><i class="el-icon-star-on" /></span> </dl> + </div> + <!-- <div style=" width: 100%; @@ -498,8 +523,8 @@ </div> </div> </template> - <!-- v-else --> - <template> + <!-- --> + <template v-else> <div class="home-img-box"> <div class="bg-title"> <img src="../../public/bg-title.png" /> @@ -539,6 +564,7 @@ :taskData="taskData" :Order="taskData.Order" @getSetProductNumber="getTaskInfo" + @isTip="isTip" /> </div> </template> @@ -665,6 +691,7 @@ cutdownTimer: null, TaskCount:0, plcStatus:1, + isTipShow:false, }; }, mounted() { @@ -684,10 +711,21 @@ methods: { taskClick(){ if(this.TaskCount>0){ - this.$refs.control.islook=true + for(let i in this.Tasks){ + if(this.Tasks[i].Procedure.Status==1){ + this.isTipShow=false + break; + } + } + if(!this.isTipShow){ + this.$refs.control.islook=true + } }else{ this.$message.error('鐩墠娌℃湁浠诲姟锛�') } + }, + isTip(val){ + this.isTipShow=val }, cutClick(val) { this.activeName = val; @@ -829,7 +867,14 @@ }, inputMaterials: [], outputMaterials: [], - procedureList: [], + procedureList: [ + // [ + // { + // name:"宸ュ簭", + // deviceName:'1111dhafjdhajkhf jkdahjkf鎵撴硶鍗冲彲鎵撻枊閺堟帴鑲痉鍩哄晩鐪嬩締jdad澶ч浜笢鍗¤�佸徃鏈虹暘绐犲�掕嚰寮�浜嗘埧閲戦樋濂庣鍗佸叚灞婂弽棣堟媺寰锋柉鍩簁鎵撳崱鏈洪樋鐝傞檮浠舵墦寮�浜嗙偣鍑婚樋閲屽崱鍑忚偉鐨勫崱鎷夎兌寮�浜嗘埧澶ц涓婂厠闅唂k鍟﹀ぇ瀹堕槻绌洪浄閬旀暩鎿氱湅i' + // }, + // ] + ], }; this.Tasks = []; getTaskInfo({ page: 1, pageSize: this.activeName }).then((res) => { @@ -841,16 +886,9 @@ }) } this.Tasks = res.data.Tasks ? res.data.Tasks : []; + this.TaskCount=res.data.TaskCount?res.data.TaskCount:0 this.workers=res.data.workers?res.data.workers:[] - if (this.Tasks.length == 0) { - if (this.activeName == 1) { - this.Tasks.push(object); - } else { - this.Tasks.push(object); - this.Tasks.push(object); - } - } for (let i in this.Tasks) { this.Tasks[i].procedureList = []; this.Tasks[i].inputMaterials = []; @@ -891,6 +929,16 @@ }, 9000); } } + // else{ + // if (this.Tasks.length == 0) { + // if (this.activeName == 1) { + // this.Tasks.push(object); + // } else { + // this.Tasks.push(object); + // this.Tasks.push(object); + // } + // } + // } if (res.code != 200 || this.Tasks.length == 0) { this.getcountdown(); // 鎺у埗閲嶆柊璇锋眰getTaskInfo, 鍙紑鍚竴涓畾鏃跺櫒 @@ -901,6 +949,9 @@ } } }); + + // this.Tasks.push(object) + // this.Tasks.push(object) }, getStartArr(){ for (let i in this.Tasks) { @@ -913,17 +964,19 @@ }, getProgressInfo() { for (let i in this.Tasks){ - getProgress({ - position: Number(i), - procedureId: this.Tasks[i].Procedure.ID, - }).then((res) => { - if (res.code == 200) { - this.Tasks[i].finishNumber = res.data.finishNumber - ? res.data.finishNumber - : 0; - this.plcStatus=res.data.plcStatus?res.data.plcStatus:1 - } - }); + if(this.Tasks[i].Procedure.ID){ + getProgress({ + position: Number(i), + procedureId: this.Tasks[i].Procedure.ID, + }).then((res) => { + if (res.code == 200) { + this.Tasks[i].finishNumber = res.data.finishNumber + ? res.data.finishNumber + : 0; + this.plcStatus=res.data.plcStatus?res.data.plcStatus:1 + } + }); + } } }, @@ -975,6 +1028,21 @@ </script> <style lang="scss"> +.tooltip-width-200{ + width:200px; + line-height:1.3!important; +} +.color_yellow{ + color:yellow; +} +.el-empty{ + height:100%; + .el-empty__description p{ + font-size:16px!important; + color:#fff!important; + } +} + .active-one { width: 100%; height: calc(100% - 100px); @@ -990,6 +1058,9 @@ .bottom { height: calc(100% - 410px); } + .font_size_20px{ + font-size:20px!important; + } } .active-two { width: calc(50% - 10px); @@ -1002,6 +1073,7 @@ box-sizing: border-box; border-right: 1px solid #eee; } + .small_title { margin-bottom: 30px; } @@ -1195,7 +1267,7 @@ // float:left; .bottom-title { font-weight: 600; - font-size: 22px; + font-size: 20px; height: 30px; line-height: 30px; margin-bottom: 5px; @@ -1244,9 +1316,10 @@ .el-carousel__container{ overflow-y:auto; } - // .el-carousel__item{ - // min-height:116px; - // } + .el-carousel__item{ + // height:auto; + min-height:160px; + } } } @@ -1313,11 +1386,12 @@ align-content: center; justify-content: space-around; align-items: center; + overflow:hidden; .title-item { - width: calc(33.333% - 50px); + width: calc((100% - 50px)/3); float: left; margin-right: 10px; - padding: 15px 20px; + padding: 10px 5px; text-align: center; border-radius: 4px; display: inline-block; @@ -1409,7 +1483,7 @@ // border: 1px solid #ccc; background: #6b83ff; border-radius: 5px; - margin-top: 20px; + margin-top: 10px; color: #333; position: relative; .card_top-2, @@ -1463,8 +1537,6 @@ color: #fff; font-size: 12px; line-height: 45px; - float: left; - > div { margin-left: 12px; position: relative; @@ -1476,15 +1548,20 @@ } } } + .card_top{ + float: left; + } .card_top-4 { width: calc(100% - 20px); - padding: 0 10px; - height: 70px; - - line-height: 70px; + padding: 10px 10px; color: #fff; background: rgb(19, 35, 90); - font-size: 20px; + font-size: 14px; + height:50px; + line-height: 25px; + >div{ + margin-left:0px; + } } .card-info-box { position: absolute; @@ -1511,6 +1588,12 @@ border-radius: 5px 5px 0 0; background: rgb(19, 35, 90); } + .font_dian{ + -webkit-box-orient:vertical; + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; + } .card_contentRight { width: 100%; -- Gitblit v1.8.0