From 7dd2e7918b00a857ca8a3634e24b2f6dd7446d1b Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期二, 24 六月 2025 10:29:33 +0800
Subject: [PATCH] Merge branch 'xgmFlwms' of http://47.97.1.152:5880/r/wms_app into xgmFlwms

---
 pages/basics/combPro.vue |  172 +++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 124 insertions(+), 48 deletions(-)

diff --git a/pages/basics/combPro.vue b/pages/basics/combPro.vue
index 717343e..190a9c7 100644
--- a/pages/basics/combPro.vue
+++ b/pages/basics/combPro.vue
@@ -3,11 +3,11 @@
 		<form>
 			<view class="cu-form-group margin-top">
 				<view class="title">鍗曞彿</view>
-				<input v-model="billNo" placeholder="鎵爜 / 杈撳叆" name="input" autocomplete="off" focus @input="find()">
+				<input v-model="billNo" placeholder="鎵爜 / 杈撳叆" name="input" autocomplete="off" @confirm="firstConfirm" :focus="firstFocus"  @input="find()">
 			</view>
 			<view class="cu-form-group margin-top">
 				<view class="title">鎵樼洏鐮�</view>
-				<input v-model="code" placeholder="鎵爜 / 杈撳叆" name="input">
+				<input v-model="code" placeholder="鎵爜 / 杈撳叆" name="input" @confirm="secondConfirm" :focus="secondFocus" >
 			</view>
 		</form>
 		
@@ -18,15 +18,20 @@
 					<input :adjust-position="false" type="text" placeholder="浜у搧浠e彿" confirm-type="search" v-model="size" @input="searchSize()"></input>
 				</view>
 			</view>
+			<view class="flex solid-bottom  padding justify-start bg-gray" style="height: 110rpx;padding: 5rpx;">
+				<button class ="cu-btn bg-red lg margin-xs" @click="delTable">鎵归噺鍒犻櫎</button>
+				<button class ="cu-btn bg-cyan lg margin-xs" @click="clearSel">娓呯┖閫夋嫨</button>
+				<button class ="cu-btn bg-olive lg margin-xs" @click="reSelection">鍙嶉��</button>
+			</view>
 			<uni-table ref="table" border stripe emptyText="鏆傛棤鏇村鏁版嵁" type="selection" @selection-change="selectionChange">
 				<uni-tr>
-					<uni-th align="center" width="90">鏁伴噺</uni-th>
-					<uni-th align="center" width="90">缁勬墭鏁伴噺</uni-th>
-					<uni-th align="center" width="90">浜у搧浠e彿</uni-th>
-					<uni-th align="center" width="90">浜у搧缂栫爜</uni-th>
-					<uni-th align="center" width="90">浜у搧鍚嶇О</uni-th>
-					<uni-th align="center" width="90">搴忓彿</uni-th>
-					<uni-th align="center" width="90">鎵瑰彿</uni-th>
+					<uni-th align="center" width="50">鏁伴噺</uni-th>
+					<uni-th align="center" width="70">缁勬墭鏁伴噺</uni-th>
+					<uni-th align="center" width="80">浜у搧浠e彿</uni-th>
+					<uni-th align="center" width="70">浜у搧缂栫爜</uni-th>
+					<uni-th align="center" width="150">浜у搧鍚嶇О</uni-th>
+					<uni-th align="center" width="50">搴忓彿</uni-th>
+					<uni-th align="center" width="70">鎵瑰彿</uni-th>
 					
 					
 				</uni-tr>
@@ -37,7 +42,7 @@
 						<!-- <button class="uni-button" size="mini" type="warn" @click="remove(index,item)">鍒犻櫎</button> -->
 					</uni-td>
 					<uni-td align="center">{{item.size}}</uni-td>
-					<uni-td align="center">{{item.matNo}}</uni-td>
+					<uni-td align="center">{{item.matnr}}</uni-td>
 					<uni-td align="center">{{item.matName}}</uni-td>
 					<uni-td align="center">{{item.seqNo}}</uni-td>
 					<uni-td align="center">{{item.itemBatch}}</uni-td>
@@ -45,18 +50,14 @@
 				</uni-tr>
 			</uni-table>
 		</view>
-		<view class="flex solid-bottom  padding justify-start">
-			<button class ="cu-btn bg-red margin-xs" @click="delTable">鎵归噺鍒犻櫎</button>
-			<button class ="cu-btn bg-cyan margin-xs" @click="clearSel">娓呯┖閫夋嫨</button>
-			<button class ="cu-btn bg-olive margin-xs" @click="reSelection">鍙嶉��</button>
-		</view>
+		
 		<view style="height: 200rpx;">
 			 <!-- 绌虹櫧灞� -->
 		</view>
