From e1dd1dc9ba7135e3d64a65587d6c1be2c3e18c5a Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期三, 25 六月 2025 11:01:22 +0800
Subject: [PATCH] 提交最新优化代码

---
 代码管理/淮安PDA/pages/stash/TakeStock.vue |  237 +++++++++++++++++++++++++++++-----------------------------
 1 files changed, 119 insertions(+), 118 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/TakeStock.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/TakeStock.vue"
index 750b344..11187a4 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/TakeStock.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/\346\267\256\345\256\211PDA/pages/stash/TakeStock.vue"
@@ -8,78 +8,23 @@
 					<uni-forms label-width="120">
 						<uni-forms-item label="鎵樼洏鏉$爜">
 							<uni-easyinput type="text" :focus="!istrue" v-model="barcode" placeholder="璇锋壂鎻忔墭鐩樻潯鐮�"
-								ref='midInput' @input="inputChangebarcode()" />
+								ref='midInput' @confirm="inputChangebarcode()" />
 						</uni-forms-item>
-						<uni-forms-item label="鍐呯鏍囩">
-							<uni-easyinput type="text" @input="inputChange()" v-model="materialsns"
-								placeholder="璇锋壂鎻忓唴绠辨爣绛�" ref='midInput' :focus="istrue" />
-						</uni-forms-item>
-						<uni-forms-item label="鍑哄簱鏁伴噺">
-							<uni-easyinput type="number" v-model="num" placeholder="璇疯緭鍏ュ嚭搴撴暟閲�" ref='midInput' />
-						</uni-forms-item>
-						<uni-forms-item>
-							<label style="margin-left: 0%;">鎬绘暟閲�:{{totalNum}}</label>
-							<label style="margin-left: 30%;">鍑哄簱鏁伴噺:{{pickNum}}</label>
-						</uni-forms-item>
-						<uni-forms-item>
-							<label style="margin-left: 0%;">宸ュ崟鎬绘暟閲�:{{orderTotalNum}}</label>
-							<label style="margin-left: 21%;">绱鍑哄簱鏁伴噺:{{orderPickNum}}</label>
-						</uni-forms-item>
-						<uni-forms-item>
-							<label style="margin-left: 0%;">宸ュ崟鍙�:{{orderNo}}</label>
-						</uni-forms-item>
-						<uni-forms-item>
-							<checkbox :checked="isPicking" @click="checkedClick">鏄惁鎷i��</checkbox>
+						<uni-forms-item label="瀹炵洏鏁伴噺">
+							<uni-easyinput type="number" v-model="num" placeholder="璇疯緭鍏ュ疄鐩樻暟閲�" ref='midInput' />
 						</uni-forms-item>
 						<uni-forms-item>
 							<button @click="picking" type="primary" style="margin-left: 0px;">鐩樼偣瀹屾垚</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 in boxBarcodes" :key="item.sn">
