From 61c1945d810e4e14a1c7b61b2761acf181104f42 Mon Sep 17 00:00:00 2001 From: whycq <10027870+whycq@user.noreply.gitee.com> Date: 星期四, 09 十一月 2023 15:20:13 +0800 Subject: [PATCH] # agv出库信息 盘点按钮显示 --- Monitor-APP/pages/home/home.vue | 499 +++++++++++++++++++------------------------------------ 1 files changed, 171 insertions(+), 328 deletions(-) diff --git a/Monitor-APP/pages/home/home.vue b/Monitor-APP/pages/home/home.vue index 3ffcfcd..42435b2 100644 --- a/Monitor-APP/pages/home/home.vue +++ b/Monitor-APP/pages/home/home.vue @@ -2,15 +2,88 @@ <view class="container"> <uni-transition :duration="duration" :mode-class="homeMode" :show="homeViewShow"> <view class="home-view"> - <view class="head"> + <!-- <view class="head"> <text>鑷姩浠撳簱鐩戞帶骞冲彴</text> - </view> + </view> --> <!-- 鏃ュ巻 --> - <view class="time-tools">{{calendar}}</view> + <!-- <view class="time-tools">{{calendar}}</view> <view class="button-left" @click="ejected()"></view> - <view class="button-right" @click="ejected()"></view> + <view class="button-right" @click="ejected()"></view> --> + <view v-if="locs.length==0"><button size="mini" @click="ejected()" >閰嶇疆</button></view> + <view class="main" v-if="locs" > + <view class="main-b" v-for="item in locs" :class="item.color"> + <view class="flex-col" style="width: 100%;font-size: 5rpx;"> + <view class="flex-row"> + <view style="flex: 1;" @click="ejected()">{{item.devNo}}</view> + <view style="flex: 1;">{{item.locSts$}}</view> + </view> + <view class="flex-row"> + <view style="flex: 1;" v-if="item.agvWrkMast">宸ヤ綔鍙凤細{{item.agvWrkMast.wrkNo}}</view> + <view style="flex: 1;" v-if="item.agvWrkMast" >{{item.agvWrkMast.wrkSts$}}</view> + </view> + <view class="flex-row"> + <view style="flex: 1;" v-if="item.agvWaitPakin">鏂欑鐮�: {{item.agvWaitPakin.suppCode}}</view> + <view style="flex: 1;" v-if="item.agvWrkDetl">鏂欑鐮侊細{{item.agvWrkDetl.suppCode}}</view> + <view style="flex: 1;" v-if="!item.agvWaitPakin && !item.agvWrkDetl"></view> + + <view style="flex: 1;" v-if="item.agvWrkMast">{{item.agvWrkMast.ioType$}}</view> + <view style="flex: 1;" v-if="!item.agvWrkMast"></view> + </view> + <view class="flex-row"> + <view style="flex: 1;" ></view> + <view style="flex: 1;" ></view> + </view> + </view> + + <view class="flex-col" style="width: 100%;" v-if="item.agvWaitPakin"> + <view class="flex-row" style="background-color: #007aff;"> + <view style="flex: 3;">璁㈠崟鍙�</view> + <view style="flex: 3;">鐗╂枡鍙�</view> + <view style="flex: 1;">鏁伴噺</view> + <view style="flex: 1;">缁撲綑</view> + </view> + <view class="flex-row" v-for="k in item.agvWaitPakin.orderNo"> + <view style="flex: 3;">{{k.orderNo}}</view> + <view style="flex: 3;">{{item.agvWaitPakin.matnr}}</view> + <view style="flex: 1;">{{k.anfme}}</view> + <view style="flex: 1;">{{item.agvWaitPakin.volume}}</view> + </view> + </view> + + <view class="flex-col" style="width: 100%;" v-if="item.agvWrkDetl"> + <view class="flex-row" style="background-color: #007aff;"> + <view style="flex: 3;">璁㈠崟鍙�</view> + <view style="flex: 3;">鐗╂枡鍙�</view> + <view style="flex: 1;">鏁伴噺</view> + <view style="flex: 1;">缁撲綑</view> + </view> + <view class="flex-row" v-for="k in item.agvWrkDetl.orderNo"> + <view style="flex: 3;">{{k.orderNo}}</view> + <view style="flex: 3;">{{item.agvWrkDetl.matnr}}</view> + <view style="flex: 1;">{{k.anfme}}</view> + <view style="flex: 1;">{{item.agvWrkDetl.volume}}</view> + </view> + </view> + <view style="align-self: center;margin-top: auto;width: 100%;display: flex;align-items: center;justify-content: center;" v-if="item.agvWrkMast && item.agvWrkMast.ioType == 103 && item.agvWrkDetl"> + <view style="width: 60%;background-color: #007aff;height: 3vh;display: flex;align-items: center;justify-content: center;font-size: 10rpx; + border-radius: 8rpx;" @click="pickIn(item.devNo)">鎷f枡鍥炲簱</view> + </view> + + <view style="align-self: center;margin-top: auto;width: 100%;display: flex;align-items: center;justify-content: center;" v-if="item.agvWrkMast && item.agvWrkMast.ioType == 107 && item.agvWrkDetl"> + <view style="width: 60%;background-color: #007aff;height: 3vh;display: flex;align-items: center;justify-content: center;font-size: 10rpx; + border-radius: 8rpx;" @click="pickIn(item.devNo)">鐩樼偣鍥炲簱</view> + </view> + + <view style="align-self: center;margin-top: auto;width: 100%;display: flex;align-items: center;justify-content: center;" v-if="item.agvWrkMast && item.agvWrkMast.ioType == 101 && item.agvWrkDetl"> + <view style="width: 60%;background-color: #007aff;height: 3vh;display: flex;align-items: center;justify-content: center;font-size: 10rpx; + border-radius: 8rpx;" @click="containerMoveOut(item.devNo)">瀹瑰櫒绂诲満</view> + </view> + + </view> + </view> + <!-- 涓昏鍥� --> - <view class="main"> + <!-- <view class="main"> <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> @@ -24,15 +97,24 @@ <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.orderNo}}</view></view> + <view class="y-it" v-if="item.agvWrkDetl " > + <view style="display: flex;align-items: stretch;" > + <view style="height: 100%">璁㈠崟鍙�: </view> + <view style="width: 16vw;display: flex;flex-wrap: wrap;"> + <view style="width: 100%; text-align: left;" v-for="k in item.agvWrkDetl.orderNo">{{k.orderNo}}--{{k.anfme}}</view> + </view> + </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 class="y-it" v-if="item.agvWrkDetl"> + <view class="y-it-desc" >鍙栬揣鏁伴噺:</view><view class="margin">{{item.agvWrkDetl.anfme}}</view> + <view class="y-it-desc" style="flex:1;">缁撲綑鏁伴噺:</view><view class="margin" style="margin-right: 10%;">{{item.agvWrkDetl.volume}}</view> + </view> </view> - </view> + </view> --> </view> </uni-transition> @@ -184,7 +266,9 @@ timeOut: false, times: 0, currDate: '', - textred: 'textred' + textred: 'textred', + result: '', + color: '' } }, onShow() { @@ -209,6 +293,7 @@ that.current = CURRENT this.getUrl() this.getVisualized() + }, onLoad() { setInterval(()=>{ @@ -221,9 +306,36 @@ // this.controller() this.getVisualized() },1000) - + setTimeout(()=>{ + console.log(this.result); + },3000) }, methods: { + // 鎷f枡/鐩樼偣鍏ュ簱 + pickIn(e) { + let _this = this + uni.request({ + url: `${_this.commonUrl}/agv/basDevp/visualized/container/pickIn`, + data: {devNo: e}, + method: 'POST', + success(res) { + } + }) + }, + // 瀹瑰櫒绂诲満 + containerMoveOut(e) { + let _this = this + let devNo = {devNo:[e]} + // console.log(JSON.stringify(devNo)); + uni.request({ + url: `${_this.commonUrl}/agv/basDevp/visualized/container/moveOut`, + data: JSON.stringify(devNo), + method: 'POST', + success(res) { + + } + }) + }, floor() { var temp = this.ck1 this.ck1 = this.ck2 @@ -252,11 +364,34 @@ data: JSON.stringify(param), success(res) { res = res.data - console.log(res); + that.result = res if (res.code === 200 && res.data.body.length>0) { that.locs = []; for (let k of res.data.body) { for (let i of k.loc) { + if (i.agvWrkDetl) { + let a = i.agvWrkDetl.orderNo + if (RegExp(/{/).test(a)) { + i.agvWrkDetl.orderNo = JSON.parse(a) + } else { + i.agvWrkDetl.orderNo = [] + // console.log(i.agvWrkDetl); + i.agvWrkDetl.orderNo.push({anfme:i.agvWrkDetl.anfme,orderNo:a}) + } + } + if (i.agvWaitPakin) { + let a = i.agvWaitPakin.orderNo + if (RegExp(/{/).test(a)) { + i.agvWaitPakin.orderNo = JSON.parse(a) + } else { + i.agvWaitPakin.orderNo = [] + // console.log(i.agvWrkDetl); + i.agvWaitPakin.orderNo.push({anfme:i.agvWaitPakin.anfme,orderNo:a}) + } + } + if(i.locSts == 'F') { + i['color'] = 'pakin' + } that.locs.push(i) } } @@ -273,219 +408,6 @@ 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.dataInfo3 - var res = result.data - that.infoModel(res) - }, - getError2 () { - let that = this - let result = ycqdata.dataError2 - var res = result.data - that.errorModel(res) - }, - 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 - that.infoModel(res) - }, - 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 - 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) { - let that = this - 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.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.ctnNo = res.data[0].ctnNo - if (res.data[0].ctnNo) { - that.infoText.orderNo = '' - that.textred = 'textred' - } else { - that.infoText.orderNo = res.data[0].orderNo - that.textred = '' - } - that.infoText.matnr = res.data[0].matDtos[0].matnr - that.infoText.barcode = res.data[0].barcode - that.infoText.batch = res.data[0].matDtos[0].batch ? res.data[0].matDtos[0].batch : '--' - that.infoText.specs = res.data[0].matDtos[0].specs - that.infoText.count = res.data[0].matDtos[0].count - that.infoText.doneOfTray = res.data[0].doneOfTray - that.infoText.totalOfTray = res.data[0].totalOfTray - that.infoText.doneOfUnit = res.data[0].doneOfUnit - that.infoText.totalOfUnit = res.data[0].totalOfUnit - } else { - if (that.infoType == 2 || that.infoType == 3) { - return; - } - 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) { @@ -542,105 +464,6 @@ }) }, - // 鏃ュ巻 - getDate() { - var dt = new Date(); - var year,month,day,hours,minutes,seconds,weeks - year = dt.getFullYear(); - month = (dt.getMonth()+1) < 10 ? '0'+ (dt.getMonth()+1) : (dt.getMonth()+1); - day = dt.getDate() < 10 ? '0'+dt.getDate() : dt.getDate(); - hours = dt.getHours() < 10 ? '0' + dt.getHours() : dt.getHours(); - minutes = dt.getMinutes() < 10 ? '0' + dt.getMinutes() : dt.getMinutes(); - seconds = dt.getSeconds() < 10 ? '0' + dt.getSeconds() : dt.getSeconds(); - weeks = dt.getDay(); - switch (weeks) { - case 0: weeks = "鏄熸湡鏃�"; break; - case 1: weeks = "鏄熸湡涓�"; break; - case 2: weeks = "鏄熸湡浜�"; break; - case 3: weeks = "鏄熸湡涓�"; break; - case 4: weeks = "鏄熸湡鍥�"; break; - case 5: weeks = "鏄熸湡浜�"; break; - default : weeks = "鏄熸湡鍏�"; - } - 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 - if(that.commonUrl == 'undefined') { - return - } - 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 - if(that.commonUrl == 'undefined') { - return - } - 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 - if(that.commonUrl == 'undefined') { - return - } - 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 { - - } - } - }) - }, } } @@ -652,7 +475,8 @@ .main-y { font-size: 22rpx; - background-color: rgba(255, 255, 255, .05); + /* background-color: rgba(255, 255, 255, .05); */ + background-color: rgba(0, 189, 47, 0.3); width:19vw; height: 28vh; margin-top: 4px; @@ -663,6 +487,25 @@ justify-content: center; /* text-align: left; */ } + + .main-b { + font-size: 10rpx; + background-color: rgba(255, 255, 255, .05); + /* background-color: rgba(0, 189, 47, 0.3); */ + width:19.8vw; + height: 33vh; + /* margin-top: 4px; */ + backdrop-filter: blur(3px); + display: flex; + flex-direction: column; + align-items: flex-start; + /* align-items: stretch; */ + /* justify-content: center; */ + } + .pakin { + background-color: rgba(0, 189, 47, 0.3); + } + .y-it { display: flex; /* background-color: #FF5722; */ @@ -698,7 +541,7 @@ .home-view { width: 100vw; min-height: 100vh; - background-image: url(../../static/background.png); + /* background-image: url(../../static/background.png); */ background-size: 100vw 100vh; } .home-right { @@ -810,11 +653,11 @@ /* 鍏辩敤 */ .main { - height: 88vh; - margin: 16rpx; + height: 100vh; display: flex; flex-wrap: wrap; justify-content: space-around; + position: relative; } .mian-item { width: 50%; -- Gitblit v1.9.1