1
huangxiaoqiang
2025-10-20 63dcb7fc55d32960f643f4040900ce9a0e33536d
ÏîÄ¿´úÂë/PDA/pages/task/Inbound.vue
@@ -6,16 +6,20 @@
         <view style="padding: 5%;">
            <uni-forms label-width="120">
               <uni-forms-item label="托盘编码">
                  <uni-easyinput type="text" :focus="!istrue" @input="carNoInputChange" v-model="PalletCode"
                     placeholder="请输入托盘编码" ref='midInput' />
                  <uni-easyinput type="text" :focus="!istrue" v-model="PalletCode1" placeholder="请输入托盘编码"
                     ref='midInput' />
               </uni-forms-item>
               <uni-forms-item label="入库起点">
                  <uni-easyinput type="text" :focus="istrue" v-model="SourceAddress"
                     placeholder="请输入入库起点" ref='midInput' />
                  <uni-easyinput type="text" :focus="istrue" v-model="SourceAddress" placeholder="请输入入库起点"
                     ref='midInput' />
               </uni-forms-item>
               <uni-forms-item label="入库终点">
                  <uni-easyinput type="text" :focus="!istrue" @input="carNoInputChange" v-model="TargetAddress"
                     placeholder="请输入入库终点" ref='midInput' />
                  <uni-easyinput type="text" :focus="istrue" v-model="TargetAddress" placeholder="请输入入库终点"
                     ref='midInput' />
               </uni-forms-item>
               <uni-forms-item label="终 ç‚¹ åŒº åŸŸ">
                  <uni-data-select :focus="!istrue" v-model="AreaId" :localdata="range"
                     placeholder="请输选择入库终点区域"></uni-data-select>
               </uni-forms-item>
            </uni-forms>
            <button @click="InboundTask" type="primary" size="default" style="margin-top: 2%;">入库</button>
@@ -26,19 +30,50 @@
         <view style="padding: 5%;">
            <uni-forms label-width="120">
               <uni-forms-item label="托盘编码">
                  <uni-easyinput type="text" :focus="barcodefocus" @input="inputChangebarcode" v-model="Barcode"
                  <uni-easyinput type="text" :focus="barcodefocus" @input="inputChangebarcode"
                     v-model="PalletCode2" placeholder="请输入托盘编码" ref='midInput' />
               </uni-forms-item>
               <uni-forms-item label="外箱标签:">
                  <uni-easyinput type="text" placeholder="请扫描外箱标签" ref='midInput' :focus="focus" v-model="materSn"
                     @input="snInput" />
               </uni-forms-item>
               <uni-list>
                  <!-- <uni-list-item direction="column" v-for="item in InBoundOrder" :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.orderNo}}</view>
                           </view>
                        </view>
                     </template>
                  </uni-list-item> -->
                  <uni-list-item direction="column" v-for="(item,index) in InBoundOrder" :key="item.sn">
                     <template v-slot:body>
                        <view class="uni-list-box">
                           <uni-icons type="trash" size="22" style="position: absolute;right: 5%;"
                              @click="deleteList(item.orderNo)">
                           </uni-icons>
                           <view class="uni-content">
                              <view class="uni-title-sub uni-ellipsis-2">订单号:{{item.orderNo}}</view>
                           </view>
                        </view>
                     </template>
                  </uni-list-item>
               </uni-list>
            </uni-forms>
            <button @click="OutboundTask" type="primary" size="default" style="margin-top: 2%;">组盘</button>
            <u-toast ref="OutboundTaskluToast" />
         </view>
      </view>
      <view v-show="current === 2">
         <view style="padding: 5%;">
            <uni-forms label-width="120">
               <uni-forms-item label="托盘编码">
                  <uni-easyinput type="text" :focus="barcodefocus" @input="inputChange" v-model="PalletCode3"
                     placeholder="请输入托盘编码" ref='midInput' />
               </uni-forms-item>
               <uni-forms-item label="出库起点">
                  <uni-easyinput type="text" :focus="barcodefocus" v-model="StartAddress"
                     placeholder="请输入出库起点" ref='midInput' />
               </uni-forms-item>
               <uni-forms-item label="出库终点">
                  <uni-easyinput type="text" :focus="barcodefocus" v-model="EndAddress"
                     placeholder="请输入出库终点" ref='midInput' />
               </uni-forms-item>
            </uni-forms>
            <button @click="OutboundTask" type="primary" size="default" style="margin-top: 2%;">出库</button>
            <button @click="OutboundTask" type="primary" size="default" style="margin-top: 2%;">解盘</button>
            <u-toast ref="OutboundTaskluToast" />
         </view>
      </view>
