From c17dd616160da6b1d177dd34f35e47f986ba2f3c Mon Sep 17 00:00:00 2001
From: songshankun <songshankun@foxmail.com>
Date: 星期二, 21 十一月 2023 10:43:40 +0800
Subject: [PATCH] fix: 切换到没有任务的设备后重置设备数
---
src/views/visualization.vue | 109 +++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 86 insertions(+), 23 deletions(-)
diff --git a/src/views/visualization.vue b/src/views/visualization.vue
index 3e5f353..48cb2ba 100644
--- a/src/views/visualization.vue
+++ b/src/views/visualization.vue
@@ -4,8 +4,9 @@
<!-- v-if="Tasks&&Tasks.length>0" -->
<template >
<div class="left">
- <p class="title">
- <template v-if="Number(ChannelAmount)>1">
+ <div class="title">
+ <div class="dashboard-channels">
+ <template v-if="Number(ChannelAmount)>1">
<span
class="font set-title"
style="float: left; margin-right: 15px;"
@@ -16,36 +17,48 @@
<img style="width:32px;" src="../../public/one.png" />
</span>
</span>
- <span class="font set-title" style="float: left;margin-right: 15px;" @click="cutClick(2)">
+ <span class="font set-title" style="float: left;margin-right: 15px;" @click="cutClick(2)">
<img style="width:32px;" v-if="activeName == 2" src="../../public/two-blue.png" />
<img style="width:32px;" v-else src="../../public/two.png" />
</span>
- <span
- class="font set-title"
- style="float: left;"
- @click="cutClick(3)"
- >
+ <span
+ class="font set-title"
+ style="float: left;"
+ @click="cutClick(3)"
+ >
<img style="width:32px;" v-if="activeName == 3" src="../../public/right-blue.png" />
<span v-else>
<img style="width:32px;" src="../../public/right.png" />
</span>
</span>
- </template>
- 鏅鸿兘宸ヤ綔鍙�
- <span
- class="font el-icon-setting set-title"
- style="float: right"
- @click="setUrl"
- ></span>
- <span
- style="float: right;margin-right:20px;font-size:28px;line-height:25px;"
- @click="taskClick"
- >
+ </template>
+ </div>
+ <div class="dashboard-title">
+ 鏅鸿兘宸ヤ綔鍙� 鈥� {{currentDeviceName}}
+
+ <i @click="showDeviceModal=true" class="el-icon" style="font-size: 26px; height: 32px; color: #0db7f5; margin-left: 20px; cursor: pointer;"><svg data-v-c3da359e="" viewBox="0 0 24 24" width="1.2em" height="1.2em"><path fill="currentColor" d="M13 5h9v2h-9zM2 7h7v2h2V3H9v2H2zm7 10h13v2H9zm10-6h3v2h-3zm-2 4V9.012h-2V11H2v2h13v2zM7 21v-6H5v2H2v2h3v2z"></path></svg></i>
+ </div>
+ <div class="dashboard-btn">
+ <span
+ class="font el-icon-setting set-title"
+ style="float: right"
+ @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"
+ >
<el-badge :value="TaskCount" :class="(TaskCount==0||isTipShow)?'item color_666':'item color_fff'">
<i class="el-icon-chat-dot-round" />
</el-badge>
</span>
- </p>
+ </div>
+ </div>
<div
:class="(activeName == 1||activeName == 3) ? 'active-one' : 'active-two'"
v-for="(taskData, index) in Tasks"
@@ -593,6 +606,8 @@
:listData="listData"
@updateGet="updateGet"
/>
+ <ParamsConfigModal :visible="paramsConfigIsShow" @close="closeParamsConfigModal"></ParamsConfigModal>
+ <DeviceSelectModal :visible.sync="showDeviceModal" @should-reload="reloadAllData"></DeviceSelectModal>
</div>
</template>
@@ -616,8 +631,13 @@
import TaskControlModal from "@/components/TaskControlModal.vue";
import {channelNameConfig} from "@/common/constants";
import _ from 'lodash'
+import ParamsConfigModal from "@/components/ParamsConfigModal.vue";
+import DeviceSelectModal from "@/components/DeviceSelectModal.vue";
+import {mapActions, mapGetters, mapState} from "vuex";
export default {
components: {
+ DeviceSelectModal,
+ ParamsConfigModal,
TaskControlModal,
Card,
Knowledge,
@@ -627,6 +647,7 @@
},
data() {
return {
+ showDeviceModal:false,
pollingTaskCountTimer: null,
activeName: 1,
progress: 70, //杩涘害
@@ -753,6 +774,7 @@
resprocInfoTimer:null,
channelNameConfig: channelNameConfig,
index:null,
+ paramsConfigIsShow:false
};
},
mounted() {
@@ -773,6 +795,7 @@
this.activeName = channelType
this.getTaskInfo(channelType);
this.getTaskCountStatistics()
+ this.getDeviceInfo()
},
beforeDestroy() {
clearTimeout(this.pollingTaskCountTimer)
@@ -787,6 +810,8 @@
// }
},
computed:{
+ ...mapState(['deviceInfo']),
+ ...mapGetters(['currentDeviceName']),
displayPLCStatus(){
let PLCStatus = []
if (this.activeName===1){
@@ -803,6 +828,13 @@
}
},
methods: {
+ ...mapActions(["getDeviceInfo"]),
+ reloadAllData(){
+ console.log(1)
+ this.getTaskInfo(this.activeName);
+ this.getTaskCountStatistics()
+ this.getDeviceInfo()
+ },
newTaskPlaceholder(channel){
return {
Order: {},
@@ -911,12 +943,11 @@
this.listData=list;
this.index=index
if( Object.keys(this.listData).length > 0){
- if(this.listData.Procedure.ID&&this.listData.number){
+ if(this.listData.Procedure.ID){
this.$refs.processModel.islook=true
return true;
}
}
- this.$message.error('褰撳墠宸ュ簭鏃犵紪鍙凤紝鏃犳硶鏌ョ湅宸ュ簭!')
},
getProcessModelList(){
this.getModelList()
@@ -1154,6 +1185,8 @@
getTaskInfo({taskMode:1}).then((res) => {
if (res.code === 200&&res.data) {
this.TaskCount=res.data?.TaskCount ?? 0
+ }else {
+ this.TaskCount = 0
}
},err=>{
this.TaskCount = 0
@@ -1258,7 +1291,12 @@
}
this.getProcessModelList();
this.getStartArr()
- this.cutClick(val?val:1)
+ if(this.ChannelAmount===1){
+ this.cutClick(1)
+ }else{
+ this.cutClick(val?val:1)
+ }
+
if(info=='new'){
return true;
}
@@ -1269,6 +1307,12 @@
this.getProgressInfo();
}, 3000);
}
+ }else{
+ this.TaskCount = 0
+ const allChannels = [0,1];
+ allChannels.forEach(channel => this.TasksCopy.push(this.newTaskPlaceholder(channel)))
+ this.TasksCopy.sort((a,b)=>a.Channel - b.Channel)
+ this.cutClick(1)
}
// if (res.code != 200 || this.TasksCopy.length == 0) {
// this.getcountdown();
@@ -1280,6 +1324,12 @@
// }
// }
+ },err=>{
+ console.error(err)
+ const allChannels = [0,1];
+ allChannels.forEach(channel => this.TasksCopy.push(this.newTaskPlaceholder(channel)))
+ this.TasksCopy.sort((a,b)=>a.Channel - b.Channel)
+ this.cutClick(1)
});
// this.TasksCopy.push(this.object)
// this.TasksCopy.push(this.object)
@@ -1354,6 +1404,12 @@
this.$router.push({
path: "/set",
});
+ },
+ openParamsConfigModal(){
+ this.paramsConfigIsShow=true
+ },
+ closeParamsConfigModal(){
+ this.paramsConfigIsShow=false
},
// 鍙充晶鎺у埗
controlClick() {
@@ -1832,6 +1888,9 @@
padding: 30px;
padding-top: 20px;
.title {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
font-size: 30px;
font-weight: 600;
height:40px;
@@ -2314,4 +2373,8 @@
display: none;
}
}
+.dashboard-title{
+ display: flex;
+ align-items: center;
+}
</style>
--
Gitblit v1.8.0