From ab478c5acee01dc7fcd319c5715fc38b8342219c Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期三, 02 七月 2025 16:44:21 +0800 Subject: [PATCH] #优化 --- Monitor-APP/pages/home/home.vue | 307 ++++++++++++++++++++++++++++++++------------------ 1 files changed, 197 insertions(+), 110 deletions(-) diff --git a/Monitor-APP/pages/home/home.vue b/Monitor-APP/pages/home/home.vue index 99effb3..7b023e5 100644 --- a/Monitor-APP/pages/home/home.vue +++ b/Monitor-APP/pages/home/home.vue @@ -7,7 +7,7 @@ </view> <!-- 鏃ュ巻 --> <view class="time-tools">{{calendar}}</view> - <view class="version">褰撳墠鐗堟湰:{{version}}</view> + <view class="version">V:{{version}}</view> <view class="button-left" @click="ejected()"></view> <view class="button-right" @click="ejected()"></view> <!-- 涓昏鍥� --> @@ -203,10 +203,10 @@ vertical 婊戝姩鏂瑰悜鏄惁涓虹旱鍚� display-multiple-items 鍚屾椂鏄剧ず鐨勬粦鍧楁暟閲� --> <swiper class="swiper-body-main" vertical="true" - display-multiple-items="2" + display-multiple-items="1" circular="true" :autoplay="true" :interval="3000" :duration="2000"> <swiper-item class="swiper-item" v-for="(item,i) in swiperList" :key="i"> - <view style="width: 30%;">{{i+1}} / {{swiperList.length}}</view> + <view style="width: 100%;">{{i+1}} / {{swiperList.length}}</view> <!-- <view style="width: 30%;">鏂欏彿: {{item.matnr}}</view> --> <view style="width: 50%; font-size: 3vw;">鐗╂枡缂栫爜: {{item.matnr}}</view> <view style="width: 50%; font-size: 3vw;">鍚嶇О: {{item.maknx}}</view> @@ -317,9 +317,9 @@ </template> <!-- {"msg":"鎿嶄綔鎴愬姛","code":200,"data":[{"title":"鍏ㄦ澘鍑哄簱","workNo":7460,"staNo":110,"sourceStaNo":null,"locNo":null,"sourceLocNo":"0807102","matDtos":[{"matNo":"50460834","maknx":"200x60妗岄潰","count":26.0}],"emptyMk":false,"ioType":101}]} --> <script> - import demodata from '@/mockdata/demodata.json'; + import ycqdata from '@/pages/index/data.json'; - import {WebSocketClient} from "@/static/js/WebSocketClient" + import WebSocketUtil from './uniWebSocket'; let socket; export default { @@ -332,6 +332,10 @@ homeMode: [], infoMode: [], errorInfoMode: [], + needUpdateCharts: false, + viewSwitchTimer: null, // 瑙嗗浘鍒囨崲瀹氭椂鍣� + viewSwitchInProgress: false, // 娣诲姞杩欎竴琛屾潵璺熻釜瑙嗗浘鍒囨崲鐘舵�� + timerIds: [], // 瀛樺偍瀹氭椂鍣↖D baseInfo: { xDistance: 1, yDistance: 2, @@ -446,7 +450,8 @@ // that.webSockerInit() }, onLoad() { - setInterval(()=>{ + // 瀛樺偍瀹氭椂鍣↖D浠ヤ究鍚庣画娓呯悊 + const timerId1 = setInterval(()=>{ this.getServerData() // this.initlineChart() // this.initPieChart() @@ -463,28 +468,48 @@ // 娴嬭瘯鐢� },1000) + this.timerIds.push(timerId1) - setInterval(()=> { + const timerId2 = setInterval(()=> { setTimeout(()=>{ plus.runtime.restart(); },100) },1000*60*60*4) - - // setInterval(()=> { - // setTimeout(()=>{ - // var time = new Date(); - // var hh = time.getHours(); - // var mm = time.getMinutes(); - // if(hh > this.oldHours && mm >this.oldMin && this.oldMin - mm < 55){ - // plus.runtime.restart(); - // } - // if(mm >this.oldMin && mm - this.oldMin >2){ - // plus.runtime.restart(); - // } - // },100) + this.timerIds.push(timerId2) + //瀹夊崜鍐呭瓨鍗犵敤鎵撳嵃 + // setInterval(() => { + // plus.android.importClass('android.os.Debug'); + // const mem = plus.android.invoke( + // 'android.os.Debug', + // 'getNativeHeapAllocatedSize' + // ) / 1048576; + // console.log(mem.toFixed(1)) - // },1000*30) + // }, 2000) + + }, + onUnload() { + // 娓呯悊鎵�鏈夊畾鏃跺櫒 + this.timerIds.forEach(id => clearInterval(id)) + this.timerIds = [] + }, + beforeDestroy() { + // 娓呯悊WebSocket杩炴帴 + if (this.socketClient) { + this.socketClient.close() + this.socketClient = null + } + + // 娓呯悊鎵�鏈夊畾鏃跺櫒 + this.timerIds.forEach(id => clearInterval(id)) + this.timerIds = [] + + // 娓呯悊瑙嗗浘鍒囨崲瀹氭椂鍣� + if (this.viewSwitchTimer) { + clearTimeout(this.viewSwitchTimer) + this.viewSwitchTimer = null + } }, methods: { uniWebSocket(){ @@ -584,6 +609,8 @@ showDate(data){ const that = this if(data.type === "default"){ + // 璁剧疆鏍囪锛岃〃绀烘暟鎹凡鏇存柊锛岄渶瑕侀噸鏂版覆鏌撳浘琛� + that.needUpdateCharts = true that.chartsData.Pie.series[0].data = data.pie that.baseInfo.stockCount = data.stockCunt that.baseInfo.emptyCount = data.emptyCount @@ -680,8 +707,12 @@ this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePort + "/" +this.baseUrl }, getServerData() { - this.chartsDataLine1=JSON.parse(JSON.stringify(this.chartsData.Line)) - this.chartsDataPie2=JSON.parse(JSON.stringify(this.chartsData.Pie)) + // 鍙湪鏁版嵁鍙樺寲鏃舵墠杩涜娣辨嫹璐� + if (this.needUpdateCharts) { + this.chartsDataLine1=JSON.parse(JSON.stringify(this.chartsData.Line)) + this.chartsDataPie2=JSON.parse(JSON.stringify(this.chartsData.Pie)) + this.needUpdateCharts = false + } }, // 鑾峰彇閿欒淇℃伅 getInfo2() { @@ -839,91 +870,147 @@ }, // 鎺у埗鍣� controller() { - switch(this.infoType) { - // 鏈変俊鎭� 浣� 娌℃湁閿欒淇℃伅 - case 0: - if (this.errorInfoViewShow) { - this.errorInfoViewShow = false - this.errorInfoMode = ['fade', 'slide-bottom'] - setTimeout(()=>{ - this.homeViewShow = true - this.homeMode = ['fade', 'slide-bottom'] - },1000) - } else if (this.infoViewShow) { - this.infoViewShow = false - this.infoMode = ['fade', 'slide-bottom'] - setTimeout(()=>{ - this.homeViewShow = true - this.homeMode = ['fade', 'slide-bottom'] - },1000) - } else if (this.errorInfoViewShow && this.infoViewShow) { - this.errorInfoViewShow = false - this.infoViewShow = false - this.infoMode = ['fade', 'slide-bottom'] - setTimeout(()=>{ - this.homeViewShow = true - this.homeMode = ['fade', 'slide-bottom'] - },1000) - } - return; - case 1: - if (this.homeViewShow) { - this.homeViewShow = false - this.homeMode = ['fade', 'slide-bottom'] - setTimeout(()=>{ - this.infoViewShow = true - this.infoMode = ['fade', 'slide-bottom'] - },1000) - } else if (this.errorInfoViewShow) { - this.errorInfoViewShow = false - this.errorInfoMode = ['fade', 'slide-bottom'] - setTimeout(()=>{ - this.infoViewShow = true - this.infoMode = ['fade', 'slide-bottom'] - },1000) - } - - return; - // 鏈変俊鎭� 涓� 鏈夐敊璇俊鎭� - case 2: - if (this.homeViewShow) { - this.homeViewShow = false - this.homeMode = ['fade', 'slide-bottom'] - setTimeout(()=>{ - this.errorInfoViewShow = true - this.errorInfoMode = ['fade', 'slide-bottom'] - },1000) - } else if (this.infoViewShow) { - this.infoViewShow = false - this.infoMode = ['fade', 'slide-bottom'] - setTimeout(()=>{ - this.errorInfoViewShow = true - this.errorInfoMode = ['fade', 'slide-bottom'] - },1000) - } - return; - // 鏈変俊鎭� 涓� 鏈夐敊璇俊鎭� - case 3: - if (this.homeViewShow) { - this.homeViewShow = false - this.homeMode = ['fade', 'slide-bottom'] - setTimeout(()=>{ - this.errorInfoViewShow = true - this.errorInfoMode = ['fade', 'slide-bottom'] - },1000) - } else if (this.infoViewShow) { - this.infoViewShow = false - this.infoMode = ['fade', 'slide-bottom'] - setTimeout(()=>{ - this.errorInfoViewShow = true - this.errorInfoMode = ['fade', 'slide-bottom'] - },1000) - } - return; - - } - - }, + // 濡傛灉瑙嗗浘鍒囨崲姝e湪杩涜涓紝涓嶈涓柇 + if (this.viewSwitchInProgress) { + return; + } + + // 娓呴櫎涔嬪墠鐨勮鍥惧垏鎹㈠畾鏃跺櫒 + if (this.viewSwitchTimer) { + clearTimeout(this.viewSwitchTimer) + this.viewSwitchTimer = null + } + + switch(this.infoType) { + // 鏈変俊鎭� 浣� 娌℃湁閿欒淇℃伅 + case 0: + if (this.errorInfoViewShow) { + this.viewSwitchInProgress = true; + this.errorInfoViewShow = false + this.errorInfoMode = ['fade', 'slide-bottom'] + this.viewSwitchTimer = setTimeout(()=>{ + this.homeViewShow = true + this.homeMode = ['fade', 'slide-bottom'] + // 璁剧疆鍙︿竴涓畾鏃跺櫒鏉ラ噸缃繘琛屼腑鏍囧織 + setTimeout(() => { + this.viewSwitchInProgress = false; + }, 1000); + },1000) + } else if (this.infoViewShow) { + this.viewSwitchInProgress = true; + this.infoViewShow = false + this.infoMode = ['fade', 'slide-bottom'] + this.viewSwitchTimer = setTimeout(()=>{ + this.homeViewShow = true + this.homeMode = ['fade', 'slide-bottom'] + // 璁剧疆鍙︿竴涓畾鏃跺櫒鏉ラ噸缃繘琛屼腑鏍囧織 + setTimeout(() => { + this.viewSwitchInProgress = false; + }, 1000); + },1000) + } else if (this.errorInfoViewShow && this.infoViewShow) { + this.viewSwitchInProgress = true; + this.errorInfoViewShow = false + this.infoViewShow = false + this.infoMode = ['fade', 'slide-bottom'] + this.viewSwitchTimer = setTimeout(()=>{ + this.homeViewShow = true + this.homeMode = ['fade', 'slide-bottom'] + // 璁剧疆鍙︿竴涓畾鏃跺櫒鏉ラ噸缃繘琛屼腑鏍囧織 + setTimeout(() => { + this.viewSwitchInProgress = false; + }, 1000); + },1000) + } + return; + case 1: + if (this.homeViewShow) { + this.viewSwitchInProgress = true; + this.homeViewShow = false + this.homeMode = ['fade', 'slide-bottom'] + this.viewSwitchTimer = setTimeout(()=>{ + this.infoViewShow = true + this.infoMode = ['fade', 'slide-bottom'] + // 璁剧疆鍙︿竴涓畾鏃跺櫒鏉ラ噸缃繘琛屼腑鏍囧織 + setTimeout(() => { + this.viewSwitchInProgress = false; + }, 1000); + },1000) + } else if (this.errorInfoViewShow) { + this.viewSwitchInProgress = true; + this.errorInfoViewShow = false + this.errorInfoMode = ['fade', 'slide-bottom'] + this.viewSwitchTimer = setTimeout(()=>{ + this.infoViewShow = true + this.infoMode = ['fade', 'slide-bottom'] + // 璁剧疆鍙︿竴涓畾鏃跺櫒鏉ラ噸缃繘琛屼腑鏍囧織 + setTimeout(() => { + this.viewSwitchInProgress = false; + }, 1000); + },1000) + } + + return; + // 鏈変俊鎭� 涓� 鏈夐敊璇俊鎭� + case 2: + if (this.homeViewShow) { + this.viewSwitchInProgress = true; + this.homeViewShow = false + this.homeMode = ['fade', 'slide-bottom'] + this.viewSwitchTimer = setTimeout(()=>{ + this.errorInfoViewShow = true + this.errorInfoMode = ['fade', 'slide-bottom'] + // 璁剧疆鍙︿竴涓畾鏃跺櫒鏉ラ噸缃繘琛屼腑鏍囧織 + setTimeout(() => { + this.viewSwitchInProgress = false; + }, 1000); + },1000) + } else if (this.infoViewShow) { + this.viewSwitchInProgress = true; + this.infoViewShow = false + this.infoMode = ['fade', 'slide-bottom'] + this.viewSwitchTimer = setTimeout(()=>{ + this.errorInfoViewShow = true + this.errorInfoMode = ['fade', 'slide-bottom'] + // 璁剧疆鍙︿竴涓畾鏃跺櫒鏉ラ噸缃繘琛屼腑鏍囧織 + setTimeout(() => { + this.viewSwitchInProgress = false; + }, 1000); + },1000) + } + return; + // 鏈変俊鎭� 涓� 鏈夐敊璇俊鎭� + case 3: + if (this.homeViewShow) { + this.viewSwitchInProgress = true; + this.homeViewShow = false + this.homeMode = ['fade', 'slide-bottom'] + this.viewSwitchTimer = setTimeout(()=>{ + this.errorInfoViewShow = true + this.errorInfoMode = ['fade', 'slide-bottom'] + // 璁剧疆鍙︿竴涓畾鏃跺櫒鏉ラ噸缃繘琛屼腑鏍囧織 + setTimeout(() => { + this.viewSwitchInProgress = false; + }, 1000); + },1000) + } else if (this.infoViewShow) { + this.viewSwitchInProgress = true; + this.infoViewShow = false + this.infoMode = ['fade', 'slide-bottom'] + this.viewSwitchTimer = setTimeout(()=>{ + this.errorInfoViewShow = true + this.errorInfoMode = ['fade', 'slide-bottom'] + // 璁剧疆鍙︿竴涓畾鏃跺櫒鏉ラ噸缃繘琛屼腑鏍囧織 + setTimeout(() => { + this.viewSwitchInProgress = false; + }, 1000); + },1000) + } + return; + + } + +}, // 涓诲睆骞� handle(type) { this.homeViewShow = !this.homeViewShow @@ -1353,8 +1440,8 @@ } .version{ position: absolute; - left: 2%; - top: 2%; + left: 1%; + top: 1%; font-size:1vw; transform: scale(0.8); } -- Gitblit v1.9.1