1
huangxiaoqiang
7 天以前 4dfe8ece141f05a163cf7d290b6fe4c520d89909
ÏîÄ¿´úÂë/PDA/pages/task/Inbound.vue
@@ -6,24 +6,24 @@
         <view style="padding: 5%;">
            <uni-forms label-width="120">
               <uni-forms-item label="托盘编码">
                  <uni-easyinput type="text" :focus="!istrue" v-model="PalletCode1" placeholder="请输入托盘编码"
                     ref='midInput' />
                  <uni-easyinput type="text" :focus="barcodeFocus" v-model="PalletCode1" placeholder="请输入托盘编码"
                     ref='midInput' @input="Changebarcode()"/>
               </uni-forms-item>
               <uni-forms-item label="入库起点">
                  <uni-easyinput type="text" :focus="istrue" v-model="SourceAddress" placeholder="请输入入库起点"
                  <uni-easyinput type="text" :focus="addressFocus" v-model="SourceAddress" placeholder="请输入入库起点"
                     ref='midInput' />
               </uni-forms-item>
               <uni-forms-item label="入库终点">
               <!-- <uni-forms-item label="入库终点">
                  <uni-easyinput type="text" :focus="istrue" v-model="TargetAddress" placeholder="请输入入库终点"
                     ref='midInput' />
               </uni-forms-item>
               <uni-forms-item label="终 ç‚¹ åŒº åŸŸ">
               </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>
            <u-toast ref="InboundTaskluToast" />
         </view>
      </view>
      <view v-show="current === 1">
@@ -37,32 +37,31 @@
                  <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 v-if="group.length" class="scan-result">
                  <uni-card v-for="(item, index) in group" :key="item.orderNo">
                     <view class="info-grid">
                        <view class="info-row">
                           <text class="label">订单编码:</text>
                           <text>{{ item.orderNo }}</text>
                        </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>
                        <br>
                        <view class="info-row">
                           <text class="label">仓库名称:</text>
                           <text>{{ item.warehouseName }}</text>
                        </view><br>
                        <view class="info-row">
                           <text class="label">物料编码:</text>
                           <text>{{ item.materialNo }}</text>
                        </view><br>
                        <uni-forms-item label="组盘数量">
                           <uni-easyinput v-model="item.quantity" type="number" />
                        </uni-forms-item>
                     </view>
                     <uni-icons type="trash" class="delete-icon" @click="removeScanItem(item.orderNo)" />
                  </uni-card>
               </view>
            </uni-forms>
            <button @click="OutboundTask" type="primary" size="default" style="margin-top: 2%;">组盘</button>
            <u-toast ref="OutboundTaskluToast" />
            <button @click="GroupPlate" type="primary" size="default" style="margin-top: 2%;">组盘</button>
         </view>
      </view>
      <view v-show="current === 2">
@@ -73,11 +72,10 @@
                     placeholder="请输入托盘编码" ref='midInput' />
               </uni-forms-item>
            </uni-forms>
            <button @click="OutboundTask" type="primary" size="default" style="margin-top: 2%;">解盘</button>
            <u-toast ref="OutboundTaskluToast" />
            <button @click="SolvePlate" type="primary" size="default" style="margin-top: 2%;">解盘</button>
         </view>
      </view>
   </view>
      <u-toast ref="luToast" />
   </view>
