#
whycq
2024-04-09 84d31c1aac3075c9ced4efdcb6245d430b4f2596
pages/phyz/order/orderCar.vue
@@ -1,6 +1,6 @@
<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>
@@ -9,7 +9,7 @@
            <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>
@@ -29,8 +29,29 @@
                  <uni-number-box :value="count" :step='1' :max="9999999" color="#747474" @change="changeValue" />
               </view>
               <view class="btn">
                  <view class="btn-left" @click="addClose">取消</view>
                  <view class="btn-right" @click="addConfirm()">添加</view>
                  <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="agvStartClose()">取消</view>
                  <view class="btn-right" @click="agvStartConfirm()">入库</view>
               </view>
            </view>
         </uni-popup>
@@ -42,7 +63,18 @@
   export default {
      data() {
         return {
            orderCarList: []
            orderCarList: [],
            count: 0,
            index: 0,
            barcode: '',
            agvDevp: '',
            combMat: {
               orderNo: '',
               barcode: '',
               locNo: '',
               combMat: null
            },
            combMats: []
         }
      },
      onShow() {
@@ -58,9 +90,109 @@
         })
      },
      methods: {
         chageDetl() {
         chageDetl(index) {
            this.index = index
            this.count = this.orderCarList[index].pakinQty
            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.$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() {
            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;
               }
            }
            for (let item of _this.orderCarList) {
               _this.combMat.orderNo = item.orderNo
               _this.combMat.barcode = _this.barcode
               _this.combMat.locNo = _this.agvDevp
               _this.combMat.combMat = item
               _this.combMats.push(_this.combMat)
            }
            this.comb()
            
         }
         },
         startPakin() {
            let _this = this
            let params = []
            let param = { devNo: this.agvDevp, containerCode: this.barcode, }
            params.push(param)
            uni.request({
               url: _this.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) {
                  } else if (res.code == 403) {
                     setTimeout(() => {
                        uni.reLaunch({
                           url: '../login/login'
                        });
                     }, 1000);
                  } else {
                  }
               }
            });
         },
         comb(e) {
            let _this = this;
            uni.request({
               url: _this.baseUrl + '/agvMobile/comb/auth',
               data: _this.combMats,
               method: 'POST',
               header: {
                  'token': uni.getStorageSync('token')
               },
               success(result) {
                  var res = result.data
                  if (res.code === 200) {
                  } else if (res.code == 403) {
                  } else {
                  }
               }
            });
         },
      }
   }
</script>
@@ -129,7 +261,7 @@
      height: 100%;
      justify-content: center;
      align-items: center;
      color: #606266;
      color: #e2231a;
      border-right: 1px solid #DCDFE6;
   }
   .btn-right {