-		<view class="cu-bar foot input">
+		<view class="cu-bar foot input" style="height: 130rpx;">
 			<view class="flex solid-bottom padding justify-start">
-				<button class="cu-btn bg-yellow  lg margin-xs" style="width: 250rpx;" @click="comb()">缁� 鎵�</button>
-				<button class="cu-btn bg-grey lg margin-xs" @click="reset">閲� 缃�</button>
+				<button class="cu-btn bg-yellow main-btn margin-xs" style="width: 430rpx;" @click="comb()">缁� 鎵�</button>
+				<button class="cu-btn bg-grey main-btn margin-xs" @click="reset">閲� 缃�</button>
 			</view>
 		</view>
 		
@@ -77,7 +78,7 @@
 		<view>
 			<!-- 鎻愮ず绐楃ず渚� -->
 			<uni-popup ref="alertDialog" type="dialog">
-				<uni-popup-dialog :type="msgType" title="璀﹀憡" :content="message" @confirm="dialogConfirm"
+				<uni-popup-dialog :type="msgType" title="璀﹀憡" :content="message" @confirm="dialogConfirm('error')"
 					@close="dialogClose"></uni-popup-dialog>
 			</uni-popup>
 		</view>
@@ -97,15 +98,16 @@
 				minCount:0,
 				maxCount:1,
 				rowNum:'',
-				value:'',
-				couChange:true,
+				value:0,
+				couChange:false,
 				baseIP:'',
 				basePORT:'',
 				selectArr : [],
 				selectedIndexs:[],
 				size:'',
