12
zhang
2025-05-29 8263d5a0a133e249a0b14d5d208cef1e69d4a268
pages/basics/order.vue
@@ -3,13 +3,15 @@
      <scroll-view scroll-y catch:touchmove="touchmove">
         <view class="square-2">
            <view class="square-title">
               <view class="title-sign"><view class="sign"></view></view>
               <view class="title-sign">
                  <view class="sign"></view>
               </view>
               <view class="title-text"><text>托盘条码</text></view>
            </view>
            <view class="square-content">
               <view class="content-input">
                  <input  v-model="barcode" type="text" placeholder="扫码 / 输入" maxlength="10"
                  :focus="barcodeFocus" @input="barcodeInput" placeholder-style="line-height:  85rpx;">
                  <input v-model="barcode" type="text" placeholder="扫码 / 输入" maxlength="10" :focus="barcodeFocus"
                     @input="barcodeInput" placeholder-style="line-height:  85rpx;">
                  <uni-icons type="closeempty" size="20" color="#dadada" @click="removeBarcode()"></uni-icons>
               </view>
            </view>
@@ -17,13 +19,15 @@
         
         <view class="square-2">
            <view class="square-title">
               <view class="title-sign"><view class="sign"></view></view>
               <view class="title-sign">
                  <view class="sign"></view>
               </view>
               <view class="title-text"><text>单据编号</text></view>
            </view>
            <view class="square-content">
               <view class="content-input">
                  <input v-model="order" type="text" placeholder="扫码 / 输入" @input="findOrder()"
                  :focus="focus" placeholder-style="line-height:  85rpx;">
                  <input v-model="order" type="text" placeholder="扫码 / 输入" @input="findOrder()" :focus="focus"
                     placeholder-style="line-height:  85rpx;">
                  <uni-icons type="closeempty" size="20" color="#dadada" @click="removeOrder()"></uni-icons>
               </view>
            </view>
@@ -31,13 +35,15 @@
         
         <view class="square-2">
            <view class="square-title">
               <view class="title-sign"><view class="sign"></view></view>
               <view class="title-sign">
                  <view class="sign"></view>
               </view>
               <view class="title-text"><text>物料条码</text></view>
            </view>
            <view class="square-content">
               <view class="content-input">
                  <input v-model="tiaoma" type="text" placeholder="扫码 / 输入" @input="findTiaoMa()"
                  :focus="tmfocus" placeholder-style="line-height:  85rpx;">
                  <input v-model="tiaoma" type="text" placeholder="扫码 / 输入" @input="findTiaoMa()" :focus="tmfocus"
                     placeholder-style="line-height:  85rpx;">
                  <uni-icons type="closeempty" size="20" color="#dadada" @click="removeTm()"></uni-icons>
               </view>
            </view>
@@ -45,7 +51,9 @@
         
         <view class="square-1">
            <view class="square-title">
               <view class="title-sign"><view class="sign"></view></view>
               <view class="title-sign">
                  <view class="sign"></view>
               </view>
               <view class="title-text"><text>商品列表</text></view>
               <view v-show="matList.length != 0" class="lable">
                  <!-- <label class="label-btn" style="width: 170rpx;line-height: 95rpx;"  >
@@ -66,7 +74,8 @@
         </view>
         
         <checkbox-group @change="checkbox">
            <view v-for="(item,index) in matList" :key="index"   class="data-list bg-false" :class="'bg-'+item.checked" >
            <view v-for="(item,index) in matList" :key="index" class="data-list bg-false"
               :class="'bg-'+item.checked">
               <label class="left-check-box" >
                  <checkbox :value="item.id+''" :checked="true" style="display: block;" />
               </label>
@@ -82,7 +91,8 @@
                  </view>
               </view>
               <view class="data-list-right">
                  <label><uni-icons type="compose" size="20" color="#a5a5a5" @click="revise(item,index)"></uni-icons></label>
                  <label><uni-icons type="compose" size="20" color="#a5a5a5"
                        @click="revise(item,index)"></uni-icons></label>
                  <!-- list中删除键 -->
                  <!-- <label><uni-icons type="trash" size="25" color="#a5a5a5" @click="remove(item,index)"></uni-icons></label> -->
               </view>
@@ -121,7 +131,8 @@
               </view>
               <view class="changeBox flex justify-around">
                  <view class="num-box">
                     <uni-number-box v-model="count" :min="minCount" :max="maxCount" color="#747474"  @change="changeValue"/>
                     <uni-number-box v-model="count" :min="minCount" :max="maxCount" color="#747474"
                        @change="changeValue" />
                  </view> 
                  <button class="cu-btn" @click="changeMax">max</button>
               </view>
