|  |  | 
 |  |  |                <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" | 
 |  |  |                      v-model="innerCode" @input="innercodeInput" /> | 
 |  |  |                   <uni-easyinput type="text" placeholder="è¯·æ«æå
ç®±ç " ref='midInput' :focus="!focus" | 
 |  |  |                      v-model="innerCode" @confirm="innercodeInput" /> | 
 |  |  |                </uni-forms-item> | 
 |  |  |                <uni-forms-item :label="PurchaseOrderNo" style="margin-top: -20px;"></uni-forms-item> | 
 |  |  |                <uni-forms-item :label="matCode" style="margin-top: -20px;"></uni-forms-item> | 
 |  |  | 
 |  |  |                </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> | 
 |  |  | 
 |  |  |                </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-list-box"> | 
 |  |  |                         <!-- <button class="button" type="primary" style="position: absolute;right: 1%;" size="mini" | 
 |  |  |                            @click="inputDialogToggle(item.matCode)"><text | 
 |  |  |                               class="button-text">åºåº</text></button> --> | 
 |  |  |                         <!-- <button type="primary" style="position: absolute;right: 1%;" size="mini" | 
 |  |  |                            @click="outbound(item.matCode)">åºåº</button> --> | 
 |  |  |                         <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> | 
 |  |  |                      </view> | 
 |  |  |                   </template> | 
 |  |  |                </uni-list-item> | 
 |  |  |             </uni-list> | 
 |  |  | 
 |  |  |    import { | 
 |  |  |       config | 
 |  |  |    } from '../../common/config'; | 
 |  |  | import message from '../../tuniao-ui/libs/function/message'; | 
 |  |  |    const innerAudioContext = uni.createInnerAudioContext(); | 
 |  |  |    export default { | 
 |  |  |       data() { | 
 |  |  | 
 |  |  |             current: 0, | 
 |  |  |             orderNo: "", | 
 |  |  |             orderInfo: [], | 
 |  |  |             orderinfoDetails:[], | 
 |  |  |             label: "", | 
 |  |  |             innerCode: "", | 
 |  |  |             PurchaseOrderNo: "éè´åå·ï¼", | 
 |  |  | 
 |  |  |             remaindQty: "å®é
æ°éï¼", | 
 |  |  |             tagFocus: true, | 
 |  |  |             numberFocus: false, | 
 |  |  |             focus: true, | 
 |  |  |             focus: false, | 
 |  |  |             tag: "", | 
 |  |  |             number: "", | 
 |  |  |             tagmatCode: "ç©æç¼ç ï¼", | 
 |  |  | 
 |  |  |             endType: "", | 
 |  |  |             endTypeRange: [], | 
 |  |  |             sns: "", | 
 |  |  |             receiveOrderId:0, | 
 |  |  |             receiveOrderId: 0, | 
 |  |  |             warehouseId:"", | 
 |  |  |             toastQueue: [], // æç¤ºéå | 
 |  |  |             isShowingToast: false | 
 |  |  |          } | 
 |  |  |       }, | 
 |  |  |  | 
 |  |  | 
 |  |  |             this.value = config.warehouseArea; | 
 |  |  |          } | 
 |  |  |          this.orderNo = res.orderNo; | 
 |  |  |          this.receiveOrderId=res.receiveOrderId; | 
 |  |  |          this.receiveOrderId = res.receiveOrderId; | 
 |  |  |          this.label = "æ¶è´§åå·ï¼" + this.orderNo; | 
 |  |  |          this.warehouseId=res.warehouseId; | 
 |  |  |          this.getData(); | 
 |  |  |       }, | 
 |  |  |       mounted() { | 
 |  |  | 
 |  |  |          } | 
 |  |  |       }, | 
 |  |  |       methods: { | 
 |  |  |          showToast(options) { | 
 |  |  |                      this.toastQueue.push(options); | 
 |  |  |                      this.processToastQueue(); | 
 |  |  |                  }, | 
 |  |  | 			         | 
 |  |  |                  // å¤çæç¤ºéå | 
 |  |  |                  processToastQueue() { | 
 |  |  |                      // å¦ææ£å¨æ¾ç¤ºæç¤ºæéå为空ï¼å䏿§è¡ | 
 |  |  |                      if (this.isShowingToast || this.toastQueue.length === 0) return; | 
 |  |  | 			             | 
 |  |  |                      this.isShowingToast = true; | 
 |  |  |                      const toastOptions = this.toastQueue.shift(); | 
 |  |  | 			             | 
 |  |  |                      // æ¾ç¤ºæç¤º | 
 |  |  |                      this.$refs.uToast.show({ | 
 |  |  |                          ...toastOptions, | 
 |  |  |                          complete: () => { | 
 |  |  |                              // æç¤ºå
³éåå¤çä¸ä¸ä¸ª | 
 |  |  |                              this.isShowingToast = false; | 
 |  |  |                              this.processToastQueue(); | 
 |  |  |                          } | 
 |  |  |                      }); | 
 |  |  |                  }, | 
 |  |  |          inputDialogToggle(itemCode) { | 
 |  |  |             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) { | 
 |  |  | 
 |  |  |             }); | 
 |  |  |          }, | 
 |  |  |          submit() { | 
 |  |  |             if (this.sns == "") { | 
 |  |  |                this.$refs.uToast.show({ | 
 |  |  |                   title: "è¯·æ«æå
ç®±æ ç¾", | 
 |  |  |                   type: 'error' | 
 |  |  |              // æåçäº§æ¥æï¼æ ¼å¼ä¸º"çäº§æ¥æï¼YYYY-MM"ï¼ | 
 |  |  |              const productionDateStr = this.ProductionDate.replace('çäº§æ¥æï¼', ''); | 
 |  |  |              if (!productionDateStr) { | 
 |  |  |                this.showToast({ | 
 |  |  |                      title: "æªè·åå°çäº§æ¥æ", | 
 |  |  |                      type: 'error' | 
 |  |  |                  }); | 
 |  |  |                  return; | 
 |  |  |              } | 
 |  |  | 			                 | 
 |  |  |              // è§£æçäº§æ¥æçå¹´æ | 
 |  |  |              const [prodYear, prodMonth] = productionDateStr.split('-').map(Number); | 
 |  |  | 			                 | 
 |  |  |              // è·åå½åæ¥æçå¹´æ | 
 |  |  |              const currentDate = new Date(); | 
 |  |  |              const currentYear = currentDate.getFullYear(); | 
 |  |  |              const currentMonth = currentDate.getMonth() + 1; | 
 |  |  | 			                 | 
 |  |  |              // æ¯è¾å¹´ææ¯å¦ä¸è´ | 
 |  |  |              const isDateMismatch = prodYear !== currentYear || prodMonth !== currentMonth; | 
 |  |  |              if (isDateMismatch) { | 
 |  |  |                  this.showToast({ | 
 |  |  |                      title: "è¯¥ç©æçäº§æ¥æçå¹´æä¸å½åå¹´æä¸ä¸è´", | 
 |  |  |                      type: 'warning', | 
 |  |  |                      duration: 1500 | 
 |  |  |                  }); | 
 |  |  |              } | 
 |  |  | 			     | 
 |  |  |              // åæç确认æ¶è´§é»è¾ | 
 |  |  |              if (this.sns == "") { | 
 |  |  |                  this.$refs.uToast.show({ | 
 |  |  |                      title: "è¯·æ«æå
ç®±æ ç¾", | 
 |  |  |                      type: 'error' | 
 |  |  |                  }) | 
 |  |  |                  return; | 
 |  |  |              } | 
 |  |  |              if (this.Quantity == "") { | 
 |  |  |                  this.$refs.uToast.show({ | 
 |  |  |                      title: "请è¾å
¥å®é
æ°é", | 
 |  |  |                      type: 'error' | 
 |  |  |                  }) | 
 |  |  |                  return; | 
 |  |  |              } | 
 |  |  |              if(this.warehouseId==2){ | 
 |  |  |                  //æ¿æ¢æå®ä¸¤ä¸ªå符é´çå符 | 
 |  |  |                  this.sns = this.sns.replace(/(Q:)([^,PO]+)(,PO)/, (match, p1, p2, p3) => { | 
 |  |  |                      return p1 + this.Quantity + p3; | 
 |  |  |                  }); | 
 |  |  |              } | 
 |  |  |             const sendRequest = () => { | 
 |  |  |                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" | 
 |  |  |                      }) | 
 |  |  |                   } else { | 
 |  |  |                      this.$refs.uToast.show({ | 
 |  |  |                         title: res.message, | 
 |  |  |                         type: "error" | 
 |  |  |                      }) | 
 |  |  |                   } | 
 |  |  |                }) | 
 |  |  |                return; | 
 |  |  | 					 | 
 |  |  |             }; | 
 |  |  |             // å¦æææ¥æä¸å¹é
