#
zjj
2024-08-21 54fce333aae7d6f596616a6eb5e65c27c28a9994
pages/basics/pakin.vue
@@ -9,7 +9,7 @@
            <view class="square-content">
               <view class="content-input">
                  <input v-model="barcode" type="text" placeholder="扫码 / 输入" 
                  :focus="barcodeFocus" @confirm="barcodeInput()" placeholder-style="line-height:  85rpx;">
                  :focus="barcodeFocus" @input="checkedBarcode()" placeholder-style="line-height:  85rpx;">
                  <uni-icons type="closeempty" size="20" color="#dadada" @click="removeBarcode()"></uni-icons>
               </view>
            </view>
@@ -31,6 +31,16 @@
            </view>
         </view>
         
         <view class="square-1">
            <view class="square-title" style="display: flex;align-items: center;">
               <view class="title-sign"><view class="sign"></view></view>
               <view class="title-text" style="flex: 1;"><text>商品类型</text></view>
               <view style="">
                  <uni-combox style="width: 150px;margin-right: 10px;" :candidates="matTypes" placeholder="请选择商品类型"
                  v-model="matType"></uni-combox>
               </view>
            </view>
         </view>
         
         <view class="square-2">
            <view class="square-title">
@@ -68,10 +78,14 @@
                  <!-- <view>
                     <checkbox :value="item.id+''" :checked="item.checked" style="display: block;" />
                  </view> -->
                  <view class="matnr"><text style="width: 400rpx;">编码:{{item.matnr}}</text></view>
                  <table>
                     <tr><td>编号:</td><td>{{item.matnr}}</td></tr>
                  </table>
                  <view><text style="width: 400rpx;">品名:{{item.maktx}}</text></view>
                  <view><text style="width: 400rpx;">规格:{{item.specs}}</text></view>
                  <view><text style="width: 400rpx;">入库区域:{{item.matType$}}</text></view>
                  <view><text style="width: 400rpx;">批号:{{item.batch}}</text></view>
                  <view><text style="width: 400rpx;">客户信息:{{item.owner}}</text></view>
                  <view>
                     <text style="width: 400rpx;">备注:{{item.memo}}</text>
                     <text style="width: 400rpx;margin-left: 100rpx">数量:{{item.anfme}}</text>
@@ -121,6 +135,10 @@
               <text style="display: inline-block;float: left;width: 50px;">备注:</text>
               <input type="text" style="width: 100px;border-bottom: 1px solid #9e9e9e;" v-model="memo">
            </view>
            <view class="" style="position: relative;left: 50px;margin-bottom: 20px;">
               <text style="display: inline-block;float: left;width: 50px;">客户:</text>
               <input type="text" style="width: 100px;border-bottom: 1px solid #9e9e9e;" v-model="cstmr">
            </view>
            <view class="changeBox">
               <view class="num-box">
                  <text style="display: inline-block;float: left;width: 50px;">数量:</text>
