From 1872d4c65681b74938828823cdc41d9483cf0e6c Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期五, 27 十二月 2024 14:18:51 +0800 Subject: [PATCH] # --- Monitor-APP/pages/home/home.vue | 321 ++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 230 insertions(+), 91 deletions(-) diff --git a/Monitor-APP/pages/home/home.vue b/Monitor-APP/pages/home/home.vue index 3b0be5b..319e94b 100644 --- a/Monitor-APP/pages/home/home.vue +++ b/Monitor-APP/pages/home/home.vue @@ -3,7 +3,7 @@ <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> @@ -15,58 +15,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: 2vw;;font-size: 2vw;">{{baseInfo.xDistance}}</view> - <view style="position: absolute;bottom: 0;left: 10vw;">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: 2vw;;font-size: 2vw;">{{baseInfo.yDistance}}</view> - <view style="position: absolute;bottom: 0;left: 10vw;">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: 2vw;;font-size: 2vw;">{{baseInfo.xDuration}}</view> - <view style="position: absolute;bottom: 0;left: 10vw;">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: 2vw;;font-size: 2vw;">{{baseInfo.yDuration}}</view> - <view style="position: absolute;bottom: 0;left: 10vw;">s</view> - </view> - <view style="height: 100%;text-align: left;text-indent: 2em;">绱鍗囬檷鏃堕暱(绉�)</view> - </view> - </view> </view> </view> @@ -83,7 +56,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> @@ -119,8 +92,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> @@ -186,9 +159,7 @@ <view style="height: 18%;"> <y-box> <view class="flex-col" style="width: 100%;height: 100%;font-size: 4vh;justify-content: center;letter-spacing: 1vh;"> - <!-- 鍢夊杽杈归攱鏈烘鑲′唤鏈夐檺鍏徃 --> - <!-- 鑷姩浠撳簱WCS鐩戞帶骞冲彴 --> - <image src="../../static/vietnam.jpg" mode="" style="width: 100%;"></image> + 鏅鸿兘澶у睆鏄剧ず绯荤粺 </view> </y-box> </view> @@ -217,11 +188,11 @@ <view class="text-content"> <!-- head --> <view class="swiper-head"> - <view>鎵樼洏鐮侊細{{infoText.barcode}}</view> - <view>鍟嗗搧缂栧彿</view> - <view>鍟嗗搧鍚嶇О</view> - <view>瑙勬牸</view> - <view>鏁伴噺</view> + <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"> @@ -230,14 +201,23 @@ vertical 婊戝姩鏂瑰悜鏄惁涓虹旱鍚� display-multiple-items 鍚屾椂鏄剧ず鐨勬粦鍧楁暟閲� --> <swiper class="swiper-body-main" vertical="true" - display-multiple-items="8" - circular="true" :autoplay="true" :interval="3000" :duration="1000"> + 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>No:{{i+1}}</view> - <view>{{item.matnr}}</view> - <view>{{item.maknx}}</view> - <view>{{item.specs}}</view> - <view>{{item.count}}</view> + <!-- <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> @@ -276,7 +256,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"> @@ -307,7 +287,7 @@ <input type="text" v-model="baseUrl"> </view> </view> - </view> + </scroll-view> <!-- button --> <view class="eject-button"> <view class="button-item" @click="ejectClose">鍙� 娑�</view> @@ -320,10 +300,12 @@ </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" + let socket; export default { data() { return { @@ -386,7 +368,13 @@ }, swiperList: [], timeOut: false, - times: 0 + times: 0, + currDate: '', + locList:[], + oldHours:'', + oldMin:'' + + } }, onShow() { @@ -409,25 +397,169 @@ that.baseCrnId = BaseCrnId // this.getUrl() }, - onLoad() { + 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'); + that.baseUrl = PROJ + that.baseIP = BaseIP + that.baseLedId = BaseLedId + that.basePort = BasePort + that.baseCrnId = BaseCrnId + that.webSockerInit(); + }, + onLoad() { setInterval(()=>{ this.getServerData() - this.initlineChart() - this.initPieChart() - this.getOther() - // this.getDate() - this.getDate2() - this.getInfo() - this.getError() + // this.initlineChart() + // this.initPieChart() + // this.getOther() + // // this.getDate() + // this.getDate2() + // this.getInfo() + // this.getError() // this.getInfo2() // this.getError2() - this.getUrl() + // this.getUrl() this.controller() + // this.statisticalModel() // 娴嬭瘯鐢� },1000) + + 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: { + webSockerInit(){ + let that = this; + 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() + ws.onmessage((msg)=>{ + let data = JSON.parse(msg.data) + 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 + } + } + }) + }, + timeOut() { + console.log(this.times); + }, getUrl() { this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePort + "/" +this.baseUrl }, @@ -460,6 +592,9 @@ 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 @@ -526,6 +661,9 @@ 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 @@ -540,7 +678,7 @@ }, fail(err) { that.timeOut = true - that.times = that.times+3 + that.times = that.times+1 that.infoType = 0 } }) @@ -711,7 +849,7 @@ method:"GET", success(result) { var res = result.data.data - that.calendar = res.year + "骞�" + res.month + "鏈�" + res.day + "鏃� " + res.hour + ":" + res.minute + ":" + res.second + " " + res.week + } }) }, @@ -739,7 +877,7 @@ this.calendar = year + "骞�" + month + "鏈�" + day + "鏃� " + hours + ":" + minutes + ":" + seconds + " " + weeks }, getDateFormat(value) { - var date = new Date();// 鑾峰彇褰撳墠鏃堕棿 + var date = new Date(this.currDate);// 鑾峰彇褰撳墠鏃堕棿 date.setDate(date.getDate() + value);// 璁剧疆澶╂暟 -1 澶� var m = date.getMonth() + 1 var d = date.getDate() @@ -755,11 +893,7 @@ 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 + } } }) @@ -792,6 +926,7 @@ ledId: that.baseLedId, }, success(result) { + // console.log(result); var res = result.data if (res.code === 200) { that.baseInfo.xDistance = res.data.xDistance @@ -886,6 +1021,7 @@ height: 8.5%; } .img-box { + height: 23vw; width: 100%; /* background-color: #666666; */ display: flex; @@ -929,7 +1065,7 @@ margin-left: 10%; } .charts-box-ring { - width: 50%; + width: 60%; height: 24vh; /* background-color: #00ffff; */ } @@ -1043,12 +1179,15 @@ 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; } -- Gitblit v1.9.1