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/order/orderCar.vue | 159 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 149 insertions(+), 10 deletions(-) diff --git a/pages/phyz/order/orderCar.vue b/pages/phyz/order/orderCar.vue index 3913f89..97cc718 100644 --- a/pages/phyz/order/orderCar.vue +++ b/pages/phyz/order/orderCar.vue @@ -1,15 +1,16 @@ <template> <view> - <view class="list list-font-color shop-car" :class="orderDetl.color" v-for="orderDetl in orderCarList" > + <view class="list list-font-color shop-car" :class="orderDetl.color" v-for="(orderDetl,index) in orderCarList" :key="index"> <view class="list-left"> <view class="detl-threeCode">{{orderDetl.threeCode}}</view> <view>涓诲崟鍙凤細{{orderDetl.orderNo}}</view> <view>缂栧彿锛歿{orderDetl.matnr}}</view> <view>鍚嶇О锛歿{orderDetl.maktx}}</view> + <view>鎵瑰彿锛歿{orderDetl.batch}}</view> <view>鎬绘暟閲忥細{{orderDetl.anfme}}</view> <view>鍏ュ簱鏁伴噺锛歿{orderDetl.pakinQty}}</view> </view> - <view class="list-right" @click="chageDetl(orderDetl)"> + <view class="list-right" @click="chageDetl(index)"> <uni-icons type="settings" size="25" color="#fff"></uni-icons> </view> </view> @@ -26,11 +27,38 @@ <!-- 鏍囬 --> <view class="title">鍏ュ簱鏁伴噺</view> <view class="popup-item"> - <uni-number-box :value="count" :step='1' :max="9999999" color="#747474" @change="changeValue" /> + <!-- <view class="popup-item-left">鍏ュ簱鏁伴噺:</view> --> + <view class="popup-item-right" style="border: none;"><uni-number-box :value="count" :step='1' :max="9999999" color="#747474" @change="changeValue" /></view> + + </view> + <!-- <view class="popup-item"> + <view class="popup-item-left">鎵瑰彿:</view> + <view class="popup-item-right"><input type="text" v-model="batch"></view> + </view> --> + <view class="btn"> + <view class="btn-left" @click="remove()">绉婚櫎鐗╂枡</view> + <view class="btn-right" @click="changeCount()">淇敼鏁伴噺</view> + </view> + </view> + </uni-popup> + </view> + <!-- 寮圭獥 --> + <view> + <uni-popup ref="agvStart" 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="popup-item"> + <view class="popup-item-left">绔欑偣鐮�:</view> + <view class="popup-item-right"><input type="text" v-model="agvDevp"></view> </view> <view class="btn"> - <view class="btn-left" @click="addClose">鍙栨秷</view> - <view class="btn-right" @click="addConfirm()">娣诲姞</view> + <button class="btn-left" @click="agvStartClose()">鍙栨秷</button> + <button class="btn-right" @click="agvStartConfirm()" :disabled="agvStartDis">鍏ュ簱</button> </view> </view> </uni-popup> @@ -39,10 +67,17 @@ </template> <script> + // todo: 璐墿杞︿紭鍖�,瀛樺偍璐墿杞﹀唴瀹�,閫�鍑洪〉闈㈠啀杩涘悗璐墿杞﹁繕鍦� export default { data() { return { - orderCarList: [] + orderCarList: [], + batch: '', + count: 0, + index: 0, + barcode: '', + agvDevp: '', + agvStartDis: false } }, onShow() { @@ -58,9 +93,113 @@ }) }, methods: { - chageDetl() { + chageDetl(index) { + this.index = index + this.count = this.orderCarList[index].pakinQty + this.batch = this.orderCarList[index].batch + this.$refs.chageDetl.open() + }, + // 淇敼鏁伴噺 + changeCount() { + if (this.count > this.orderCarList[this.index].anfme) { + uni.showToast({ title: '鏁伴噺涓嶅悎娉曪紒', icon: "none", position: 'top' }) + return + } + this.orderCarList[this.index].pakinQty = this.count + this.orderCarList[this.index].batch = this.batch + this.$forceUpdate() // 寮哄埗鍒锋柊 + this.$refs.chageDetl.close() + }, + // 绉婚櫎鐗╂枡 + remove() { + this.orderCarList.splice(this.index, 1) + this.$refs.chageDetl.close() + }, + changeValue(value) { + this.count = value + }, + agvStart() { + this.$refs.agvStart.open() + }, + agvStartClose() { + this.barcode = '' + this.agvDevp = '' + this.$refs.agvStart.close() + }, + agvStartConfirm() { + this.barcode = this.barcode.replace(/\s+/g, '') + this.agvDevp = this.agvDevp.replace(/\s+/g, '') + let _this = this + if (_this.barcode === '') { + uni.showToast({ title: '璐ф灦鐮佷负绌猴紒', icon: "error", position: 'top' }) + return; + } + if (_this.agvDevp === '') { + uni.showToast({ title: '绔欑偣鐮佷负绌猴紒', icon: "error", position: 'top' }) + return; + } + if (_this.orderCarList.length === 0) { + uni.showToast({ title: '缁勬墭鍒楄〃涓虹┖锛�', icon: "error", position: 'top' }) + return; + } + for (let k of _this.orderCarList) { + if (k.pakinQty == 0) { + uni.showToast({ title: `${k.matnr}鏁伴噺涓嶈兘涓� 0 锛乣, icon: "error", position: 'top' }) + return; + } + } + let combMat = { orderNo:'', barcode: '', locNo: '', combMats: [] } + let combMats = [] + for (let item of _this.orderCarList) { + combMat.orderNo = item.orderNo + combMat.barcode = _this.barcode + combMat.locNo = _this.agvDevp + combMat.combMats = [] + let combM = {csocode: item.threeCode,isoseq: item.deadTime,matnr: item.matnr,batch: item.batch,anfme: item.pakinQty,maktx: item.maktx,specs: item.specs,processSts: item.processSts} + combMat.combMats.push(combM) + combMats.push({...combMat}) + } + this.comb(combMats) - } + }, + comb(combMats) { + let _this = this; + this.agvStartDis = true + uni.request({ + url: _this.baseUrl + '/agvMobile/start/pakin/auth', + data: JSON.stringify({ + barcode: _this.barcode, + containerCode: _this.barcode, + devNo: _this.agvDevp, + combParams: combMats + }), + method: 'POST', + header: { + 'token': uni.getStorageSync('token') + }, + success(result) { + var res = result.data + _this.agvStartDis = false + if (res.code === 200) { + _this.orderCarList = [] + _this.$refs.agvStart.close() + uni.showToast({ title: '鍚姩鎴愬姛锛�', icon: "success", position: 'top' }) + setTimeout(()=> { + _this.getOpenerEventChannel().emit('acceptDataFromOpenedPage', {data: 1}); + uni.navigateBack({delta:2}) + },1000) + } 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.agvStartDis = false + } + }); + }, } } </script> @@ -98,7 +237,7 @@ justify-content: center; } .popup-item-left { - width: 16vw; + max-width: 20vw; padding-right: 20rpx; text-align: right; color: #606266; @@ -129,7 +268,7 @@ height: 100%; justify-content: center; align-items: center; - color: #606266; + color: #e2231a; border-right: 1px solid #DCDFE6; } .btn-right { -- Gitblit v1.9.1