From e9119355cb0ac224b1846988cfee9ed06fa70050 Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期四, 02 三月 2023 12:50:45 +0800 Subject: [PATCH] # --- Monitor-APP/pages/home/home.vue | 455 +++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 393 insertions(+), 62 deletions(-) diff --git a/Monitor-APP/pages/home/home.vue b/Monitor-APP/pages/home/home.vue index a81bb72..7cedcd9 100644 --- a/Monitor-APP/pages/home/home.vue +++ b/Monitor-APP/pages/home/home.vue @@ -1,6 +1,6 @@ <template> <view class="container"> - <!-- 涓昏鍥� --> + <!-- 瀹佹尝鎹蜂赴椤圭洰 --> <uni-transition :duration="duration" :mode-class="homeMode" :show="homeViewShow"> <view class="home-view"> <view class="head"> @@ -10,7 +10,7 @@ <view class="time-tools">{{calendar}}</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"> @@ -29,8 +29,8 @@ <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 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> @@ -40,8 +40,8 @@ <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 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> @@ -51,8 +51,8 @@ <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 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> @@ -62,8 +62,8 @@ <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 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> @@ -165,17 +165,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> @@ -187,7 +187,9 @@ <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/ruiyun.jpg" mode="" style="width: 100%;"></image> --> </view> </y-box> </view> @@ -195,22 +197,53 @@ </view> </view> </view> + </view> </uni-transition> <!-- 鍏ㄦ澘/鎷f枡淇℃伅 --> <uni-transition :duration="duration" :mode-class="infoMode" :show="infoViewShow"> - <view class="info-view"> + <view class="home-view"> <view class="head"> - <text>鎷� 鏂�</text> + <text>{{infoText.title}}</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="info-main" > + <view class="info-main"> <view class="info-box"> - <y-box></y-box> + <y-box> + <!-- 鏂囨湰瀹瑰櫒 --> + <view class="text-content"> + <!-- head --> + <view class="swiper-head"> + <view style="width: 20%;">鐩爣绔欙細{{infoText.staNo}}</view> + <view style="width: 30%;">鍟嗗搧缂栧彿</view> + <view style="width: 20%;">鍟嗗搧鍚嶇О</view> + <view style="width: 20%;">瑙勬牸</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="8" + circular="true" :autoplay="true" :interval="3000" :duration="1000"> + <swiper-item class="swiper-item" v-for="(item,i) in swiperList" :key="i"> + <view style="width: 20%;">No:{{i+1}}</view> + <view style="width: 30%;">{{item.matNo}}</view> + <view style="width: 20%;">{{item.maknx}}</view> + <view style="width: 20%;">{{item.specs}}</view> + <view style="width: 10%;">{{item.count}}</view> + </swiper-item> + </swiper> + </view> + </view> + </y-box> </view> </view> </view> @@ -219,7 +252,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> @@ -228,7 +261,11 @@ <!-- 涓讳綋 --> <view class="info-main" > <view class="info-box"> - <y-box></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> @@ -265,6 +302,12 @@ <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> </view> <!-- button --> <view class="eject-button"> @@ -278,12 +321,13 @@ <script> import demodata from '@/mockdata/demodata.json'; + import ycqdata from '@/pages/index/data.json'; export default { data() { return { series: [], homeViewShow: true, - infoViewShow: false, + infoViewShow: false , errorInfoViewShow: false, homeMode: [], infoMode: [], @@ -294,7 +338,10 @@ xDuration: 3, yDuration: 4, usedPr: 50, - used: 3537 + used: 3537, + stockCount: '', + emptyCount: '', + noneCount: '', }, chartsData: { "Line": { @@ -320,7 +367,21 @@ basePort: '', baseLedId: '', baseCrnId: '', - + baseUrl: '', + info: null, + error: null, + infoType: 0, + text: '', + infoText: { + title: '', + staNo: "", + matnr: "", + maknx: "", + specs: "", + count: "", + error: "" + }, + swiperList: [] } }, onShow() { @@ -329,49 +390,241 @@ 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.getServerData() + this.initlineChart() + this.initPieChart() + this.getOther() this.getDate() + this.getInfo() + this.getError() + // this.getInfo2() + // this.getError2() + this.getUrl() + this.controller() + // 娴嬭瘯鐢� },1000) - setInterval(()=>{ - // this.controller() - },5000) }, methods: { 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 = '妫�鏂欏嚭搴�' + } + 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.error = errorInfo + return + } + that.infoType = 2 + 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) { + 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 = '鐩樼偣鍑哄簱' + } + 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 + } + } + }) + + }, + getError() { + let that = this + uni.request({ + url: that.commonUrl + "/monitor/led/error", + data: {ledId:that.baseLedId}, + method:"GET", + success(result) { + 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 + } + } + }) + }, // 鎺у埗鍣� controller() { - if (this.homeViewShow) { - this.homeViewShow = !this.homeViewShow - this.homeMode = ['fade', 'slide-bottom'] - setTimeout(()=>{ - this.infoViewShow = !this.infoViewShow - this.infoMode = ['fade', 'slide-bottom'] - },1100) - } else if(this.infoViewShow) { - this.infoViewShow = !this.infoViewShow - this.infoMode = ['fade', 'slide-bottom'] - setTimeout(()=>{ - this.errorInfoViewShow = !this.errorInfoViewShow - this.errorInfoMode = ['fade', 'slide-bottom'] - },1100) - } else { - this.errorInfoViewShow = !this.errorInfoViewShow - this.errorInfoMode = ['fade', 'slide-bottom'] - setTimeout(()=>{ - this.homeViewShow = !this.homeViewShow - this.homeMode = ['fade', 'slide-bottom'] - },1100) + switch(this.infoType) { + // 鏈変俊鎭� 浣� 娌℃湁閿欒淇℃伅 + 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; + 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; } + }, // 涓诲睆骞� handle(type) { @@ -402,6 +655,7 @@ 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 }, @@ -427,13 +681,82 @@ } 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 + }, + /*************** 鎶樼嚎鍥� *****************************************************************************************************/ + 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) { + 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; @@ -655,9 +978,9 @@ } .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; @@ -720,4 +1043,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