@@ -47,21 +82,30 @@
</template>
<script>
   import {
      config
   } from '../../common/config';
   const innerAudioContext = uni.createInnerAudioContext();
   export default {
      data() {
         return {
            istrue: false,
            barcodefocus: false,
            range: [],
            EndAddress: "",
            StartAddress: "",
            Barcode: "",
            TargetAddress:"",
            PalletCode: "",
            AreaId: "",
            SourceAddress: "",
            items: ['入库', '出库'],
            TargetAddress: "",
            PalletCode1: "",
            PalletCode2: "",
            PalletCode3: "",
            materSn: "",
            InBoundOrder: [],
            items: ['入库', '组盘', '解盘'],
            current: 0
         }
      },
      onLoad(res) {
         this.range = config.AreaId;
      },
      methods: {
         onClickItem(e) {
@@ -80,7 +124,7 @@
            var param = {
               "PalletCode": this.PalletCode,
               "Position": this.SourceAddress,
               "TargetAddress":this.TargetAddress
               "TargetAddress": this.TargetAddress
            }
            console.log(param);
            this.$u.post('/api/Task/RequestTaskAsync', param).then(res => {
@@ -91,7 +135,7 @@
                  })
                  this.PalletCode = "";
                  this.SourceAddress = "";
                  this.TargetAddress="";
                  this.TargetAddress = "";
                  this.istrue = false;
               } else {
                  this.$refs.InboundTaskluToast.show({
@@ -112,7 +156,7 @@
            var param = {
               "PalletCode": this.Barcode,
               "Position": this.StartAddress,
               "TargetAddress":this.EndAddress
               "TargetAddress": this.EndAddress
            }
            this.$u.post('/api/Task/RequestOutTaskAsync', param).then(res => {
               if (res.status) {
@@ -122,7 +166,7 @@
                  })
                  this.Barcode = "";
                  this.EndAddress = "";
                  this.StartAddress="";
                  this.StartAddress = "";
                  this.barcodefocus = false;
               } else {
                  this.$refs.OutboundTaskluToast.show({
@@ -132,6 +176,58 @@
               }
            })
         },
         snInput() {
            this.$nextTick(() => {
               var matObj = {
                  orderNo: this.materSn,
               }
               var temp = this.InBoundOrder.find(x => x.orderNo == matObj.orderNo);
               console.log(temp)
               if (!temp) {
                  this.InBoundOrder.push(matObj);
                  setTimeout(this.updateFocus, 200);
                  setTimeout(() => {
                     this.voiceSpeech('../../static/success.mp3');
                  }, 100);
               } else {
                  this.$refs.uToast.show({
                     title: "扫码重复",
                     type: "error"
                  })
                  setTimeout(this.updateFocus, 200);
                  setTimeout(() => {
                     this.voiceSpeech('../../static/fail.mp3');
                  }, 100);
               }
            })
         },
         // deleteList(res) {
         //    this.matInfos.map((item, index) => {
         //       if (item.orderNo == res) {
         //          this.matInfos.splice(index, 1);
         //       }
         //    })
         //    this.orderNo.map((item, index) => {
         //       if (item == res) {
         //          this.orderNo.splice(index, 1);
         //       }
         //    })
         // },
         deleteList(res) {
               // åˆ é™¤matInfos中orderNo匹配项
               this.matInfos = this.matInfos.filter(item => item.orderNo !== res);
               // åˆ é™¤orderNo中匹配项
               this.orderNo = this.orderNo.filter(item => item !== res);
               // å¯é€‰ï¼šæ·»åŠ åˆ é™¤åé¦ˆ
               this.$refs.uToast.show({
                 title: `已删除: ${res}`,
                 type: "success"
               });
             }
      }
   }
</script>