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