-							<template v-slot:body>
-								<view class="uni-list-box">
-									<uni-icons type="trash" size="22" style="position: absolute;right: 5%;"
-										@click="deleteList(item.sn)">
-									</uni-icons>
-									<view class="uni-content">
-										<view class="uni-title-sub uni-ellipsis-2">璁㈠崟鍙凤細{{item.orderNo}}</view>
-										<view class="uni-note">鐗╂枡缂栫爜锛歿{item.matCode}}</view>
-										<view class="uni-note">鐢熶骇鏃ユ湡锛歿{item.matProductionDate}}</view>
-										<view class="uni-note">鏁伴噺锛歿{item.matQty}}</view>
-										<view class="uni-note">鏄惁鎷i�夛細{{item.isPicking}}</view>
-									</view>
-								</view>
-							</template>
-						</uni-list-item>
-					</uni-list>
-				</view>
-			</view>
-			<view v-if="current === 2" class="headerstyle">
-				<view class="itemstyle">
-					<uni-forms label-width="120">
-						<uni-forms-item label="鎵樼洏鏉$爜">
-							<uni-easyinput type="text" :focus="!istrue2" v-model="barcode2" placeholder="璇锋壂鎻忔墭鐩樻潯鐮�"
-								ref='midInput' @input="inputChangebarcode2()" />
-						</uni-forms-item>
-						<uni-forms-item label="鍐呯鏍囩">
-							<uni-easyinput type="text" @input="inputChange2()" v-model="innerboxcode"
-								placeholder="璇锋壂鎻忓唴绠辨爣绛�" ref='midInput' :focus="istrue2" />
-						</uni-forms-item>
-						<uni-forms-item>
-							<button @click="submit" type="primary" size="default" style="margin-top: 2%;">缁勭洏</button>
-						</uni-forms-item>
-					</uni-forms>
+					<view class="uni-content" v-if="takeStockObj">
+						<view class="uni-title-sub uni-ellipsis-2">鐩樼偣鍗曞彿锛歿{orderNo}}</view>
+						<view class="uni-note">鐗╂枡缂栫爜锛歿{takeStockObj.materielCode}}</view>
+						<view class="uni-note">鐗╂枡鎵规锛歿{takeStockObj.batchNo}}</view>
+						<view class="uni-note">鐗╂枡鍚嶇О锛歿{takeStockObj.materielName}}</view>
+						<view class="uni-note">鐗╂枡瑙勬牸锛歿{takeStockObj.materielSpec}}</view>
+						<view class="uni-note">璐﹂潰鏁伴噺锛歿{takeStockObj.sysQty}}</view>
+					</view>
 				</view>
 			</view>
 			<view v-if="current === 1" class="headerstyle">
@@ -87,7 +32,7 @@
 					<uni-forms label-width="120">
 						<uni-forms-item label="鎵樼洏鏉$爜">
 							<uni-easyinput type="text" :focus="!addressFocus" v-model="inboundBarcode"
-								placeholder="璇锋壂鎻忔墭鐩樻潯鐮�" ref='midInput' @input="inputChangebarcode3" />
+								placeholder="璇锋壂鎻忔墭鐩樻潯鐮�" ref='midInput' @confirm="inputChangebarcode3" />
 						</uni-forms-item>
 						<uni-forms-item label="鍦板潃鏉$爜">
 							<uni-easyinput type="text" v-model="address" :disabled="addressdisabled" placeholder="璇锋壂鎻忓湴鍧�鏉$爜" ref='midInput'
@@ -97,6 +42,33 @@
 							<button @click="inbound" type="primary" size="default" style="margin-top: 2%;">鍏ュ簱纭</button>
 						</uni-forms-item>
 					</uni-forms>
+				</view>
+				<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 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>
+						</uni-list-item>
+					</uni-list>
 				</view>
 			</view>
 		</view>
@@ -120,28 +92,32 @@
 				barcodefocus: true,
 				totalNum: 0,
 				pickNum: 0,
-				num: 0,
+				num: null,
 				orderTotalNum: 0,
 				orderPickNum: 0,
 				orderNo: "",
 				matTotal: [],
 				istrue2: false,
 				barcode2: '',
+				Summmary:0,
 				innerboxcode: "",
+				takeStockObj:null,
 				sns2: [],
 				barcodefocus: true,
 				addressFocus: false,
 				inboundBarcode: "",
 				address: "",
-				addressdisabled: true,
-				warehouseId:""
+				addressdisabled: false,
+				warehouseId:"",
+				stockInfoDetail:[]
 			}
 		},
 		onLoad(res) {
 			this.barcodefocus = false;
 			this.istrue = false;
 			this.warehouseId = res.warehouseId;
-			if (this.warehouseId == 3) { //杈呮枡浠撳簱鍖篒D
+			this.orderNo=res.orderNo;
+			if (this.warehouseId == 3) { //鏉挎枡浠撳簱鍖篒D
 				this.address = "1011";
 				this.addressdisabled = true;
 			}
@@ -158,14 +134,23 @@
 				var postData = {
 					MainData: {
 						"barcode": this.inboundBarcode,
-						"startPoint": this.address
+						"startPoint": this.address,
+						"warehouseId": this.warehouseId
 					}
 				}
-				this.$u.post('/api/Inbound/RequestInbound', postData).then(res => {
+				this.$u.post('/api/Task/RequestInboundTask', postData).then(res => {
 					if (res.status) {
-						uni.$showMsg(res.message);
 						this.inboundBarcode = "";
-						this.address = "";
+						if (this.warehouseId !== 3) //鏉挎枡浠撳簱鍖篒D
+						{ 
+							this.address = "";
+						}
+						this.Summmary=0;
+						this.stockInfoDetail=[];
+						this.$refs.uToast.show({
+							title: "鎴愬姛",
+							type: "success"
+						})
 					} else {
 						this.$refs.uToast.show({
 							title: res.message,
@@ -186,6 +171,35 @@
 						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 = [];
+											this.Summmary=0;
+											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"
+												})
+											}
+										})
+									}
+								})
 			},
 			picking() {
 				if (this.barcode == "") {
@@ -195,28 +209,35 @@
 					})
 					return;
 				}
