#
whycq
2024-03-18 6c9cbdf482ce1330704dc635c510ec51a1115a9f
pages/basics/outPakin.vue
@@ -8,8 +8,8 @@
            </view>
            <view class="square-content">
               <view class="content-input">
                  <input v-model="barcode" type="text" placeholder="扫码 / 输入" maxlength="8"
                  :focus="barcodeFocus" @focus="focuss">
                  <input readonly="value" v-model="barcode" type="text" placeholder="扫码 / 输入" maxlength="8"
                  :focus="barcodeFocus" @input="nextInput">
                  <uni-icons type="closeempty" size="20" color="#dadada" @click="removeBarcode()"></uni-icons>
               </view>
            </view>
@@ -21,10 +21,11 @@
            </view>
            <view class="square-content">
               <view class="content-input">
                  <input v-model="matnr" type="text" placeholder="扫码 / 输入" @input="findMat()"
                  :focus="focus" @focus="focuss" >
                  <input v-model="matnrId" type="text" placeholder="扫码 / 输入" @input="findMat()"
                  :focus="focus"@focus="empty()">
                   <!-- :focus="focus" @blur="clear "> -->
                  <!-- @focus="focuss" -->
                  <uni-icons type="closeempty" size="20" color="#dadada" @click="removeMatnr()"></uni-icons>
                  <uni-icons type="closeempty" size="20" color="#dadada" @click="foucss()"></uni-icons>
               </view>
            </view>
         </view>
@@ -40,11 +41,11 @@
         <checkbox-group >
            <view v-for="(item,index) in matList" :key="index" class="data-list bg-false" :class="'bg-'+item.checked" >
               <view class="data-list-left">
                  <text>No:{{listLen-index}}</text>
                  <view class="matnr">No:{{listLen-index}}</view>
                  <view class="matnr">{{item.matnr}}-{{item.batch}}</view>
               </view>
               <view class="data-list-right">
                  <uni-icons type="trash" size="25" color="#a5a5a5" @click="remove(item,index)"></uni-icons>
                  <uni-icons type="trash" size="20" color="#a5a5a5" @click="remove(item,index)"></uni-icons>
               </view>
            </view>
         </checkbox-group>
@@ -77,7 +78,8 @@
            type: 'center',
            searchBox: 'hide',
            pick:'hide',
            matnr:'',
            matnrId:'',
            // matList:[{matnr:'1101842-10000',batch:'22047515999'}],
            matList:[],
            result: '',
            listLen:0,
