From dc06f58d8ed537555fd529551180f43a0586ec3f Mon Sep 17 00:00:00 2001
From: helongyang <647556386@qq.com>
Date: 星期日, 22 六月 2025 11:44:43 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/MeiRuiAn/HuaiAn

---
 代码管理/淮安PDA/pages/stash/InspectIn.vue |  612 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 612 insertions(+), 0 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/InspectIn.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/InspectIn.vue"
new file mode 100644
index 0000000..ae655d0
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/InspectIn.vue"
@@ -0,0 +1,612 @@
+<template>
+	<view>
+		<uni-segmented-control style="margin-top: 15rpx;" :current="current" :values="items" @clickItem="onClickItem">
+		</uni-segmented-control>
+		<view class="content">
+			<!-- <view v-if="current === 0" class="headerstyle">
+				<view class="itemstyle">
+					<uni-forms label-width="180">
+						<uni-forms-item label="鎵樼洏鏉$爜:">
+							<uni-easyinput type="text" placeholder="璇锋壂鎻忔墭鐩樻潯鐮�" ref='midInput' :focus="!focus"
+								v-model="barcode" @input="barcodeInput" />
+						</uni-forms-item>
+						<uni-forms-item label="鍐呯鏍囩:">
+							<uni-easyinput type="text" placeholder="璇锋壂鎻忓唴绠辨爣绛�" ref='midInput' :focus="focus"
+								v-model="materSn" @input="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>
+							<button @click="submit" type="primary" size="default" style="margin-top: 2%;">缁勭洏</button>
+						</uni-forms-item>
+					</uni-forms>
+					<uni-list>
+						
+						<uni-list-item direction="column" v-for="(item,index) in matInfos" :key="index">
+							<template v-slot:body>
+								<view class="uni-list-box">
+									<uni-icons type="trash" size="22" style="position: absolute;right: 5%;"
+										@click="deleteList(index)">
+									</uni-icons>
+									<view class="uni-content">
+										<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>
+						</uni-list-item>
+					</uni-list>
+				</view>
+			</view> -->
+			<view v-if="current === 0" class="headerstyle">
+				<view class="itemstyle">
+					<uni-forms label-width="120">
+						<uni-forms-item label="鎵樼洏鏉$爜">
+							<uni-easyinput type="text" :focus="!addressFocus" v-model="inboundBarcode"
+								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-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 class="uni-content" v-if="checkStockInfo" style="width: 500rpx; margin: 0px auto;">
+						<view class="uni-title-sub uni-ellipsis-2" style="font-size: 16px;">鐗╂枡缂栧彿锛歿{checkStockInfo.materielCode}}</view>
+						<view class="uni-note" style="font-size: 16px;">妫�楠屾暟閲忥細{{checkStockInfo.receivedQuantity}}</view>
+						<view class="uni-note" style="font-size: 16px;">鎶ュ簾鏁伴噺锛歿{checkStockInfo.scrappedQuantity}}</view>
+						<view class="uni-note" style="font-size: 16px;">鐗归噰鏁伴噺锛歿{checkStockInfo.defectedQuantity}}</view>
+						<view class="uni-note" style="font-size: 16px;">鍚堟牸鏁伴噺锛歿{checkStockInfo.qualifiedQuantity}}</view>
+						<view class="uni-note" style="font-size: 16px;">搴撳瓨鏁伴噺锛歿{checkStockInfo.stockQuantity}}</view>
+					</view>
+				</view>
+			</view>
+			<view v-if="current === 1" 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" />
+						</uni-forms-item>
+						<uni-forms-item>
+							<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-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">閲囪喘鍗曞彿锛歿{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>
+						</uni-list-item>
+					</uni-list>
+				</view>
+			</view>
+		</view>
+		<u-toast ref="uToast" />
+	</view>
+</template>
+
+<script>
+	const innerAudioContext = uni.createInnerAudioContext();
+	export default {
+		data() {
+			return {
+				items: ['鍏ュ簱'], //, '鍗曟嵁淇℃伅', '瑙g洏'
+				current: 0,
+				matTotal: [],
+				matInfos: [],
+				orderNo: "",
+				label: "",
+				orderInfo: [],
+				focus: false,
+				pkfocus: false,
+				barcode: "",
+				materSn: "",
+				Initiallife: 1000,
+				sns: [],
+				sn: "",
+				addressFocus: false,
+				inboundBarcode: "",
+				address: "",
+				check: true,
+				value: "",
+				matInfo: [],
+				value2: "",
+				matTotals: [],
+				warehouseId: "",
+				Test: false,
+				Testlabel: "",
+				Testplaceholder: "",
+				Testcheck: false,
+				Summmary: 0,
+				stockInfoDetail: [],
+				addressdisabled: false,
+				pksns: [],
+				pkmaterSn: "",
+				pkmatInfos: [],
+				checkStockInfo:null
+			}
+		},
+		onShow() {},
+		onLoad(res) {
+			this.focus = false;
+			this.addressFocus = false;
+			this.orderNo = res.orderNo;
+			this.warehouseId = res.warehouseId;
+			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();
+		},
+		methods: {
+			// 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() {
+				if (this.value.length == 0) {
+					this.$refs.uToast.show({
+						title: "璇锋壂鐮�",
+						type: "error"
+					})
+					return;
+				}
+				var param;
+				var matInfo = this.value.split('|');
+				if (matInfo.length == 7) {
+					param = {
+						MainData: {
+							"innerCode": this.value
+						}
+					}
+				} else {
+					param = {
+						MainData: {
+							"barcode": this.value
+						}
+					}
+				}
+				this.$u.post('/api/StockOperate/ReleaseAllBox', param).then(resdt => {
+					if (resdt.status) {
+						uni.$showMsg('瑙g洏鎴愬姛!')
+						this.value = "";
+						this.matInfo = [];
+						this.matTotals = [];
+						this.value2 = "";
+					} else {
+						this.$refs.uToast.show({
+							title: resdt.message,
+							type: "error"
+						})
+					}
+				})
+			},
+			releaseboxInput() {
+				this.$nextTick(() => {
+					if (this.value.length == 0) {
+						return;
+					}
+					var matInfo = this.value.split('|');
+					this.matInfo = [];
+					if (matInfo.length == 7) {
+						this.$u.post('/api/StockOperate/GetStockInfoByInnerCode', {
+							MainData: {
+								"innerCode": this.value
+							}
+						}).then(res => {
+							if (res.status) {
+								this.matInfo = res.data.stockInfo;
+								this.matTotals = res.data.stockTotal;
+								this.value2 = res.data.barcode;
+							} else {
+								this.$refs.uToast.show({
+									title: res.message,
+									type: "error"
+								})
+							}
+						})
+					} else {
+						this.$u.post('/api/StockOperate/GetStockInfoByBarcode', {
+							MainData: {
+								"barcode": this.value
+							}
+						}).then(res => {
+							if (res.status) {
+								this.matInfo = res.data.stockInfo;
+								this.matTotals = res.data.stockTotal;
+								this.value2 = res.data.barcode;
+							} else {
+								this.$refs.uToast.show({
+									title: res.message,
+									type: "error"
+								})
+							}
+						})
+					}
+				})
+			},
+
+			updateFocus() {
+				debugger
+				this.$nextTick(() => {
+					this.materSn = '';
+					if (!this.focus) {
+						this.focus = true;
+					}
+				});
+			},
+			barcodeFocus() {
+				debugger
+				this.barcode = '';
+				if (this.focus) {
+					this.focus = false;
+				}
+			},
+			getData() {
+				var postData = {
+					MainData: {
+						orderNo: this.orderNo
+					},
+				}
+				this.$u.post('/api/InboundOrderDetail/GetInboundOrderDetails', postData).then((res) => {
+					if (res.status) {
+						this.orderInfo = res.data;
+						if (this.orderInfo.length > 3) {
+							this.loadVisible = true;
+						}
+					}
+				})
+			},
+			onClickItem(e) {
+				this.focus = false;
+				this.addressFocus = false;
+				if (this.current !== e.currentIndex) {
+					this.current = e.currentIndex;
+					if (this.current == 2) {
+						this.getData();
+					}
+				}
+			},
+			barcodeInput() {
+				this.$nextTick(function(x) {
+					if (this.barcode.length > 0) {
+						// if (this.barcode.substring(0, 1) == 'A' || this.barcode.substring(0, 2) == 'TP') {
+						this.focus = true;
+						// } else {
+						// 	this.$refs.uToast.show({
+						// 		title: "鎵爜閿欒,璇锋壂鎻忔墭鐩樼爜",
+						// 		type: "error"
+						// 	})
+						// }
+					}
+				})
+			},
+			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;
+						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 = "";
+						//}, 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.matInfos.length > 0) {
+										this.matInfos = [];
+									}
+								}
+								this.matInfos.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);
+							} else {
+								this.$refs.uToast.show({
+									title: res.message,
+									type: "error"
+								})
+								// setTimeout(() => {
+								// 	this.voiceSpeech('../../static/fail.mp3');
+								// }, 100);
+							}
+						})
+					}
+				})
+			},
+			inbound() {
+				if (this.inboundBarcode == "") {
+					this.$refs.uToast.show({
+						title: "璇锋壂鎻忔墭鐩樻潯鐮�",
+						type: "error"
+					})
+					return;
+				}
+				if (this.address == "") {
+					this.$refs.uToast.show({
+						title: "璇锋壂鎻忓湴鍧�鏉$爜",
+						type: "error"
+					})
+					return;
+				}
+				var postData = {
+					MainData: {
+						"barcode": this.inboundBarcode,
+						"startPoint": this.address,
+						"warehouseId": this.warehouseId
+					}
+				}
+				this.$u.post('/api/Task/RequestInboundTask', postData).then(res => {
+					if (res.status) {
+						this.inboundBarcode = "";
+						if (this.warehouseId != 5 && this.warehouseId != 3) this.address = "";
+						this.checkStockInfo=null;
+						setTimeout(() => {
+							this.addressFocus = false;
+							this.$refs.uToast.show({
+								title: "鎴愬姛",
+								type: "success"
+							})
+						}, 200);
+					} else {
+						this.$refs.uToast.show({
+							title: res.message,
+							type: "error"
+						})
+					}
+				}).catch(err => {
+					this.$refs.uToast.show({
+						title: err.message,
+						type: "error"
+					})
+				})
+			},
+			inputChangebarcode() {
+				this.addressFocus = false;
+				this.$nextTick(function(x) {
+					if (this.inboundBarcode != '') {
+						this.addressFocus = true;
+					}
+				})
+				this.$nextTick(function(x) {
+					if (this.inboundBarcode != '') {
+						this.$u.post('/api/Task/InQualityConfirm?palletCode='+this.inboundBarcode, {}).then(res => {
+							// this.stockInfo = [];
+							this.checkStockInfo=null;
+							if (res.status) {
+								// this.stockInfo = res.data,
+								this.checkStockInfo = res.data;
+							} else {
+								this.inboundBarcode='';
+								this.$refs.uToast.show({
+									// title: "鏈壘鍒版墭鐩樹俊鎭�",
+									title: res.message,
+									type: "error"
+								})
+							}
+						})
+					}
+				})
+			},
+			deleteList(res) {
+				this.matInfos.splice(res, 1);
+				this.sns.splice(res, 1);
+			},
+			submit() {
+				if (this.barcode == "") {
+					this.$refs.uToast.show({
+						title: "璇锋壂鎻忔墭鐩樻潯鐮�",
+						type: 'error'
+					})
+					return;
+				}
+				if (this.matInfos.length == 0) {
+					this.$refs.uToast.show({
+						title: "璇锋壂鎻忓唴绠辨爣绛�",
+						type: 'error'
+					})
+					return;
+				}
+				if (this.Test) {
+					if (!this.Testcheck) {
+						this.Testcheck = true;
+						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;
+
+				this.$u.post('/api/InboundOrder/ManualMaterielGroup?' + url, this.sns).then(res => {
+					this.Testcheck = false;
+					if (res.status) {
+						this.$refs.uToast.show({
+							title: "缁勭洏鎴愬姛",
+							type: "success"
+						})
+						this.focus = false;
+						this.barcode = "";
+						this.matInfos = [];
+						this.sns = [];
+						this.matTotal = [];
+					} else {
+						this.$refs.uToast.show({
+							title: res.message,
+							type: "error"
+						})
+					}
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	@import '@/common/uni-ui.scss';
+
+	.content {
+		display: flex;
+		height: 150px;
+	}
+
+	.content-text {
+		font-size: 14px;
+		color: #666;
+	}
+
+	.itemstyle {
+		margin-top: 30px;
+		margin-left: 5%;
+	}
+
+	.headerstyle {
+		width: 90%;
+	}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3