-				message:'123'
-				
+				message:'123',
+				firstFocus:true,   // 鎺у埗绗竴涓劍鐐癸紝榛樿鑱氱劍
+				secondFocus:false,  // 鎺у埗绗簩涓劍鐐�
 			}
 		},
 		mounted(){
@@ -115,6 +117,23 @@
 			this.basePORT = UPORT
 		},
 		methods: {
+			// 璺冲埌绗簩涓�
+			firstConfirm(){
+				this.getFocus('secondFocus')		
+			},
+			// 璺冲埌绗竴涓�
+			secondConfirm(){
+				
+			},
+		
+			// 鑾峰彇鐒︾偣
+			getFocus(nextfocus){
+				this[nextfocus] = false     // 涓嶈兘浣跨敤鐐硅娉�
+				this.$nextTick(()=>{
+					this[nextfocus] = true
+				})
+			},
+			
 			// 澶氶��
 			selectionChange(e) {
 				// 鑾峰彇閫変腑鐘舵��
@@ -171,9 +190,11 @@
 							if(res.data.data != null){
 								that.addTableData(res.data.data)
 							}else if(res.data.code === 403){
-								uni.navigateBack({
-								    delta: 1
-								})
+								setTimeout(() => {
+									uni.reLaunch({
+										url: '../login/login'
+									});
+								}, 1000);
 							}else {
 								that.messageToggle('error')
 								that.messageText = res.data.msg
@@ -189,7 +210,8 @@
 				this.code = '';
 				this.matData = [];
 				this.size = '';
-				this.toggleSelection()
+				this.toggleSelection();
+				this.getFocus('firstFocus')
 			},
 			messageToggle(type) {
 				this.msgType = type
@@ -226,9 +248,11 @@
 							if(res.data.data != null){
 								that.addTableData(res.data.data)
 							}else if(res.data.code === 403){
-								uni.navigateBack({
-								    delta: 1
-								})
+								setTimeout(() => {
+									uni.reLaunch({
+										url: '../login/login'
+									});
+								}, 1000);
 							}else {
 								that.messageToggle('error')
 								that.messageText = res.data.msg
@@ -240,17 +264,21 @@
 			},
 			addTableData(data){
 				this.matData=[];
-				for(var i=0;i<data.length;i++){
-					var toPush = true;
-					for(var j=0;j<this.matData.length;j++){
-						if(data[i].matNo ===this.matData[j].matNo && data[i].itemBatch === this.matData[j].itemBatch && data[i].specs === this.matData[j].specs){
-							this.matData[j].count = Number(this.matData[j].count) + Number(data[i].count);
-							toPush = false;
-						}
-					}
-					if(toPush) {
-						this.matData.push(data[i]);	
-					}
+				// for(var i=0;i<data.length;i++){
+				// 	var toPush = true;
+				// 	for(var j=0;j<this.matData.length;j++){
+				// 		if(data[i].matnr ===this.matData[j].matnr && data[i].itemBatch === this.matData[j].itemBatch && data[i].specs === this.matData[j].specs){
+				// 			this.matData[j].count = Number(this.matData[j].count) + Number(data[i].count);
+				// 			toPush = false;
+				// 		}
+				// 	}
+				// 	if(toPush) {
+				// 		// data[i].count = 0
+				// 		this.matData.push(data[i]);	
+				// 	}
+				// }
+				for	(let k of data) {
+					this.matData.push(k);	
 				}
 			},
 			
@@ -294,16 +322,58 @@
 				    that.messageText = '鎵樼洏鐮佸繀椤讳负8浣�'
 				    return;
 				}
-				if(that.couChange){
-					that.messageToggle('error')
-					that.messageText = '璇峰厛纭鍏ュ簱鏁伴噺'
-					return;
+				// if(that.couChange){
+				// 	that.messageToggle('error')
+				// 	that.messageText = '璇峰厛纭鍏ュ簱鏁伴噺'
+				// 	return;
+				// }
+				for (var i = 0; i < that.matData.length; i++){
+					if (that.matData[i].count === 0) {
+						that.messageToggle('error')
+						that.messageText = '缁勬墭鏁伴噺涓嶈兘涓�0'
+						return;
+					}
 				}
+				
+				for (let item of that.matData) {
+					item['anfme'] = item.count
+				}
+				uni.request({
+					url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + "/mobile/comb/auth",
+					header: {'token':uni.getStorageSync('token')},
+					data:{
+						barcode:barcode,
+						combMats:that.matData,
+						billNo: billNo,
+					},
+					method:'POST',
+					success(res) {
+						if(res.data.code === 200){
+							that.reset()
+							that.matData = []
+							that.couChange=true
+							that.messageToggle('success')
+							that.messageText = '缁勬墭鎴愬姛'
+							that.getFocus('firstFocus')
+						} else if(res.data.code === 403){
+							setTimeout(() => {
+								uni.reLaunch({
+									url: '../login/login'
+								});
+							}, 1000);
+						} else {
+							that.messageToggle('error')
+							that.messageText = res.data.msg
+						}
+					}
+				})
+				return
+				// 涓�鏈熺殑濡備笅
 				for (var i = 0; i < that.matData.length; i++) {
 					var sad = that.matData[i].qty - that.value
 					if (sad <= 5 && sad > 0) {
 						this.$refs.alertDialog.open()
-						that.message = '浜у搧浠e彿' + that.matData[i].size + '鍓╀綑寰呯粍鎵樻暟閲忓皯浜�5锛屾槸鍚︾户缁粍鎵�'
+						that.message = '浜у搧浠e彿' + that.matData[i].size + '鍓╀綑寰呯粍鎵樻暟閲忓皯浜�5锛屾槸鍚﹀畬缁撴鍗�'
 						return
 					} else {
 						uni.request({
@@ -319,8 +389,10 @@
 								if(res.data.code === 200){
 									that.reset()
 									that.matData = []
+									that.couChange=true
 									that.messageToggle('success')
 									that.messageText = '缁勬墭鎴愬姛'
+									that.getFocus('firstFocus')
 								} else if(res.data.code === 403){
 									uni.navigateBack({
 										delta: 1
@@ -335,7 +407,7 @@
 				}
 				
 			},
-			// 纭畾缁勬墭
+			// 鏄惁
 			dialogConfirm() {
 				let that = this
 				let barcode = that.code
@@ -356,8 +428,10 @@
 						if(res.data.code === 200){
 							that.reset()
 							that.matData = []
+							that.couChange=true
 							that.messageToggle('success')
 							that.messageText = '缁勬墭鎴愬姛'
+							that.getFocus('firstFocus')
 						} else if(res.data.code === 403){
 								uni.navigateBack({
 								    delta: 1
@@ -369,7 +443,7 @@
 					}
 				})
 			},
-			// 鍙栨秷缁勬墭
+			// 鍚�
 			dialogClose() {
 				let that = this
 				let barcode = that.code
@@ -390,8 +464,10 @@
 						if(res.data.code === 200){
 							that.reset()
 							that.matData = []
+							that.couChange=true
 							that.messageToggle('success')
 							that.messageText = '缁勬墭鎴愬姛'
+							that.getFocus('firstFocus')
 						} else if(res.data.code === 403){
 								uni.navigateBack({
 								    delta: 1

--
Gitblit v1.9.1