@@ -91,50 +93,72 @@
         const UPORT = uni.getStorageSync('UPORT');
         this.basePORT = UPORT
      },
      onLoad() {
         // #ifdef APP
         setInterval(()=>{
            uni.hideKeyboard()
         },20)
         // #endif
      },
      methods: {
         nextInput() {
            if (this.barcode.length == 8) {
               this.foucss()
            }
         },
         empty() {
            return this.inputValue='';
         },
         barcodeFocuss() {
            // #ifdef APP
            let that = this;
            that.barcodeFocus = false;
            setTimeout(()=>{
               that.matnrId = '';
               that.barcodeFocus = true;
            }, 100);
            // #endif
         },
         foucss() {
            // #ifdef APP
            let that = this;
            that.focus = false;
            setTimeout(()=>{
               that.matnrId = '';
               that.focus = true;
            }, 100);
            // #endif
         },
         clear() {
            this.matnrId = ''
         },
         messageToggle(type) {
            this.msgType = type
            this.messageText = `这是一条${type}消息提示`
            this.$refs.message.open()
         },
         focuss() {
            // setInterval(function(){
            //    uni.hideKeyboard()
            // },20)
            // uni.hideKeyboard()
         },
         resst() {
            this.matList = []
            this.barcode = ''
            this.matnr = ''
            uni.vibrateShort();
            this.matnrId = '';
            this.matList = [];
            this.barcode = '';
            this.barcodeFocuss();
         },
         removeBarcode() {
            this.barcode = ''
            uni.vibrateShort();
            this.barcodeFocus = false;
            this.$nextTick(function() {
               this.barcodeFocus = true;
            });
         },
         removeMatnr() {
            this.focus = false;
            this.$nextTick(function() {
               this.focus = true;
            });
            this.matnr = ''
            uni.vibrateShort();
         },
         remove(item,index) {
            this.matnrId = ''
            this.matList.splice(index,1)
            this.listLen = this.matList.length
            this.messageToggle('success')
            this.messageText = '删除成功'
            uni.vibrateShort();
         },
         comb() {
            uni.vibrateShort();
            let that = this;
            if (that.barcode === '') {
               uni.showToast({title: '请扫描托盘条码', icon: "none", position: 'top'});
@@ -164,9 +188,7 @@
                        position: 'bottom',
                        duration: 1000
                     });
                     that.barcode = '';
                     that.matList = '';
                     that.matList = [];
                     that.resst();
                  } else if (res.code == 403) {
                     uni.showToast({title: res.msg, icon: "none", position: 'top'})
                     setTimeout(() => {
@@ -180,55 +202,57 @@
               }
            });
         },
         findMat() {
            let that = this
            let str = that.matnr.split('-')
            that.matnr = str[0]+'-'+str[1]
            if (that.matnrId.length > 25){
               that.messageToggle('warn');
               that.messageText = '商品编码超长,请重试';
               that.foucss();
               return;
            }
            let str = that.matnrId.split('-')
            let matnr = str[0] + '-' + str[1]
            for (let k = 0; k < that.matList.length;k++) {
               if (that.matList[k].matnr != matnr) {
                  that.messageToggle('warn');
                  that.messageText = '商品种类不一致,请重试!';
                  that.foucss();
                  return;
               }
            }
            uni.showLoading();
            uni.request({
                url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mat/auth',
                data: {
                  matnr:that.matnr
                  matnr:matnr
                },
                header: {
                  'token':uni.getStorageSync('token')
                },
               success(result) {
                  uni.vibrateShort();
                  uni.hideLoading();
                  // uni.vibrateShort();
                  let res = result.data
                  if (res.code === 200 && res.data) {
                     let add = true;
                     if(res.data) {
                        let mat = res.data;
                        mat['batch'] = str[2];
                        mat['anfme'] = 1
                        for(let i = 0;i < that.matList.length;i++) {
                           if(that.matList[i].batch == str[2]) {
                              that.messageToggle('warn');
                              that.messageText = '重复扫描';
                              that.focus = false;
                              that.$nextTick(function() {
                                 that.focus = true;
                              });
                              add = false;
                              break;
                           }
                     let mat = res.data;
                     mat['batch'] = str[2];
                     mat['anfme'] = 1
                     for(let i = 0;i < that.matList.length;i++) {
                        if(that.matList[i].batch == str[2]) {
                           that.messageToggle('warn');
                           that.messageText = '重复扫描';
                           that.foucss();
                           add = false;
                        }
                     }
                     if(add) {
                        that.messageToggle('success');
                        that.messageText = '检索成功';
                        that.focus = false;
                        that.$nextTick(function() {
                           that.focus = true;
                        });
                        // uni.hideKeyboard();
                        that.matList.unshift(res.data)
                     }
                     that.matnr = ''
                        that.foucss();
                     }
                     that.listLen = that.matList.length;
                     uni.hideLoading();
                  } else if (res.code == 403) {
                     that.messageToggle('error')
                     that.messageText = res.msg
@@ -237,9 +261,11 @@
                           url: '../login/login'
                        });
                     }, 1000);
                     uni.hideLoading();
                  } else {
                     that.messageToggle('error')
                     that.messageText = res.msg
                     uni.hideLoading();
                     // uni.showToast({title: res.msg, icon: "none",position: 'top'})
                  }
               }
@@ -261,10 +287,11 @@
   /* @import "../../colorui/main.css";
   @import "../../colorui/icon.css"; */
   /* 
   1101842-10000-22047515999
   1101842-10000-220475159999
   1101842-10000-22047518494
   1101842-10000-22047518532
   1101842-10000-22047515990
   1101842-12345-22047515990
   1101842-10000-22047515997
   1101842-10000-22047518515
   1101842-10000-22047515778
@@ -375,7 +402,7 @@
   }
   .data-list {
      border-bottom: 1px solid #d8d8d8;
      height: 90rpx;
      height: 130rpx;
      margin: 15rpx;
      border-radius: 20rpx;
   }
@@ -397,17 +424,21 @@
      display: inline-block;
      float: left;
      margin-left: 6%;
      height: 90rpx;
      height: 130rpx;
      /* line-height: 100rpx; */
      color: #676767;
   }
   .matnr {
      padding-top: 10rpx;
      font-size: 14px;
      font-weight: 700;
      /* padding-top: 15rpx; */
      padding-top: 15rpx;
   }
   .data-list-right {
      display: inline-block;
      float: right;
      height: 90rpx;
      line-height: 90rpx;
      height: 130rpx;
      line-height: 130rpx;
      margin-right: 10%;
   }
</style>