#
whycq
2024-04-10 e3b84d48cef3e024e4a17b4df35f47cf3e63e820
pages/phyz/order/orderCar.vue
@@ -35,6 +35,27 @@
            </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>
      </view>
   </view>
</template>
@@ -44,7 +65,9 @@
         return {
            orderCarList: [],
            count: 0,
            index: 0
            index: 0,
            barcode: '',
            agvDevp: '',
         }
      },
      onShow() {
@@ -83,6 +106,81 @@
         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;
               }
            }
            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}
               combMat.combMats.push(combM)
               combMats.push({...combMat})
            }
            this.comb(combMats)
         },
         comb(combMats) {
            let _this = this;
            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
                  if (res.code === 200) {
                     _this.orderCarList = []
                     _this.$refs.agvStart.close()
                     uni.showToast({ title: '启动成功!', icon: "error", position: 'top' })
                     setTimeout(()=> {
                        _this.getOpenerEventChannel().emit('acceptDataFromOpenedPage', {data: 1});
                        uni.navigateBack({})
                     },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' })
                  }
               }
            });
         },
      }
   }
</script>