From c92d3ee319c6bb63bcaf27cd6cb501502929f7e8 Mon Sep 17 00:00:00 2001
From: hutongqing <hutongqing@hnkhzn.com>
Date: 星期日, 19 一月 2025 14:08:32 +0800
Subject: [PATCH] 1

---
 代码管理/淮安PDA/pages/stash/boxing.vue |  280 +++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 205 insertions(+), 75 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 78e84ea..7dcd249 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"
@@ -14,8 +14,9 @@
 							<uni-easyinput type="text" placeholder="璇锋壂鎻忓唴绠辨爣绛�" ref='midInput' :focus="focus"
 								v-model="materSn" @input="snInput" />
 						</uni-forms-item>
-						<uni-forms-item label="鍒濆瀵垮懡:" v-if="Test">
-							<uni-easyinput type="text" placeholder="璇疯緭鍏ュ垵濮嬪鍛�" ref='midInput' v-model="Initiallife" />
+						<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>
@@ -63,28 +64,35 @@
 								placeholder="璇锋壂鎻忔墭鐩樻潯鐮�" ref='midInput' @input="inputChangebarcode" />
 						</uni-forms-item>
 						<uni-forms-item label="鍦板潃鏉$爜">
-							<uni-easyinput type="text" v-model="address" 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>
 						</uni-forms-item>
 					</uni-forms>
 				</view>
-			</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">
+				<view>
+					<uni-list>
+						<uni-list-item direction="column" v-if="inboundBarcode">
 							<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 class="uni-title-sub uni-ellipsis-2">缁勭洏鎬绘暟閲忥細{{Summmary}}</view>
+									</view>
+								</view>
+							</template>
+						</uni-list-item>
+						<uni-list-item direction="column" v-for="(item,index) in stockInfoDetail" :key="index">
+							<template v-slot:body>
+								<view class="uni-list-box">
+									<view class="uni-content">
+										<view class="uni-title-sub uni-ellipsis-2">鐗╂枡缂栧彿锛歿{item.materielCode}}</view>
+										<view class="uni-note">鐗╂枡鍚嶇О锛歿{item.materielName}}</view>
+										<view class="uni-note">鐗╂枡鎵规锛歿{item.batchNo}}</view>
+										<view class="uni-note">缁勭洏鏁伴噺锛歿{item.stockQuantity}}</view>
+										<view class="uni-note">鐢熶骇鏃ユ湡锛歿{item.productionDate}}</view>
+										<view class="uni-note">鏈� 鏁� 鏈燂細{{item.effectiveDate}}</view>
 									</view>
 								</view>
 							</template>
@@ -92,51 +100,31 @@
 					</uni-list>
 				</view>
 			</view>
-			<view v-if="current === 3" class="headerstyle">
+			<view v-if="current === 2" class="headerstyle">
 				<view class="itemstyle">
-					<uni-forms label-width="120">
-						<uni-forms-item>
-							<uni-easyinput type="text" @input="releaseboxInput" v-model="value" placeholder="璇锋壂鐮�"
-								ref='midInput' :focus="true" />
+					<uni-forms label-width="180">
+						<uni-forms-item label="鍐呯鏍囩:">
+							<uni-easyinput type="text" placeholder="璇锋壂鎻忓唴绠辨爣绛�" ref='midInput' :focus="pkfocus"
+								v-model="pkmaterSn" @input="pksnInput" />
 						</uni-forms-item>
 						<uni-forms-item>
-							<button @click="releasebox" type="primary" size="default">瑙g洏</button>
+							<button @click="pksubmit" type="primary" size="default" style="margin-top: 2%;">鍏ュ钩搴�</button>
 						</uni-forms-item>
 					</uni-forms>
 					<uni-list>
-						<uni-list-item direction="column" v-if="value2">
+						<uni-list-item direction="column" v-for="(item,index) in pkmatInfos" :key="index">
 							<template v-slot:body>
 								<view class="uni-list-box">
+									<uni-icons type="trash" size="22" style="position: absolute;right: 5%;"
+										@click="pkdeleteList(index)">
+									</uni-icons>
 									<view class="uni-content">
-										<view class="uni-title-sub uni-ellipsis-2">鎵樼洏鍙凤細{{value2}}</view>
-									</view>
-								</view>
-							</template>
-						</uni-list-item>
-						<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 matInfo" :key="index">
-							<template v-slot:body>
-								<view class="uni-list-box">
-									<view class="uni-content">
-										<view class="uni-title-sub uni-ellipsis-2" style="font-size: 1.1em;">
-											鐗╂枡缂栫爜锛歿{item.matCode}}
-										</view>
-										<view class="uni-title-sub uni-ellipsis-2" style="font-size: 1.1em;">
-											鐗╂枡鍚嶇О锛歿{item.matName}}
-										</view>
-										<view class="uni-title-sub uni-ellipsis-2" style="font-size: 1.1em;">
-											鏁伴噺锛歿{item.matQty}}
-										</view>
+										<view class="uni-title-sub uni-ellipsis-2">閲囪喘鍗曞彿锛歿{item.purchaseOrderNo}}</view>
+										<view class="uni-note">鐗╂枡缂栫爜锛歿{item.materielCode}}</view>
+										<view class="uni-note">鎵规鍙凤細{{item.lotNo}}</view>
+										<view class="uni-note">鏁伴噺锛歿{item.quantity}}</view>
+										<view class="uni-note">鐢熶骇鏃ユ湡锛歿{item.productionDate}}</view>
+										<view class="uni-note">鏈夋晥鏈燂細{{item.effectiveDate}}</view>
 									</view>
 								</view>
 							</template>
