From 248ef3ba3de9994dc83d2b36690542893f9fb6e6 Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期四, 28 十一月 2024 16:26:06 +0800 Subject: [PATCH] # --- pages/phyz/stationManage/stationDetl.vue | 1038 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 1,017 insertions(+), 21 deletions(-) diff --git a/pages/phyz/stationManage/stationDetl.vue b/pages/phyz/stationManage/stationDetl.vue index c314871..01a5687 100644 --- a/pages/phyz/stationManage/stationDetl.vue +++ b/pages/phyz/stationManage/stationDetl.vue @@ -11,12 +11,57 @@ <view>绔欑偣鐘舵�侊細{{station.locSts$}}</view> <view class="mt-flex"> <view class="station-barcode" style="flex: 1">璐ф灦鐮侊細<text>{{station.barcode ? station.barcode : '--'}}</text></view> - <view v-if="station.barcode"><button size="mini" type="warn" @click="unbind()">瑙i櫎缁戝畾</button></view> + <view v-if="station.barcode && station.locSts == 'F'"> + <!-- <button size="mini" type="warn" @click="unbind()">瑙i櫎缁戝畾</button> --> + </view> </view> </view> + + <!-- 宸ヤ綔妗� --> + <view class="wrkMast" v-if="wrkMast"> + <view class="wrkMast-wrkNo"> + <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 v-if="wrkMast.ioType == 111">鐩爣妤煎眰: {{wrkMast.crnNo}}</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> + </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> + + <view style="height: 140rpx;"></view> + <!-- 寮圭獥 --> - <!-- 淇敼鏁伴噺 --> <view> <uni-popup ref="emptyPakin" type="dialog"> <view class="popup"> @@ -27,37 +72,252 @@ <view class="popup-item-right"><input type="text" v-model="barcode"></view> </view> <view class="btn"> - <view class="btn-left" @click="emptyPakinClose">鍙栨秷</view> - <view class="btn-right" @click="emptyPakinConfirm()">鍏ュ簱</view> + <button class="btn-left" @click="emptyPakinClose">鍙栨秷</button> + <button class="btn-right" @click="emptyPakinConfirm()" :disabled="emptyPakinDis">绌烘灦鍏ュ簱</button> + </view> + </view> + </uni-popup> + </view> + <!-- 寮圭獥 --> + <view> + <uni-popup ref="doBack" 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"> + <button class="btn-left" @click="doBackClose">鍙栨秷</button> + <button class="btn-right" @click="doBackConfirm()" :disabled="doBackDis">閫�搴�</button> </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"> + <button class="btn-left" @click="containerMoveOutClose">鍙栨秷</button> + <button class="btn-right" @click="containerMoveOut()" :disabled="containerMoveOutDis">纭鍑哄簱</button> + </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"> + <button class="btn-left" @click="containerMoveOutClose">鍙栨秷</button> + <button class="btn-right" @click="containerMoveOut2()" :disabled="containerMoveOut2Dis">纭绂诲満</button> + </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"> + <button class="btn-left" @click="pickInClose">鍙栨秷</button> + <button class="btn-right" @click="pickIn()" :disabled="pickInDis">纭鎷f枡</button> + </view> + </view> + </uni-popup> + </view> + + <!-- 寮圭獥 --> + <view> + <uni-popup ref="emptyOut" type="dialog"> + <view class="popup"> + <!-- 鏍囬 --> + <view class="title">璇烽�夋嫨璐ф灦绫诲瀷</view> + <view class="popup-item"> + <view class="dropdown" @click="toggleDropdown()"> + <input type="text" style="width: 650rpx;" v-model="containerType" placeholder="璇烽�夋嫨璐ф灦绫诲瀷"> + <uni-icons :type="isOpen ? 'top' : 'bottom'" color="#c1c1c1" style="margin-left: 10rpx;"></uni-icons> + <scroll-view scroll-y="ture" class="dropdown-content" v-if="isOpen"> + <view class="dropdown-item" v-for="option in selects" @click="selected(option)">{{option}}</view> + </scroll-view> + </view> + </view> + <view class="btn"> + <button class="btn-left" @click="emptyOutClose">鍙栨秷</button> + <button class="btn-right" @click="emptyOutConfirm()" :disabled="emptyOutDis">鍑哄簱</button> + </view> + </view> + </uni-popup> + </view> + + <!-- 寮圭獥 --> + <view> + <uni-popup ref="allocationIn" 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"> + <button class="btn-left" @click="allocationInClose">鍙栨秷</button> + <button class="btn-right" @click="allocationInConfirm()" :disabled="allocationInDis">纭杩涘満</button> + </view> + </view> + </uni-popup> + </view> + + <!-- 寮圭獥 --> + <view> + <uni-popup ref="allocationOut" 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="allocationOutClose">鍙栨秷</view> + <view class="btn-right" @click="allocationOutConfirm()" :disabled="allocationOutDis">纭绂诲満</view> + </view> + </view> + </uni-popup> + </view> + + <!-- 寮圭獥 --> + <view> + <uni-popup ref="empIn" 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"> + <button class="btn-left" @click="empInClose">鍙栨秷</button> + <button class="btn-right" @click="empInConfirm()" :disabled="empInDis">纭杩涘満</button> + </view> + </view> + </uni-popup> + </view> + + <!-- 寮圭獥 --> + <view> + <uni-popup ref="empOut" 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"> + <button class="btn-left" @click="empOutClose">鍙栨秷</button> + <button class="btn-right" @click="empOutConfirm()" :disabled="empOutDis">纭绂诲満</button> + </view> + </view> + </uni-popup> + </view> + + <!-- 寮圭獥 --> + <view> + <uni-popup ref="process" 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"> + <button class="btn-left" @click="processedClose">鍙栨秷</button> + <button class="btn-right" @click="processedConfirm()" :disabled="processedDis">鍔犲伐瀹屾垚</button> + </view> + </view> + </uni-popup> + </view> <!-- 搴曢儴鎿嶄綔鎸夐挳 --> <view class="buttom"> + <button size="mini" :disabled="dis" type="warn" @click="doBack()" v-if="btnType == 'out' || btnType == 'pick'">閫�搴搟{sec}}</button> + <!-- <button size="mini" type="primary" @click="handBack()" v-if="btnType == 'handBack'">杞墜鍔�</button> --> + <!-- <button size="mini" type="warn" @click="doBack()" v-if="btnType == 'out' || btnType == 'pick'">閫�搴�</button> --> <button size="mini" type="primary" @click="emptyPakin()" v-if="btnType == 'emptyPakin'">绌烘澘鍏ュ簱</button> - <button size="mini" type="primary" @click="emptyPakin()" v-if="btnType == 'emptyPakin'">绌烘澘鍏ュ簱</button> - <button size="mini" type="primary" @click="containerMoveOut()" v-if="btnType == 'out'">纭鍑哄簱</button> - <button size="mini" type="primary" @click="pickIn()" v-if="btnType == 'pick'">宸叉嫞鏂欏洖搴�</button> + <button size="mini" type="primary" @click="emptyOut()" v-if="btnType == 'emptyPakin'">鍛煎彨绌烘澘</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> + <button size="mini" type="primary" @click="allocationOut()" v-if="btnType == 'allocationOut'">璋冩嫧绂诲満</button> + <button size="mini" type="primary" @click="allocationIn()" v-if="btnType == 'allocationIn'">璋冩嫧杩涘満</button> + <button size="mini" type="primary" @click="empOut()" v-if="btnType == 'empOut'">绌烘灦绂诲満</button> + <button size="mini" type="primary" @click="empIn()" v-if="btnType == 'empIn'">绌烘灦杩涘満</button> + <button size="mini" type="primary" @click="processed()" v-if="btnType == 'processed'">宸插姞宸ュ洖搴�</button> </view> </view> </template> <script> + import utils from '@/pages/phyz/utils/utils.js' export default { data() { return { + baseUrl: '', + token: '', station: null, reload: { loading: false, loadingText: '鏇存柊鐘舵��' }, btnType: 'emptyPakin', - barcode: '' + barcode: '', + containerType: '', + selects: [], + option: '', + isOpen: false, + wrkMast: '', + wrkDetls: [], + waitPakins: [], + dis: true, + sec: '', + emptyPakinDis: false, + containerMoveOutDis: false, + containerMoveOut2Dis: false, + pickInDis: false, + emptyOutDis: false, + allocationInDis: false, + allocationOutDis:false, + empInDis: false, + empOutDis: false, + doBackDis: false, + processedDis: false } }, onShow() { @@ -68,10 +328,22 @@ const eventChannel = this.getOpenerEventChannel(); // 鐩戝惉acceptDataFromOpenerPage浜嬩欢锛岃幏鍙栦笂涓�椤甸潰閫氳繃eventChannel浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� eventChannel.on('item', function(data) { - console.log(data); _this.station = data.item _this.reloadStation() }) + setInterval(()=> { + let k = utils.checkSec() + // console.log(k); + if (k == 180) { + this.dis = false + this.sec = '' + } else { + this.dis = true + this.sec = k + "绉掑悗閲嶈瘯" + } + },1000) + + }, methods: { // 鏇存柊绔欑偣 @@ -88,12 +360,21 @@ res = res.data if (res.code === 200) { if (res.data.records[0].locSts == 'O') { - _this.btnType = 'emptyPakin' + if (res.data.records[0].devNo.substring(0, 2) == "DB") { + if (res.data.records[0].floor != 1) { + _this.btnType = 'allocationIn' + } else { + _this.btnType = 'empIn' + } + } else { + _this.btnType = 'emptyPakin' + } } else if (res.data.records[0].locSts == 'F') { _this.btnType = 'pakin' } else { _this.btnType = 'working' } + setTimeout(()=>{ for (let k of res.data.records) { if (k.locSts != 'O') { @@ -105,10 +386,13 @@ _this.station = res.data.records[0] _this.reload.loading = false _this.reload.loadingText = '鏇存柊鐘舵��' + _this.getContainerType() },500) + _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' }) } @@ -133,7 +417,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' }) } @@ -146,19 +430,381 @@ }, emptyPakinClose() { this.$refs.emptyPakin.close() + this.emptyPakinDis = false }, emptyPakinConfirm() { - this.emptyPakinClose() let _this = this; + this.barcode = this.barcode.replace(/\s+/g, '') + _this.emptyPakinDis = true + if (this.barcode.length != 6) { + _this.emptyPakinDis = false + uni.showToast({ title: '璐ф灦鏉$爜寮傚父', icon: "error", position: 'top' }) + return + } let params = [] let param = { devNo: this.station.devNo, containerCode: this.barcode, } params.push(param) + this.emptyPakinClose() uni.request({ url: `${_this.baseUrl}/agvMobile/pakin/empty/auth`, data: { pad: params }, method: 'POST', header: { 'token': uni.getStorageSync('token') }, success(res) { + var res = res.data + _this.emptyPakinDis = false + 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' }) + } + setTimeout(()=> { + + },100) + }, + fail(res) { + _this.emptyPakinDis = false + } + }); + }, + emptyOut() { + this.$refs.emptyOut.open() + }, + emptyOutClose() { + this.$refs.emptyOut.close() + }, + emptyOutConfirm() { + this.emptyOutClose() + this.emptyOutDis = true + let _this = this; + let params = [] + let param = { devNo: this.station.devNo, containerType: this.containerType, } + params.push(param) + uni.request({ + url: `${_this.baseUrl}/agvMobile/pakout/empty/auth`, + data: { pad: params }, + method: 'POST', + header: { 'token': uni.getStorageSync('token') }, + success(res) { + var res = res.data + _this.emptyOutDis = false + if (res.code === 200) { + setTimeout(()=> { + _this.containerType = '' + _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' }) + } + }, + fail(res) { + _this.emptyOutDis = false + } + }); + }, + getContainerType() { + let _this = this + uni.request({ + url: `${_this.baseUrl}/agvMobile/pakout/empty/container/selector/auth`, + header: {'token': uni.getStorageSync('token')}, + data: JSON.stringify({devNo: _this.station.devNo}), + method: 'POST', + success(res) { + 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' }) + } + } + }) + }, + // 寮�鍚� / 鍏抽棴涓嬫媺妗� + toggleDropdown() { + this.isOpen = !this.isOpen + }, + // 閫夋嫨璐ф灦绫诲瀷 + selected(option) { + this.containerType = option + }, + // 鏌ヨ宸ヤ綔妗� + getWrkMast(barcode) { + let _this = this + uni.request({ + url: `${_this.baseUrl}/agv/wrkMast/list/auth`, + header: {'token': uni.getStorageSync('token')}, + data: { + curr: 1, + limit: 1000, + condition: _this.station.devNo + }, + method: 'GET', + success(res) { + res = res.data + if (res.code === 200 && res.data.records.length > 0) { + 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 == 107) { + wrkMast['ioTitle'] = '鍔犲伐鍑哄簱' + _this.btnType = 'processed' + } else if (wrkMast.ioType == 109) { + wrkMast['ioTitle'] = '鑷姩鍥炴祦' + _this.btnType = 'handBack' + } else if (wrkMast.ioType == 110) { + wrkMast['ioTitle'] = '绌烘澘鍑哄簱' + } else if (wrkMast.ioType == 111) { + wrkMast['ioTitle'] = '璋冩嫧鍑哄簱' + _this.btnType = 'allocationOut' + } else if (wrkMast.ioType == 112) { + wrkMast['ioTitle'] = '璋冩嫧鍏ュ簱' + _this.btnType = 'null' + } else if (wrkMast.ioType == 113) { + if (wrkMast.wrkSts == 212) { + wrkMast['ioTitle'] = '璐ф灦鍥炴祦' + _this.btnType = 'empOut' + } + } + if (wrkMast.barcode == barcode) { + mast = wrkMast + } + } + + _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' }) + } + } + }) + }, + // 鑾峰彇宸ヤ綔鏄庣粏 + getWrkDetl(wrkNo) { + let _this = this + uni.request({ + url: `${_this.baseUrl}/agv/wrkDetl/list/auth`, + header: {'token': uni.getStorageSync('token')}, + data: { + curr: 1, + limit: 1000, + wrk_no: wrkNo + }, + method: 'GET', + success(res) { + 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() { + this.containerMoveOutDis = true + let _this = this + let devNo = {devNo:[this.station.devNo],barcode: _this.barcode} + uni.request({ + url: `${_this.baseUrl}/agv/basDevp/visualized/container/moveOut`, + header: { 'token': uni.getStorageSync('token')}, + data: JSON.stringify(devNo), + method: 'POST', + success(res) { + res = res.data + _this.containerMoveOutDis = false + 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' }) + } + }, + fail(res) { + _this.containerMoveOutDis = false + } + }) + }, + + // 鍏ㄦ澘鍑哄簱 瀹瑰櫒绂诲満 + doContainerMoveOut2() { + this.$refs.doContainerMoveOut2.open() + }, + containerMoveOutClose() { + this.$refs.doContainerMoveOut2.close() + }, + containerMoveOut2() { + this.containerMoveOut2Dis = true + let _this = this + let devNo = {devNo:[this.station.devNo],barcode: _this.barcode} + uni.request({ + url: `${_this.baseUrl}/agv/basDevp/visualized/container/moveOut2`, + header: { 'token': uni.getStorageSync('token')}, + data: JSON.stringify(devNo), + method: 'POST', + success(res) { + res = res.data + _this.containerMoveOut2Dis = false + 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' }) + } + }, + fail(res) { + _this.containerMoveOut2Dis = false + } + }) + }, + // 鍐嶆鎷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() { + this.pickInDis = true + let _this = this + uni.request({ + url: `${_this.baseUrl}/agv/basDevp/visualized/container/pickIn`, + header: { 'token': uni.getStorageSync('token')}, + data: {devNo: _this.station.devNo,barcode: _this.barcode}, + method: 'POST', + success(res) { + _this.pickInDis = false + 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' }) + } + }, + fail(res) { + _this.pickInDis = false + } + }) + }, + // 鍚姩鍏ュ簱 + 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(()=> { @@ -168,27 +814,305 @@ 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' }) + } + }, + + }); + }, + allocationOut() { + this.$refs.allocationOut.open() + }, + allocationOutClose() { + this.$refs.allocationOut.close() + }, + // 璋冩嫧绂诲満 + allocationOutConfirm() { + let that = this + let params = [] + let param = { devNo: this.station.devNo, barcode: this.barcode, } + params.push(param) + uni.request({ + url: that.baseUrl + '/agvMobile/hand/control/allocationOut', + header: {'token': uni.getStorageSync('token')}, + data: param, + method: 'POST', + success(result) { + var res = result.data + if (res.code === 200) { + that.$refs.allocationOut.close() + setTimeout(()=> { + that.barcode = '' + that.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' }) + } + }, + }); + }, + // 绌烘灦绂诲満 + empOut() { + this.$refs.empOut.open() + }, + empOutClose() { + this.$refs.empOut.close() + }, + empOutConfirm() { + this.empOutDis = true + let that = this + let params = [] + let param = { devNo: this.station.devNo, containerCode: this.station.barcode, } + params.push(param) + uni.request({ + url: that.baseUrl + '/agvMobile/hand/control/empOut', + header: {'token': uni.getStorageSync('token')}, + data: {devNo: that.station.devNo,barcode: that.barcode}, + method: 'POST', + success(result) { + var res = result.data + that.$refs.empOut.close() + that.empOutDis = false + if (res.code === 200) { + setTimeout(()=> { + that.barcode = '' + that.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' }) + } + }, + fail(res) { + that.empOutDis = false + } + }); + }, + allocationIn() { + this.$refs.allocationIn.open() + }, + allocationInClose() { + this.$refs.allocationIn.close() + }, + allocationInConfirm() { + this.allocationInDis = true + let that = this + let params = [] + let param = { devNo: this.station.devNo, containerCode: this.station.barcode, } + params.push(param) + uni.request({ + url: that.baseUrl + '/agvMobile/hand/control/allocationIn', + header: {'token': uni.getStorageSync('token')}, + data: {devNo: that.station.devNo, barcode: that.barcode}, + method: 'POST', + success(result) { + that.allocationInDis = false + var res = result.data + if (res.code === 200) { + that.$refs.allocationIn.close() + setTimeout(()=> { + that.barcode = '' + that.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' }) + } + }, + fail(res) { + that.allocationInDis = false + } + }); + }, + empIn() { + this.$refs.empIn.open() + }, + empInClose() { + this.$refs.empIn.close() + }, + empInConfirm() { + this.empInDis = true + let that = this + let params = [] + let param = { devNo: this.station.devNo, containerCode: this.station.barcode, } + params.push(param) + uni.request({ + url: that.baseUrl + '/agvMobile/hand/control/empIn', + header: {'token': uni.getStorageSync('token')}, + data: {devNo: that.station.devNo, barcode: that.barcode}, + method: 'POST', + success(result) { + that.empInDis = false + var res = result.data + if (res.code === 200) { + that.$refs.empIn.close() + setTimeout(()=> { + that.barcode = '' + that.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' }) + } + }, + fail(res) { + that.empInDis = false + } + }); + }, + doBack() { + this.$refs.doBack.open() + }, + doBackClose() { + this.$refs.doBack.close() + }, + doBackConfirm() { + this.doBackDis = true + let that = this + let params = [] + let param = { devNo: this.station.devNo, containerCode: this.station.barcode, } + params.push(param) + uni.request({ + url: that.baseUrl + '/agvMobile/hand/control/doBack', + header: {'token': uni.getStorageSync('token')}, + data: {devNo: that.station.devNo, barcode: that.barcode}, + method: 'POST', + success(result) { + that.doBackDis = false + var res = result.data + if (res.code === 200) { + that.$refs.doBack.close() + utils.startStop() + setTimeout(()=> { + that.barcode = '' + that.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' }) + } + }, + fail(res) { + that.doBackDis = false + } + }); + }, + processed() { + let _this = this + uni.navigateTo({ + url: './confirmProcessed', + success(res) { + res.eventChannel.emit('item', { + item: _this.wrkDetls + }) + }, + // events: { + // acceptDataFromOpenedPage: function(data) { + // _this.getOrderDetlList(this.searchValue1,10) + // } + // } + }) + }, + // processed() { + // this.$refs.process.open() + // }, + processedClose() { + this.$refs.process.close() + }, + processedConfirm() { + this.processedDis = true + let that = this + let params = [] + let param = { devNo: this.station.devNo, containerCode: this.station.barcode, } + params.push(param) + uni.request({ + url: that.baseUrl + '/agvMobile/hand/control/processed', + header: {'token': uni.getStorageSync('token')}, + data: {devNo: that.station.devNo, barcode: that.barcode}, + method: 'POST', + success(result) { + that.processedDis = false + var res = result.data + if (res.code === 200) { + that.$refs.process.close() + utils.startStop() + setTimeout(()=> { + that.barcode = '' + that.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' }) + } + }, + fail(res) { + that.processedDis = false + } + }); + }, + handBack() { + let that = this + let params = [] + let param = { devNo: this.station.devNo, containerCode: this.station.barcode, } + params.push(param) + uni.request({ + url: that.baseUrl + '/agvMobile/hand/control/handBack', + header: {'token': uni.getStorageSync('token')}, + data: {devNo: that.station.devNo, barcode: that.barcode}, + method: 'POST', + success(result) { + var res = result.data + if (res.code === 200) { + setTimeout(()=> { + that.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> <style> @import url('../../../static/css/common/order.css'); - .station-title { - font-size: 32px; - font-weight: bold; - padding: 24rpx 0; - } + .station { - font-size: 18px; - padding: 24rpx; + font-size: 15px; + padding: 18rpx; + } + .station-title { + font-size: 28px; + font-weight: bold; + padding: 18rpx 0; } .station-barcode { font-size: 24px; @@ -205,11 +1129,57 @@ } + .wrkMast { + background-color: #0083ff; + color: #fff; + margin-top: 10rpx; + font-size: 18px; + padding: 24rpx; + } + .wrkMast-wrkNo { + font-size: 30px; + font-weight: bold; + padding: 24rpx 0; + display: flex; + } + + .wrkDetls { + background-color: #2299ff; + color: #fff; + margin-top: 10rpx; + font-size: 18px; + padding: 24rpx; + } + .wrkDetl { + padding: 16rpx 0; + border-bottom: 1px solid #FFF; + } + .wrkDetl:last-child { + 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 { width: 80vw; min-height: 100rpx; background-color: #FFF; border-radius: 25rpx; + position: relative; } .title { height: 100rpx; @@ -220,6 +1190,7 @@ font-size: 16px; } .popup-item { + position: relative; height: 80rpx; line-height: 80rpx; display: flex; @@ -268,4 +1239,29 @@ align-items: center; color: #409EFF; } + + .dropdown { + position: relative; + display: flex; + width: 93%; + align-items: center; + padding: 0rpx 20rpx; + } + .dropdown-content { + position: absolute; + top: calc(100% + 15rpx); + left: 0; + width: calc(100% - 20rpx); + max-height: 300rpx; + background-color: #fff; + box-shadow: 0 0px 6px rgba(0, 0, 0, 0.3); + border-radius: 8rpx; + z-index: 10; + } + .dropdown-item { + padding: 12rpx; + line-height: 1.2; + font-size: 22px; + color: #3a3a3a; + } </style> -- Gitblit v1.9.1