111
wangxinhui
2025-06-11 0bb8fa57f20980f869cb1780a7594ef3ea7d576e
´úÂë¹ÜÀí/»´°²PDA/pages/stash/receiveorderoutbound.vue
@@ -8,7 +8,7 @@
               <uni-forms-item :label="label" style="margin-top: -20px;"></uni-forms-item>
               <!-- <uni-forms-item label="单据类型:生产领料单" style="margin-top: -20px;"></uni-forms-item> -->
               <uni-forms-item label="内箱码:" style="margin-top: -20px;">
                  <uni-easyinput type="text" placeholder="请扫描内箱码" ref='midInput' :focus="focus"
                  <uni-easyinput type="text" placeholder="请扫描内箱码" ref='midInput' :focus="!focus"
                     v-model="innerCode" @input="innercodeInput" />
               </uni-forms-item>
               <uni-forms-item :label="PurchaseOrderNo" style="margin-top: -20px;"></uni-forms-item>
@@ -22,20 +22,24 @@
               </uni-forms-item>
            </uni-forms>
            <uni-forms-item>
               <button @click="submit" type="primary" size="default" style="margin-top: 2%;">确认收货</button>
               <view class="uni-flex uni-row" style="justify-content: space-between;margin-top: 2%;height: 45px;width: 520rpx;margin: 0px auto;">
                  <view>
                     <button @click="resetReceive" type="default" size="default" style="width: 200rpx;border: 1rpx solid #007aff;color: #007aff;">重置</button>
                  </view>
                  <view>
                     <button @click="submit" type="primary" size="default" style="width: 220rpx;">确认收货</button>
                  </view>
               </view>
            </uni-forms-item>
            <uni-forms-item>
               <button @click="submit1" type="primary" size="default" style="margin-top: 2%;">完成收货</button>
               <view style="margin-top: 2%;height: 45px;width: 520rpx;margin: 0px auto;">
                  <button @click="submit1" type="primary" size="default" style="margin-top: 2%;backgroundColor:#1AAD19;borderColor:#1AAD19">完成收货</button>
               </view>
            </uni-forms-item>
         </view>
      </view>
      <view v-if="current === 1" class="headerstyle">
         <view class="itemstyle">
            <u-sticky>
               <!-- <view style="background-color: #ffffff;">
                  <uni-search-bar @confirm="search" v-model="searchValue"></uni-search-bar>
               </view> -->
            </u-sticky>
            <!-- <uni-forms label-width="180">
               <uni-forms-item label="区域">
                  <uni-data-select v-if="show" v-model="value" :localdata="range"></uni-data-select>
@@ -48,15 +52,17 @@
               </uni-forms-item>
            </uni-forms> -->
            <uni-list :border="true">
               <uni-list-item direction="column" v-for="(item,index) in orderInfo" :key="item.dtlId">
               <uni-list-item direction="column" v-for="item in orderinfoDetails" :key="item.id">
                  <template v-slot:body>
                        <view class="uni-content">
                           <view style="font-size: 18px;">收货单号:{{orderNo}}</view>
                           <view style="font-size: 18px;">采购单号:{{item.purchaseOrderNo}}</view>
                           <view style="font-size: 18px;">物料编号:{{item.materielCode}}</view>
                           <view style="font-size: 18px;">批次号:{{item.lotNo}}</view>
                           <view style="font-size: 18px;">收货数量:{{item.receivedQuantity}}</view>
                           <view style="font-size: 18px;">是否质检:{{item.ifInspection==1?"是":"否"}}</view>
                           <view>收货单号:{{orderNo}}</view>
                           <view>采购单号:{{item.purchaseOrderNo}}</view>
                           <view>物料编号:{{item.materielCode}}</view>
                           <view>物料名称:{{item.materielName}}</view>
                           <view>物料规格:{{item.materielSpec}}</view>
                           <view>批次号:{{item.lotNo}}</view>
                           <view>收货数量:{{item.receivedQuantity}}</view>
                           <view>是否质检:{{item.ifInspection==1?"是":"否"}}</view>
                        </view>
                  </template>
               </uni-list-item>
@@ -180,6 +186,7 @@
            current: 0,
            orderNo: "",
            orderInfo: [],
            orderinfoDetails:[],
            label: "",
            innerCode: "",
            PurchaseOrderNo: "采购单号:",
@@ -196,7 +203,7 @@
            remaindQty: "实际数量:",
            tagFocus: true,
            numberFocus: false,
            focus: true,
            focus: false,
            tag: "",
            number: "",
            tagmatCode: "物料编码:",
@@ -223,6 +230,7 @@
            endTypeRange: [],
            sns: "",
            receiveOrderId: 0,
            warehouseId:""
         }
      },