@@ -162,10 +150,12 @@
 				label: "",
 				orderInfo: [],
 				focus: false,
+				pkfocus: false,
 				barcode: "",
 				materSn: "",
 				Initiallife: 1000,
 				sns: [],
+				sn: "",
 				addressFocus: false,
 				inboundBarcode: "",
 				address: "",
@@ -176,7 +166,15 @@
 				matTotals: [],
 				warehouseId: "",
 				Test: false,
+				Testlabel: "",
+				Testplaceholder: "",
 				Testcheck: false,
+				Summmary: 0,
+				stockInfoDetail: [],
+				addressdisabled: false,
+				pksns: [],
+				pkmaterSn: "",
+				pkmatInfos: []
 			}
 		},
 		onShow() {},
@@ -185,7 +183,24 @@
 			this.addressFocus = false;
 			this.orderNo = res.orderNo;
 			this.warehouseId = res.warehouseId;
-			this.Test = this.warehouseId == 6; //娴嬭瘯鏋朵粨搴撳尯ID
+			if (this.warehouseId == 6) { //娴嬭瘯鏋朵粨搴撳尯ID
+				this.Test = true;
+				this.Testlabel = "鍒濆瀵垮懡:";
+				this.Testplaceholder = "璇疯緭鍏ュ垵濮嬪鍛�";
+			} else if (this.warehouseId == 2) { //娌瑰ⅷ浠撳簱鍖篒D
+				this.Test = true;
+				this.Testlabel = "鏁伴噺:";
+				this.Testplaceholder = "璇疯緭鍏ユ暟閲�";
+				this.Initiallife = 16;
+			} else if (this.warehouseId == 5) { //杈呮枡浠撳簱鍖篒D
+				this.address = "8005";
+				this.items.push("鍏ュ钩搴�");
+				this.items[1] = "鍏ョ珛搴�";
+				this.address = "8005";
+			} else if (this.warehouseId == 3) { //杈呮枡浠撳簱鍖篒D
+				this.address = "1011";
+				this.addressdisabled = true;
+			}
 			this.label = "鍗曟嵁缂栧彿锛�" + this.orderNo;
 			this.getData();
 		},
