From 8fcd7a67e4391a5f1fbdb590c2a3f913aeb2a0a0 Mon Sep 17 00:00:00 2001
From: helongyang <647556386@qq.com>
Date: 星期二, 31 三月 2026 14:11:23 +0800
Subject: [PATCH] PP平库功能上线,PDA优化,部分问题点优化

---
 代码管理/淮安PDA/pages/stash/boxing.vue |  175 ++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 97 insertions(+), 78 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/boxing.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/boxing.vue"
index a6683ad..e611a7a 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/boxing.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/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-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>
@@ -102,30 +107,10 @@
 			</view>
 			<view v-if="current === 2" class="headerstyle">
 				<view class="itemstyle">
-					<uni-list :border="true">
-						<uni-list-item direction="column" v-for="(item,index) in orderInfo" :key="index">
-							<template v-slot:body>
-								<view class="uni-list-box">
-									<view class="uni-content">
-										<view style="font-size: 18px;">鍗曟嵁鍙凤細{{orderNo}}</view>
-										<view style="font-size: 18px;">鐗╂枡缂栫爜锛歿{item.materielCode}}</view>
-										<!-- <view style="font-size: 18px;">鐗╂枡鍚嶇О锛歿{item.matName}}</view> -->
-										<view style="font-size: 18px;">鏁伴噺锛歿{item.orderQuantity}}</view>
-										<view style="font-size: 18px;">鍗曚綅锛歿{item.unit}}</view>
-										<view style="font-size: 18px;">缁勭洏鏁伴噺锛歿{item.receiptQuantity}}</view>
-									</view>
-								</view>
-							</template>
-						</uni-list-item>
-					</uni-list>
-				</view>
-			</view>
-			<view v-if="current === 3" class="headerstyle">
-				<view class="itemstyle">
 					<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>
@@ -189,12 +174,16 @@
 				Testlabel: "",
 				Testplaceholder: "",
 				Testcheck: false,
-				Summmary:0,
-				stockInfoDetail:[],
+				Summmary: 0,
+				stockInfoDetail: [],
 				addressdisabled: false,
 				pksns: [],
 				pkmaterSn: "",
-				pkmatInfos: []
+				pkmatInfos: [],
+				// 鏂板锛氱粍鐩樿姹傜姸鎬侊紙闃叉閲嶅鐐瑰嚮锛�
+				isSubmitting: false,
+				// 鏂板锛氬叆搴撹姹傜姸鎬侊紙闃叉閲嶅鐐瑰嚮锛�
+				isInbounding: false
 			}
 		},
 		onShow() {},
@@ -217,7 +206,7 @@
 				this.items.push("鍏ュ钩搴�");
 				this.items[1] = "鍏ョ珛搴�";
 				this.address = "8005";
-			}else if (this.warehouseId == 3) { //杈呮枡浠撳簱鍖篒D
+			} else if (this.warehouseId == 3) { //杈呮枡浠撳簱鍖篒D
 				this.address = "1011";
 				this.addressdisabled = true;
 			}
@@ -225,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) {
@@ -238,8 +227,9 @@
 					})
 					return;
 				}
