From b829e0e3879ac18ab4711a04b23ce8d334ec55f3 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期五, 18 四月 2025 09:14:46 +0800 Subject: [PATCH] # --- Monitor-APP/pages/home/home.vue | 921 +++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 795 insertions(+), 126 deletions(-) diff --git a/Monitor-APP/pages/home/home.vue b/Monitor-APP/pages/home/home.vue index f623243..c5ef810 100644 --- a/Monitor-APP/pages/home/home.vue +++ b/Monitor-APP/pages/home/home.vue @@ -1,73 +1,45 @@ <template> <view class="container"> - <!-- 涓昏鍥� --> - <uni-transition :duration="duration" :mode-class="modeClass" :styles="homeView" :show="homeViewShow"> + <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="button-left"></view> - <view class="button-right"></view> - <!-- 涓讳綋 --> + <view class="button-left" @click="ejected()"></view> + <view class="button-right" @click="ejected()"></view> + <!-- 涓昏鍥� --> <view class="main"> <view class="mian-item"> <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="3" + 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: 70%; font-size: 2vw;">鏂欏彿: {{item.matnr}}</view> + <view style="width: 30%; font-size: 2vw;">鏁伴噺: {{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 +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> @@ -105,7 +77,7 @@ <view class="mian-item"> <view class="mian-item-box"> <view style="width: 100%;height: 100%;"> - <view style="height: 40%;"> + <view style="height: 35%;"> <!-- 鎶樼嚎鍥� --> <y-box> <view class="box-item"> @@ -120,12 +92,12 @@ <!-- 鐧惧垎姣� --> <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> - <view class="charts-box" v-if="!showCharts"> + <view class="charts-box"> <qiun-data-charts type="line" :chartData="chartsDataLine1" :echartsH5="true" :echartsApp="true"/> </view> </view> @@ -137,7 +109,7 @@ <view style="height: 2%;"></view> - <view style="height: 38%;"> + <view style="height: 43%;"> <y-box> <view class="box-item"> <view class="flex-row" style="width: 100%;"> @@ -155,53 +127,200 @@ </view> </view> </view> + <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"/> + </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> + <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> + <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> + </view> + </view> </view> + </y-box> </view> <view style="height: 2%;"></view> - <view style="height: 18%;"> - <y-box></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> </view> </view> + </view> </uni-transition> <!-- 鍏ㄦ澘/鎷f枡淇℃伅 --> - <!-- <view class="info"> - - </view> --> + <uni-transition :duration="duration" :mode-class="infoMode" :show="infoViewShow"> + <view class="home-view"> + <view class="head"> + <text>{{infoText.title}}</text> + </view> + <!-- 鏃ュ巻 --> + <view class="time-tools">{{calendar}}</view> + <view class="button-left" @click="ejected()"></view> + <view class="button-right" @click="ejected()"></view> + <!-- 涓讳綋 --> + <view class="info-main"> + <view class="info-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="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: 30%;">鏂欏彿: {{item.matnr}}</view> --> + <view style="width: 50%; font-size: 3vw;">鐗╂枡缂栫爜: {{item.matnr}}</view> + <view style="width: 50%; font-size: 3vw;">鎵瑰彿: {{item.batch}}</view> + <view style="width: 100%; font-size: 3vw;">瑙勬牸: {{item.specs}}</view> + <view style="width: 50%; font-size: 3vw;">鏁伴噺: {{item.anfme}}</view> + <view style="width: 50%; font-size: 3vw;">鍗曚綅: {{item.sku}}</view> + + + + </swiper-item> + </swiper> + </view> + </view> + </y-box> + </view> + </view> + </view> + </uni-transition> <!-- 寮傚父淇℃伅 --> - <!-- <view class="error-info"></view> --> + <uni-transition :duration="duration" :mode-class="errorInfoMode" :show="errorInfoViewShow"> + <view class="error-info-view"> + <view class="head"> + <text>{{infoText.title}}</text> + </view> + <!-- 鏃ュ巻 --> + <view class="time-tools">{{calendar}}</view> + <view class="button-left"></view> + <view class="button-right"></view> + <!-- 涓讳綋 --> + <view class="info-main" > + <view class="info-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> + </uni-transition> + + <!-- 鑷畾涔夊脊鍑哄眰 --> + <view class="eject-mask" v-show="ejectShow"> + <view class="eject"> + <!-- 寮瑰嚭title --> + <view class="eject-title">淇敼 / 閰嶇疆</view> + <!-- input --> + <scroll-view scroll-y class="eject-input"> + <view class="item"> + <view class="desc">ip锛�</view> + <view class="input"> + <input type="text" v-model="baseIP"> + </view> + </view> + <view class="item"> + <view class="desc">port锛�</view> + <view class="input"> + <input type="text" v-model="basePort"> + </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> + <!-- button --> + <view class="eject-button"> + <view class="button-item" @click="ejectClose">鍙� 娑�</view> + <view class="button-item" @click="ejectConfirm">纭� 璁�</view> + </view> + </view> + </view> + <view style="color: #FFF;position: fixed;bottom: 10px;left: 10px;" v-show="timeOut"> + 杩炴帴瓒呮椂: {{times}} s + </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'; export default { data() { return { series: [], homeViewShow: true, - modeClass: ['fade', 'slide-top'], - homeView: { - justifyContent: 'center', - alignItems: 'center', - width: '100vw', - height: '100vh', - borderRadius: '5px', - textAlign: 'center', - backgroundColor: '#4cd964', - boxShadow: '0 0 5px 1px rgba(0,0,0,0.2)' - }, + infoViewShow: false , + errorInfoViewShow: false, + homeMode: [], + infoMode: [], + errorInfoMode: [], baseInfo: { xDistance: 1, yDistance: 2, xDuration: 3, yDuration: 4, usedPr: 50, - used: 3537 + used: 3537, + stockCount: '', + emptyCount: '', + noneCount: '', }, chartsData: { "Line": { @@ -221,7 +340,33 @@ chartsDataPie2: {}, fontSize: '', height: '', - showCharts: false + showCharts: false, + ejectShow: false, + baseIP: '', + basePort: '', + baseLedId: '', + baseCrnId: '', + baseUrl: '', + info: null, + error: null, + infoType: 0, + text: '', + infoText: { + title: '', + staNo: "", + matnr: "", + maknx: "", + specs: "", + count: "", + error: "", + barcode: "" + }, + swiperList: [], + timeOut: false, + times: 0, + currDate: '', + locList:[] + } }, onShow() { @@ -230,29 +375,359 @@ plus.navigator.setFullscreen(true) // #endif }, + 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'); + that.baseUrl = PROJ + that.baseIP = BaseIP + that.baseLedId = BaseLedId + that.basePort = BasePort + that.baseCrnId = BaseCrnId + // this.getUrl() + }, onLoad() { - this.getServerData() - this.getDate() setInterval(()=>{ - this.getDate() + 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.handle(['fade', 'slide-top']) - },4000) + + setInterval(()=> { + setTimeout(()=>{ + plus.runtime.restart(); + },100) + + },1000*60*60*4) }, methods: { - getServerData() { - this.chartsDataLine1=JSON.parse(JSON.stringify(demodata.Line)) + 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 + }, + 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 + } + }) + + }, + // 鎺у埗鍣� + 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; + + } + + }, + // 涓诲睆骞� handle(type) { this.homeViewShow = !this.homeViewShow - setTimeout(()=>{ - this.showCharts = !this.showCharts - },1000) - this.modeClass = type }, + // 鎷f枡 + handle1(type) { + this.infoViewShow = !this.infoViewShow + this.modeClass = type + }, + // 寮傚父 + handle2(type) { + this.errorInfoViewShow = !this.errorInfoViewShow + this.modeClass = type + }, + // 閰嶇疆 + ejected () { + this.ejectShow = true + }, + // 鍙栨秷閰嶇疆 + ejectClose() { + this.ejectShow = false + }, + // 纭閰嶇疆 + 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); + 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 + that.calendar = res.year + "骞�" + res.month + "鏈�" + res.day + "鏃� " + res.hour + ":" + res.minute + ":" + res.second + " " + res.week + that.currDate = res.year + "/" + res.month + "/" + res.day + } + }) + }, + // 鏃ュ巻 getDate() { var dt = new Date(); @@ -275,13 +750,83 @@ } 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) { + 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 + } + } + }) + }, + /*************** 楗煎浘 *****************************************************************************************************/ + 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 { + + } + } + }) + }, } } </script> <style> - @import url("../../static/css/common.css"); + /* @import url("../../static/css/common.css"); */ + @import url("home.css"); /* 鍒� */ .flex-col { display: flex; @@ -296,11 +841,9 @@ .container{ width: 100vw; min-height: 100vh; - background-color: blue; - display: flex; - flex-direction: column; - align-items: center; + background-color: #00163E; color: #fff; + text-align: center; } /* 涓昏鍥� */ @@ -355,6 +898,32 @@ width: 13.5%; height: 8.5%; } + .img-box { + height: 23vw; + width: 100%; + /* background-color: #666666; */ + display: flex; + flex-direction: row; + justify-content: flex-start; + flex-wrap: wrap; + font-size: 1vw; + } + .item-img { + width: 50%; + margin-top: 5%; + display: flex; + flex-direction: row; + /* background-color: #00ffff; */ + justify-content: flex-start; + align-items: flex-start; + } + .distance { + + } + .item-img image { + height: 5vw; + width: 5vw; + } .progressBar { margin-top: 9%; /* width: 100%; */ @@ -373,6 +942,18 @@ 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; + } @@ -419,41 +1000,129 @@ letter-spacing: 1px; line-height: 3vh; } - .img-box { - width: 100%; - /* background-color: #666666; */ - display: flex; - flex-direction: row; - justify-content: flex-start; - flex-wrap: wrap; - font-size: 1vw; - } - .item-img { - width: 50%; - margin-top: 5%; - display: flex; - flex-direction: row; - /* background-color: #00ffff; */ - justify-content: flex-start; - align-items: flex-start; - } - .distance { - - } - .item-img image { - height: 5vw; - width: 5vw; - } + /* 鍏ㄦ澘/鎷f枡淇℃伅 */ - .info { + .info-view { width: 100vw; min-height: 100vh; - background-color: #666666; + background-image: url(../../static/background.png); + background-size: 100vw 100vh; + } + .info-main { + width: 100vw; + height: 88vh; + display: flex; + justify-content: center; + align-items: center; + } + .info-box { + width: 98%; + height: 98%; } /* 寮傚父淇℃伅 */ - .error-info { + .error-info-view { width: 100vw; min-height: 100vh; - background-color: #00ffff; + background-image: url(../../static/background.png); + background-size: 100vw 100vh; + } + + /* 寮瑰嚭:閰嶇疆鍖哄煙 */ + .eject-mask { + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.5); + position: fixed; + top: 0; + left: 0; + z-index: 999; + display: flex; + align-items: center; + justify-content: center; + } + .eject{ + position: relative; + width: 40vw; + height: 40vh; + background-color: #fff; + border-radius: 2rem; + } + .eject-title { + width: 100%; + 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: 1vh 0 0 0; + font-size: 1.5vw; + color: #363636; + } + .desc { + display: inline-block; + width: 40%; + text-align: right; + color: #606266; + + } + .input { + display: flex; + align-items: center; + padding-left: 5px; + padding-right: 5px; + width: 100%; + height: 3vh; + border: 0.1vh solid #cfd4dc; + margin-right: 20%; + text-align: start; + } + .eject-input input { + width: 100%; + height: 3vh; + font-size: 1vw; + + + } + .eject-button { + display: flex; + align-items: center; + position: absolute; + bottom: 0; + height: 6vh; + line-height: 6vh; + width: 100%; + border-top: 1px solid #ccc; + } + .button-item { + width: 50%; + height: 100%; + font-size: 1.5vw; + font-weight: bold; + 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; + } + .info-box-text-item { + height: 20%;font-size: 8vh; + justify-content: center; } </style> \ No newline at end of file -- Gitblit v1.9.1