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 | 494 +++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 353 insertions(+), 141 deletions(-) diff --git a/Monitor-APP/pages/home/home.vue b/Monitor-APP/pages/home/home.vue index d93dea0..7b023e5 100644 --- a/Monitor-APP/pages/home/home.vue +++ b/Monitor-APP/pages/home/home.vue @@ -6,8 +6,8 @@ <text>鏅鸿兘澶у睆鏄剧ず绯荤粺</text> </view> <!-- 鏃ュ巻 --> - <view class="time-tools">{{version}}</view> - <view class="version">褰撳墠鐗堟湰:{{socketUrl}}</view> + <view class="time-tools">{{calendar}}</view> + <view class="version">V:{{version}}</view> <view class="button-left" @click="ejected()"></view> <view class="button-right" @click="ejected()"></view> <!-- 涓昏鍥� --> @@ -157,12 +157,13 @@ </y-box> </view> <view style="height: 2%;"></view> - <view style="height: 18%;"> - <y-box> - <view class="flex-col" style="width: 100%;height: 100%;font-size: 4vh;justify-content: center;letter-spacing: 1vh;"> - 鏅鸿兘澶у睆鏄剧ず绯荤粺 - </view> - </y-box> + <view style="height: 18%;display: flex;justify-content: space-around;align-items: center;"> + <!-- <view style="font-size: 4vh"> + 鑷姩浠撳簱WCS鐩戞帶骞冲彴 + </view> --> + <view style="height: 50%;"> + <image style="height: 100%;" src="../../static/img/logo-bai.png" mode="aspectFit"></image> + </view> </view> </view> </view> @@ -202,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> @@ -265,27 +266,33 @@ </view> </view> <view class="item"> - <view class="desc">port锛�</view> + <view class="desc">Wcsport锛�</view> <view class="input"> <input type="text" v-model="basePort"> + </view> + </view> + <view class="item"> + <view class="desc">WcsUrl锛�</view> + <view class="input"> + <input type="text" v-model="baseUrl"> + </view> + </view> + <view class="item"> + <view class="desc">Wmsport锛�</view> + <view class="input"> + <input type="text" v-model="wmsPort"> + </view> + </view> + <view class="item"> + <view class="desc">WmsUrl锛�</view> + <view class="input"> + <input type="text" v-model="wmsUrl"> </view> </view> <view class="item"> <view class="desc">ledId锛�</view> <view class="input"> <input type="text" v-model="baseLedId"> - </view> - </view> - <view class="item"> - <view class="desc">CrnId锛�</view> - <view class="input"> - <input type="text" v-model="baseCrnId"> - </view> - </view> - <view class="item"> - <view class="desc">Url锛�</view> - <view class="input"> - <input type="text" v-model="baseUrl"> </view> </view> </scroll-view> @@ -296,6 +303,13 @@ </view> </view> </view> + <view> + <!-- 鎻愮ず绐楃ず渚� --> + <uni-popup ref="upVersion" type="dialog"> + <uni-popup-dialog :type="msgType" title="閫氱煡" :content="dialogContent" @confirm="dialogConfirm" + @close="dialogClose"></uni-popup-dialog> + </uni-popup> + </view> <view style="color: #FFF;position: fixed;bottom: 10px;left: 10px;" v-show="timeOut"> 杩炴帴瓒呮椂锛屾鍦ㄩ噸鏂板缓绔嬮摼鎺�:: {{times}} </view> @@ -303,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 { @@ -318,6 +332,10 @@ homeMode: [], infoMode: [], errorInfoMode: [], + needUpdateCharts: false, + viewSwitchTimer: null, // 瑙嗗浘鍒囨崲瀹氭椂鍣� + viewSwitchInProgress: false, // 娣诲姞杩欎竴琛屾潵璺熻釜瑙嗗浘鍒囨崲鐘舵�� + timerIds: [], // 瀛樺偍瀹氭椂鍣↖D baseInfo: { xDistance: 1, yDistance: 2, @@ -378,8 +396,12 @@ socketClient: null, messages: [], version:'', - socketUrl:'' - + socketUrl:'', + msgType: 'success', + filename: '', + dialogContent: '', + wmsUrl:'', + wmsPort:'' } }, @@ -397,11 +419,15 @@ const BasePort = uni.getStorageSync('BasePort'); const BaseCrnId = uni.getStorageSync('BaseCrnId'); const PROJ = uni.getStorageSync('UPROJ'); + const WMSURL = uni.getStorageSync('wmsUrl'); + const WMSPORT = uni.getStorageSync('wmsPort'); that.baseUrl = PROJ that.baseIP = BaseIP that.baseLedId = BaseLedId that.basePort = BasePort that.baseCrnId = BaseCrnId + that.wmsUrl = WMSURL + that.wmsPort = WMSPORT // this.getUrl() }, created() { @@ -411,16 +437,21 @@ const BasePort = uni.getStorageSync('BasePort'); const BaseCrnId = uni.getStorageSync('BaseCrnId'); const PROJ = uni.getStorageSync('UPROJ'); + const WMSURL = uni.getStorageSync('wmsUrl'); + const WMSPORT = uni.getStorageSync('wmsPort'); that.baseUrl = PROJ that.baseIP = BaseIP that.baseLedId = BaseLedId that.basePort = BasePort that.baseCrnId = BaseCrnId + that.wmsUrl = WMSURL + that.wmsPort = WMSPORT that.uniWebSocket(); // that.webSockerInit() }, onLoad() { - setInterval(()=>{ + // 瀛樺偍瀹氭椂鍣↖D浠ヤ究鍚庣画娓呯悊 + const timerId1 = setInterval(()=>{ this.getServerData() // this.initlineChart() // this.initPieChart() @@ -437,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(){ @@ -558,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 @@ -650,15 +703,16 @@ } }) }, - timeOut() { - console.log(this.times); - }, getUrl() { - this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePort + "/" +this.baseUrl + 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() { @@ -816,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 @@ -931,6 +1041,8 @@ uni.setStorageSync('BasePort',this.basePort); uni.setStorageSync('BaseCrnId',this.baseCrnId); uni.setStorageSync('UPROJ',this.baseUrl); + uni.setStorageSync('wmsUrl',this.wmsUrl); + uni.setStorageSync('wmsPort',this.wmsPort); this.getUrl() this.ejectShow = false }, @@ -1042,6 +1154,8 @@ if (res.platform == "android") { that.AndroidCheckUpdate(); } + // that.AndroidCheckUpdate(); + } }) }, @@ -1051,9 +1165,107 @@ plus.runtime.getProperty(plus.runtime.appid, (wgtinfo) => { that.version = wgtinfo.version //瀹㈡埛绔増鏈彿 }) - // setTimeout(()=>{ - // that.getUpdateVersion() - // },100) + setTimeout(()=>{ + that.getUpdateVersion() + },100) + }, + // 鏍¢獙鐗堟湰 + getUpdateVersion() { + let that = this + let type = 1 + if (that.baseUrl == 'http://undefined:undefined/undefined') { + return + } + const wms = 'http://'+ that.baseIP + ':' +that.wmsPort + "/" +that.wmsUrl + console.log(wms) + let url = wms + '/appVersion/checkUpdate/' + that.version + '/' + type + uni.request({ + url: url, + method: 'GET', + success(res) { + console.log(res); + var res = res.data + if (res.data) { + that.filename = res.data.path + that.dialogContent = '鍙戠幇鏂扮増鏈�:' + res.data.version + ', 鏄惁绔嬪嵆鏇存柊' + that.$refs.upVersion.open() + } else { + uni.showToast({ + title: res.msg, + icon: "none", + position: 'top' + }) + } + + } + }) + }, + dialogConfirm() { + this.$refs.upVersion.close() + this.downWgt() + }, + dialogClose() { + this.$refs.upVersion.close() + }, + downWgt() { + let that = this; + const wms = 'http://'+ that.baseIP + ':' +that.wmsPort + "/" +that.wmsUrl + const downloadUrl = wms + "/appVersion/downloadApp/" + that.filename + uni.showLoading({ + title: '鏇存柊涓�︹��' + }) + const downloadTask = uni.downloadFile({ //鎵ц涓嬭浇 + url: downloadUrl, //涓嬭浇鍦板潃 + timeout: 1000 * 30, //30绉掕秴鏃舵椂闂� + success: downloadResult => { //涓嬭浇鎴愬姛 + console.log(downloadResult); + that.showdownLine = false + uni.hideLoading(); + if (downloadResult.statusCode == 200) { + uni.showModal({ + title: '', + content: '鏇存柊鎴愬姛锛岀‘瀹氱幇鍦ㄩ噸鍚悧锛�', + confirmText: '閲嶅惎', + confirmColor: '#EE8F57', + success: function(res) { + if (res.confirm == true) { + plus.runtime.install( //瀹夎 + downloadResult.tempFilePath, { + force: true + }, + function(res) { + utils.showToast('鏇存柊鎴愬姛锛岄噸鍚腑'); + plus.runtime.restart(); + } + ); + } + } + }); + } else { + uni.hideLoading(); + that.showdownLine = false + uni.showToast({ + title:'璇峰厛涓婁紶瀹夎鍖�', + icon: 'error' + }) + } + }, + fail: err => { + uni.hideLoading(); + that.showdownLine = false + that.$u.toast(downloadResult.errMsg) + }, + complete: com => { + + console.log(com) + } + }); + + // 涓嬭浇杩涘害 + downloadTask.onProgressUpdate(res => { + that.downloadNum = res.progress + console.log('涓嬭浇杩涘害' + that.downloadNum); + }); }, } @@ -1228,8 +1440,8 @@ } .version{ position: absolute; - left: 2%; - top: 2%; + left: 1%; + top: 1%; font-size:1vw; transform: scale(0.8); } @@ -1285,8 +1497,8 @@ } .eject{ position: relative; - width: 40vw; - height: 40vh; + width: 45vw; + height: 45vh; background-color: #fff; border-radius: 2rem; } -- Gitblit v1.9.1