</template>
@@ -89,17 +87,21 @@
   export default {
      data() {
         return {
            barcodeFocus:true,
            focus: false,
            istrue: false,
            addressFocus:false,
            barcodefocus: false,
            range: [],
            AreaId: "",
            group: [],
            AreaId: 0,
            quantity: "",
            SourceAddress: "",
            TargetAddress: "",
            PalletCode1: "",
            PalletCode2: "",
            PalletCode3: "",
            materSn: "",
            InBoundOrder: [],
            items: ['入库', '组盘', '解盘'],
            current: 0
         }
@@ -113,84 +115,133 @@
               this.current = e.currentIndex;
            }
         },
         voiceSpeech(src) {
            innerAudioContext.src = src; // '../../static/success.mp3';
            innerAudioContext.play();
         },
         InboundTask() {
            if (this.PalletCode.length <= 0 && this.Point.length) {
               this.$refs.InboundTaskluToast.show({
            if (this.PalletCode1.length <= 0 && this.SourceAddress.length) {
               this.$refs.luToast.show({
                  title: "托盘编码跟绑定货位不能为空",
                  type: "error"
               })
               return;
            }
            var param = {
               "PalletCode": this.PalletCode,
               "PalletCode": this.PalletCode1,
               "Position": this.SourceAddress,
               "TargetAddress": this.TargetAddress
               "TargetAddress": this.TargetAddress,
               "AreaId": this.AreaId,
            }
            console.log(param);
            this.$u.post('/api/Task/RequestTaskAsync', param).then(res => {
            this.$u.post('/api/Task/RequestInboundTaskAsync', param).then(res => {
               if (res.status) {
                  this.$refs.InboundTaskluToast.show({
                  this.$refs.luToast.show({
                     title: res.message,
                     type: "success"
                  })
                  this.PalletCode = "";
                  this.PalletCode1 = "";
                  this.SourceAddress = "";
                  this.TargetAddress = "";
                  this.AreaId = "";
                  this.istrue = false;
               } else {
                  this.$refs.InboundTaskluToast.show({
                  this.$refs.luToast.show({
                     title: res.message,
                     type: "error"
                  })
               }
            })
         },
         OutboundTask() {
            if (this.EndAddress.length <= 0 && this.Barcode.length) {
               this.$refs.OutboundTaskluToast.show({
         GroupPlate() {
            if (this.PalletCode2.length <= 0 && this.InBoundOrder.length) {
               this.$refs.luToast.show({
                  title: "请输入起点站台",
                  type: "error"
               })
               return;
            }
            var param = {
               "PalletCode": this.Barcode,
               "Position": this.StartAddress,
               "TargetAddress": this.EndAddress
               "PalletCode": this.PalletCode2,
               "groups": this.group
            }
            this.$u.post('/api/Task/RequestOutTaskAsync', param).then(res => {
            this.$u.post('/api/BoxingInfo/AddGroupPlateAsync', param).then(res => {
               if (res.status) {
                  this.$refs.OutboundTaskluToast.show({
                  this.$refs.luToast.show({
                     title: res.message,
                     type: "success"
                  })
                  this.Barcode = "";
                  this.EndAddress = "";
                  this.StartAddress = "";
                  this.PalletCode2 = "";
                  this.group = [];
                  this.barcodefocus = false;
               } else {
                  this.$refs.OutboundTaskluToast.show({
                  this.$refs.luToast.show({
                     title: res.message,
                     type: "error"
                  })
               }
            })
         },
         SolvePlate() {
            if (this.PalletCode3.length <= 0) {
               this.$refs.luToast.show({
                  title: "请输入托盘条码",
                  type: "error"
               })
               return;
            }
            var param = {
               "PalletCode": this.PalletCode3,
            }
            this.$u.post('/api/StockInfo/DeleteGroupPlateAsync', param).then(res => {
               if (res.status) {
                  this.$refs.luToast.show({
                     title: res.message,
                     type: "success"
                  })
                  this.PalletCode3 = "";
                  this.barcodefocus = false;
               } else {
                  this.$refs.luToast.show({
                     title: res.message,
                     type: "error"
                  })
               }
            })
         },
         updateFocus() {
            this.$nextTick(() => {
               this.materSn = '';
               if (!this.focus) {
                  this.focus = true;
               }
            });
         },
         snInput() {
            this.$nextTick(() => {
               var matObj = {
                  orderNo: this.materSn,
               }
               var temp = this.InBoundOrder.find(x => x.orderNo == matObj.orderNo);
               console.log(temp)
               var temp = this.group.find(x => x.orderNo == matObj.orderNo);
               if (!temp) {
                  this.InBoundOrder.push(matObj);
                  setTimeout(this.updateFocus, 200);
                  setTimeout(() => {
                     this.voiceSpeech('../../static/success.mp3');
                  }, 100);
                  this.$u.post('/api/InboundOrder/GetInboundOrderInfo?orderNo=' + this.materSn, "").then(
                     res => {
                        if (res.status) {
                           this.group.push(res.data);
                           setTimeout(this.updateFocus, 200);
                           setTimeout(() => {
                              this.voiceSpeech('../../static/success.mp3');
                           }, 100);
                        } else {
                           this.$refs.luToast.show({
                              title: res.message,
                              type: "error"
                           })
                        }
                     })
               } else {
                  this.$refs.uToast.show({
                  this.$refs.luToast.show({
                     title: "扫码重复",
                     type: "error"
                  })
@@ -202,32 +253,32 @@
            })
         },
         // 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"
               });
             }
         Changebarcode() {
            this.barcodeFocus = false;
            this.$nextTick(function(x) {
               if (this.PalletCode1 != '') {
                  this.addressFocus = true;
               }
            })
         },
         inputChangebarcode() {
            this.$nextTick(() => {
               this.$u.post('/api/BoxingInfo/GetPalletCodeInfo?palletCode=' + this.PalletCode2, "").then(
                  res => {
                     if (res.status) {
                        this.group = res.data;
                        console.log(this.group);
                        setTimeout(this.updateFocus, 200);
                        setTimeout(() => {
                           this.voiceSpeech('../../static/success.mp3');
                        }, 100);
                     }
                  })
            })
         },
         removeScanItem(orderNo) {
            this.group = this.group.filter(item => item.orderNo !== orderNo);
         }
      }
   }
</script>