helongyang
2026-03-31 8fcd7a67e4391a5f1fbdb590c2a3f913aeb2a0a0
´úÂë¹ÜÀí/»´°²PDA/pages/stash/boxing.vue
@@ -8,34 +8,30 @@
               <uni-forms label-width="180">
                  <uni-forms-item label="托盘条码:">
                     <uni-easyinput type="text" placeholder="请扫描托盘条码" ref='midInput' :focus="!focus"
                        v-model="barcode" @input="barcodeInput" />
                        v-model="barcode" @confirm="barcodeInput" />
                  </uni-forms-item>
                  <uni-forms-item label="内箱标签:">
                     <uni-easyinput type="text" placeholder="请扫描内箱标签" ref='midInput' :focus="focus"
                        v-model="materSn" @input="snInput" />
                        v-model="materSn" @confirm="snInput" />
                  </uni-forms-item>
                  <uni-forms-item :label="Testlabel" v-if="Test">
                     <uni-easyinput type="text" :placeholder="Testplaceholder" ref='midInput'
                        v-model="Initiallife" />
                  </uni-forms-item>
                  <!-- <uni-forms-item>
                     <checkbox checked="check">是否满盘</checkbox>
                  </uni-forms-item> -->
                  <uni-forms-item>
                     <button @click="submit" type="primary" size="default" style="margin-top: 2%;">组盘</button>
                     <!-- ç»„盘按钮添加禁用状态 -->
                     <button
                        @click="submit"
                        type="primary"
                        size="default"
                        style="margin-top: 2%;"
                        :disabled="isSubmitting"
                     >
                        {{ isSubmitting ? '组盘中...' : '组盘' }}
                     </button>
                  </uni-forms-item>
               </uni-forms>
               <uni-list>
                  <!-- <uni-list-item direction="column" v-for="item in matTotal" :key="item.matCode">
                     <template v-slot:body>
                        <view class="uni-list-box">
                           <view class="uni-content">
                              <view class="uni-title-sub uni-ellipsis-2">物料编码:{{item.matCode}}</view>
                              <view class="uni-title-sub uni-ellipsis-2">数量:{{item.matQuantity}}</view>
                           </view>
                        </view>
                     </template>
                  </uni-list-item> -->
                  <uni-list-item direction="column" v-for="(item,index) in matInfos" :key="index">
                     <template v-slot:body>
                        <view class="uni-list-box">
@@ -61,14 +57,23 @@
               <uni-forms label-width="120">
                  <uni-forms-item label="托盘条码">
                     <uni-easyinput type="text" :focus="!addressFocus" v-model="inboundBarcode"
                        placeholder="请扫描托盘条码" ref='midInput' @input="inputChangebarcode" />
                        placeholder="请扫描托盘条码" ref='midInput' @confirm="inputChangebarcode" />
                  </uni-forms-item>
                  <uni-forms-item label="地址条码">
                     <uni-easyinput type="text" v-model="address" :disabled="addressdisabled"
                        placeholder="请扫描地址条码" ref='midInput' :focus="addressFocus" />
                  </uni-forms-item>
                  <uni-forms-item>
                     <button @click="inbound" type="primary" size="default" style="margin-top: 2%;">入库确认</button>
                     <!-- å…¥åº“按钮添加禁用状态 -->
                     <button
                        @click="inbound"
                        type="primary"
                        size="default"
                        style="margin-top: 2%;"
                        :disabled="isInbounding"
                     >
                        {{ isInbounding ? '入库中...' : '入库确认' }}
                     </button>
                  </uni-forms-item>
               </uni-forms>
            </view>
@@ -105,7 +110,7 @@
               <uni-forms label-width="180">
                  <uni-forms-item label="内箱标签:">
                     <uni-easyinput type="text" placeholder="请扫描内箱标签" ref='midInput' :focus="pkfocus"
                        v-model="pkmaterSn" @input="pksnInput" />
                        v-model="pkmaterSn" @confirm="pksnInput" />
                  </uni-forms-item>
                  <uni-forms-item>
                     <button @click="pksubmit" type="primary" size="default" style="margin-top: 2%;">入平库</button>
@@ -174,7 +179,11 @@
            addressdisabled: false,
            pksns: [],
            pkmaterSn: "",
            pkmatInfos: []
            pkmatInfos: [],
            // æ–°å¢žï¼šç»„盘请求状态(防止重复点击)
            isSubmitting: false,
            // æ–°å¢žï¼šå…¥åº“请求状态(防止重复点击)
            isInbounding: false
         }
      },
      onShow() {},
