From 6be41682bbfb9e0446b6de969dc04b48e06fe189 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期六, 07 六月 2025 08:05:55 +0800 Subject: [PATCH] # --- Monitor-APP/pages/home/home.vue | 976 ++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 783 insertions(+), 193 deletions(-) diff --git a/Monitor-APP/pages/home/home.vue b/Monitor-APP/pages/home/home.vue index e8041d0..ae258b2 100644 --- a/Monitor-APP/pages/home/home.vue +++ b/Monitor-APP/pages/home/home.vue @@ -1,13 +1,13 @@ <template> <view class="container"> - <uni-transition :duration="duration" :mode-class="homeMode" :show="homeViewShow"> <view class="home-view"> <view class="head"> - <text>鑷姩浠撳簱WCS鐩戞帶骞冲彴</text> + <text>鏅鸿兘澶у睆鏄剧ず绯荤粺</text> </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> <!-- 涓昏鍥� --> @@ -16,58 +16,31 @@ <view class="mian-item-box"> <y-box> <view class="box-item"> - <text class="item-title">鑷姩鍖栫珛浣撲粨搴�</text> - <text class="item-subTitle">Automatic Storageand Retrieval System</text> - <text class="item-text" style="text-align: left;">鍒╃敤绔嬩綋浠撳簱璁惧鍙疄鐜颁粨搴撻珮灞傚悎鐞嗗寲銆佸瓨鍙栬嚜鍔ㄥ寲銆佹搷浣滅畝渚垮寲锛涜嚜鍔ㄥ寲绔嬩綋浠撳簱鏄綋鍓嶆妧鏈按骞宠緝楂樼殑褰㈠紡銆傝嚜鍔ㄥ寲绔嬩綋浠撳簱鐨勪富浣撶敱璐ф灦銆佸贩閬撳紡鍫嗗灈璧烽噸鏈恒�佸叆锛堝嚭锛夊簱宸ヤ綔鍙板拰鑷姩杩愯繘锛堝嚭锛夊強鎿嶄綔鎺у埗绯荤粺缁勬垚銆傝揣鏋舵槸閽㈢粨鏋勬垨閽㈢瓔娣峰嚌鍦熺粨鏋勭殑寤虹瓚鐗╂垨缁撴瀯浣擄紝璐ф灦鍐呮槸鏍囧噯灏哄鐨勮揣浣嶇┖闂达紝宸烽亾鍫嗗灈璧烽噸鏈虹┛琛屼簬璐ф灦涔嬮棿鐨勫贩閬撲腑锛屽畬鎴愬瓨銆佸彇璐х殑宸ヤ綔銆傜鐞嗕笂閲囩敤璁$畻鏈哄強鏉″舰鐮佹妧鏈��</text> - </view> + <text class="item-title">鏅鸿兘澶у睆鏄剧ず绯荤粺</text> + <text class="item-subTitle">Intelligent LargeScreen Display System</text> + </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 鍚屾椂鏄剧ず鐨勬粦鍧楁暟閲� --> + <swiper class="swiper-body-main" vertical="true" + display-multiple-items="5" + circular="true" :autoplay="true" :interval="3000" :duration="2000"> + <swiper-item class="swiper-item" v-for="(item,i) in locList" :key="i"> + <!-- <view style="width: 30%;">{{i+1}} / {{swiperList.length}}</view> --> + <!-- <view style="width: 30%;">鏂欏彿: {{item.matnr}}</view> --> + <view style="width: 50%; font-size: 1vw;">鐗╂枡鐮�: {{item.matnr}}</view> + <view style="width: 50%; font-size: 1vw;">鏁伴噺: {{item.matnrCount}}</view> + + + + </swiper-item> + </swiper> - <view class="item-img"> - <image src="../../static/a1.png" mode="aspectFit"></image> - <view class="flex-col" style="width: calc(100% - 5vw);"> - <view class="flex-row" style="position: relative;" > - <view style="width: 2vw;padding-left: 5vw;;font-size: 2vw;">{{baseInfo.xDistance}}</view> - <view style="position: absolute;bottom: 0;left: 7vw;">m</view> - </view> - <view style="height: 100%;text-align: left;text-indent: 2em;">绱璧拌璺濈(绫�)</view> - </view> - </view> - - <view class="item-img"> - <image src="../../static/b1.png" mode="aspectFit"></image> - <view class="flex-col" style="width: calc(100% - 5vw);"> - <view class="flex-row" style="position: relative;" > - <view style="width: 2vw;padding-left: 5vw;;font-size: 2vw;">{{baseInfo.yDistance}}</view> - <view style="position: absolute;bottom: 0;left: 7vw;">m</view> - </view> - <view style="height: 100%;text-align: left;text-indent: 2em;">绱鍗囬檷璺濈(绫�)</view> - </view> - </view> - - <view class="item-img"> - <image src="../../static/c1.png" mode="aspectFit"></image> - <view class="flex-col" style="width: calc(100% - 5vw);"> - <view class="flex-row" style="position: relative;" > - <view style="width: 2vw;padding-left: 5vw;;font-size: 2vw;">{{baseInfo.xDuration}}</view> - <view style="position: absolute;bottom: 0;left: 7vw;">s</view> - </view> - <view style="height: 100%;text-align: left;text-indent: 2em;">绱璧拌鏃堕暱(绉�)</view> - </view> - </view> - - <view class="item-img"> - <image src="../../static/d1.png" mode="aspectFit"></image> - <view class="flex-col" style="width: calc(100% - 5vw);"> - <view class="flex-row" style="position: relative;" > - <view style="width: 2vw;padding-left: 5vw;;font-size: 2vw;">{{baseInfo.yDuration}}</view> - <view style="position: absolute;bottom: 0;left: 7vw;">s</view> - </view> - <view style="height: 100%;text-align: left;text-indent: 2em;">绱鍗囬檷鏃堕暱(绉�)</view> - </view> - </view> </view> </view> @@ -84,7 +57,7 @@ <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> + <!-- <text class="item-subTitle">鍚屾瘮涓婃湀 + 5%</text> --> </view> </view> </view> @@ -120,8 +93,8 @@ <!-- 鐧惧垎姣� --> <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> + <!-- <text class="item-title">31</text> + <text class="item-subTitle">浠婃棩璁㈠崟鏁�</text> --> </view> </view> </view> @@ -165,17 +138,17 @@ <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;">10000</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/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;">10000</view> + <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> <view class="flex-row sub-info" style="margin-top: 2vh;"> - <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;">10000</view> + <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> </view> </view> @@ -184,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,7 +176,7 @@ <uni-transition :duration="duration" :mode-class="infoMode" :show="infoViewShow"> <view class="home-view"> <view class="head"> - <text>鍏ㄦ澘 / 鎷f枡</text> + <text>{{infoText.title}}</text> </view> <!-- 鏃ュ巻 --> <view class="time-tools">{{calendar}}</view> @@ -211,7 +185,46 @@ <!-- 涓讳綋 --> <view class="info-main"> <view class="info-box"> - <y-box>{{text}}</y-box> + <y-box> + <!-- 鏂囨湰瀹瑰櫒 --> + <view class="text-content"> + <!-- head --> + <view class="swiper-head"> + <view style="width: 30%;">鎵樼洏鐮�: {{infoText.barcode}}</view> + <view style="width: 20%;">宸ヤ綔鍙�: {{infoText.workNo}}</view> + <view style="width: 30%;">婧愬簱浣�: {{infoText.sourceLocNo}}</view> + <view style="width: 20%;">鐩爣绔�: {{infoText.staNo}}</view> + <!-- <view style="width: 10%;">鏁伴噺</view> --> + </view> + <!-- body --> + <view class="swiper-body"> + <!-- swiper 涓�浜涜鏄� + circular 鏄惁閲囩敤琛旀帴婊戝姩锛屽嵆鎾斁鍒版湯灏惧悗閲嶆柊鍥炲埌寮�澶� + vertical 婊戝姩鏂瑰悜鏄惁涓虹旱鍚� + display-multiple-items 鍚屾椂鏄剧ず鐨勬粦鍧楁暟閲� --> + <swiper class="swiper-body-main" vertical="true" + display-multiple-items="2" + 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: 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> + </view> + </y-box> </view> </view> </view> @@ -220,7 +233,7 @@ <uni-transition :duration="duration" :mode-class="errorInfoMode" :show="errorInfoViewShow"> <view class="error-info-view"> <view class="head"> - <text>寮傚父</text> + <text>{{infoText.title}}</text> </view> <!-- 鏃ュ巻 --> <view class="time-tools">{{calendar}}</view> @@ -229,7 +242,11 @@ <!-- 涓讳綋 --> <view class="info-main" > <view class="info-box"> - <y-box>{{text1}}</y-box> + <y-box> + <view class="info-box-text"> + <view class="flex-col info-box-text-item">{{infoText.error}}</view> + </view> + </y-box> </view> </view> </view> @@ -241,7 +258,7 @@ <!-- 寮瑰嚭title --> <view class="eject-title">淇敼 / 閰嶇疆</view> <!-- input --> - <view class="eject-input"> + <scroll-view scroll-y class="eject-input"> <view class="item"> <view class="desc">ip锛�</view> <view class="input"> @@ -249,9 +266,27 @@ </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"> @@ -260,13 +295,7 @@ <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> + </scroll-view> <!-- button --> <view class="eject-button"> <view class="button-item" @click="ejectClose">鍙� 娑�</view> @@ -274,18 +303,31 @@ </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> </view> </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 { data() { return { series: [], homeViewShow: true, - infoViewShow: false, + infoViewShow: false , errorInfoViewShow: false, homeMode: [], infoMode: [], @@ -296,7 +338,10 @@ xDuration: 3, yDuration: 4, usedPr: 50, - used: 3537 + used: 3537, + stockCount: '', + emptyCount: '', + noneCount: '', }, chartsData: { "Line": { @@ -322,14 +367,37 @@ basePort: '', baseLedId: '', baseCrnId: '', + baseUrl: '', info: null, error: null, infoType: 0, text: '', - text1: '', - - - + infoText: { + title: '', + staNo: "", + matnr: "", + maknx: "", + specs: "", + count: "", + error: "", + barcode: "" + }, + swiperList: [], + timeOut: false, + times: 0, + currDate: '', + locList:[], + oldHours:'', + oldMin:'', + socketClient: null, + messages: [], + version:'', + socketUrl:'', + msgType: 'success', + filename: '', + dialogContent: '', + wmsUrl:'', + wmsPort:'' } }, @@ -338,47 +406,396 @@ // #ifdef APP-PLUS plus.navigator.setFullscreen(true) // #endif + this.getVersion() }, - onLoad() { - this.getServerData() - this.getDate() + mounted() { + let that = this + const BaseIP = uni.getStorageSync('BaseIp'); + const BaseLedId = uni.getStorageSync('BaseLedId'); + 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() { + let that = this + const BaseIP = uni.getStorageSync('BaseIp'); + const BaseLedId = uni.getStorageSync('BaseLedId'); + 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(()=>{ - this.getDate() - this.getInfo() - this.getError() + this.getServerData() + // this.initlineChart() + // this.initPieChart() + // this.getOther() + // // this.getDate() + // this.getDate2() + // this.getInfo() + // this.getError() + // this.getInfo2() + // this.getError2() + // this.getUrl() this.controller() + // this.statisticalModel() + // 娴嬭瘯鐢� + },1000) - setInterval(()=>{ - // this.controller() - },2000) + + 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) + + // },1000*30) }, methods: { + uniWebSocket(){ + let that = this; + 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(); + }, + // 鍙戦�佹秷鎭� + 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){ + const that = this + 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.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.chartsData.Line.series = data.rows + 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"){ + if (data.errMsg && data.errMsg !== "") { + var errorInfo = data.errMsg + 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 + } + }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', + success(result) { + var res = result.data + if (res.code === 200) { + console.log(res.data) + that.locList = res.data + } + } + }) + }, 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(demodata.Line)) - this.chartsDataPie2=JSON.parse(JSON.stringify(demodata.PieA)) + 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: "http://192.168.1.111:8088/sxjzwms/system/error", + 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 - that.text = res + 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 } }) @@ -386,24 +803,36 @@ getError() { let that = this uni.request({ - url:"http://192.168.1.111:8088/sxjzwms/mat/info", + 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.text1 = res + that.infoText.title = "鍏朵粬淇℃伅" + // that.infoText.title = "寮傚父" + that.infoText.error = errorInfo return } that.infoType = 2 - that.text1 = res + 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 } }) @@ -412,6 +841,31 @@ 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 @@ -466,23 +920,7 @@ },1000) } return; - default : - 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) - } - return; + } }, @@ -515,9 +953,25 @@ 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); 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(); @@ -541,82 +995,199 @@ this.calendar = year + "骞�" + month + "鏈�" + day + "鏃� " + hours + ":" + minutes + ":" + seconds + " " + weeks }, getDateFormat(value) { - var date = new Date();// 鑾峰彇褰撳墠鏃堕棿 - date.setDate(date.getDate() + value);// 璁剧疆澶╂暟 -1 澶� - var m = date.getMonth() + 1 - var d = date.getDate() - var newDate = m + '-' + d - return newDate - }, + 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) { - 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.chartsData.Line.series = res.data.rows - } - } - }) - }, + 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.stockCount = res.data.stockCunt - that.emptyCount = res.data.emptyCount - that.noneCount = res.data.noneCount - that.used = res.data.used - that.usedPr = res.data.usedPr + 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() { + let that = this; + uni.getSystemInfo({ + success: (res) => { + if (res.platform == "android") { + that.AndroidCheckUpdate(); + } + // that.AndroidCheckUpdate(); + + } + }) + }, + // 鑾峰彇褰撳墠鐗堟湰鍙� + AndroidCheckUpdate() { + let that = this; + plus.runtime.getProperty(plus.runtime.appid, (wgtinfo) => { + that.version = wgtinfo.version //瀹㈡埛绔増鏈彿 + }) + 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' }) - }, - getOther() { - let that = this - uni.request({ - // http://10.10.0.222:9090/jkwcs/monitor/led?ledId=186 - url: that.commonUrl + "/monitor/other", - data: { - crnId: that.baseCrnId, - ledId: 1, - }, - success(result) { - console.log(result); - var res = result.data - if (res.code === 200) { - that.xDistance = res.data.xDistance - that.yDistance = res.data.yDistance - that.xDuration = res.data.xDuration - that.yDuration = res.data.yDuration - } else if (res.code === 403) { - - } else { - - } - } - }) - }, + } + }, + 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); + }); + }, } } </script> <style> - @import url("../../static/css/common.css"); + /* @import url("../../static/css/common.css"); */ + @import url("home.css"); /* 鍒� */ .flex-col { display: flex; @@ -689,6 +1260,7 @@ height: 8.5%; } .img-box { + height: 23vw; width: 100%; /* background-color: #666666; */ display: flex; @@ -732,7 +1304,7 @@ margin-left: 10%; } .charts-box-ring { - width: 50%; + width: 60%; height: 24vh; /* background-color: #00ffff; */ } @@ -778,6 +1350,13 @@ .item-title { font-size:1.5vw; font-weight: 700; + } + .version{ + position: absolute; + left: 1%; + top: 1%; + font-size:1vw; + transform: scale(0.8); } .item-subTitle { font-size:0.5vw; @@ -831,27 +1410,30 @@ } .eject{ position: relative; - width: 40vw; - height: 40vh; + width: 45vw; + height: 45vh; background-color: #fff; border-radius: 2rem; } .eject-title { width: 100%; - height: 10vh; - line-height: 10vh; - font-size: 2vw; + height: 5vh; + line-height: 6vh; + font-size: 3vh; font-weight: 700; color: #606266; text-align: center; } .eject-input { - + margin-top: 2vh; + height: 25vh; + /* background-color: #00163E; */ + ::-webkit-scrollbar{display:none} } .item { display: flex; align-items: center; - margin: 2vh 0 0 0; + margin: 1vh 0 0 0; font-size: 1.5vw; color: #363636; } @@ -903,4 +1485,12 @@ border-left: 1px solid #ccc; } + .info-box-text { + width: 100%;height: 100%; + display: flex;flex-direction: column;align-items: center;justify-content: center; + } + .info-box-text-item { + height: 20%;font-size: 8vh; + justify-content: center; + } </style> \ No newline at end of file -- Gitblit v1.9.1