#
whycq
2022-05-12 f7c1ea13ff37026992e635c8b32353a0143dca4f
pages/basics/checkout.vue
@@ -36,7 +36,7 @@
            </view>
         </view>
         <view class="square-none" v-show="matList.length === 0">
            <view class="v-show">暂无更多数据...</view>
            <view class="v-show">请扫码选取 {{matCount}} 件商品</view>
         </view>
         <checkbox-group @change="checkbox">
            <view v-for="(item,index) in matList" :key="index" class="data-list bg-false" :class="'bg-'+item.checked" >
@@ -79,8 +79,8 @@
            searchBox: 'hide',
            pick:'hide',
            matnr:'',
            matList:[{matnr:'1101842-10000',batch:'22047515999',color:{color:'red'}}],
            // matList:[],
            // matList:[{matnr:'1101842-10000',batch:'22047515999',color:{color:'red'}}],
            matList:[],
            result: '',
            siteList:[],
            desc:'',
@@ -89,7 +89,8 @@
            listLen:0,
            msgType: 'success',
            messageText: '这是一条成功提示',
            fontColor:{color:'red'}
            fontColor:{color:'red'},
            matCount:'0'
         }
      },
      onReady() {
@@ -103,7 +104,6 @@
         this.baseIP = UIP;
         const UPORT = uni.getStorageSync('UPORT');
         this.basePORT = UPORT
         this.getOutBound();
         
      },
      methods: {
@@ -155,10 +155,118 @@
            this.messageText = '删除成功'
            uni.vibrateShort();
         },
         selectMat() {
            let that = this
            uni.vibrateShort();
            uni.showLoading();
            uni.navigateTo({
               url: "matSelect",
               events: {
                   // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
                   acceptDataFromOpenedPage: function(data) {
                     that.matnr = data.data
                     that.findMat(that.matnr)
                   },
                 },
                 success: function(res) {
                   // 通过eventChannel向被打开页面传送数据
                   res.eventChannel.emit('acceptDataFromOpenerPage', {baseIP:that.baseIP, basePORT:that.basePORT })
                 }
            });
            that.matnr = ''
         },
         findBarcode() {
            let that = this
            uni.request({
                url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/pakout/query/auth/v2',
                data: {
                  barcode:that.barcode
                },
                header: {
                  'token':uni.getStorageSync('token'),
                },
               success(result) {
                  var res = result.data;
                  if (res.code === 200) {
                     if (res.data) {
                        that.matCount = res.data.length
                     }
                  } else if (res.code === 403) {
                     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'})
                  }
               }
            });
         },
         findMat() {
            let that = this
            uni.request({
                url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/pakout/query/auth/v2',
                data: {
                  staNo:that.staNo,
                  matnr:that.matnr
                },
                header: {
                  'token':uni.getStorageSync('token')
                },
               success(result) {
                  var res = result.data;
                  if(res.code === 200 ) {
                     if(res.data) {
                        for(let i = 0;i<that.matList.length;i++) {
                           for (let j = 0;j < res.data.length; j++) {
                              if(JSON.stringify(that.matList[i]) === JSON.stringify(res.data[j])) {
                                 res.data.splice(j,1)
                              }
                           }
                        }
                        if (that.matList.length < that.matCount) {
                           that.matList = res.data.concat(that.matList)
                           that.listLen = that.matList.length;
                           that.focus = false;
                           that.$nextTick(function() {
                              that.focus = true;
                           });
                           that.matnr = ''
                        } else {
                           that.messageToggle('warn')
                           that.messageText = '商品已全部添加'
                        }
                     }
                  } else if (res.code == 403) {
                     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'})
                  }
               }
            });
         },
         comb() {
            uni.vibrateShort();
            let that = this;
            uni.showLoading();
            if (that.matList.length < that.matCount) {
               var len = that.matCount - that.matList.length
               that.messageToggle('error')
               that.messageText = '还剩' + len + '件未扫描'
               return;
            }
            uni.request({
                url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/pakout/confirm/auth',
                data: that.matList,
@@ -192,150 +300,6 @@
               }
            });
         },
         selectMat() {
            let that = this
            uni.vibrateShort();
            uni.showLoading();
            uni.navigateTo({
               url: "matSelect",
               events: {
                   // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
                   acceptDataFromOpenedPage: function(data) {
                     that.matnr = data.data
                     that.findMat(that.matnr)
                   },
                 },
                 success: function(res) {
                   // 通过eventChannel向被打开页面传送数据
                   res.eventChannel.emit('acceptDataFromOpenerPage', {baseIP:that.baseIP, basePORT:that.basePORT })
                 }
            });
            that.matnr = ''
         },
         findMat() {
            let that = this
            uni.request({
                url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/pakout/query/auth',
                data: {
                  staNo:that.staNo,
                  matnr:that.matnr
                },
                header: {
                  'token':uni.getStorageSync('token')
                },
               success(result) {
                  var res = result.data;
                  if(res.code === 200 ) {
                     if(res.data) {
                        for(let i = 0;i<that.matList.length;i++) {
                           for (let j = 0;j < res.data.length; j++) {
                              if(JSON.stringify(that.matList[i]) === JSON.stringify(res.data[j])) {
                                 res.data.splice(j,1)
                              }
                           }
                        }
                        that.matList = res.data.concat(that.matList)
                        that.listLen = that.matList.length;
                        that.focus = false;
                        that.$nextTick(function() {
                           that.focus = true;
                        });
                        that.matnr = ''
                     }
                  } else if (res.code == 403) {
                     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'})
                  }
               }
            });
         },
         addMatList(mat) {
            console.log(mat)
            if (this.matList.length == 0){
               // this.matList.push(mat[0])
               // this.matList.prototype.push.apply(mat)
            } else {
               let toUnshift = true
               for (var i = 0; i < this.matList.length; i++) {
                  let matnr = this.matList[i].matnr
                  if (matnr == this.matList[i].matnr) {
                     // this.messageToggle('warn')
                     // this.messageText = matnr + '已经扫描,请勿重复扫描'
                     toUnshift = false
                  }
               }
               if (toUnshift) {
                  this.matList.unshift(mat[0])
               }
            }
            console.log(this.matList)
         },
         findBarcode() {
            let that = this
            uni.request({
                url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/pakout/query/auth',
                data: {
                  barcode:that.barcode
                },
                header: {
                  'token':uni.getStorageSync('token'),
                },
               success(result) {
                  var res = result.data;
                  if(res.data) {
                     for(let i = 0;i<that.matList.length;i++) {
                        for (let j = 0;j < res.data.length; j++) {
                           if(JSON.stringify(that.matList[i]) === JSON.stringify(res.data[j])) {
                              res.data.splice(j,1)
                           }
                        }
                     }
                     that.matList = res.data.concat(that.matList)
                  }
                  that.listLen = that.matList.length;
               }
            });
         },
         getOutBound() {         // 获取出库口
            let that = this
            uni.request({
               url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/available/take/site',
               method: 'POST',
               header: {
                  'token':uni.getStorageSync('token')
               },
               success(result) {
                  var res = result.data
                  if (res.code === 200) {
                     for (var i = 0; i < res.data.length; i++){
                        that.siteList.push(res.data[i].desc)
                     }
                     that.staNoList = res.data
                  } else if (res.code == 403) {
                     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'})
                  }
               },
            });
         }, // getOutBound
         getCheckDetl() {   // 获取出库口货物信息
            let that = this