From 3a770819f22efdc0ecb0ba57de0ac64f08421c55 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 13 十一月 2025 16:54:20 +0800
Subject: [PATCH] 波次拣货功能优化

---
 pages/outbound/wavePickItem.vue |  199 +++++++++++++++++++++----------------------------
 1 files changed, 84 insertions(+), 115 deletions(-)

diff --git a/pages/outbound/wavePickItem.vue b/pages/outbound/wavePickItem.vue
index 914589f..be72aea 100644
--- a/pages/outbound/wavePickItem.vue
+++ b/pages/outbound/wavePickItem.vue
@@ -7,100 +7,51 @@
 			</view> -->
 			<view class="cu-form-group" v-show="!isconfirm">
 				<view class="title">瀹瑰櫒鍙�</view>
-				<input placeholder="璇锋壂鎻忓鍣ㄥ彿" v-model="barcode"  focus></input>
+				<input placeholder="璇锋壂鎻忓鍣ㄥ彿" v-model="barcode" focus></input>
 				<text class='cuIcon-close text-gray margin-right-xs' v-show="barcode!==''" @click="clearCode"></text>
 				<text class='cuIcon-search text-blue' @click="search"></text>
 			</view>
 		</form>
-		<view class="cu-list det menu sm-border  padding">
-			<block  v-for="(item, index) in list">
-				<view  class="cu-list det menu  ">
-					
-				<view class="cu-bar bg-white solid-bottom margin-top-sm">
-					<view class="action">
-						<view class="index">
-							{{index+1}}
-						</view>
-					</view>
-					<view class="content2">
-						<text class="text-gray"><text class="text-black ">{{item.exceStatus$}}</text></text>
-					</view>
-				</view>
-
+		<view class="cu-list det menu sm-border">
+			<view class="cu-list det menu noMargin cyan" v-for="(item2,index2) in list" @click="clickTaskItem(index2)">
 				<view class="cu-item">
 					<view class="content">
-						<text class="text-gray">鐗╂枡缂栫爜:<text class="text-black ">{{item.taskItem.matnrCode}}</text></text>
-					</view>						
-				</view>
-				<view class="cu-item">
-					<view class="content">
-						<text class="text-gray">鐗╂枡鍚嶇О:<text class="text-black ">{{item.taskItem.maktx}}</text></text>
-					</view>					
-				</view>				
-				<view class="cu-item">
-					<view class="content">
-						<text class="text-gray">鎬绘暟閲�:<text class="text-black ">{{item.taskItem.anfme}}</text></text>
-					</view>						
-				</view>
-				
-				</view>
-				<view  class="cu-list det menu noMargin " v-for="(item2,index2) in item.wkOrderItems">
-					<view class="cu-item">
-						<view class="content">
-							<text class="text-gray">{{index2+1}}.</text>
-						</view>						
-					</view>
-					<view class="cu-item">						
-						<view class="content">
-							<text class="text-gray">璁㈠崟鍙�:<text class="text-black ">{{item2.orderCode}}</text></text>
-						</view>						
-					</view>
-					<view class="cu-item">
-						<view class="content">
-							<text class="text-gray">闇�姹傛暟閲�:<text class="text-black ">{{item2.anfme}}</text></text>
-						</view>
-					</view>
-					<view class="cu-item">
-						<view class="content">
-							<text class="text-gray">宸叉嫞鏁伴噺:<text class="text-black ">{{item2.qty}}</text></text>
-						</view>
-					</view>
-					<view class="cu-item">
-						<view class="content">
-							<view class="cu-form-group padding-lr-0">
-								<view class="title text-blue"><text
-										class="text-red text-xl vertical-middle">*</text>绁ㄥ彿: </view>
-								<input type="input" v-model="item2.fieldsIndex" class="text-black">
-							</view>	
-						</view>
-					</view>
-<!-- 					<view class="cu-item grid  col-2" v-if="item2.extendFields">
-						<view class="item" v-for="el in dynamicFields" :key="el.id">
-							<text class="text-black">{{el.fieldsAlise}}:
-								<text class="text-grey ">{{item.extendFields[el.fields]}}</text></text>
-						</view>
-					</view> -->
-					<view class="cu-item" v-show="item2.anfme !== item2.qty">
-						<view class="content">
-							<view class="cu-form-group padding-lr-0">
-								<view class="title text-blue"><text
-										class="text-red text-xl vertical-middle">*</text>鎷�:</view>
-								<uni-number-box style="width: 70%;" :max="max" v-model="item2.demandQty"
-									:step='0.01' ></uni-number-box>
-							</view>
-						</view>
+						<text class="text-gray">{{index2+1}}.</text>
 					</view>
 				</view>
 				<view class="cu-item">
 					<view class="content">
-						<text class="text-gray">鏈鎷h揣鏁伴噺:<text class="text-black ">{{item.wkOrderItems.reduce((total, item) => total + (Number(item.demandQty) ||0 ) , 0)}}</text></text>
-					</view>						
+						<text class="text-gray">鍑哄簱鍗曞彿锛�<text class="text-black ">{{item2.orderCode}}</text></text>
+					</view>
 				</view>