@@ -193,6 +208,73 @@
 			voiceSpeech(src) {
 				innerAudioContext.src = src; // '../../static/success.mp3';
 				innerAudioContext.play();
+			},
+			//wms鍏ュ钩搴�
+			pksubmit() {
+				if (this.pkmatInfos.length == 0) {
+					this.$refs.uToast.show({
+						title: "璇锋壂鎻忓唴绠辨爣绛�",
+						type: 'error'
+					})
+					return;
+				}
+				this.$u.post('/api/InboundOrder/WMSInPinKu?warehouseId=' + this.warehouseId, this
+					.pksns).then(res => {
+					debugger
+					if (res.status) {
+						this.$refs.uToast.show({
+							title: "鍏ュ簱鎴愬姛",
+							type: "success"
+						})
+						this.focus = false;
+						this.pkmatInfos = [];
+						this.pksns = [];
+					} else {
+						this.$refs.uToast.show({
+							title: res.message,
+							type: "error"
+						})
+					}
+				})
+			},
+			pksnInput() {
+				this.$nextTick(() => {
+					if (this.pkmaterSn != "") {
+						this.focus = false;
+						var matSn = this.pkmaterSn;
+						setTimeout(() => {
+							this.pkmaterSn = "";
+						}, 10);
+						this.$u.post('/api/MaterielInfo/CodeAnalysis?serNum=' + matSn, {}).then((res) => {
+							if (res.status) {
+								this.pksns.push(res.data.serialNumber);
+								this.pkmatInfos.push(res.data);
+								if (!res.status) {
+									this.$refs.uToast.show({
+										title: res.message,
+										type: "error"
+									})
+									setTimeout(() => {
+										this.voiceSpeech('../../static/fail.mp3');
+									}, 100);
+									return;
+								}
+								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);
+							}
+						})
+					}
+				})
 			},
 			//瑙g洏
 			releasebox() {
@@ -335,46 +417,50 @@
 			},
 			snInput() {
 				this.$nextTick(() => {
+					if (this.warehouseId == 6 || this.warehouseId == 2 || this.warehouseId == 3) {
+						if (this.sns.length > 0) {
+							this.sns = [];
+						}
+					}
 					if (this.materSn != "") {
 						this.focus = false;
-						var matSn = this.materSn;
-						setTimeout(() => {
+						if (this.materSn.split(',').length != 6) {
 							this.materSn = "";
-						}, 10);
+							return;
+						}
+						var matSn = this.materSn;
+						//setTimeout(() => {
+						this.materSn = "";
+						//}, 10);
 						this.$u.post('/api/MaterielInfo/CodeAnalysis?serNum=' + matSn, {}).then((res) => {
 							this.Testcheck = false;
 							if (res.status) {
-								// debugger
-								// this.matTotal.push({
-								// 	matCode: res.data.materielCode,
-								// 	matQuantity: parseInt(res.data.quantity)
-								// });
 								this.sns.push(res.data.serialNumber);
-
-								// this.matInfos.splice(0, this.matInfos.length);
+								if (this.warehouseId == 6 || this.warehouseId == 2 || this.warehouseId ==
+									3) {
+									if (this.matInfos.length > 0) {
+										this.matInfos = [];
+									}
+								}
 								this.matInfos.push(res.data);
-								if (res.message) {
+								if (!res.status) {
 									this.$refs.uToast.show({
 										title: res.message,
 										type: "error"
 									})
-									// setTimeout(this.updateFocus,200);
 									setTimeout(() => {
 										this.voiceSpeech('../../static/fail.mp3');
 									}, 100);
 									return;
 								}
-								// setTimeout(this.updateFocus,200);
 								setTimeout(() => {
 									this.voiceSpeech('../../static/success.mp3');
 								}, 100);
 							} else {
-								// this.innerCode = "";
 								this.$refs.uToast.show({
 									title: res.message,
 									type: "error"
 								})
-								// setTimeout(this.updateFocus,200);
 								setTimeout(() => {
 									this.voiceSpeech('../../static/fail.mp3');
 								}, 100);
@@ -407,11 +493,14 @@
 				}
 				this.$u.post('/api/Task/RequestInboundTask', postData).then(res => {
 					if (res.status) {
-						uni.$showMsg(res.message);
 						this.inboundBarcode = "";
-						this.address = "";
+						if (this.warehouseId != 5) this.address = "";
 						setTimeout(() => {
 							this.addressFocus = false;
+							this.$refs.uToast.show({
+								title: "鎴愬姛",
+								type: "success"
+							})
 						}, 200);
 					} else {
 						this.$refs.uToast.show({
@@ -431,6 +520,34 @@
 				this.$nextTick(function(x) {
 					if (this.inboundBarcode != '') {
 						this.addressFocus = true;
+					}
+				})
+				this.$nextTick(function(x) {
+					if (this.inboundBarcode != '') {
+						var postData = {
+							MainData: {
+								"barcode": this.inboundBarcode,
+								"warehouseId": this.warehouseId,
+							}
+						};
+						this.$u.post('/api/StockInfo/StockQueryData', postData).then(res => {
+							// this.stockInfo = [];
+							this.stockInfoDetail = [];
+							if (res.status) {
+								// this.stockInfo = res.data,
+								this.stockInfoDetail = res.data.details
+								//鑾峰彇鎬绘暟閲�
+								this.stockInfoDetail.forEach(item => {
+									this.Summmary += item.stockQuantity;
+								});
+							} else {
+								this.$refs.uToast.show({
+									// title: "鏈壘鍒版墭鐩樹俊鎭�",
+									title: res.message,
+									type: "error"
+								})
+							}
+						})
 					}
 				})
 			},
@@ -456,16 +573,29 @@
 				if (this.Test) {
 					if (!this.Testcheck) {
 						this.Testcheck = true;
-						this.$refs.uToast.show({
-							title: "璇风‘璁ゅ垵濮嬪鍛�",
-							type: 'error'
-						})
+						if (this.warehouseId == 2) {
+							this.$refs.uToast.show({
+								title: "璇风‘璁ゆ暟閲�",
+								type: 'error'
+							})
+						} else if (this.warehouseId == 6) {
+							this.$refs.uToast.show({
+								title: "璇风‘璁ゅ垵濮嬪鍛�",
+								type: 'error'
+							})
+						}
 						return;
 					}
 				}
+				if (this.warehouseId == 2) { //娌瑰ⅷ浠撳簱鍖篒D
+					this.sn = this.sns[0];
+					for (var i = 0; i < this.Initiallife - 1; i++) {
+						this.sns.push(this.sn);
+					}
+				}
+				let url = 'palletCode=' + this.barcode + '&initiallife=' + this.Initiallife + '&warehouseId=' + this
+					.warehouseId;
 
-				let url = 'palletCode=' + this.barcode + '&initiallife=' + this.Initiallife + '&warehouseId=' + this.warehouseId;
-				
 				this.$u.post('/api/InboundOrder/ManualMaterielGroup?' + url, this.sns).then(res => {
 					this.Testcheck = false;
 					if (res.status) {

--
Gitblit v1.9.3