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 | 237 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 232 insertions(+), 5 deletions(-) diff --git a/pages/phyz/order/orderCar.vue b/pages/phyz/order/orderCar.vue index 7b79055..97cc718 100644 --- a/pages/phyz/order/orderCar.vue +++ b/pages/phyz/order/orderCar.vue @@ -1,26 +1,83 @@ <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.anfme}}</view> + <view>鍏ュ簱鏁伴噺锛歿{orderDetl.pakinQty}}</view> </view> - <view class="list-right" @click="addItem(orderDetl)"> + <view class="list-right" @click="chageDetl(index)"> <uni-icons type="settings" size="25" color="#fff"></uni-icons> </view> + </view> + <!-- 鍨珮 --> + <view style="height: 120rpx;"></view> + <!-- 搴曢儴鎿嶄綔鎸夐挳 --> + <view class="buttom"> + <button size="mini" type="primary" @click="agvStart('warn')">鍚姩鍏ュ簱</button> + </view> + <!-- 寮圭獥 --> + <view> + <uni-popup ref="chageDetl" type="dialog"> + <view class="popup"> + <!-- 鏍囬 --> + <view class="title">鍏ュ簱鏁伴噺</view> + <view class="popup-item"> + <!-- <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"> + <button class="btn-left" @click="agvStartClose()">鍙栨秷</button> + <button class="btn-right" @click="agvStartConfirm()" :disabled="agvStartDis">鍏ュ簱</button> + </view> + </view> + </uni-popup> </view> </view> </template> <script> + // todo: 璐墿杞︿紭鍖�,瀛樺偍璐墿杞﹀唴瀹�,閫�鍑洪〉闈㈠啀杩涘悗璐墿杞﹁繕鍦� export default { data() { return { - orderCarList: [] + orderCarList: [], + batch: '', + count: 0, + index: 0, + barcode: '', + agvDevp: '', + agvStartDis: false } }, onShow() { @@ -36,7 +93,113 @@ }) }, methods: { - + 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> @@ -51,4 +214,68 @@ font-size: 28px; font-weight: bold; } + .popup { + width: 80vw; + min-height: 100rpx; + background-color: #FFF; + border-radius: 25rpx; + position: relative; + } + .title { + height: 100rpx; + line-height: 100rpx; + width: 100%; + color: #606266; + text-align: center; + font-size: 16px; + } + .popup-item { + height: 80rpx; + line-height: 80rpx; + display: flex; + align-items: center; + justify-content: center; + } + .popup-item-left { + max-width: 20vw; + padding-right: 20rpx; + text-align: right; + color: #606266; + } + .popup-item-right { + display: flex; + align-items: center; + width: 50vw; + height: 50rpx; + padding: 2px 5px; + border: 1px solid #E4E7ED; + border-radius: 5rpx; + } + .popup-item-right input{ + color: #606266; + } + .btn { + display: flex; + height: 90rpx; + margin-top: 20rpx; + border-top: 1px solid #DCDFE6; + justify-content: center; + align-items: center; + } + .btn-left { + display: flex; + flex: 1; + height: 100%; + justify-content: center; + align-items: center; + color: #e2231a; + border-right: 1px solid #DCDFE6; + } + .btn-right { + display: flex; + flex: 1; + justify-content: center; + align-items: center; + color: #409EFF; + } </style> -- Gitblit v1.9.1