@@ -184,7 +195,11 @@
         barcodeInput() {
            var len = this.barcode.length
            if (len != 8) {
               uni.showToast({title: '托盘码有误请重试', icon: "none", position: 'top'});
               uni.showToast({
                  title: '托盘码有误请重试',
                  icon: "none",
                  position: 'top'
               });
               this.barcodeFocuss()
               return;
            }
@@ -299,20 +314,36 @@
            uni.vibrateShort();
            let that = this;
            if (!that.orderNo) {
               uni.showToast({title: '请扫描单据号', icon: "none", position: 'top'});
               uni.showToast({
                  title: '请扫描单据号',
                  icon: "none",
                  position: 'top'
               });
               return;
            }
            if (!that.barcode) {
               uni.showToast({title: '请扫描托盘条码', icon: "none", position: 'top'});
               uni.showToast({
                  title: '请扫描托盘条码',
                  icon: "none",
                  position: 'top'
               });
               return;
            }
            if (that.barcode.length !== 8) {
               uni.showToast({title: '托盘码必须为8位', icon: "none", position: 'top'});
               uni.showToast({
                  title: '托盘码必须为8位',
                  icon: "none",
                  position: 'top'
               });
               return;
            }
            let mats =that.matList.filter(mat =>mat.anfme>0);
            if (mats.length === 0) {
               uni.showToast({title: '请添加商品列表', icon: "none", position: 'top'});
               uni.showToast({
                  title: '请添加商品列表',
                  icon: "none",
                  position: 'top'
               });
               return;
            }
            // for (var i = 0; i < mats.length; i++) {
@@ -344,14 +375,22 @@
                     });
                     that.resst()
                  } else if (res.code == 403) {
                     uni.showToast({title: res.msg, icon: "none", position: 'top'})
                     uni.showToast({
                        title: res.msg,
                        icon: "none",
                        position: 'top'
                     })
                     setTimeout(() => {
                        uni.reLaunch({
                           url: '../login/login'
                        });
                     }, 1000);
                  } else {
                     uni.showToast({title: res.msg, icon: "none",position: 'top'})
                     uni.showToast({
                        title: res.msg,
                        icon: "none",
                        position: 'top'
                     })
                  }
               }
            });
@@ -385,14 +424,22 @@
                     console.log(that.matList)
                     
                  } else if (res.code == 403) {
                     uni.showToast({title: res.msg, icon: "none", position: 'top'})
                     uni.showToast({
                        title: res.msg,
                        icon: "none",
                        position: 'top'
                     })
                     setTimeout(() => {
                        uni.reLaunch({
                           url: '../login/login'
                        });
                     }, 1000);
                  } else {
                     uni.showToast({title: res.msg, icon: "none",position: 'top'})
                     uni.showToast({
                        title: res.msg,
                        icon: "none",
                        position: 'top'
                     })
                  }
               }
            });
@@ -400,7 +447,11 @@
         findTiaoMa() {
            let that = this
            if (!that.orderNo) {
               uni.showToast({title: '请扫描单据号', icon: "none", position: 'top'});
               uni.showToast({
                  title: '请扫描单据号',
                  icon: "none",
                  position: 'top'
               });
               return;
            }
            uni.request({
@@ -419,14 +470,22 @@
                     that.checkMat(res.data)
                     //this.tiaomas.unshift(that.tiaoma)
                  } else if (res.code == 403) {
                     uni.showToast({title: res.msg, icon: "none", position: 'top'})
                     uni.showToast({
                        title: res.msg,
                        icon: "none",
                        position: 'top'
                     })
                     setTimeout(() => {
                        uni.reLaunch({
                           url: '../login/login'
                        });
                     }, 1000);
                  } else {
                     uni.showToast({title: res.msg, icon: "none",position: 'top'})
                     uni.showToast({
                        title: res.msg,
                        icon: "none",
                        position: 'top'
                     })
                  }
               }
            });