@@ -205,10 +214,10 @@
         this.getData();
      },
      methods: {
         voiceSpeech(src) {
            innerAudioContext.src = src; // '../../static/success.mp3';
            innerAudioContext.play();
         },
         // voiceSpeech(src) {
         //    innerAudioContext.src = src; // '../../static/success.mp3';
         //    innerAudioContext.play();
         // },
         //wms入平库
         pksubmit() {
            if (this.pkmatInfos.length == 0) {
@@ -254,23 +263,23 @@
                              title: res.message,
                              type: "error"
                           })
                           setTimeout(() => {
                              this.voiceSpeech('../../static/fail.mp3');
                           }, 100);
                           // setTimeout(() => {
                           //    this.voiceSpeech('../../static/fail.mp3');
                           // }, 100);
                           return;
                        }
                        setTimeout(() => {
                           this.voiceSpeech('../../static/success.mp3');
                        }, 100);
                        // setTimeout(() => {
                        //    this.voiceSpeech('../../static/success.mp3');
                        // }, 100);
                        return;
                     } else {
                        this.$refs.uToast.show({
                           title: res.message,
                           type: "error"
                        })
                        setTimeout(() => {
                           this.voiceSpeech('../../static/fail.mp3');
                        }, 100);
                        // setTimeout(() => {
                        //    this.voiceSpeech('../../static/fail.mp3');
                        // }, 100);
                     }
                  })
               }
@@ -424,6 +433,9 @@
               }
               if (this.materSn != "") {
                  this.focus = false;
                  if(this.warehouseId==11){
                     this.materSn=this.materSn.replace(/,SC.*/, '');
                  }
                  if (this.materSn.split(',').length != 6) {
                     this.materSn = "";
                     return;
@@ -448,28 +460,29 @@
                              title: res.message,
                              type: "error"
                           })
                           setTimeout(() => {
                              this.voiceSpeech('../../static/fail.mp3');
                           }, 100);
                           // setTimeout(() => {
                           //    this.voiceSpeech('../../static/fail.mp3');
                           // }, 100);
                           return;
                        }
                        setTimeout(() => {
                           this.voiceSpeech('../../static/success.mp3');
                        }, 100);
                        // setTimeout(() => {
                        //    this.voiceSpeech('../../static/success.mp3');
                        // }, 100);
                     } else {
                        this.$refs.uToast.show({
                           title: res.message,
                           type: "error"
                        })
                        setTimeout(() => {
                           this.voiceSpeech('../../static/fail.mp3');
                        }, 100);
                        // setTimeout(() => {
                        //    this.voiceSpeech('../../static/fail.mp3');
                        // }, 100);
                     }
                  })
               }
            })
         },
         inbound() {
            // 1. å‰ç½®æ ¡éªŒ
            if (this.inboundBarcode == "") {
               this.$refs.uToast.show({
                  title: "请扫描托盘条码",
@@ -484,6 +497,13 @@
               })
               return;
            }
            // 2. é˜²æ­¢é‡å¤ç‚¹å‡»ï¼šå¦‚果正在请求,直接返回
            if (this.isInbounding) return;
            // 3. æ ‡è®°ä¸ºè¯·æ±‚中,禁用按钮
            this.isInbounding = true;
            var postData = {
               MainData: {
                  "barcode": this.inboundBarcode,
@@ -516,6 +536,9 @@
                  title: err.message,
                  type: "error"
               })
            }).finally(() => {
               // 4. è¯·æ±‚完成(成功/失败)后,恢复按钮状态
               this.isInbounding = false;
            })
         },
         inputChangebarcode() {
@@ -559,6 +582,7 @@
            this.sns.splice(res, 1);
         },
         submit() {
            // 1. å‰ç½®æ ¡éªŒ
            if (this.barcode == "") {
               this.$refs.uToast.show({
                  title: "请扫描托盘条码",
@@ -590,6 +614,13 @@
                  return;
               }
            }
            // 2. é˜²æ­¢é‡å¤ç‚¹å‡»ï¼šå¦‚果正在请求,直接返回
            if (this.isSubmitting) return;
            // 3. æ ‡è®°ä¸ºè¯·æ±‚中,禁用按钮
            this.isSubmitting = true;
            if (this.warehouseId == 2) { //油墨仓库区ID
               this.sn = this.sns[0];
               for (var i = 0; i < this.Initiallife - 1; i++) {
@@ -617,6 +648,9 @@
                     type: "error"
                  })
               }
            }).finally(() => {
               // 4. è¯·æ±‚完成(成功/失败)后,恢复按钮状态
               this.isSubmitting = false;
            })
         }
      }