-				this.$u.post('/api/InboundOrder/InPinKu?warehouseId=' + this.warehouseId, this
+				this.$u.post('/api/InboundOrder/WMSInPinKu?warehouseId=' + this.warehouseId, this
 					.pksns).then(res => {
+					debugger
 					if (res.status) {
 						this.$refs.uToast.show({
 							title: "鍏ュ簱鎴愬姛",
@@ -273,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);
 							}
 						})
 					}
@@ -443,19 +433,23 @@
 					}
 					if (this.materSn != "") {
 						this.focus = false;
-						if(this.materSn.split(',').length != 6){
+						if(this.warehouseId==11){
+							this.materSn=this.materSn.replace(/,SC.*/, '');
+						}
+						if (this.materSn.split(',').length != 6) {
 							this.materSn = "";
 							return;
 						}
 						var matSn = this.materSn;
 						//setTimeout(() => {
-							this.materSn = "";
+						this.materSn = "";
 						//}, 10);
 						this.$u.post('/api/MaterielInfo/CodeAnalysis?serNum=' + matSn, {}).then((res) => {
 							this.Testcheck = false;
 							if (res.status) {
 								this.sns.push(res.data.serialNumber);
-								if (this.warehouseId == 6 || this.warehouseId == 2 || this.warehouseId == 3) {
+								if (this.warehouseId == 6 || this.warehouseId == 2 || this.warehouseId ==
+									3) {
 									if (this.matInfos.length > 0) {
 										this.matInfos = [];
 									}
@@ -466,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: "璇锋壂鎻忔墭鐩樻潯鐮�",
@@ -502,6 +497,13 @@
 					})
 					return;
 				}
+				
+				// 2. 闃叉閲嶅鐐瑰嚮锛氬鏋滄鍦ㄨ姹傦紝鐩存帴杩斿洖
+				if (this.isInbounding) return;
+				
+				// 3. 鏍囪涓鸿姹備腑锛岀鐢ㄦ寜閽�
+				this.isInbounding = true;
+
 				var postData = {
 					MainData: {
 						"barcode": this.inboundBarcode,
@@ -512,7 +514,10 @@
 				this.$u.post('/api/Task/RequestInboundTask', postData).then(res => {
 					if (res.status) {
 						this.inboundBarcode = "";
-						if (this.warehouseId != 5) this.address = "";
+						if (this.warehouseId != 5 && this.warehouseId != 3) this.address = "";
+						this.stockInfoDetail = [];
+						//鑾峰彇鎬绘暟閲�
+						this.Summmary = 0;
 						setTimeout(() => {
 							this.addressFocus = false;
 							this.$refs.uToast.show({
@@ -531,6 +536,9 @@
 						title: err.message,
 						type: "error"
 					})
+				}).finally(() => {
+					// 4. 璇锋眰瀹屾垚锛堟垚鍔�/澶辫触锛夊悗锛屾仮澶嶆寜閽姸鎬�
+					this.isInbounding = false;
 				})
 			},
 			inputChangebarcode() {
@@ -552,12 +560,12 @@
 							// this.stockInfo = [];
 							this.stockInfoDetail = [];
 							if (res.status) {
-									// this.stockInfo = res.data,
-									this.stockInfoDetail = res.data.details
-									//鑾峰彇鎬绘暟閲�
-									this.stockInfoDetail.forEach(item => {
-										this.Summmary+= item.stockQuantity;
-									});
+								// this.stockInfo = res.data,
+								this.stockInfoDetail = res.data.details
+								//鑾峰彇鎬绘暟閲�
+								this.stockInfoDetail.forEach(item => {
+									this.Summmary += item.stockQuantity;
+								});
 							} else {
 								this.$refs.uToast.show({
 									// title: "鏈壘鍒版墭鐩樹俊鎭�",
@@ -574,6 +582,7 @@
 				this.sns.splice(res, 1);
 			},
 			submit() {
+				// 1. 鍓嶇疆鏍¢獙
 				if (this.barcode == "") {
 					this.$refs.uToast.show({
 						title: "璇锋壂鎻忔墭鐩樻潯鐮�",
@@ -605,6 +614,13 @@
 						return;
 					}
 				}
+				
+				// 2. 闃叉閲嶅鐐瑰嚮锛氬鏋滄鍦ㄨ姹傦紝鐩存帴杩斿洖
+				if (this.isSubmitting) return;
+				
+				// 3. 鏍囪涓鸿姹備腑锛岀鐢ㄦ寜閽�
+				this.isSubmitting = true;
+
 				if (this.warehouseId == 2) { //娌瑰ⅷ浠撳簱鍖篒D
 					this.sn = this.sns[0];
 					for (var i = 0; i < this.Initiallife - 1; i++) {
@@ -632,6 +648,9 @@
 							type: "error"
 						})
 					}
+				}).finally(() => {
+					// 4. 璇锋眰瀹屾垚锛堟垚鍔�/澶辫触锛夊悗锛屾仮澶嶆寜閽姸鎬�
+					this.isSubmitting = false;
 				})
 			}
 		}

--
Gitblit v1.9.3