@@ -439,22 +498,34 @@
                  if (mat.batch){
                     if(mat.batch == this.matList[i].batch){
                        this.matList[i].times +=1
                        if (this.matList[i].anfme + mat.anfme <=this.matList[i].count){
                        var num = Number(this.matList[i].anfme) + Number(mat.anfme);
                        var num2 = this.matList[i].enableQty ? this.matList[i].enableQty : 0
                        if (num <= num2) {
                           this.matList[i].anfme += mat.anfme
                           this.$forceUpdate() // 强制刷新
                           add = false
                        } else {
                           uni.showToast({
                              title: '组托数量超过订单数量',
                              icon: "none",
                              position: 'top'
                           })
                        }
                        }
                     }else{
                        uni.showToast({title: '组托数量超过订单数量', icon: "none",position: 'top'})
                     }
                  }else{
                     if (this.matList[i].anfme + mat.anfme <=this.matList[i].count){
                     var num = Number(this.matList[i].anfme) + Number(mat.anfme);
                     var num2 = this.matList[i].enableQty ? this.matList[i].enableQty : 0
                     if (num <= num2) {
                        this.matList[i].times +=1
                        this.matList[i].anfme += mat.anfme
                        this.$forceUpdate() // 强制刷新
                        add = false
                     }else{
                        uni.showToast({title: '组托数量超过订单数量', icon: "none",position: 'top'})
                        uni.showToast({
                           title: '组托数量超过订单数量',
                           icon: "none",
                           position: 'top'
                        })
                     }
                  }
                  
@@ -560,6 +631,7 @@
      height: 100%;
      width: 400rpx;
   }
   .square-1 .lable label {
      display: inline-block;
      float: left;
@@ -567,6 +639,7 @@
      width: 90rpx;
      line-height: 100rpx;
   }
   .pak-seach-box {
      background-color: #FFFFFF;
      margin: 15rpx 15rpx 0rpx 15rpx;
@@ -574,11 +647,13 @@
      height: 150rpx;
      border-radius: 20rpx;
   }
   .box-top{
      display: block;
      height: 60rpx;
      width: 720rpx;
   }
   .color-block-blue {
      background-color: #1E9FFF;
      display: inline-block;
@@ -589,6 +664,7 @@
      border: 5rpx solid #1E9FFF;
      border-radius: 20rpx;
   }
   .title {
      display: inline-block;
      float: left;
@@ -598,6 +674,7 @@
      line-height: 50rpx;
      margin-top: 10rpx;
   }
   .box-buttom {
      display: inline-block;
      background-color: #ededed;
@@ -606,11 +683,13 @@
      border-radius: 20rpx;
      margin: 15rpx 15rpx 0rpx 15rpx;
   }
   .box-buttom input {
      width: 75%;
      float: left;
      margin: 8rpx 10rpx 0rpx 25rpx;
   }
   .box-buttom .search-icon{
      width: 60rpx;
      height: 60rpx;
@@ -618,6 +697,7 @@
      margin-top: 5rpx;
      margin-right: 10rpx;
   }
   .pak-seach-box button {
      background-color: #1E9FFF;
      color: #ffffff;
@@ -628,9 +708,11 @@
      margin: 15rpx 15rpx 0rpx 15rpx;
      line-height: 60rpx;
   }
   .pakin-btn {
      background-color: #1E9FFF;
   }
   .pak-data-box {
      background-color: #F1F1F1;
      margin: 15rpx 15rpx 0rpx 15rpx;
@@ -638,29 +720,36 @@
      height: 70rpx;
      border-radius: 20rpx;
   }
   .pak-data-box .box-top {
      background-color: #FFFFFF;
      height: 70rpx;
      border-radius: 20rpx 20rpx 20rpx 20rpx;
   }
   .bg-false {
      background-color: #FFFFFF;
   }
   .bg-true {
      background-color: #ebebeb;
   }
   .data-list {
      border-bottom: 1px solid #d8d8d8;
      height: 210rpx;
      margin: 15rpx auto auto auto;
      border-radius: 20rpx;
   }
   .data-list:first-child {
      margin-top: 20rpx;
   }
   .data-list:last-child {
      margin-bottom: 160rpx;
   }
   /* .data-list-left {
      display: inline-block;
      float: left;
@@ -678,6 +767,7 @@
      text-align: center;
      line-height: 170rpx;
   }
   .data-list-left {
      /* background-color: #ffff7f; */
      display: inline-block;
@@ -686,9 +776,11 @@
      width: 500rpx;
      color: #676767;
   }
   .matnr {
      padding-top: 10rpx;
   }
   .data-list-right {
      /* background-color: #55ffff; */
      display: inline-block;
@@ -697,22 +789,26 @@
      height: 180rpx;
      line-height: 180rpx;
   }
   .data-list-right label {
      display: inline-block;
      float: left;
      width: 100rpx;
      height: 180rpx;
   }
   .revise-box {
      width: 500rpx;
      height: 500rpx;
   }
   .revise-box-top {
      width: 100%;
      height: 100rpx;
      background-color: #fff;
      padding: 10rpx;
   }
   .changeBox {
      width: 100%;
      height: 100rpx;
@@ -722,6 +818,7 @@
      margin-top: 20rpx;
      border-bottom: 1px solid #e3e3e3;
   }
   .text-box {
      width: 100%;
      height: 100rpx;
@@ -732,13 +829,16 @@
      margin-top: 20rpx;
      border-bottom: 1px solid #e3e3e3;
   }
   .changeBox .num-box {
      display:  inline-block;
      float: left;
   }
   .changeBox button {
      float: left;
   }
   .revise-box-buttom {
      position: absolute;
      width: 100%;
@@ -748,5 +848,4 @@
      bottom: 0;
      text-align: center;
   }
</style>