æç¤ºï¼çå¾
æç¤ºå®æååéè¯·æ± | 
 |  |  |             if (isDateMismatch) { | 
 |  |  |                 setTimeout(sendRequest, 1500); // çå¾
1.5ç§ï¼ä¸æç¤ºæ¶é¿ä¸è´ï¼ | 
 |  |  |             } else { | 
 |  |  |                 sendRequest(); // æ²¡ææ¥ææç¤ºï¼ç«å³åéè¯·æ± | 
 |  |  |             } | 
 |  |  |             if (this.Quantity == "") { | 
 |  |  |                this.$refs.uToast.show({ | 
 |  |  |                   title: "请è¾å
¥å®é
æ°é", | 
 |  |  |                   type: 'error' | 
 |  |  |                }) | 
 |  |  |                return; | 
 |  |  |             } | 
 |  |  |             this.$u.post('/api/ReceiveOrderDetail/AddReceiveOrderDetail?serNum=' + this.sns + '&orderNo=' + this | 
 |  |  |                .orderNo, {}).then(res => { | 
 |  |  |                if (res.status) { | 
 |  |  |                   this.$refs.uToast.show({ | 
 |  |  |                      title: "确认æ¶è´§æå", | 
 |  |  |                      type: "success" | 
 |  |  |                   }) | 
 |  |  |                   this.sns = ""; | 
 |  |  |                } else { | 
 |  |  |                   this.$refs.uToast.show({ | 
 |  |  |                      title: res.message, | 
 |  |  |                      type: "error" | 
 |  |  |                   }) | 
 |  |  |                } | 
 |  |  |             }) | 
 |  |  |          }, | 
 |  |  |          submit1() { | 
 |  |  |             this.$u.post('/api/ReceiveOrder/FeedbackReceiveOrder?orderId=' + this | 
 |  |  | 
 |  |  |             }) | 
 |  |  |          }, | 
 |  |  |          onClickItem(e) { | 
 |  |  |             console.log(1) | 
 |  |  |             this.focus = false; | 
 |  |  |             this.addressFocus = false; | 
 |  |  |             if (this.current !== e.currentIndex) { | 
 |  |  | 
 |  |  |             } | 
 |  |  |             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; | 
 |  |  |                   } | 
 |  |  |                } | 
 |  |  | 
 |  |  |                   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() { |