@@ -238,6 +246,7 @@
         this.orderNo = res.orderNo;
         this.receiveOrderId = res.receiveOrderId;
         this.label = "收货单号:" + this.orderNo;
         this.warehouseId=res.warehouseId;
         this.getData();
      },
      mounted() {
@@ -255,12 +264,25 @@
            this.itemCode = itemCode;
            this.$refs.inputDialog.open()
         },
         voiceSpeech(src) {
            innerAudioContext.src = src; // '../../static/success.mp3';
            innerAudioContext.play();
         },
         // voiceSpeech(src) {
         //    innerAudioContext.src = src; // '../../static/success.mp3';
         //    innerAudioContext.play();
         // },
         search() {
            this.getData();
         },
         resetReceive(){
            this.PurchaseOrderNo="采购单号:";
            this.matCode="物料编码:";
            this.LotNo="物料批次:";
            this.orderQty="订单数量:";
            this.ProductionDate="生产日期:";
            this.EffectiveDate="有效日期:";
            this.Quantity="";
            setTimeout(() => {
               this.innerCode="";
               this.focus=false;
            }, 10);
         },
         releasebox() {
            if (this.releasevalue.length == 0) {
@@ -368,15 +390,32 @@
               })
               return;
            }
            if(this.warehouseId==2){
               //替换指定两个字符间的字符
               this.sns = this.sns.replace(/(Q:)([^,PO]+)(,PO)/, (match, p1, p2, p3) => {
                 return p1 + this.Quantity + p3;
               });
            }
            this.$u.post('/api/ReceiveOrderDetail/AddReceiveOrderDetail?serNum=' + this.sns + '&orderNo=' + this
               .orderNo, {}).then(res => {
               if (res.status) {
                  this.PurchaseOrderNo="采购单号:";
                  this.matCode="物料编码:";
                  this.LotNo="物料批次:";
                  this.orderQty="订单数量:";
                  this.ProductionDate="生产日期:";
                  this.EffectiveDate="有效日期:";
                  this.Quantity="";
                  setTimeout(() => {
                     this.innerCode="";
                     this.focus=false;
                  }, 100);
                  this.orderInfo=[];
                  this.sns = "";
                  this.$refs.uToast.show({
                     title: "确认收货成功",
                     type: "success"
                  })
                  this.orderInfo=[];
                  this.sns = "";
               } else {
                  this.$refs.uToast.show({
                     title: res.message,
@@ -451,6 +490,7 @@
            })
         },
         onClickItem(e) {
            console.log(1)
            this.focus = false;
            this.addressFocus = false;
            if (this.current !== e.currentIndex) {
@@ -469,8 +509,8 @@
            }
            this.$u.post('/api/ReceiveOrderDetail/GetReceiveOrderInfos', postData).then((res) => {
               if (res.status) {
                  this.orderInfo = res.data;
                  if (this.orderInfo.length > 3) {
                  this.orderinfoDetails = res.data;
                  if (this.orderinfoDetails.length > 3) {
                     this.loadVisible = true;
                  }
               }
@@ -482,45 +522,42 @@
                  return;
               }
               var innerCode = this.innerCode;
               setTimeout(() => {
                  this.innerCode = "";
               }, 10);
               this.$u.post('/api/MaterielInfo/CodeAnalysis?serNum=' + innerCode, {}).then((res) => {
                  if (res.status) {
                     this.sns = res.data.serialNumber;
                     // this.matInfos.splice(0, this.matInfos.length);
                     // this.matInfos.push(res.data);
                     this.matCode = "物料编码:" + res.data.materielCode;
                     this.LotNo = "物料批次:" + res.data.lotNo;
                     this.PurchaseOrderNo = "采购单号:" + res.data.purchaseOrderNo;
                     this.EffectiveDate = "有效日期:" + res.data.effectiveDate;
                     this.ProductionDate = "生产日期:" + res.data.productionDate;
                     this.orderQty = "订单数量:" + res.data.quantity;
                     this.Quantity = res.data.quantity;
                     if (res.message) {
               //将innerCode,SC后面的进行替换空
               if(this.warehouseId==11){
                  innerCode=innerCode.replace(/,SC.*/, '');
               }
               if(innerCode.indexOf("POHA")>0){
                  this.$u.post('/api/MaterielInfo/CodeAnalysis?serNum=' + innerCode, {}).then((res) => {
                     if (res.status) {
                        this.sns = res.data.serialNumber;
                        // this.matInfos.splice(0, this.matInfos.length);
                        // this.matInfos.push(res.data);
                        this.matCode = "物料编码:" + res.data.materielCode;
                        this.LotNo = "物料批次:" + res.data.lotNo;
                        this.PurchaseOrderNo = "采购单号:" + res.data.purchaseOrderNo;
                        this.EffectiveDate = "有效日期:" + res.data.effectiveDate;
                        this.ProductionDate = "生产日期:" + res.data.productionDate;
                        this.orderQty = "订单数量:" + res.data.quantity;
                        this.Quantity = res.data.quantity;
                        // setTimeout(() => {
                        //    this.voiceSpeech('../../static/success.mp3');
                        // }, 100);
                     } else {
                        this.$refs.uToast.show({
                           title: res.message,
                           type: "error"
                        })
                        setTimeout(() => {
                           this.voiceSpeech('../../static/fail.mp3');
                        }, 100);
                        return;
                        // setTimeout(() => {
                        //    this.voiceSpeech('../../static/fail.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.innerCode = "";
                  this.focus=true;
               }, 100);
            })
         },
         tagInput() {