From 6885f777b4edabdf1ba05413a311befdc2fff72a Mon Sep 17 00:00:00 2001 From: whycq <10027870+whycq@user.noreply.gitee.com> Date: 星期四, 12 十月 2023 14:03:02 +0800 Subject: [PATCH] # --- Monitor-APP/App.vue | 1 Monitor-APP/pages/home/home.vue | 472 ++++++++++++++++------------------------------------------- 2 files changed, 128 insertions(+), 345 deletions(-) diff --git a/Monitor-APP/App.vue b/Monitor-APP/App.vue index 617a0db..a18309a 100644 --- a/Monitor-APP/App.vue +++ b/Monitor-APP/App.vue @@ -27,7 +27,6 @@ //妫�娴嬪綋鍓嶅钩鍙帮紝濡傛灉鏄畨鍗撳垯鍚姩瀹夊崜鏇存柊 getVersion() { let that = this; - console.log(this.downloadFlag); if (this.downloadFlag) { return } diff --git a/Monitor-APP/pages/home/home.vue b/Monitor-APP/pages/home/home.vue index b84ac6c..8e0328b 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> @@ -11,281 +11,30 @@ <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> - <view class="box-item"> - <text class="item-title">浠撳簱鏁版嵁</text> - <text class="item-subTitle">warehouse data</text> - <view class="img-box"> - - <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;">KM</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;">KM</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;">H</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;">H</view> - </view> - <view style="height: 100%;text-align: left;text-indent: 2em;">绱鍗囬檷鏃堕暱(灏忔椂)</view> - </view> - </view> - - </view> - </view> - <view class="box-item"> - <view class="flex-row" style="width: 100%;"> - <!-- 宸︿晶 --> - <view class="flex-col" style="align-items: flex-start;justify-content: flex-start;"> - <text class="item-title">搴撲綅浣跨敤鐜�</text> - <text class="item-subTitle">EQUIPMENT USAGE THIS MONTH</text> - </view> - <!-- 鍙充晶 --> - <view style="margin-left: auto;"> - <!-- 鐧惧垎姣� --> - <view class="flex-col" style="align-items: flex-end;justify-content: flex-end;" > - <!-- style="justify-content: flex-end;position: absolute;top: 0;right: 1vw;text-align: right;" --> - <text class="item-title">{{baseInfo.usedPr}}%</text> - <text class="item-subTitle">鍚屾瘮涓婃湀 + 5%</text> - </view> - </view> - </view> - - <view class="flex-col" style="width: 100%;align-items: flex-start;position: relative;font-size: 1vw"> - <!-- 杩涘害鏉� --> - <view class="flex-row" style="width: 100%;position: relative;margin-top: 5%;"> - <view class="progressBar" style="width: 80%;height: 2vw;"> - <view class="progress" :style="'width:'+ baseInfo.usedPr + '%'"></view> - </view> - <view style="position: absolute;bottom: 0;right: 0;font-size: 2.5vw;color: #FF5722;;">{{baseInfo.used}}</view> - </view> - </view> - </view> - </y-box> - </view> - </view> - <view class="mian-item"> - <view class="mian-item-box"> - <view style="width: 100%;height: 100%;"> - <view style="height: 35%;"> - <!-- 鎶樼嚎鍥� --> - <y-box> - <view class="box-item"> - <view class="flex-row" style="width: 100%;"> - <!-- 宸︿晶 --> - <view class="flex-col" style="align-items: flex-start;justify-content: flex-start;"> - <text class="item-title">鍏ュ嚭搴撶粺璁�</text> - <text class="item-subTitle">ORDER STATISTICS</text> - </view> - <!-- 鍙充晶 --> - <view style="margin-left: auto;"> - <!-- 鐧惧垎姣� --> - <view class="flex-col" style="align-items: flex-end;justify-content: flex-end;" > - <!-- 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> - </view> - </view> - </view> - <view class="charts-box"> - <qiun-data-charts type="line" :chartData="chartsDataLine1" :echartsH5="true" :echartsApp="true"/> - </view> - </view> - </y-box> - </view> - - - <!-- null --> - <view style="height: 2%;"></view> - - - <view style="height: 43%;"> - <y-box> - <view class="box-item"> - <view class="flex-row" style="width: 100%;"> - <!-- 宸︿晶 --> - <view class="flex-col" style="align-items: flex-start;justify-content: flex-start;"> - <text class="item-title">搴撳瓨绫诲瀷</text> - <text class="item-subTitle">INCOME DATE</text> - </view> - <!-- 鍙充晶 --> - <view style="margin-left: auto;"> - <!-- 鐧惧垎姣� --> - <view class="flex-col" style="align-items: flex-end;justify-content: flex-end;" > - <text class="item-title">浠婂ぉ</text> - <text class="item-subTitle">Today</text> - </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> - <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> - </view> - </view> + <view class="main-y" v-for="item in locs"> + <view class="y-it"><view class="y-it-desc">宸ヤ綔绔欑紪鍙�:</view><view class="margin">{{item.devNo}}</view></view> + <view class="y-it"><view class="y-it-desc">宸ヤ綔绔欑紪鍙�:</view><view class="margin">{{item.locSts$}}</view></view> + + <view class="y-it" v-if="item.agvWaitPakin"><view class="y-it-desc">鐗╂枡鍙�:</view><view class="margin">{{item.agvWaitPakin.matnr}}</view></view> + <view class="y-it" v-if="item.agvWaitPakin"><view class="y-it-desc">搴忓垪鐮�:</view><view class="margin">{{item.agvWaitPakin.batch}}</view></view> + <view class="y-it" v-if="item.agvWaitPakin"><view class="y-it-desc">鏂欑鐮�:</view><view class="margin">{{item.agvWaitPakin.suppCode}}</view></view> + <view class="y-it" v-if="item.agvWaitPakin"><view class="y-it-desc">鏁伴噺:</view><view class="margin">{{item.agvWaitPakin.anfme}}</view></view> + + <view class="y-it" v-if="item.agvWrkMast"><view class="y-it-desc">宸ヤ綔鍙�:</view><view class="margin">{{item.agvWrkMast.wrkNo}}</view></view> + <view class="y-it" v-if="item.agvWrkMast"><view class="y-it-desc">宸ヤ綔鐘舵��:</view><view class="margin">{{item.agvWrkMast.wrkSts$}}</view></view> + <view class="y-it" v-if="item.agvWrkMast"><view class="y-it-desc">宸ヤ綔绫诲瀷:</view><view class="margin">{{item.agvWrkMast.ioType$}}</view></view> + + <view class="y-it" v-if="item.agvWrkDetl"><view class="y-it-desc">鐗╂枡鍙�:</view><view class="margin">{{item.agvWrkDetl.matnr}}</view></view> + <view class="y-it" v-if="item.agvWrkDetl"><view class="y-it-desc">搴忓垪鐮�:</view><view class="margin">{{item.agvWrkDetl.batch}}</view></view> + <view class="y-it" v-if="item.agvWrkDetl"><view class="y-it-desc">鏂欑鐮�:</view><view class="margin">{{item.agvWrkDetl.suppCode}}</view></view> + <view class="y-it" v-if="item.agvWrkDetl"><view class="y-it-desc">鏁伴噺:</view><view class="margin">{{item.agvWrkDetl.anfme}}</view></view> + </view> </view> </view> </uni-transition> <!-- 鍏ㄦ澘/鎷f枡淇℃伅 --> - <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>宸ヤ綔鍙�: {{infoText.workNo}}</view> - <view>婧愬簱浣�: {{infoText.sourceLocNo}}</view> - <view>鐩爣绔�: {{infoText.staNo}}</view> - <view v-show="infoText.ctnNo" style="color: red">閿佺爜鐗╂枡</view> - <!-- <view style="width: 10%;">鏁伴噺</view> --> - </view> - <!-- body --> - <view class="swiper-body" :class="textred" > - <!-- 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"> - <view> - <view>鏂欏彿锛歿{infoText.matnr}}</view> - <view class="swiper-margin">瑙勬牸锛歿{infoText.specs}}</view> - <view v-show="!infoText.orderNo" class="swiper-margin">绠卞彿锛歿{infoText.barcode}}</view> - </view> - <view> - <view>鎵规锛歿{infoText.batch}}</view> - <view class="swiper-margin">鍑哄簱鏁伴噺锛歿{infoText.count}}</view> - </view> - </swiper-item> - <!-- <swiper-item class="swiper-item" v-show="!infoText.orderNo"> - - </swiper-item> --> - <swiper-item class="swiper-item" v-show="infoText.orderNo"> - <view> - <view>璁㈠崟鍙凤細{{infoText.orderNo}}</view> - <view class="swiper-margin">绠卞彿锛歿{infoText.barcode}}</view> - </view> - <view> - <view>宸插嚭绠辨暟锛歿{infoText.doneOfTray}}</view> - <view class="swiper-margin">鎬荤鏁帮細{{infoText.totalOfTray}}</view> - </view> - </swiper-item> - </swiper> - </view> - </view> - </y-box> - </view> - </view> - </view> - </uni-transition> - <!-- 寮傚父淇℃伅 --> - <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"> @@ -306,7 +55,7 @@ <input type="text" v-model="basePort"> </view> </view> - <view class="item"> + <!-- <view class="item"> <view class="desc">ledId锛�</view> <view class="input"> <input type="text" v-model="baseLedId"> @@ -317,7 +66,7 @@ <view class="input"> <input type="text" v-model="baseCrnId"> </view> - </view> + </view> --> <view class="item"> <view class="desc">Url锛�</view> <view class="input"> @@ -344,6 +93,7 @@ export default { data() { return { + locs: [], series: [], homeViewShow: true, infoViewShow: false , @@ -382,11 +132,11 @@ height: '', showCharts: false, ejectShow: false, - baseIP: '', - basePort: '', + baseIP: '10.10.10.40', + basePort: '8081', baseLedId: '', baseCrnId: '', - baseUrl: '', + baseUrl: 'tzskwms', info: null, error: null, infoType: 0, @@ -433,24 +183,43 @@ that.baseLedId = BaseLedId that.basePort = BasePort that.baseCrnId = BaseCrnId - // this.getUrl() + this.getUrl() + this.getVisualized() }, onLoad() { setInterval(()=>{ - this.getServerData() - this.initlineChart() - this.initPieChart() - this.getOther() - this.getDate2() - this.getInfo() - this.getError() + // this.getDate2() + // this.getInfo() + // this.getError() // this.getInfo2() // this.getError2() - this.getUrl() + // this.getUrl() this.controller() },1000) + }, methods: { + getVisualized() { + let that = this + let param = {stationCode: 'CS-101'} + uni.request({ + url: `${that.commonUrl}/agv/basDevp/visualized/list/auth`, + header: { 'Access-Control-Allow-Origin': '*'}, + method: 'POST', + data: JSON.stringify(param), + success(res) { + res = res.data + if (res.code === 200 && res.data.body.length>0) { + that.locs = []; + for (let k of res.data.body) { + for (let i of k.loc) { + that.locs.push(i) + } + } + } + } + }) + }, timeOuts() { console.log(this.times); }, @@ -472,26 +241,7 @@ 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 - } + that.errorModel(res) }, getInfo() { let that = this @@ -511,6 +261,50 @@ 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 + that.errorModel(res) + + }, + fail(err) { + that.timeOut = true + that.infoType = 0 + } + }) + + }, + errorModel(res) { + let that = this + 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 + } }, infoModel(res) { @@ -561,43 +355,6 @@ } 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() { @@ -847,6 +604,33 @@ <style> /* @import url("../../static/css/common.css"); */ @import url("home.css"); + + .main-y { + font-size: 40rpx; + background-color: rgba(255, 255, 255, .05); + width:19vw; + height: 28vh; + margin-top: 4px; + backdrop-filter: blur(3px); + display: flex; + flex-direction: column; + align-items: stretch; + justify-content: center; + /* text-align: left; */ + } + .y-it { + display: flex; + /* background-color: #FF5722; */ + } + .y-it-desc { + width: 240rpx; + text-align: right; + /* background-color: #FF5722; */ + } + .margin { + margin-left: 20rpx; + } + /* 鍒� */ .flex-col { display: flex; @@ -982,11 +766,11 @@ /* 鍏辩敤 */ .main { - width: 100vw; height: 88vh; - margin-top: 1vh; + margin: 16rpx; display: flex; - + flex-wrap: wrap; + justify-content: space-around; } .mian-item { width: 50%; -- Gitblit v1.9.1