From a08153a89ec03508ed964fe8ca6847942532d485 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期五, 15 八月 2025 16:56:03 +0800 Subject: [PATCH] # --- Monitor-APP/pages/home/home.vue | 997 ++++++++++++++++++++++------------------------------------ 1 files changed, 374 insertions(+), 623 deletions(-) diff --git a/Monitor-APP/pages/home/home.vue b/Monitor-APP/pages/home/home.vue index 1409115..e28a24d 100644 --- a/Monitor-APP/pages/home/home.vue +++ b/Monitor-APP/pages/home/home.vue @@ -18,54 +18,63 @@ <view class="box-item"> <text class="item-title">鏅鸿兘澶у睆鏄剧ず绯荤粺</text> <text class="item-subTitle">Intelligent LargeScreen Display System</text> - </view> + </view> <view class="box-item"> <text class="item-title">浠撳簱鏁版嵁</text> <text class="item-subTitle">warehouse data</text> - <view class="img-box"> + <view class="img-box"> <!-- swiper 涓�浜涜鏄� circular 鏄惁閲囩敤琛旀帴婊戝姩锛屽嵆鎾斁鍒版湯灏惧悗閲嶆柊鍥炲埌寮�澶� vertical 婊戝姩鏂瑰悜鏄惁涓虹旱鍚� display-multiple-items 鍚屾椂鏄剧ず鐨勬粦鍧楁暟閲� --> - - <view style="width: 100%;display: flex;" v-for="(item,i) in locList" :key="i"> - - <view style="display: flex; justify-content: center;align-items: center;width: 48%; font-size: 1.3vw;">鐗╂枡鐮�: {{item.matnr}}</view> - <view style="display: flex; justify-content: center;align-items: center;width: 48%; font-size: 1.3vw;">鏁伴噺: {{item.matnrCount}}</view> - - - - </view> - - - + + <view style="width: 100%;display: flex;" v-for="(item,i) in locList" :key="i"> + + <view + style="display: flex; justify-content: center;align-items: center;width: 48%; font-size: 1.3vw;"> + 鐗╂枡鐮�: {{item.matnr}}</view> + <view + style="display: flex; justify-content: center;align-items: center;width: 48%; font-size: 1.3vw;"> + 鏁伴噺: {{item.matnrCount}}</view> + + + + </view> + + + </view> </view> <view class="box-item"> <view class="flex-row" style="width: 100%;"> <!-- 宸︿晶 --> - <view class="flex-col" style="align-items: flex-start;justify-content: flex-start;"> + <view class="flex-col" + style="align-items: flex-start;justify-content: flex-start;"> <text class="item-title">搴撲綅浣跨敤鐜�</text> <text class="item-subTitle">EQUIPMENT USAGE THIS MONTH</text> </view> <!-- 鍙充晶 --> <view style="margin-left: auto;"> <!-- 鐧惧垎姣� --> - <view class="flex-col" style="align-items: flex-end;justify-content: flex-end;" > + <view class="flex-col" + style="align-items: flex-end;justify-content: flex-end;"> <!-- style="justify-content: flex-end;position: absolute;top: 0;right: 1vw;text-align: right;" --> <text class="item-title">{{baseInfo.usedPr}}%</text> <!-- <text class="item-subTitle">鍚屾瘮涓婃湀 + 5%</text> --> </view> </view> </view> - - <view class="flex-col" style="width: 100%;align-items: flex-start;position: relative;font-size: 1vw"> + + <view class="flex-col" + style="width: 100%;align-items: flex-start;position: relative;font-size: 1vw"> <!-- 杩涘害鏉� --> <view class="flex-row" style="width: 100%;position: relative;margin-top: 5%;"> <view class="progressBar" style="width: 80%;height: 2vw;"> <view class="progress" :style="'width:'+ baseInfo.usedPr + '%'"></view> </view> - <view style="position: absolute;bottom: 0;right: 0;font-size: 2.5vw;color: #FF5722;;">{{baseInfo.used}}</view> + <view + style="position: absolute;bottom: 0;right: 0;font-size: 2.5vw;color: #FF5722;;"> + {{baseInfo.used}}</view> </view> </view> </view> @@ -81,14 +90,16 @@ <view class="box-item"> <view class="flex-row" style="width: 100%;"> <!-- 宸︿晶 --> - <view class="flex-col" style="align-items: flex-start;justify-content: flex-start;"> + <view class="flex-col" + style="align-items: flex-start;justify-content: flex-start;"> <text class="item-title">鍏ュ嚭搴撶粺璁�</text> <text class="item-subTitle">ORDER STATISTICS</text> </view> <!-- 鍙充晶 --> <view style="margin-left: auto;"> <!-- 鐧惧垎姣� --> - <view class="flex-col" style="align-items: flex-end;justify-content: flex-end;" > + <view class="flex-col" + style="align-items: flex-end;justify-content: flex-end;"> <!-- style="justify-content: flex-end;position: absolute;top: 0;right: 1vw;text-align: right;" --> <!-- <text class="item-title">31</text> <text class="item-subTitle">浠婃棩璁㈠崟鏁�</text> --> @@ -96,31 +107,34 @@ </view> </view> <view class="charts-box"> - <qiun-data-charts type="line" :chartData="chartsDataLine1" :echartsH5="true" :echartsApp="true"/> + <qiun-data-charts type="line" :chartData="chartsDataLine1" + :echartsH5="true" :echartsApp="true" /> </view> </view> </y-box> </view> - - + + <!-- null --> <view style="height: 2%;"></view> - - + + <view style="height: 43%;"> <y-box> <view class="box-item"> <view class="flex-row" style="width: 100%;"> <!-- 宸︿晶 --> - <view class="flex-col" style="align-items: flex-start;justify-content: flex-start;"> + <view class="flex-col" + style="align-items: flex-start;justify-content: flex-start;"> <text class="item-title">搴撳瓨绫诲瀷</text> <text class="item-subTitle">INCOME DATE</text> </view> <!-- 鍙充晶 --> <view style="margin-left: auto;"> <!-- 鐧惧垎姣� --> - <view class="flex-col" style="align-items: flex-end;justify-content: flex-end;" > - <text class="item-title">浠婂ぉ</text> + <view class="flex-col" + style="align-items: flex-end;justify-content: flex-end;"> + <text class="item-title">浠婂ぉ</text> <text class="item-subTitle">Today</text> </view> </view> @@ -128,45 +142,55 @@ <view class="flex-row" style="width: 100%;"> <!-- 宸� --> <view class="charts-box-ring"> - <qiun-data-charts type="ring" :opts="{legend:{position:'bottom'}}" :eopts="ringOpts" :chartData="chartsDataPie2" :echartsH5="true" :echartsApp="true"/> + <qiun-data-charts type="ring" :opts="{legend:{position:'bottom'}}" + :eopts="ringOpts" :chartData="chartsDataPie2" :echartsH5="true" + :echartsApp="true" /> </view> <!-- 鍙� --> <view> <view class="flex-row sub-info"> <image src="../../static/g1.png" mode="aspectFit"></image> <view style="width: 8vw;height: 4vw;line-height: 4vw;">鍦ㄥ簱</view> - <view style="width: 8vw;height: 4vw;line-height: 4vw;font-size: 2vw;">{{baseInfo.stockCount}}</view> + <view + style="width: 8vw;height: 4vw;line-height: 4vw;font-size: 2vw;"> + {{baseInfo.stockCount}}</view> </view> <view class="flex-row sub-info" style="margin-top: 2vh;"> <image src="../../static/f1.png" mode="aspectFit"></image> <view style="width: 8vw;height: 4vw;line-height: 4vw;">绌哄簱</view> - <view style="width: 8vw;height: 4vw;line-height: 4vw;font-size: 2vw;">{{baseInfo.emptyCount}}</view> + <view + style="width: 8vw;height: 4vw;line-height: 4vw;font-size: 2vw;"> + {{baseInfo.emptyCount}}</view> </view> <view class="flex-row sub-info" style="margin-top: 2vh;"> <image src="../../static/e1.png" mode="aspectFit"></image> <view style="width: 8vw;height: 4vw;line-height: 4vw;">閿佸畾</view> - <view style="width: 8vw;height: 4vw;line-height: 4vw;font-size: 2vw;">{{baseInfo.noneCount}}</view> + <view + style="width: 8vw;height: 4vw;line-height: 4vw;font-size: 2vw;"> + {{baseInfo.noneCount}}</view> </view> </view> </view> </view> - + </y-box> </view> <view style="height: 2%;"></view> - <view style="height: 18%;display: flex;justify-content: space-around;align-items: center;"> + <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> + <image style="height: 100%;" src="../../static/img/logo-bai.png" + mode="aspectFit"></image> </view> </view> </view> </view> </view> </view> - + </view> </uni-transition> <!-- 鍏ㄦ澘/鎷f枡淇℃伅 --> @@ -199,24 +223,23 @@ circular 鏄惁閲囩敤琛旀帴婊戝姩锛屽嵆鎾斁鍒版湯灏惧悗閲嶆柊鍥炲埌寮�澶� vertical 婊戝姩鏂瑰悜鏄惁涓虹旱鍚� display-multiple-items 鍚屾椂鏄剧ず鐨勬粦鍧楁暟閲� --> - <swiper class="swiper-body-main" vertical="true" - display-multiple-items="1" - circular="true" :autoplay="true" :interval="3000" :duration="2000"> + <swiper class="swiper-body-main" vertical="true" 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: 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> <!-- <view style="width: 33%; font-size: 3vw;">鐢熶骇鏃ユ湡: {{item.manuDate}}</view> --> - - + + <view style="width: 50%; font-size: 3vw;">瑙勬牸: {{item.specs}}</view> <view style="width: 50%; font-size: 3vw;">鎵规: {{item.batch}}</view> <view style="width: 50%; font-size: 3vw;">閿�鍞崟鍙�: {{item.orderNo}}</view> <view style="width: 50%; font-size: 3vw;">瀹㈡埛鍚嶇О: {{item.customer}}</view> <view style="width: 33%; font-size: 3vw;">鏁伴噺: {{item.count}}</view> - - + + </swiper-item> </swiper> </view> @@ -237,7 +260,7 @@ <view class="button-left"></view> <view class="button-right"></view> <!-- 涓讳綋 --> - <view class="info-main" > + <view class="info-main"> <view class="info-box"> <y-box> <view class="info-box-text"> @@ -248,7 +271,7 @@ </view> </view> </uni-transition> - + <!-- 鑷畾涔夊脊鍑哄眰 --> <view class="eject-mask" v-show="ejectShow"> <view class="eject"> @@ -267,7 +290,7 @@ <view class="input"> <input type="text" v-model="basePort"> </view> - </view> + </view> <view class="item"> <view class="desc">WcsUrl锛�</view> <view class="input"> @@ -308,7 +331,7 @@ </uni-popup> </view> <view style="color: #FFF;position: fixed;bottom: 10px;left: 10px;" v-show="timeOut"> - 杩炴帴瓒呮椂锛屾鍦ㄩ噸鏂板缓绔嬮摼鎺�:: {{times}} + 杩炴帴瓒呮椂锛屾鍦ㄩ噸鏂板缓绔嬮摼鎺�:: {{times}} </view> </view> </template> @@ -316,7 +339,9 @@ <script> import demodata from '@/mockdata/demodata.json'; import ycqdata from '@/pages/index/data.json'; - import {WebSocketClient} from "@/static/js/WebSocketClient" + import { + WebSocketClient + } from "@/static/js/WebSocketClient" import WebSocketUtil from './uniWebSocket'; let socket; export default { @@ -324,7 +349,7 @@ return { series: [], homeViewShow: true, - infoViewShow: false , + infoViewShow: false, errorInfoViewShow: false, homeMode: [], infoMode: [], @@ -353,7 +378,7 @@ }, duration: 300, calendar: '', - ringOpts:{}, + ringOpts: {}, chartsDataLine1: {}, chartsDataPie2: {}, fontSize: '', @@ -383,19 +408,21 @@ timeOut: false, times: 0, currDate: '', - locList:[], - oldHours:'', - oldMin:'', + locList: [], + oldHours: '', + oldMin: '', socketClient: null, messages: [], - version:'', - socketUrl:'', + version: '', + socketUrl: '', msgType: 'success', filename: '', dialogContent: '', - wmsUrl:'', - wmsPort:'' - + wmsUrl: '', + wmsPort: '', + switchDebounceTimer: null, + viewSwitchInProgress: false + } }, onShow() { @@ -442,8 +469,8 @@ that.uniWebSocket(); // that.webSockerInit() }, - onLoad() { - setInterval(()=>{ + onLoad() { + setInterval(() => { this.getServerData() // this.initlineChart() // this.initPieChart() @@ -458,169 +485,114 @@ this.controller() // this.statisticalModel() // 娴嬭瘯鐢� - - },1000) - - setInterval(()=> { - setTimeout(()=>{ + + }, 1000) + + setInterval(() => { + setTimeout(() => { plus.runtime.restart(); - },100) - - },1000*60*60*4) - + }, 100) + + }, 1000 * 60 * 60 * 4) + // 姣忓皬鏃惰Е鍙戜竴娆″瀮鍦惧洖鏀� const memoryCleanerId = setInterval(() => { - + if (plus.os.name.toLowerCase() === 'android') { // 寮哄埗瑙﹀彂 GC plus.android.importClass('java.lang.System'); plus.android.invoke('java.lang.System', 'gc'); console.log('鎵嬪姩瑙﹀彂 GC'); } - - + + // 娓呯悊涓嶅啀闇�瑕佺殑澶у瀷鏁版嵁瀵硅薄 if (this.oldData && this.oldData.length > 100) { this.oldData = []; } - }, 3000*10); // 姣忓皬鏃舵墽琛屼竴娆� - - // 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) - - // },1000*30) + + }, 30000 * 10); // 姣忓皬鏃舵墽琛屼竴娆� + }, methods: { - uniWebSocket(){ + uniWebSocket() { let that = this; - that.commonUrl = that.baseIP + ':' +that.basePort + "/" +that.baseUrl - that.socketUrl = "ws://"+that.commonUrl+"/led/"+that.baseLedId + that.commonUrl = that.baseIP + ':' + that.basePort + "/" + that.baseUrl + that.socketUrl = "ws://" + that.commonUrl + "/led/" + that.baseLedId // 鍒涘缓WebSocket瀹炰緥 - that.socketClient = new WebSocketUtil(that.socketUrl, { - // 蹇冭烦闂撮殧锛岄粯璁�30绉� - heartbeatInterval: 30000, - // 閲嶈繛闂撮殧锛岄粯璁�3绉� - reconnectInterval: 3000, - // 鏈�澶ч噸杩炴鏁帮紝-1琛ㄧず鏃犻檺閲嶈繛 - maxReconnectAttempts: -1, - // 娑堟伅鍥炶皟 - onMessage: (res) => { - try { - const data = JSON.parse(res.data); - that.showDate(data) - // 澶勭悊娑堟伅... - } catch (e) { - console.error('瑙f瀽娑堟伅澶辫触', e); - } - }, - // 杩炴帴鎵撳紑鍥炶皟 - onOpen: (res) => { - that.timeOut = false - that.times = 0 - console.log('WebSocket宸茶繛鎺�', res); - }, - // 杩炴帴閿欒鍥炶皟 - onError: (error) => { - console.error('WebSocket閿欒', error); - }, - // 杩炴帴鍏抽棴鍥炶皟 - onClose: (res) => { - that.timeOut = true - that.times = that.times+1 - that.infoType = 0 - console.log('WebSocket宸插叧闂�', res); - }, - // 閲嶈繛鍥炶皟 - onReconnect: (info) => { - console.log(`WebSocket閲嶈繛(${info.attempts}/${info.maxAttempts})`); - } - }); - - // 寤虹珛杩炴帴 - that.socketClient.connect(); + that.socketClient = new WebSocketUtil(that.socketUrl, { + // 蹇冭烦闂撮殧锛岄粯璁�30绉� + heartbeatInterval: 30000, + // 閲嶈繛闂撮殧锛岄粯璁�3绉� + reconnectInterval: 3000, + // 鏈�澶ч噸杩炴鏁帮紝-1琛ㄧず鏃犻檺閲嶈繛 + maxReconnectAttempts: -1, + // 娑堟伅鍥炶皟 + onMessage: (res) => { + try { + const data = JSON.parse(res.data); + that.showDate(data) + // 澶勭悊娑堟伅... + } catch (e) { + console.error('瑙f瀽娑堟伅澶辫触', e); + } + }, + // 杩炴帴鎵撳紑鍥炶皟 + onOpen: (res) => { + that.timeOut = false + that.times = 0 + console.log('WebSocket宸茶繛鎺�', res); + }, + // 杩炴帴閿欒鍥炶皟 + onError: (error) => { + console.error('WebSocket閿欒', error); + }, + // 杩炴帴鍏抽棴鍥炶皟 + onClose: (res) => { + that.timeOut = true + that.times = that.times + 1 + that.infoType = 0 + console.log('WebSocket宸插叧闂�', res); + }, + // 閲嶈繛鍥炶皟 + onReconnect: (info) => { + console.log(`WebSocket閲嶈繛(${info.attempts}/${info.maxAttempts})`); + } + }); + + // 寤虹珛杩炴帴 + that.socketClient.connect(); }, - // 鍙戦�佹秷鎭� - sendMessage(content) { - const message = { - type: 'chat', - content: content, - timestamp: Date.now() - }; - - this.socketClient.send(message) - .then(() => { - console.log('娑堟伅鍙戦�佹垚鍔�'); - }) - .catch(error => { - console.error('娑堟伅鍙戦�佸け璐�', error); - }); - }, - webSockerInit(){ - let that = this; - - if(that.baseIP === '' && that.basePort === '' && that.baseUrl ==='' ){ - that.timeOut = true - that.times = that.times+1 - that.infoType = 0 - return ; - } - - that.commonUrl = that.baseIP + ':' +that.basePort + "/" +that.baseUrl - let socketUrl = "ws://"+that.commonUrl+"/led/"+that.baseLedId - // socketUrl = "ws://10.0.100.150:8080/gtctu/led/113" - const ws = new WebSocketClient(socketUrl); - ws.connect() - - console.log(ws) - - ws.onclose(() =>{ - - }) - - ws.onmessage((msg)=>{ - that.timeOut = false - let data = JSON.parse(msg.data) - that.showDate(data) - - }) - - }, - showDate(data){ + + showDate(data) { const that = this - if(data.type === "default"){ + if (data.type === "default") { that.chartsData.Pie.series[0].data = data.pie that.baseInfo.stockCount = data.stockCunt that.baseInfo.emptyCount = data.emptyCount - that.baseInfo.noneCount =data.noneCount + that.baseInfo.noneCount = data.noneCount that.baseInfo.used = data.used that.baseInfo.usedPr = data.usedPr - + that.chartsData.Line.categories = [ - that.getDateFormat(-11),that.getDateFormat(-10),that.getDateFormat(-9),that.getDateFormat(-8), - that.getDateFormat(-7),that.getDateFormat(-6),that.getDateFormat(-5),that.getDateFormat(-4), - that.getDateFormat(-3),that.getDateFormat(-2),that.getDateFormat(-1),that.getDateFormat(0),] + that.getDateFormat(-11), that.getDateFormat(-10), that.getDateFormat(-9), that.getDateFormat(- + 8), + that.getDateFormat(-7), that.getDateFormat(-6), that.getDateFormat(-5), that.getDateFormat(-4), + that.getDateFormat(-3), that.getDateFormat(-2), that.getDateFormat(-1), that.getDateFormat(0), + ] that.chartsData.Line.series = data.rows - that.calendar = data.year + "骞�" + data.month + "鏈�" + data.day + "鏃� " + data.hour + ":" + data.minute + ":" + data.second + " " + data.week + that.calendar = data.year + "骞�" + data.month + "鏈�" + data.day + "鏃� " + data.hour + ":" + data.minute + + ":" + data.second + " " + data.week that.currDate = data.year + "/" + data.month + "/" + data.day that.locList = data.inventoryData - that.oldHours = data.hour - that.oldMin = data.minute - }else if(data.type === "error"){ + that.oldHours = data.hour + that.oldMin = data.minute + } else if (data.type === "error") { if (data.errMsg && data.errMsg !== "") { var errorInfo = data.errMsg if (that.infoType == 1) { that.infoType = 3 - that.infoText.title = "鍏朵粬淇℃伅" + that.infoText.title = "鍏朵粬淇℃伅" // that.infoText.title = "寮傚父" that.infoText.error = errorInfo return @@ -635,52 +607,52 @@ } that.infoType = 0 } - }else if(data.type === "task"){ - if (data.taskList && data.taskList !== "" && data.taskList.length !=0) { - if (that.infoType == 2 || that.infoType == 3) { - return; - } - // infoType1:鍙湁鎷f枡绛変俊鎭� - that.infoType = 1 - if (data.taskList[0].ioType === 101) { - that.infoText.title = '鍏ㄦ澘鍑哄簱' - } else if(data.taskList[0].ioType === 103) { - that.infoText.title = '鎷f枡鍑哄簱' - } else if(data.taskList[0].ioType === 107) { - that.infoText.title = '鐩樼偣鍑哄簱' - } else if(data.taskList[0].ioType === 1) { - that.infoText.title = '鍏ュ簱' - } else if(data.taskList[0].ioType === 10) { - that.infoText.title = '绌烘墭鍏ュ簱' - } else if(data.taskList[0].ioType === 110) { - that.infoText.title = '绌烘墭鍑哄簱' - } else if(data.taskList[0].ioType === 104) { - that.infoText.title = '骞舵澘鍑哄簱' - }else if(data.taskList[0].ioType === 54) { - that.infoText.title = '骞舵澘鍏ュ簱' - } - that.infoText.barcode = data.taskList[0].barcode - that.infoText.workNo = data.taskList[0].workNo - that.infoText.sourceLocNo = data.taskList[0].sourceLocNo - that.infoText.staNo = data.taskList[0].staNo - that.swiperList = data.taskList[0].matDtos - // that.infoText.matnr = res.data[0].matDtos[0].matnr - // that.infoText.specs = res.data[0].matDtos[0].specs - // that.infoText.maknx = res.data[0].matDtos[0].maknx - // that.infoText.count = res.data[0].matDtos[0].count - } else { - if (that.infoType == 2 || that.infoType == 3) { - return; - } - that.infoType = 0 - } + } else if (data.type === "task") { + if (data.taskList && data.taskList !== "" && data.taskList.length != 0) { + if (that.infoType == 2 || that.infoType == 3) { + return; + } + // infoType1:鍙湁鎷f枡绛変俊鎭� + that.infoType = 1 + if (data.taskList[0].ioType === 101) { + that.infoText.title = '鍏ㄦ澘鍑哄簱' + } else if (data.taskList[0].ioType === 103) { + that.infoText.title = '鎷f枡鍑哄簱' + } else if (data.taskList[0].ioType === 107) { + that.infoText.title = '鐩樼偣鍑哄簱' + } else if (data.taskList[0].ioType === 1) { + that.infoText.title = '鍏ュ簱' + } else if (data.taskList[0].ioType === 10) { + that.infoText.title = '绌烘墭鍏ュ簱' + } else if (data.taskList[0].ioType === 110) { + that.infoText.title = '绌烘墭鍑哄簱' + } else if (data.taskList[0].ioType === 104) { + that.infoText.title = '骞舵澘鍑哄簱' + } else if (data.taskList[0].ioType === 54) { + that.infoText.title = '骞舵澘鍏ュ簱' + } + that.infoText.barcode = data.taskList[0].barcode + that.infoText.workNo = data.taskList[0].workNo + that.infoText.sourceLocNo = data.taskList[0].sourceLocNo + that.infoText.staNo = data.taskList[0].staNo + that.swiperList = data.taskList[0].matDtos + // that.infoText.matnr = res.data[0].matDtos[0].matnr + // that.infoText.specs = res.data[0].matDtos[0].specs + // that.infoText.maknx = res.data[0].matDtos[0].maknx + // that.infoText.count = res.data[0].matDtos[0].count + } else { + if (that.infoType == 2 || that.infoType == 3) { + return; + } + that.infoType = 0 + } } }, statisticalModel() { let that = this uni.request({ url: that.commonUrl + "/monitor/locDetl/pda/statisticalModel", - method:'GET', + method: 'GET', success(result) { var res = result.data if (res.code === 200) { @@ -690,253 +662,85 @@ } }) }, + getDateFormat(value) { + var date = new Date(this.currDate); // 鑾峰彇褰撳墠鏃堕棿 + date.setDate(date.getDate() + value); // 璁剧疆澶╂暟 -1 澶� + var m = date.getMonth() + 1 + var d = date.getDate() + var newDate = m + '-' + d + return newDate + }, 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)) - }, - // 鑾峰彇閿欒淇℃伅 - getInfo2() { - let that = this - var result = ycqdata.dataInfo2 - var res = result.data - if (res.data && res.data !== "") { - if (that.infoType == 2 || that.infoType == 3) { - return; - } - // infoType1:鍙湁鎷f枡绛変俊鎭� - that.infoType = 1 - if (res.data[0].ioType === 101) { - that.infoText.title = '鍏ㄦ澘鍑哄簱' - } else if(res.data[0].ioType === 103) { - that.infoText.title = '妫�鏂欏嚭搴�' - } else if(res.data[0].ioType === 107) { - that.infoText.title = '鐩樼偣鍑哄簱' - } else if(res.data[0].ioType === 1) { - that.infoText.title = '鍏ュ簱' - } else if(res.data[0].ioType === 10) { - that.infoText.title = '绌烘墭鍏ュ簱' - } else if(res.data[0].ioType === 110) { - that.infoText.title = '绌烘墭鍑哄簱' - } - that.infoText.barcode = res.data[0].barcode - that.infoText.workNo = res.data[0].workNo - that.infoText.sourceLocNo = res.data[0].sourceLocNo - that.infoText.staNo = res.data[0].staNo - that.swiperList = res.data[0].matDtos - // that.infoText.matnr = res.data[0].matDtos[0].matnr - // that.infoText.specs = res.data[0].matDtos[0].specs - // that.infoText.maknx = res.data[0].matDtos[0].maknx - // that.infoText.count = res.data[0].matDtos[0].count - } else { - if (that.infoType == 2 || that.infoType == 3) { - return; - } - that.infoType = 0 - } - }, - getError2 () { - let that = this - let result = ycqdata.dataError2 - var res = result.data - if (res.data && res.data !== "") { - var errorInfo = res.data - if (that.infoType == 1) { - that.infoType = 3 - that.infoText.title = "鍏朵粬淇℃伅" - // that.infoText.title = "寮傚父" - that.infoText.error = errorInfo - return - } - that.infoType = 2 - that.infoText.title = "鍏朵粬淇℃伅" - // that.infoText.title = "寮傚父" - that.infoText.error = errorInfo - } else { - if (that.infoType == 1) { - return - } - that.infoType = 0 - } - }, - getInfo() { - let that = this - uni.request({ - url: that.commonUrl + "/monitor/led", - method:"GET", - data: {ledId:that.baseLedId}, - success(result) { - that.timeOut = false - that.times = 0 - var res = result.data - if (res.data && res.data !== "") { - if (that.infoType == 2 || that.infoType == 3) { - return; - } - // infoType1:鍙湁鎷f枡绛変俊鎭� - that.infoType = 1 - if (res.data[0].ioType === 101) { - that.infoText.title = '鍏ㄦ澘鍑哄簱' - } else if(res.data[0].ioType === 103) { - that.infoText.title = '妫�鏂欏嚭搴�' - } else if(res.data[0].ioType === 107) { - that.infoText.title = '鐩樼偣鍑哄簱' - } else if(res.data[0].ioType === 1) { - that.infoText.title = '鍏ュ簱' - } else if(res.data[0].ioType === 10) { - that.infoText.title = '绌烘墭鍏ュ簱' - } else if(res.data[0].ioType === 110) { - that.infoText.title = '绌烘墭鍑哄簱' - } - that.infoText.barcode = res.data[0].barcode - that.infoText.workNo = res.data[0].workNo - that.infoText.sourceLocNo = res.data[0].sourceLocNo - that.infoText.staNo = res.data[0].staNo - that.swiperList = res.data[0].matDtos - // that.infoText.matnr = res.data[0].matDtos[0].matnr - // that.infoText.specs = res.data[0].matDtos[0].specs - // that.infoText.maknx = res.data[0].matDtos[0].maknx - // that.infoText.count = res.data[0].matDtos[0].count - } else { - if (that.infoType == 2 || that.infoType == 3) { - return; - } - that.infoType = 0 - } - }, - fail(err) { - that.timeOut = true - that.times = that.times+1 - that.infoType = 0 - } - }) - - }, - getError() { - let that = this - uni.request({ - url: that.commonUrl + "/monitor/led/error", - data: {ledId:that.baseLedId}, - method:"GET", - success(result) { - that.timeOut = false - that.times = 0 - var res = result.data - if (res.data && res.data !== "") { - var errorInfo = res.data - if (that.infoType == 1) { - that.infoType = 3 - that.infoText.title = "鍏朵粬淇℃伅" - // that.infoText.title = "寮傚父" - that.infoText.error = errorInfo - return - } - that.infoType = 2 - that.infoText.title = "鍏朵粬淇℃伅" - // that.infoText.title = "寮傚父" - that.infoText.error = errorInfo - } else { - if (that.infoType == 1) { - return - } - that.infoType = 0 - } - }, - fail(err) { - that.timeOut = true - that.infoType = 0 - } - }) - + this.chartsDataLine1 = JSON.parse(JSON.stringify(this.chartsData.Line)) + this.chartsDataPie2 = JSON.parse(JSON.stringify(this.chartsData.Pie)) }, // 鎺у埗鍣� 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; - + // 闃叉姈澶勭悊锛岄伩鍏嶉绻佸垏鎹� + if (this.switchDebounceTimer) { + clearTimeout(this.switchDebounceTimer) } - + + this.switchDebounceTimer = setTimeout(() => { + this.performViewSwitch() + }, 100) + }, + + performViewSwitch() { + // 浣跨敤鐘舵�佹満妯″紡绠�鍖栬鍥惧垏鎹� + const viewStates = { + 0: () => this.showHomeView(), + 1: () => this.showInfoView(), + 2: () => this.showErrorView(), + 3: () => this.showErrorView() + } + + const switchAction = viewStates[this.infoType] + if (switchAction && !this.viewSwitchInProgress) { + this.viewSwitchInProgress = true + switchAction() + + // 缁熶竴鐨勫垏鎹㈠畬鎴愬鐞� + setTimeout(() => { + this.viewSwitchInProgress = false + }, this.duration + 100) + } + }, + + showHomeView() { + this.infoViewShow = false + this.errorInfoViewShow = false + this.infoMode = ['fade', 'slide-bottom'] + this.errorInfoMode = ['fade', 'slide-bottom'] + setTimeout(() => { + this.homeViewShow = true + this.homeMode = ['fade', 'slide-bottom'] + }, this.duration) + }, + + showInfoView() { + this.homeViewShow = false + this.errorInfoViewShow = false + this.homeMode = ['fade', 'slide-bottom'] + this.errorInfoMode = ['fade', 'slide-bottom'] + setTimeout(() => { + this.infoViewShow = true + this.infoMode = ['fade', 'slide-bottom'] + }, this.duration) + }, + + showErrorView() { + this.homeViewShow = false + this.infoViewShow = false + this.homeMode = ['fade', 'slide-bottom'] + this.infoMode = ['fade', 'slide-bottom'] + setTimeout(() => { + this.errorInfoViewShow = true + this.errorInfoMode = ['fade', 'slide-bottom'] + }, this.duration) }, // 涓诲睆骞� handle(type) { @@ -954,7 +758,7 @@ this.modeClass = type }, // 閰嶇疆 - ejected () { + ejected() { this.ejectShow = true }, // 鍙栨秷閰嶇疆 @@ -965,113 +769,13 @@ ejectConfirm() { uni.setStorageSync('BaseIp', this.baseIP); uni.setStorageSync('BaseLedId', this.baseLedId); - 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); + 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 - }, - // 鏃ュ巻 鏈嶅姟鍣� - getDate2() { - let that = this - uni.request({ - url: that.commonUrl + "/monitor/date", - method:"GET", - success(result) { - var res = result.data.data - - } - }) - }, - - // 鏃ュ巻 - getDate() { - var dt = new Date(); - var year,month,day,hours,minutes,seconds,weeks - year = dt.getFullYear(); - month = (dt.getMonth()+1) < 10 ? '0'+ (dt.getMonth()+1) : (dt.getMonth()+1); - day = dt.getDate() < 10 ? '0'+dt.getDate() : dt.getDate(); - hours = dt.getHours() < 10 ? '0' + dt.getHours() : dt.getHours(); - minutes = dt.getMinutes() < 10 ? '0' + dt.getMinutes() : dt.getMinutes(); - seconds = dt.getSeconds() < 10 ? '0' + dt.getSeconds() : dt.getSeconds(); - weeks = dt.getDay(); - switch (weeks) { - case 0: weeks = "鏄熸湡鏃�"; break; - case 1: weeks = "鏄熸湡涓�"; break; - case 2: weeks = "鏄熸湡浜�"; break; - case 3: weeks = "鏄熸湡涓�"; break; - case 4: weeks = "鏄熸湡鍥�"; break; - case 5: weeks = "鏄熸湡浜�"; break; - default : weeks = "鏄熸湡鍏�"; - } - this.calendar = year + "骞�" + month + "鏈�" + day + "鏃� " + hours + ":" + minutes + ":" + seconds + " " + weeks - }, - getDateFormat(value) { - var date = new Date(this.currDate);// 鑾峰彇褰撳墠鏃堕棿 - date.setDate(date.getDate() + value);// 璁剧疆澶╂暟 -1 澶� - var m = date.getMonth() + 1 - var d = date.getDate() - var newDate = m + '-' + d - return newDate - }, - /*************** 鎶樼嚎鍥� *****************************************************************************************************/ - initlineChart() { - let that = this - uni.request({ - url: that.commonUrl + "/monitor/line/charts", - method:'GET', - success(result) { - var res = result.data - if (res.code === 200) { - - } - } - }) - }, - /*************** 楗煎浘 *****************************************************************************************************/ - initPieChart() { - let that = this - uni.request({ - url: that.commonUrl + "/monitor/loc/rep", - method:'GET', - success(result) { - var res = result.data - if (res.code === 200) { - that.chartsData.Pie.series[0].data = res.data.pie - that.baseInfo.stockCount = res.data.stockCunt - that.baseInfo.emptyCount = res.data.emptyCount - that.baseInfo.noneCount = res.data.noneCount - that.baseInfo.used = res.data.used - that.baseInfo.usedPr = res.data.usedPr - } - } - }) - }, - getOther() { - let that = this - uni.request({ - url: that.commonUrl + "/monitor/other", - data: { - crnId: that.baseCrnId, - ledId: that.baseLedId, - }, - success(result) { - // console.log(result); - var res = result.data - if (res.code === 200) { - that.baseInfo.xDistance = res.data.xDistance - that.baseInfo.yDistance = res.data.yDistance - that.baseInfo.xDuration = res.data.xDuration - that.baseInfo.yDuration = res.data.yDuration - } else if (res.code === 403) { - - } else { - - } - } - }) }, //妫�娴嬪綋鍓嶅钩鍙帮紝濡傛灉鏄畨鍗撳垯鍚姩瀹夊崜鏇存柊 getVersion() { @@ -1081,8 +785,8 @@ if (res.platform == "android") { that.AndroidCheckUpdate(); } - // that.AndroidCheckUpdate(); - + // that.AndroidCheckUpdate(); + } }) }, @@ -1092,9 +796,9 @@ plus.runtime.getProperty(plus.runtime.appid, (wgtinfo) => { that.version = wgtinfo.version //瀹㈡埛绔増鏈彿 }) - setTimeout(()=>{ + setTimeout(() => { that.getUpdateVersion() - },100) + }, 100) }, // 鏍¢獙鐗堟湰 getUpdateVersion() { @@ -1103,7 +807,7 @@ if (that.baseUrl == 'http://undefined:undefined/undefined') { return } - const wms = 'http://'+ that.baseIP + ':' +that.wmsPort + "/" +that.wmsUrl + const wms = 'http://' + that.baseIP + ':' + that.wmsPort + "/" + that.wmsUrl console.log(wms) let url = wms + '/appVersion/checkUpdate/' + that.version + '/' + type uni.request({ @@ -1123,7 +827,7 @@ position: 'top' }) } - + } }) }, @@ -1136,7 +840,7 @@ }, downWgt() { let that = this; - const wms = 'http://'+ that.baseIP + ':' +that.wmsPort + "/" +that.wmsUrl + const wms = 'http://' + that.baseIP + ':' + that.wmsPort + "/" + that.wmsUrl const downloadUrl = wms + "/appVersion/downloadApp/" + that.filename uni.showLoading({ title: '鏇存柊涓�︹��' @@ -1172,7 +876,7 @@ uni.hideLoading(); that.showdownLine = false uni.showToast({ - title:'璇峰厛涓婁紶瀹夎鍖�', + title: '璇峰厛涓婁紶瀹夎鍖�', icon: 'error' }) } @@ -1183,11 +887,11 @@ that.$u.toast(downloadResult.errMsg) }, complete: com => { - + console.log(com) } }); - + // 涓嬭浇杩涘害 downloadTask.onProgressUpdate(res => { that.downloadNum = res.progress @@ -1195,32 +899,35 @@ }); }, } - + } </script> <style> /* @import url("../../static/css/common.css"); */ @import url("home.css"); + /* 鍒� */ .flex-col { display: flex; flex-direction: column; } + /* 琛� */ .flex-row { display: flex; flex-direction: row; } - - .container{ + + .container { width: 100vw; min-height: 100vh; background-color: #00163E; color: #fff; text-align: center; - + } + /* 涓昏鍥� */ .home-view { width: 100vw; @@ -1228,32 +935,37 @@ background-image: url(../../static/background.png); background-size: 100vw 100vh; } + .home-right { width: 50vw; height: 89vh; /* background-color: cadetblue; */ } + .home-right-box { width: 98%; height: 98%; } + .head { width: 100vw; height: 11vh; - font-size:4vw; + font-size: 4vw; font-weight: 700; display: flex; align-items: center; justify-content: center; transform: scale(0.7); } + .time-tools { position: absolute; right: 2%; top: 2%; - font-size:1vw; + font-size: 1vw; transform: scale(0.8); } + .button-left { position: absolute; background-image: url(../../static/right.png); @@ -1264,6 +976,7 @@ height: 8.5%; transform: scaleX(-1); } + .button-right { position: absolute; background-image: url(../../static/right.png); @@ -1273,6 +986,7 @@ width: 13.5%; height: 8.5%; } + .img-box { height: 23vw; width: 100%; @@ -1283,6 +997,7 @@ flex-wrap: wrap; font-size: 1vw; } + .item-img { width: 50%; margin-top: 5%; @@ -1292,13 +1007,14 @@ justify-content: flex-start; align-items: flex-start; } - .distance { - - } + + .distance {} + .item-img image { height: 5vw; width: 5vw; } + .progressBar { margin-top: 9%; /* width: 100%; */ @@ -1306,41 +1022,47 @@ background-color: #233751; border-radius: 5vw; } + .progress { /* width: 90%; */ height: 100%; background-color: #FF5722; border-radius: 5vw; } + .charts-box { - width: 80%; - height: 24vh; - margin-left: 10%; - } + width: 80%; + height: 24vh; + margin-left: 10%; + } + .charts-box-ring { width: 60%; height: 24vh; /* background-color: #00ffff; */ } + .sub-info { font-size: 1.5vw; } + .sub-info image { width: 3.5vw; height: 3.5vw; } - - - - + + + + /* 鍏辩敤 */ .main { width: 100vw; height: 88vh; margin-top: 1vh; display: flex; - + } + .mian-item { width: 50%; height: 100%; @@ -1349,10 +1071,12 @@ align-items: center; justify-content: center; } + .mian-item-box { width: 98%; height: 98%; } + .box-item { width: 100%; margin-top: 4%; @@ -1361,28 +1085,32 @@ align-items: flex-start; justify-content: flex-start; } + .item-title { - font-size:1.5vw; + font-size: 1.5vw; font-weight: 700; } - .version{ + + .version { position: absolute; left: 1%; top: 1%; - font-size:1vw; + font-size: 1vw; transform: scale(0.8); } + .item-subTitle { - font-size:0.5vw; + font-size: 0.5vw; text-indent: 0em; } + .item-text { font-size: 1vw; text-indent: 2em; letter-spacing: 1px; line-height: 3vh; } - + /* 鍏ㄦ澘/鎷f枡淇℃伅 */ .info-view { width: 100vw; @@ -1390,6 +1118,7 @@ background-image: url(../../static/background.png); background-size: 100vw 100vh; } + .info-main { width: 100vw; height: 88vh; @@ -1397,10 +1126,12 @@ justify-content: center; align-items: center; } + .info-box { width: 98%; height: 98%; } + /* 寮傚父淇℃伅 */ .error-info-view { width: 100vw; @@ -1408,7 +1139,7 @@ background-image: url(../../static/background.png); background-size: 100vw 100vh; } - + /* 寮瑰嚭:閰嶇疆鍖哄煙 */ .eject-mask { width: 100%; @@ -1420,30 +1151,37 @@ z-index: 999; display: flex; align-items: center; - justify-content: center; + justify-content: center; } - .eject{ + + .eject { position: relative; width: 45vw; height: 45vh; background-color: #fff; border-radius: 2rem; } + .eject-title { width: 100%; height: 5vh; line-height: 6vh; font-size: 3vh; font-weight: 700; - color: #606266; + color: #606266; text-align: center; } + .eject-input { margin-top: 2vh; height: 25vh; + /* background-color: #00163E; */ - ::-webkit-scrollbar{display:none} + ::-webkit-scrollbar { + display: none + } } + .item { display: flex; align-items: center; @@ -1451,13 +1189,15 @@ font-size: 1.5vw; color: #363636; } + .desc { display: inline-block; width: 40%; text-align: right; color: #606266; - + } + .input { display: flex; align-items: center; @@ -1469,13 +1209,15 @@ margin-right: 20%; text-align: start; } + .eject-input input { width: 100%; height: 3vh; font-size: 1vw; - - + + } + .eject-button { display: flex; align-items: center; @@ -1486,6 +1228,7 @@ width: 100%; border-top: 1px solid #ccc; } + .button-item { width: 50%; height: 100%; @@ -1494,17 +1237,25 @@ text-align: center; color: #909399; } + .button-item:last-child { color: #67C23A; - + border-left: 1px solid #ccc; } + .info-box-text { - width: 100%;height: 100%; - display: flex;flex-direction: column;align-items: center;justify-content: center; + width: 100%; + height: 100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; } + .info-box-text-item { - height: 20%;font-size: 8vh; + height: 20%; + font-size: 8vh; justify-content: center; } </style> \ No newline at end of file -- Gitblit v1.9.1