-			</block>
+				<view class="cu-item">
+					<view class="content">
+						<text class="text-gray">DO鍗曞彿锛�<text class="text-black ">{{item2.poCode}}</text></text>
+					</view>
+				</view>
+				<view class="cu-item">
+					<view class="content">
+						<text class="text-gray">鍝佺鍙风爜锛�<text class="text-black ">{{item2.matnrCode}}</text></text>
+					</view>
+				</view>
+				<view class="cu-item">
+					<view class="content">
+						<text class="text-gray">鍝佺鍚嶇О锛�<text class="text-black ">{{item2.maktx}}</text></text>
+					</view>
+				</view>
+				<view class="cu-item">
+					<view class="content">
+						<text class="text-gray">闇�姹傛暟閲忥細<text class="text-black ">{{item2.anfme}}</text></text>
+					</view>
+					<view class="content">
+						<text class="text-gray">宸叉嫞鏁伴噺锛�<text class="text-black ">{{item2.qty}}</text></text>
+					</view>
+				</view>
+			</view>
 		</view>
 		<view class="cu-bar btn-group foot" v-show="!isconfirm">
-			<button class="cu-btn text-blue line-blue shadow" @click="clear">娓呯┖</button>
-			<button class="cu-btn bg-blue shadow-blur" :disabled="repeatClick" @click="complete">鎷h揣瀹屾垚</button>
+			<!-- <button class="cu-btn text-blue line-blue shadow" @click="clear">娓呯┖</button> -->
+			<button class="cu-btn bg-blue shadow-blur" :disabled="repeatClick" @click="complete">瀹屾垚</button>
 		</view>
 	</view>
 </template>
@@ -118,45 +69,61 @@
 	export default {
 		data() {
 			return {
-				wave:'',
-				list: [],				
+				wave: '',
+				list: [],
 				isconfirm: false,
-				barcode:'',
+				barcode: '',
 				max: 99999999,
-				repeatClick:false,				
+				repeatClick: false,
 			}
 		},
 		computed: {
 			...mapState('user', ['dynamicFields']),
 			...mapState('user', {
-					dynFields: state => state.dynamicFields
+				dynFields: state => state.dynamicFields
 			}),
-			allCount() {
-				return this.list.reduce((acc, row) => + row.receiptQty + acc, 0)
-			},
+			// allCount() {
+			// 	return this.list.reduce((acc, row) => +row.receiptQty + acc, 0)
+			// },
 		},
 		mounted() {
-			console.log(dynamicFields);
+
 		},
 		onLoad() {
 			let that = this
 			const eventChannel = this.getOpenerEventChannel();
-			
 			eventChannel.on('waveItem', function(data) {
 				that.wave = data.data
-				
 			})
-			
+
 		},
 		methods: {
+			//鐐瑰嚮浜嬩欢
+			clickTaskItem(index) {
+				let that = this
+				uni.navigateTo({
+					url: "./PickItemDetl",
+					// 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹�
+					success: function(res) {
+						res.eventChannel.emit('pickItemDetl', {
+							data: {
+								...that.list[index],
+								barcode: that.barcode,
+							}
+						})
+					}
+				});
+			},
+			
 			clear() {
 				this.barcode = ''
 				this.list = []
 			},
 			clearCode() {
-				this.barcode = ''				
+				this.barcode = ''
 			},
 			async search() {
+				let that = this;
 				this.list = []
 				// if(this.barcode === '' || this.barcode ===null){
 				// 	return ;
@@ -165,61 +132,61 @@
 					code,
 					data,
 					msg
-				} = await request('/getContainerWaveList',{
-					barcode:this.barcode
-				}	
-				)
-				if (code === 200) {					
-					if (Object.keys(data).length === 0){
+				} = await request('/getContainerWaveList', {
+					barcode: this.barcode
+				})
+				if (code === 200) {
+					if (Object.keys(data).length === 0) {
 						uni.showToast({
 							title: "璇ユ爣绛炬湭鏌ヨ鍒版暟鎹�",
 							icon: "none",
 							position: 'top'
 						})
 					}
-					this.list.push(...data)
-					
-				}else if(code == 401){
+					that.list.push(...data)
+					console.log(that.list);
+
+				} else if (code == 401) {
 					setTimeout(() => {
 						uni.removeStorageSync('token');
 						uni.reLaunch({
 							url: "/pages/login/login"
 						});
 					}, 1000);
-				}else {
+				} else {
 					uni.showToast({
 						title: msg,
 						icon: "none",
 						position: 'top'
 					})
 				}
-			
-			
+
+
 			},
 			async complete() {
 				let that = this
-				if(that.barcode === '' || that.barcode === null){
+				if (that.barcode === '' || that.barcode === null) {
 					uni.showToast({
 						title: "瀹瑰櫒鍙蜂负绌�",
 						icon: "error",
 					})
-					return ;
+					return;
 				}
-				if(that.list === [] || that.list.length === 0){
+				if (that.list === [] || that.list.length === 0) {
 					uni.showToast({
 						title: "鎷h揣鏄庣粏涓虹┖",
 						icon: "error",
 					})
-					return ;
+					return;
 				}
 				this.repeatClick = true
 				const {
 					code,
 					data,
 					msg
-				} = await request('/saveWavePick',{
-					container:that.barcode,
-					containerWaveDtos:that.list
+				} = await request('/saveWavePick', {
+					container: that.barcode,
+					containerWaveDtos: that.list
 				})
 				if (code === 200) {
 					uni.showToast({
@@ -264,7 +231,8 @@
 		min-height: 80upx;
 		align-items: center;
 	}
-	.content2 {		
+
+	.content2 {
 		/* background-color: coral; */
 		width: 100%;
 		display: flex;
@@ -274,7 +242,8 @@
 		margin-right: 10px;
 		color: #0081ff;
 	}
-	.noMargin{
+
+	.noMargin {
 		margin-top: 0px;
 		padding: 5px;
 	}

--
Gitblit v1.9.1