From 172d04fc9d2d7afb28dd3de207f05bbf90a1b58e Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期二, 07 五月 2024 19:40:51 +0800 Subject: [PATCH] # --- pages/phyz/stationManage/stationDetl.vue | 329 ++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 289 insertions(+), 40 deletions(-) diff --git a/pages/phyz/stationManage/stationDetl.vue b/pages/phyz/stationManage/stationDetl.vue index 74d99e9..e966559 100644 --- a/pages/phyz/stationManage/stationDetl.vue +++ b/pages/phyz/stationManage/stationDetl.vue @@ -19,21 +19,40 @@ <!-- 宸ヤ綔妗� --> <view class="wrkMast" v-if="wrkMast"> <view class="wrkMast-wrkNo"> - <view style="flex:3">宸ヤ綔鍙�: {{wrkMast.wrkNo}}</view> - <view style="flex:2;text-align: right;">{{wrkMast.ioTitle}}</view> + <view style="flex:5">宸ヤ綔鍙�: {{wrkMast.wrkNo}}</view> + <view style="flex:3;text-align: right;">{{wrkMast.ioTitle}}</view> </view> <view>宸ヤ綔绫诲瀷: {{wrkMast.ioType$}}</view> + <view>宸ヤ綔鐘舵��: {{wrkMast.wrkSts$}}</view> <view>婧愬簱浣�: {{wrkMast.sourceLocNo}}</view> + <view>璐ф灦鐮�: {{wrkMast.barcode}}</view> </view> <!-- 鏄庣粏 --> <view class="wrkDetls" v-if="wrkDetls.length > 0"> + <view style="font-weight: bold;">宸ヤ綔鏄庣粏</view> <view class="wrkDetl" v-for="wrkDetl in wrkDetls"> <view>鍟嗗搧鍚嶇О:{{wrkDetl.maktx}}</view> <view>鍟嗗搧缂栫爜:{{wrkDetl.matnr}}</view> <view>閿�鍞鍗曞彿:{{wrkDetl.threeCode ? wrkDetl.threeCode : ' --'}}</view> <view>鑷敱椤�:{{wrkDetl.deadTime ? wrkDetl.deadTime : ' --'}}</view> - <view>鏁伴噺:{{wrkDetl.anfme}}</view> + <view>鍑哄簱鏁伴噺:{{wrkDetl.anfme}}</view> + </view> + </view> + + + <!-- 缁勬墭鏄庣粏 --> + <view class="waitPakins" v-if="waitPakins.length > 0"> + <view style="font-weight: bold;">缁勬墭鏄庣粏</view> + <view class="waitPakin" v-for="waitPakin in waitPakins"> + <view>鍟嗗搧鍚嶇О:{{waitPakin.maktx}}</view> + <view>鍟嗗搧缂栫爜:{{waitPakin.matnr}}</view> + <view>璁㈠崟缂栧彿:{{waitPakin.orderNo}}</view> + <view>閿�鍞鍗曞彿:{{waitPakin.threeCode ? waitPakin.threeCode : ' --'}}</view> + <view>鑷敱椤�:{{waitPakin.deadTime ? waitPakin.deadTime : ' --'}}</view> + <view>鐘舵��:{{waitPakin.ioStatus$}}</view> + <view>鍏ュ簱鏁伴噺:{{waitPakin.anfme}}</view> + </view> </view> @@ -52,6 +71,60 @@ <view class="btn"> <view class="btn-left" @click="emptyPakinClose">鍙栨秷</view> <view class="btn-right" @click="emptyPakinConfirm()">鍏ュ簱</view> + </view> + </view> + </uni-popup> + </view> + + <!-- 寮圭獥 --> + <view> + <uni-popup ref="doContainerMoveOut" type="dialog"> + <view class="popup"> + <!-- 鏍囬 --> + <view class="title">璇疯緭鍏ョ┖璐ф灦鐮�</view> + <view class="popup-item"> + <view class="popup-item-left">璐ф灦鐮�:</view> + <view class="popup-item-right"><input type="text" v-model="barcode"></view> + </view> + <view class="btn"> + <view class="btn-left" @click="containerMoveOutClose">鍙栨秷</view> + <view class="btn-right" @click="containerMoveOut()">纭鍑哄簱</view> + </view> + </view> + </uni-popup> + </view> + + <!-- 寮圭獥 --> + <view> + <uni-popup ref="doContainerMoveOut2" type="dialog"> + <view class="popup"> + <!-- 鏍囬 --> + <view class="title">璇疯緭鍏ョ┖璐ф灦鐮�</view> + <view class="popup-item"> + <view class="popup-item-left">璐ф灦鐮�:</view> + <view class="popup-item-right"><input type="text" v-model="barcode"></view> + </view> + <view class="btn"> + <view class="btn-left" @click="containerMoveOutClose">鍙栨秷</view> + <view class="btn-right" @click="containerMoveOut2()">纭绂诲満</view> + </view> + </view> + </uni-popup> + </view> + + <!-- 寮圭獥 --> + <view> + <uni-popup ref="doPickIn" type="dialog"> + <view class="popup"> + <!-- 鏍囬 --> + <view class="title">璇疯緭鍏ョ┖璐ф灦鐮�</view> + <view class="popup-item"> + <view class="popup-item-left">璐ф灦鐮�:</view> + <view class="popup-item-right"><input type="text" v-model="barcode"></view> + </view> + <view class="btn"> + <view class="btn-left" @click="pickInClose">鍙栨秷</view> + <view class="btn-right" @click="pickIn()">鍏ュ簱</view> </view> </view> </uni-popup> @@ -87,8 +160,11 @@ <view class="buttom"> <button size="mini" type="primary" @click="emptyPakin()" v-if="btnType == 'emptyPakin'">绌烘澘鍏ュ簱</button> <button size="mini" type="primary" @click="emptyOut()" v-if="btnType == 'emptyPakin'">鍛煎彨绌烘澘</button> - <button size="mini" type="primary" @click="containerMoveOut()" v-if="btnType == 'out' && station.locSts == 'F'">纭鍑哄簱</button> - <button size="mini" type="primary" @click="pickIn()" v-if="btnType == 'pick' && station.locSts == 'F'">宸叉嫞鏂欏洖搴�</button> + <button size="mini" type="primary" @click="doContainerMoveOut2()" v-if="btnType == 'out'">璐ф灦绂诲満</button> + <button size="mini" type="primary" @click="doContainerMoveOut()" v-if="btnType == 'out'">纭鍑哄簱</button> + <button size="mini" type="primary" @click="doPickIn()" v-if="btnType == 'pick'">宸叉嫞鏂欏洖搴�</button> + <button size="mini" type="primary" @click="doPickIn2()" v-if="btnType == 'pick'">鍐嶆鎷f枡</button> + <button size="mini" type="primary" @click="startPakin()" v-if="btnType == 'start'">鍚姩鍏ュ簱</button> </view> </view> </template> @@ -97,6 +173,8 @@ export default { data() { return { + baseUrl: '', + token: '', station: null, reload: { loading: false, @@ -109,7 +187,8 @@ option: '', isOpen: false, wrkMast: '', - wrkDetls: [] + wrkDetls: [], + waitPakins: [] } }, onShow() { @@ -120,7 +199,6 @@ const eventChannel = this.getOpenerEventChannel(); // 鐩戝惉acceptDataFromOpenerPage浜嬩欢锛岃幏鍙栦笂涓�椤甸潰閫氳繃eventChannel浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� eventChannel.on('item', function(data) { - console.log(data); _this.station = data.item _this.reloadStation() }) @@ -139,7 +217,6 @@ success(res) { res = res.data if (res.code === 200) { - if (res.data.records[0].locSts == 'O') { _this.btnType = 'emptyPakin' } else if (res.data.records[0].locSts == 'F') { @@ -147,6 +224,15 @@ } else { _this.btnType = 'working' } + // if (res.data.records[0].locSts == 'O') { + // res.data.records[0].locSts$ = '娌℃湁璐ф灦' + // } else if (res.data.records[0].locSts == 'F') { + // res.data.records[0].locSts$ = '璐ф灦鍦ㄥ簱' + // } else if (res.data.records[0].locSts == 'S') { + // res.data.records[0].locSts$ = '璐ф灦杩涘叆涓�' + // } else if (res.data.records[0].locSts == 'R') { + // res.data.records[0].locSts$ = '璐ф灦绂诲紑涓�' + // } setTimeout(()=>{ for (let k of res.data.records) { @@ -161,11 +247,11 @@ _this.reload.loadingText = '鏇存柊鐘舵��' _this.getContainerType() },500) - - _this.getWrkMast() + _this.getWrkMast(res.data.records[0].barcode) + uni.showToast({ title: '鏇存柊鎴愬姛锛�', icon: "none", position: 'top' }) } else if (res.code == 403) { uni.showToast({ title: res.msg, icon: "error", position: 'top' }) - setTimeout(() => { uni.reLaunch({ url: '../login/login' }); }, 1000); + setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); } else { uni.showToast({ title: res.msg, icon: "error", position: 'top' }) } @@ -190,7 +276,7 @@ _this.reloadStation() } else if (res.code == 403) { uni.showToast({ title: res.msg, icon: "error", position: 'top' }) - setTimeout(() => { uni.reLaunch({ url: '../login/login' }); }, 1000); + setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); } else { uni.showToast({ title: res.msg, icon: "error", position: 'top' }) } @@ -229,7 +315,7 @@ uni.showToast({ title: '鍚姩鍏ュ簱', icon: "success", position: 'top' }) } else if (res.code == 403) { uni.showToast({ title: res.msg, icon: "error", position: 'top' }) - setTimeout(() => { uni.reLaunch({ url: '../login/login' }); }, 1000); + setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); } else { uni.showToast({ title: res.msg, icon: "error", position: 'top' }) } @@ -254,7 +340,7 @@ method: 'POST', header: { 'token': uni.getStorageSync('token') }, success(res) { - var res = result.data + var res = res.data if (res.code === 200) { setTimeout(()=> { _this.containerType = '' @@ -263,7 +349,7 @@ uni.showToast({ title: '鍛煎彨鎴愬姛', icon: "success", position: 'top' }) } else if (res.code == 403) { uni.showToast({ title: res.msg, icon: "error", position: 'top' }) - setTimeout(() => { uni.reLaunch({ url: '../login/login' }); }, 1000); + setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); } else { uni.showToast({ title: res.msg, icon: "error", position: 'top' }) } @@ -281,8 +367,12 @@ res = res.data if (res.code === 200) { _this.selects = res.data + } else if (res.code == 403) { + uni.showToast({ title: res.msg, icon: "error", position: 'top' }) + setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); + } else { + uni.showToast({ title: res.msg, icon: "error", position: 'top' }) } - console.log(res); } }) }, @@ -295,7 +385,7 @@ this.containerType = option }, // 鏌ヨ宸ヤ綔妗� - getWrkMast() { + getWrkMast(barcode) { let _this = this uni.request({ url: `${_this.baseUrl}/agv/wrkMast/list/auth`, @@ -309,26 +399,41 @@ success(res) { res = res.data if (res.code === 200 && res.data.records.length > 0) { - if (res.data.records[0].ioType == 1) { - res.data.records[0]['ioTitle'] = '鍏ュ簱' - } else if (res.data.records[0].ioType == 10) { - res.data.records[0]['ioTitle'] = '绌烘澘鍏ュ簱' - } else if (res.data.records[0].ioType == 53) { - res.data.records[0]['ioTitle'] = '鎷f枡鍥炲簱' - } else if (res.data.records[0].ioType == 101) { - res.data.records[0]['ioTitle'] = '鍏ㄦ澘鍑哄簱' - _this.btnType = 'out' - } else if (res.data.records[0].ioType == 103) { - res.data.records[0]['ioTitle'] = '鎷f枡鍑哄簱' - _this.btnType = 'pick' - } else if (res.data.records[0].ioType == 110) { - res.data.records[0]['ioTitle'] = '绌烘澘鍑哄簱' + let mast = null + for (let wrkMast of res.data.records) { + if (wrkMast.ioType == 1) { + wrkMast['ioTitle'] = '鍏ュ簱' + } else if (wrkMast.ioType == 10) { + wrkMast['ioTitle'] = '绌烘澘鍏ュ簱' + } else if (wrkMast.ioType == 53) { + wrkMast['ioTitle'] = '鎷f枡鍥炲簱' + } else if (wrkMast.ioType == 101) { + wrkMast['ioTitle'] = '鍏ㄦ澘鍑哄簱' + _this.btnType = 'out' + } else if (wrkMast.ioType == 103) { + wrkMast['ioTitle'] = '鎷f枡鍑哄簱' + _this.btnType = 'pick' + } else if (wrkMast.ioType == 110) { + wrkMast['ioTitle'] = '绌烘澘鍑哄簱' + } + if (wrkMast.barcode == barcode) { + mast = wrkMast + } } - _this.wrkMast = res.data.records[0] - _this.getWrkDetl(_this.wrkMast.wrkNo) + + _this.wrkMast = mast + _this.getWrkDetl(mast.wrkNo) } else if (res.code === 200 && res.data.records.length == 0) { _this.wrkMast = null _this.wrkDetls = [] + if (_this.station.barcode != '') { + _this.getWaitPakin(_this.station.barcode) + } + } else if (res.code == 403) { + uni.showToast({ title: res.msg, icon: "error", position: 'top' }) + setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); + } else { + uni.showToast({ title: res.msg, icon: "error", position: 'top' }) } } }) @@ -349,14 +454,51 @@ res = res.data if (res.code === 200) { _this.wrkDetls = res.data.records + } else if (res.code == 403) { + uni.showToast({ title: res.msg, icon: "error", position: 'top' }) + setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); + } else { + uni.showToast({ title: res.msg, icon: "error", position: 'top' }) + } + } + }) + }, + // 鑾峰彇缁勬墭妗� + getWaitPakin(barcode) { + let _this = this + uni.request({ + url: `${_this.baseUrl}/agv/waitPakin/list/auth`, + header: {'token': uni.getStorageSync('token')}, + data: { + curr: 1, + limit: 1000, + supp_code: barcode + }, + method: 'GET', + success(res) { + res = res.data + if (res.code === 200) { + _this.waitPakins = res.data.records + _this.btnType = 'start' + } else if (res.code == 403) { + uni.showToast({ title: res.msg, icon: "error", position: 'top' }) + setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); + } else { + uni.showToast({ title: res.msg, icon: "error", position: 'top' }) } } }) }, // 鍏ㄦ澘鍑哄簱 纭鍑哄簱 + doContainerMoveOut() { + this.$refs.doContainerMoveOut.open() + }, + containerMoveOutClose() { + this.$refs.doContainerMoveOut.close() + }, containerMoveOut() { let _this = this - let devNo = {devNo:[this.station.devNo]} + let devNo = {devNo:[this.station.devNo],barcode: _this.barcode} uni.request({ url: `${_this.baseUrl}/agv/basDevp/visualized/container/moveOut`, data: JSON.stringify(devNo), @@ -364,35 +506,129 @@ success(res) { res = res.data if (res.code === 200) { + _this.$refs.doContainerMoveOut.close() setTimeout(()=> { _this.barcode = '' _this.reloadStation() },1000) uni.showToast({ title: '纭瀹屾垚', icon: "success", position: 'top' }) + } else if (res.code == 403) { + uni.showToast({ title: res.msg, icon: "error", position: 'top' }) + setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); } else { - uni.showToast({ title: res.msg, icon: "error", position: 'top' }) + uni.showToast({ title: res.msg, icon: "error", position: 'top' }) + } + } + }) + }, + + // 鍏ㄦ澘鍑哄簱 瀹瑰櫒绂诲満 + doContainerMoveOut2() { + this.$refs.doContainerMoveOut2.open() + }, + containerMoveOutClose() { + this.$refs.doContainerMoveOut2.close() + }, + containerMoveOut2() { + let _this = this + let devNo = {devNo:[this.station.devNo],barcode: _this.barcode} + uni.request({ + url: `${_this.baseUrl}/agv/basDevp/visualized/container/moveOut2`, + data: JSON.stringify(devNo), + method: 'POST', + success(res) { + res = res.data + if (res.code === 200) { + _this.$refs.doContainerMoveOut2.close() + setTimeout(()=> { + _this.barcode = '' + _this.reloadStation() + },1000) + uni.showToast({ title: '绂诲満瀹屾垚', icon: "success", position: 'top' }) + } else if (res.code == 403) { + uni.showToast({ title: res.msg, icon: "error", position: 'top' }) + setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); + } else { + uni.showToast({ title: res.msg, icon: "error", position: 'top' }) + } + } + }) + }, + // 鍐嶆鎷f枡 + doPickIn2() { + let _this = this + let item = this.wrkMast + uni.navigateTo({ + url: './pickAgain', + success(res) { + res.eventChannel.emit('item', { + item: item, + wrkDetls: _this.wrkDetls, + }) + }, + events: { + acceptDataFromOpenedPage: function(data) { + _this.reloadStation() } } }) }, // 鎷f枡鍑哄簱 纭鍚庡洖搴� + doPickIn() { + this.$refs.doPickIn.open() + }, + pickInClose() { + this.$refs.doPickIn.close() + }, pickIn() { let _this = this uni.request({ url: `${_this.baseUrl}/agv/basDevp/visualized/container/pickIn`, - data: {devNo: _this.station.devNo}, + data: {devNo: _this.station.devNo,barcode: _this.barcode}, method: 'POST', success(res) { res = res.data if (res.code === 200) { + _this.$refs.doPickIn.close() _this.barcode = '' _this.reloadStation() + } else if (res.code == 403) { + uni.showToast({ title: res.msg, icon: "error", position: 'top' }) + setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); } else { - uni.showToast({ title: res.msg, icon: "error", position: 'top' }) + uni.showToast({ title: res.msg, icon: "error", position: 'top' }) } } }) - } + }, + // 鍚姩鍏ュ簱 + startPakin(type) { + let that = this + let params = [] + let param = { devNo: this.station.devNo, containerCode: this.station.barcode, } + params.push(param) + uni.request({ + url: that.baseUrl + '/agvMobile/pakin/empty/auth', + data: {pad: params}, + method: 'POST', + header: {'token': uni.getStorageSync('token')}, + success(result) { + var res = result.data + if (res.code === 200) { + setTimeout(()=> { + _this.barcode = '' + _this.reloadStation() + },1000) + uni.showToast({ title: '鍚姩鍏ュ簱', icon: "success", position: 'top' }) + } else if (res.code == 403) { + uni.showToast({ title: res.msg, icon: "error", position: 'top' }) + setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); + } else { + uni.showToast({ title: res.msg, icon: "error", position: 'top' }) + } + } + }); + }, } } </script> @@ -432,7 +668,7 @@ padding: 24rpx; } .wrkMast-wrkNo { - font-size: 32px; + font-size: 30px; font-weight: bold; padding: 24rpx 0; display: flex; @@ -453,7 +689,20 @@ border-bottom: none; } - + .waitPakins { + background-color: #c494ed; + color: #fff; + margin-top: 10rpx; + font-size: 18px; + padding: 24rpx; + } + .waitPakin { + padding: 16rpx 0; + border-bottom: 1px solid #FFF; + } + .waitPakin:last-child { + border-bottom: none; + } .popup { -- Gitblit v1.9.1