zwl
2025-09-22 7dfb9ee5dac9d661773947d3665232f0bf37617a
pages/pakin/pakin.vue
@@ -7,6 +7,11 @@
               @input="barcodeInput()">
         </view>
         <view class="item">
            <view class="code-decs">站点码:</view>
            <input type="text" placeholder=" 扫码 / 输入" v-model="staNo" :focus="staNoFocus"
               @input="staNoInput()">
         </view>
         <view class="item">
            <view class="code-decs">物料码:</view>
            <input type="text" placeholder=" 扫码 / 输入" v-model="matnr" :focus="matFocus" @input="findMat()">
            <view class="item-right">
@@ -41,11 +46,17 @@
                  <view class="left-item">{{item.specs}}</view>
               </view>
               <view class="list-left-item">
                  <view class="desc">批号:</view>
                  <view class="desc" style="width: 38%;">情况说明:</view>
                  <view class="left-item">
                     <uni-tag :text="item.batch" type="warning"></uni-tag>
                  </view>
               </view>
               <!-- <view class="list-left-item">
                  <view class="desc">重量:</view>
                  <view class="left-item">
                     <uni-tag :text="item.weight" type="warning"></uni-tag>
                  </view>
               </view> -->
               <view class="list-left-item">
                  <view class="desc">数量:</view>
                  <view class="left-item">{{item.anfme}}</view>
@@ -77,13 +88,17 @@
                  </view>
               </view>
               <view class="popup-item">
                  <view class="popup-item-left">合同号:</view>
                  <view class="popup-item-right"><input type="text" v-model="batch"></view>
                  <view class="popup-item-left" style="width: 20vw;">情况说明:</view>
                  <view class="popup-item-right" style="width: 46vw;"><input type="text" v-model="batch"></view>
               </view>
               <!-- <view class="popup-item">
                  <view class="popup-item-left">重量:</view>
                  <view class="popup-item-right"><input type="text" v-model="weight"></view>
               </view> -->
               <view class="popup-item">
                  <view class="popup-item-left">数量:</view>
                  <view class="popup-item-right" style="border: none;justify-content: center;">
                     <uni-number-box :value="count" :max="9999999" color="#747474" @change="changeValue" />
                     <uni-number-box :value="count" :step='0.01' :max="9999999" color="#747474" @change="changeValue" />
                  </view>
               </view>
               <view class="btn">
@@ -131,11 +146,13 @@
            baseUrl: '',
            token: '',
            barcode: '',
            staNo: '',
            dataList: [],
            count: 0,
            rowNum: '',
            matnr: '',
            batch: '',
            weight: '',
            msgType1: 'success',
            msgType: 'success',
            messageText: '',
@@ -143,6 +160,7 @@
            content: '',
            barcodeFocus: true,
            matFocus: false,
            staNoFocus: false,
            matData: '',
            removeNum: 0,
         }
@@ -161,6 +179,7 @@
         },
         // barcode input 事件
         barcodeInput() {
            this.barcode = this.barcode.replace(/^\{|\}$/g, '')
            // 不设置定时器 会出现扫入的字符串不全
            setTimeout(() => {
               var len = this.barcode.length
@@ -176,6 +195,11 @@
               this.focuss()
            }, 200)
         },
         // staNo input 事件
         staNoInput() {
            this.staNofocuss()
         },
         // 托盘码有误重置
         barcodeFocuss() {
            let that = this;
@@ -187,7 +211,20 @@
         },
         // 商品光标清空重置
         focuss() {
            this.focus = false;
            this.barcodeFocus = false;
            this.matFocus = false;
            this.staNoFocus = false;
            setTimeout(() => {
               this.matnr = '';
               this.staNo = '';
               this.staNoFocus = true;
            }, 100);
         },
         // 商品光标清空重置
         staNofocuss() {
            this.barcodeFocus = false;
            this.matFocus = false;
            this.staNoFocus = false;
            setTimeout(() => {
               this.matnr = '';
               this.matFocus = true;
@@ -196,10 +233,19 @@
         // 搜索物料
         findMat() {
            let that = this
            var mat = that.matnr
            let submitMat
            let newMatnr
            if (mat.includes(';')) {
               newMatnr = mat.split(';')
               submitMat = newMatnr[1]
            } else {
               submitMat = mat
            }
            uni.request({
               url: that.baseUrl + '/mat/auth',
               data: {
                  matnr: that.matnr
                  matnr: submitMat
               },
               header: {
                  'token': uni.getStorageSync('token')
@@ -226,9 +272,9 @@
                           },
                        },
                     });
                  } else if (res.code == 403) {
                  } else if (result.code == 403) {
                     uni.showToast({
                        title: res.msg,
                        title: result.msg,
                        icon: "none",
                        position: 'top'
                     })
@@ -239,7 +285,7 @@
                     }, 1000);
                  } else {
                     uni.showToast({
                        title: res.msg,
                        title: result.msg,
                        icon: "none",
                        position: 'top'
                     })
@@ -301,12 +347,14 @@
            if (add) {
               this.dataList.unshift(mat)
            }
            this.$forceUpdate() // 强制刷新
         },
         // 修改批号
         revise(item, i) {
            this.matnr = this.dataList[i].matnr
            this.count = this.dataList[i].anfme
            this.batch = this.dataList[i].batch
            this.weight = this.dataList[i].weight
            this.rowNum = i
            this.eject()
         },
@@ -335,6 +383,7 @@
         reviseConfirm() {
            this.dataList[this.rowNum].anfme = this.count
            this.dataList[this.rowNum].batch = this.batch
            this.dataList[this.rowNum].weight = this.weight
            this.matnr = ''
            this.messageText = "修改成功"
            this.messageToggle('success')
@@ -378,6 +427,7 @@
            uni.request({
               url: that.baseUrl + '/mobile/comb/auth',
               data: JSON.stringify({
                  staNo: that.staNo,
                  barcode: that.barcode,
                  combMats: that.dataList
               }),
@@ -391,6 +441,9 @@
                     that.resst();
                     that.messageText = "组托成功"
                     that.messageToggle('success')
                     const innerAudioContext = uni.createInnerAudioContext();
                     innerAudioContext.src = '/static/music/pakinOk.mp3';
                     innerAudioContext.play()
                  } else if (res.code == 403) {
                     that.messageText = res.msg
                     that.messageToggle('error')
@@ -482,6 +535,6 @@
      z-index: 9;
      /* border-top: 1px solid #DCDFE6; */
      text-align: center;
      box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.5);
      box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
   }
</style>