From bff91e27a649216ee4bbc7a2b321984c054e973e Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期五, 07 二月 2025 19:43:36 +0800 Subject: [PATCH] # --- pages/phyz/bcp/orderCar.vue | 310 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 310 insertions(+), 0 deletions(-) diff --git a/pages/phyz/bcp/orderCar.vue b/pages/phyz/bcp/orderCar.vue new file mode 100644 index 0000000..e120117 --- /dev/null +++ b/pages/phyz/bcp/orderCar.vue @@ -0,0 +1,310 @@ +<template> + <view> + <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(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='0.01' :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="popup-item"> + <view class="popup-item-left">鐩爣妤煎眰:</view> + <view class="popup-item-right" style="border: none;"> + <uni-combox style="height: 50rpx;" :candidates="floorList" placeholder="璇烽�夋嫨鐩爣妤煎眰" v-model="floor"> + </uni-combox></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: [], + batch: '', + count: 0, + index: 0, + barcode: '', + agvDevp: '', + agvStartDis: false, + floorList:['浜屽巶','涓夊巶'], + floor: '', + } + }, + onShow() { + let _this = this + this.baseUrl = uni.getStorageSync('baseUrl'); + this.token = uni.getStorageSync('token'); + // const eventChannel = this.$scope.eventChannel; // 鍏煎APP-NVUE + const eventChannel = this.getOpenerEventChannel(); + // 鐩戝惉acceptDataFromOpenerPage浜嬩欢锛岃幏鍙栦笂涓�椤甸潰閫氳繃eventChannel浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� + eventChannel.on('item', function(data) { + _this.orderCarList = data.item + for (let k of _this.orderCarList) { + if (k.threeCode) { + if (k.threeCode.includes("B")) { + _this.floor = '浜屽巶' + } else if (k.threeCode.includes("G")) { + _this.floor = '涓夊巶' + } else { + _this.floor = '' + } + } + } + }) + }, + 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; + let factor = '' + if (!this.floor) { + uni.showToast({ title: '璇烽�夋嫨妤煎眰', icon: "error", position: 'top' }) + return + } + if (this.floor == '浜屽巶') { + factor = 'B' + } else if (this.floor == '涓夊巶') { + factor = 'G' + } + this.agvStartDis = true + uni.request({ + url: _this.baseUrl + '/agvMobile/start/pakin/auth/v2', + data: JSON.stringify({ + barcode: _this.barcode, + containerCode: _this.barcode, + devNo: _this.agvDevp, + combParams: combMats, + factory: factor + }), + 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> + +<style> + @import url('../../../static/css/common/order.css'); + .shop-car { + background-color: #2299ff; + color: #fff; + } + .detl-threeCode { + 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