@@ -163,9 +181,14 @@
            checkedData:[],
            batch:'',
            memo: '',
            cstmr: '',
            ck1: false,
            ck2: true,
            frozen: 0,
            owner: '',
            matType: '',
            matTypes: ['单品物料','高频混合物料','低频混合物料'],
            matTypeId: 0,
         }
      },
      onShow() {
@@ -187,6 +210,28 @@
         // 获取url
         getUrl() {
            this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePORT + "/" +this.baseUrl
         },
         // 检查条码
         checkedBarcode() {
            let that = this
            uni.request({
               url: that.commonUrl + '/mobile/barcode/auth',
               data: {
                  barcode: that.barcode,
               },
               header: {
                  'token':uni.getStorageSync('token')
               },
               success(result) {
                  var res = result.data
                  if (res.code === 500) {
                     that.barcodeFocuss()
                     uni.showToast({title: res.msg, icon: "none", position: 'top'});
                  } else if(res.code === 200) {
                     that.barcodeInput()
                  }
               }
            })
         },
         // 冻结
         isFrozen() {
@@ -237,6 +282,8 @@
            this.matList = []
            this.barcode = ''
            this.matnr = ''
            this.matType = ''
            this.matTypeId = 0
            this.barcodeFocuss()
            uni.vibrateShort();
         },
@@ -278,12 +325,22 @@
                  return;
               }
            }
            // 客户信息中文转数字
            for (let k in that.matList) {
               for (let t in that.owner) {
                  if (that.matList[k].owner == that.owner[t].owner) {
                     that.matList[k].owner = that.owner[t].id
                  }
               }
            }
            this.getMatTypeIn(this.matType)
            uni.showLoading();
            uni.request({
                url: that.commonUrl + '/mobile/comb/auth',
                data: JSON.stringify({
                  frozen: that.frozen,
                  barcode: that.barcode,
                  matTypeIn: that.matTypeId,
                  combMats: that.matList
               }),
               method: 'POST',
@@ -291,7 +348,6 @@
                  'token':uni.getStorageSync('token')
                },
               success(result) {
                  console.log(result);
                  uni.hideLoading();
                  var res = result.data
                  if (res.code === 200) {
@@ -312,10 +368,32 @@
                        });
                     }, 1000);
                  } else {
                     for (let k in that.matList) {
                        for (let t in that.owner) {
                           if (that.matList[k].owner == that.owner[t].id) {
                              that.matList[k].owner = that.owner[t].owner
                           }
                        }
                     }
                     uni.showToast({title: res.msg, icon: "none",position: 'top'})
                  }
               }
            });
         },
         getMatTypeIn(type) {
            switch (type) {
               case '单品物料':
                  this.matTypeId = 1
                  break;
               case '高频混合物料':
                  this.matTypeId = 2
                  break;
               case '低频混合物料':
                  this.matTypeId = 3
                  break;
               default:
                  this.matType = 0
            }
         },
         selectMat() {
            let that = this
@@ -360,12 +438,15 @@
                            // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
                            matList: function(data) {
                              that.checkMat(data.data)
                              // that.matList.push(data.data)
                           },
                           owner: function(data) {
                              that.owner = data.data
                           },
                        },
                        success: function(res) {
                           // 通过eventChannel向被打开页面传送数据
                           res.eventChannel.emit('matData', { data: that.matData })
                           res.eventChannel.emit('url', { data: that.commonUrl })
                        },
                     });
                  } else if (res.code == 403) {
@@ -401,15 +482,13 @@
               }
            }
            if (add) {
               console.log(mat);
               if(mat.batch == '') {
                  mat.batch = today
               if(mat.batch === '' || mat.batch === null) {
                  // mat.batch = today
               }
               this.matList.unshift(mat)
            }
         },
         change(e) {
            console.log('当前模式:' + e.type + ',状态:' + e.show);
         },
         toggle(type) {
            this.type = type
@@ -441,13 +520,7 @@
            this.count = this.matList[index].anfme
            this.batch = this.matList[index].batch
            this.memo = this.matList[index].memo
            // var maxCount = this.matList[index].maxCount
            // if (maxCount == undefined ) {
            //    this.matList[index]["maxCount"] = item.enableQty
            // }
            // this.enableQty = item.enableQty
            // this.count = this.minCount
            // this.maxCount = item.maxCount
            this.cstmr = this.matList[index].cstmr
            this.rowNum = index
            this.eject()
         },
@@ -463,6 +536,7 @@
            this.matList[this.rowNum].anfme = this.count
            this.matList[this.rowNum].batch = this.batch
            this.matList[this.rowNum].memo = this.memo
            this.matList[this.rowNum].cstmr = this.cstmr
            this.$refs.revise.close()
            this.$forceUpdate() // 强制刷新
         },
@@ -519,7 +593,7 @@
   .revise-box {
      position: relative;
      width: 500rpx;
      height: 470rpx;
      height: 570rpx;
      border-radius: 25px;
      background-color: #fff;
      border-radius: 20rpx;
@@ -635,15 +709,16 @@
   }
   .data-list {
      border-bottom: 1px solid #d8d8d8;
      height: 220rpx;
      min-height: 320rpx;
      margin: 15rpx;
      border-radius: 20rpx;
      display: flex;
   }
   .data-list:first-child {
      margin-top: 20rpx;
   }
   .data-list:last-child {
      margin-bottom: 120rpx;
      margin-bottom: 180rpx;
   }
   /* .data-list-left {
      display: inline-block;
@@ -654,11 +729,12 @@
      line-height: 180rpx;
   } */
   .data-list-left {
      display: inline-block;
      float: left;
      margin-left: 6%;
      height: 180rpx;
      min-height: 320rpx;
      color: #676767;
      width: 500rpx;
      color: #676767;
      max-width: 450rpx;
   }
   .matnr {
      padding-top: 10rpx;
@@ -666,8 +742,8 @@
   .data-list-right {
      display: inline-block;
      float: right;
      height: 180rpx;
      line-height: 180rpx;
      min-height: 290rpx;
      line-height: 290rpx;
   }
   /* display: inline-block;
   float: right;