-				if (this.sns.length == 0) {
+				if(this.num==null || this.num==undefined){
 					this.$refs.uToast.show({
-						title: "璇锋壂鎻忓唴绠辨爣绛�",
+						title: "鐩樼偣鏁伴噺涓嶈兘涓虹┖(鍙~0鈥旀湁鏁堟暟瀛楀��)",
+						type: "error"
+					})
+					return;
+				}
+				if(this.takeStockObj==null){
+					this.$refs.uToast.show({
+						title: "鐩樼偣淇℃伅涓虹┖",
 						type: "error"
 					})
 					return;
 				}
 				var params = {
 					MainData: {
-						"barcode": this.barcode,
 						"num": this.num,
-						"pickNum": this.pickNum
-					},
-					DetailData: this.sns
+						"id": this.takeStockObj.id
+					}
 				}
-				this.$u.post('/api/StockOperate/MatPicking', params).then(res => {
+				this.$u.post('/api/TakeStockOrder/MatPicking', params).then(res => {
 					if (res.status) {
-						uni.$showMsg('鐩樼偣鎴愬姛!')
-						this.barcode = "";
-						this.boxBarcodes = [];
-						this.sns = [];
-						this.materialsns = "";
+						this.barcode="";
+						this.takeStockObj=null;
+						this.num=null;
+						this.$refs.uToast.show({
+							title: "鐩樼偣鎴愬姛",
+							type: "success"
+						})
 					} else {
 						this.$refs.uToast.show({
 							title: res.message,
@@ -288,45 +309,25 @@
 				}
 			},
 			inputChangebarcode() {
-				this.boxBarcodes = [];
 				this.istrue = false;
 				this.$nextTick(function(x) {
 					if (this.barcode != '') {
 						var postData = {
 							MainData: {
-								"barcode": this.barcode
+								"orderNo": this.orderNo,
+								"takePalletCode": this.barcode
 							}
 						};
-						this.$u.post('/api/StockInfo/GetStockOutboundOrder', postData).then(res => {
+						this.$u.post('/api/TakeStockOrder/GetTakeDetailInfo', postData).then(res => {
 							if (res.status) {
-								if (res.data.totalNum == res.data.pickNum) {
-									res.data.innerBoxCode.forEach(x => {
-										var matInfo = x.split('|');
-										if (matInfo.length > 6) {
-											var matObj = {
-												matCode: matInfo[1],
-												matProductionDate: matInfo[3],
-												matQty: matInfo[5],
-												orderNo: matInfo[6],
-												sn: this.materialsns,
-												isPicking: this.isPicking
-											}
-											this.sns.push({
-												innerboxcode: this.materialsns,
-												isSplit: this.isPicking
-											});
-											if (!this.boxBarcodes.find(x => x.orderNo == matObj
-													.orderNo)) {
-												this.boxBarcodes.push(matObj);
-											}
-										}
-									})
-								}
-								this.totalNum = res.data.totalNum;
-								this.pickNum = res.data.pickNum;
-								this.orderPickNum = res.data.orderPickNum;
-								this.orderTotalNum = res.data.orderTotalNum;
-								this.orderNo = res.data.orderNo;
+								this.takeStockObj=null;
+								this.takeStockObj= res.data;
+							} else {
+								this.barcode="";
+								this.$refs.uToast.show({
+									title: res.message,
+									type: "error"
+								})
 							}
 						})
 						this.istrue = true;

--
Gitblit v1.9.3