From 009851b4daec9895cfe6bcb895dce5fed2cf59b0 Mon Sep 17 00:00:00 2001
From: whycq <whycq>
Date: 星期五, 04 三月 2022 08:09:04 +0800
Subject: [PATCH] # 增加搜素功能

---
 pages/basics/combPro.vue |  471 ++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 327 insertions(+), 144 deletions(-)

diff --git a/pages/basics/combPro.vue b/pages/basics/combPro.vue
index f39638e..d0de175 100644
--- a/pages/basics/combPro.vue
+++ b/pages/basics/combPro.vue
@@ -10,32 +10,56 @@
 				<input v-model="code" placeholder="鎵爜 / 杈撳叆" name="input">
 			</view>
 		</form>
+		
 		<view class="margin-top">
-			<uni-table ref="table" border stripe emptyText="鏆傛棤鏇村鏁版嵁" rowKey="">
+			<view class="cu-bar search bg-white">
+				<view class="search-form round">
+					<text class="cuIcon-search"></text>
+					<input :adjust-position="false" type="text" placeholder="浜у搧浠e彿" confirm-type="search" v-model="size" @input="searchSize()"></input>
+				</view>
+			</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">缁勬墭鏁伴噺</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">浜у搧ID</uni-th>
-					<uni-th align="center" width="200">缁勬墭鏁伴噺</uni-th>
+					<uni-th align="center" width="90">搴忓彿</uni-th>
+					<uni-th align="center" width="90">鎵瑰彿</uni-th>
+					
 					
 				</uni-tr>
 				<uni-tr v-for="(item, index) in matData" :key="index">
-					<uni-td align="center">{{item.seqNo}}</uni-td>
-					<uni-td align="center">{{item.count}}</uni-td>
-					<uni-td align="center">{{item.matName}}</uni-td>
-					<uni-td align="center">{{item.matNo}}</uni-td>
+					<uni-td align="center">{{item.qty}}</uni-td>
 					<uni-td align="center">
-						<button class="uni-button" size="mini" type="primary" @click="confirm(index,item)">淇敼</button>
-						<button class="uni-button" size="mini" type="warn" @click="remove(index,item)">鍒犻櫎</button>
+						<button class ="cu-btn bg-orange margin-xs" @click="confirm(index,item)">{{item.count}}</button>
+						<!-- <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.matName}}</uni-td>
+					<uni-td align="center">{{item.seqNo}}</uni-td>
+					<uni-td align="center">{{item.itemBatch}}</uni-td>
+					
 				</uni-tr>
 			</uni-table>
 		</view>
-		<view>
-			<button class="cu-btn bg-yellow pda-btn" @click="comb()">缁勬墭</button>
-			<button class="cu-btn bg-grey pda-btn" @click="reset">閲嶇疆</button>
+		<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="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>
+			</view>
+		</view>
+		
 		<view>
 			<!-- 鎻愮ず淇℃伅寮圭獥 -->
 			<uni-popup ref="message" type="message">
@@ -45,11 +69,16 @@
 		<view>
 			<!-- 杈撳叆妗嗙ず渚� -->
 			<uni-popup ref="inputDialog" type="dialog">
-				<uni-popup-dialog ref="inputClose" mode="input" title="缁勬墭鏁伴噺" 
-					placeholder="璇疯緭鍏ョ粍鎵樻暟閲�" @confirm="dialogInputConfirm">
+				<uni-popup-dialog ref="inputClose" mode="input" title="缁勬墭鏁伴噺" @confirm="dialogInputConfirm">
 						<uni-number-box :min="minCount" :max="maxCount" v-model="value" />
 				</uni-popup-dialog>
-					
+			</uni-popup>
+		</view>
+		<view>
+			<!-- 鎻愮ず绐楃ず渚� -->
+			<uni-popup ref="alertDialog" type="dialog">
+				<uni-popup-dialog :type="msgType" title="璀﹀憡" :content="message" @confirm="dialogConfirm"
+					@close="dialogClose"></uni-popup-dialog>
 			</uni-popup>
 		</view>
 	</view>
@@ -61,157 +90,311 @@
 			return {
 				billNo:'',
 				code:'',
-				matData:[],
+				matData:[], // 涓昏鏁版嵁琛�
 				type: '',
 				msgType: '',
 				messageText: '',
-				minCount:1,
+				minCount:0,
 				maxCount:1,
 				rowNum:'',
 				value:'',
 				couChange:true,
-				
+				baseIP:'',
+				basePORT:'',
+				selectArr : [],
+				selectedIndexs:[],
+				size:'',
+				message:'123'
 				
 			}
 		},
-		
+		mounted(){
+			const UIP = uni.getStorageSync('UIP');
+			this.baseIP = UIP;
+			const UPORT = uni.getStorageSync('UPORT');
+			this.basePORT = UPORT
+		},
 		methods: {
-				reset:function() {
-					this.billNo = '';
-					this.code = '';
-				},
-				messageToggle(type) {
-					this.msgType = type
-					this.messageText = '鎻愬彇澶辫触'
-					this.$refs.message.open()
-				},
+			// 澶氶��
+			selectionChange(e) {
+				// 鑾峰彇閫変腑鐘舵��
+				this.selectedIndexs = e.detail.index
+				this.selectedIndexs.sort(function(a,b){
+					return a-b
+				});// 閲嶆柊鎺掑簭锛堝崌搴忥級
+			},
+			
+			// 鍏ㄩ��
+			// 鎵归噺鍒犻櫎鐨勬柟娉�
+			toggleSelection(rows) {
+				if (rows) {
+				this.$refs["table"].toggleAllSelection(rows);
+				} else {
+					this.$refs["table"].clearSelection();
+				}
+			},
+			//鎵归噺鍒犻櫎
+			delTable() {
+				// 瀹炵幇鍏ㄩ�夊垹闄ゅ拰澶氶�夊垹闄�
+				let len = this.selectedIndexs.length
+				for (let i = len-1; i >= 0; i--) {
+					this.matData.splice(this.selectedIndexs[i],1)	// splice鍒犻櫎鏁扮粍浼氭敼鍙樺師鏁扮粍锛屾墍浠ラ渶瑕侀�嗗悜鍒犻櫎
+				}
+				this.$refs["table"].clearSelection(); // 娓呯┖閫夋嫨
 				
-				// 鏍规嵁閫氱煡鍗曞彿鏌ヨ鐗╂枡璇︽儏
-				find(){
-					let billNo = this.billNo
-					let that = this
-					if(this.billNo.length === 0){
+			},
+			// 鍙嶉��
+			reSelection(){
+				this.toggleSelection(this.selectedIndexs)
+			},
+			// 娓呯┖
+			clearSel() {
+				this.toggleSelection()
+			},
+			// 鎼滅储浜у搧浠e彿
+			searchSize() {
+				let billNo = this.billNo
+				let size = this.size;
+				let that = this
+				uni.request({
+					url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + "/mobile/bill/query/auth",
+					header: {
+						'content-type':'application/x-www-form-urlencoded',
+						'token':uni.getStorageSync('token')},
+					data: {
+					    billNo: billNo,
+						size:size
+					},
+					method: 'POST',
+					success(res){
+						if(res.data.code === 200){
+							if(res.data.data != null){
+								that.addTableData(res.data.data)
+							}else if(res.data.code === 403){
+								
+							}else {
+								
+							}
+						}
+					}
+				})
+				// var str = ''
+				// var tempData = []
+				// str = val.detail.value;
+				// tempData = this.tableData
+				// for (var i = 0; i < tempData.length; i++) {
+				// 	var size = tempData[i].size
+				// 	if (str != '') {
+				// 		if (str === size) {
+				// 			tempData =[]
+				// 			tempData.push(this.matData[i])
+				// 			break	
+				// 		}
+				// 	}
+				// }
+				// this.tableData = tempData
+				// this.matData = tempData
+			}, //SA290475 SH3102081
+			// 閲嶇疆
+			reset:function() {
+				this.billNo = '';
+				this.code = '';
+				this.matData = [];
+				
+				this.size = '';
+				this.toggleSelection()
+			},
+			messageToggle(type) {
+				this.msgType = type
+				this.messageText = '鎻愬彇澶辫触'
+				this.$refs.message.open()
+			},
+			
+			// 鏍规嵁閫氱煡鍗曞彿鏌ヨ鐗╂枡璇︽儏
+			find(){
+				let billNo = this.billNo
+				let size = this.size
+				let that = this
+				if(this.billNo.length === 0){
+					return
+				}
+				if(billNo.indexOf('=')>-1){
+					billNo = billNo.split(",")[0].split("=")[1];
+				}
+				if(billNo.length===0){
+					return
+				}
+				this.matData = []
+				uni.request({
+					url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + "/mobile/bill/query/auth",
+					header: {
+						'content-type':'application/x-www-form-urlencoded',
+						'token':uni.getStorageSync('token')},
+					data: {
+					    billNo: billNo,
+						size:size
+					},
+					method: 'POST',
+					success(res){
+						console.log(res)
+						if(res.data.code === 200){
+							if(res.data.data != null){
+								that.addTableData(res.data.data)
+							}else if(res.data.code === 403){
+								
+							}else {
+								
+							}
+						}
+					}
+				})
+				
+			},
+			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 ){
+							this.matData[j].count = Number(this.matData[j].count) + Number(data[i].count);
+							toPush = false;
+						}
+					}
+					if(toPush) {
+						this.matData.push(data[i]);
+						
+					}
+				}
+			},
+			
+			// 淇敼鏁伴噺
+			confirm(index,item){
+				this.couChange=false
+				this.$refs.inputDialog.open()
+				this.maxCount = item.qty
+				this.rowNum = index
+				this.value = this.minCount
+			},
+			// 淇敼鏁伴噺寮圭獥
+			dialogInputConfirm() {
+				this.matData[this.rowNum].count = this.value
+				this.messageToggle('success')
+				this.messageText = '淇敼鎴愬姛'	
+			},
+			// 鍒犻櫎
+			remove(index,item){
+				this.matData.splice(index,1)
+				this.messageToggle('success')
+				this.messageText = '鍒犻櫎鎴愬姛'
+			},
+			// 缁勬墭
+			comb(){
+				let that = this
+				let barcode = that.code
+				let billNo = this.billNo
+				if(billNo.length === 0){
+					that.messageToggle('error')
+					that.messageText = '鍏ュ簱鍗曞彿涓虹┖'
+					return;
+				}
+				if(barcode.length === 0){
+					that.messageToggle('error')
+					that.messageText = '璇疯緭鍏ユ墭鐩樼爜'
+					return;
+				}
+				if (barcode.length !== 8) {
+				    that.messageToggle('error')
+				    that.messageText = '鎵樼洏鐮佸繀椤讳负8浣�'
+				    return;
+				}
+				if(that.couChange){
+					that.messageToggle('error')
+					that.messageText = '璇峰厛纭鍏ュ簱鏁伴噺'
+					return;
+				}
+				
+				for (var i = 0; i < that.matData.length; i++) {
+					console.log(that.value)
+					console.log(that.matData[i].qty)
+					var sad = that.matData[i].qty - that.value
+					console.log(sad)
+					if (sad <= 5 && sad > 0) {
+						this.$refs.alertDialog.open()
+						that.message = '浜у搧浠e彿' + that.matData[i].size + '鍓╀綑寰呯粍鎵樻暟閲忓皯浜�5锛屾槸鍚︾户缁粍鎵�'
 						return
-					}
-					if(billNo.indexOf('=')>-1){
-						billNo = billNo.split(",")[0].split("=")[1];
-						console.log(billNo)
-					}
-					if(billNo.length===0){
-						return
-					}
-					this.matData = []
-					uni.request({
-						url:that.baseUrl+ "/mobile/bill/query/auth",
-						header: {
-							'content-type':'application/x-www-form-urlencoded',
-							'token': localStorage.getItem('token')},
-						data: {
-						    billNo: billNo
-						},
-						method: 'POST',
-						success(res){
-							if(res.data.code === 200){
-								if(res.data.data != null){
-									that.addTableData(res.data.data)
-								}else if(res.data.code === 403){
-									
-								}else {
-									
+					} else {
+						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.messageToggle('success')
+									that.messageText = '缁勬墭鎴愬姛'
 								}
 							}
-						}
-					})
-					
-				},
-				addTableData(data){
-					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 ){
-								this.matData[j].count = Number(this.matData[j].count) + Number(data[i].count);
-								toPush = false;
-							}
-						}
-						if(toPush) {
-							this.matData.push(data[i]);
-						}
+						})
 					}
-
-				},
+				}
 				
-				// 淇敼鏁伴噺
-				confirm(index,item){
-					this.couChange=false
-					this.$refs.inputDialog.open()
-					this.maxCount = item.count
-					this.rowNum = index
-					this.value = this.maxCount
-				},
-				// 淇敼鏁伴噺寮圭獥
-				dialogInputConfirm() {
-					this.matData[this.rowNum].count = this.value
-					this.messageToggle('success')
-					this.messageText = '淇敼鎴愬姛'	
-				},
-				// 鍒犻櫎
-				remove(index,item){
-					this.matData.splice(index,1)
-					this.messageToggle('success')
-					this.messageText = '鍒犻櫎鎴愬姛'
-				},
-				comb(){
-					let that = this
-					let barcode = that.code
-					let billNo = this.billNo
-					if(billNo.length === 0){
-						that.messageToggle('error')
-						that.messageText = '鍏ュ簱鍗曞彿涓虹┖'
-						return;
-					}
-					if(barcode.length === 0){
-						that.messageToggle('error')
-						that.messageText = '璇疯緭鍏ユ墭鐩樼爜'
-						return;
-					}
-					if (barcode.length !== 8) {
-					    that.messageToggle('error')
-					    that.messageText = '鎵樼洏鐮佸繀椤讳负8浣�'
-					    return;
-					}
-					if(that.couChange){
-						that.messageToggle('error')
-						that.messageText = '璇峰厛纭鍏ュ簱鏁伴噺'
-						return;
-					}
-					uni.request({
-						url:that.baseUrl+ "/mobile/comb/auth",
-						header: {'token': localStorage.getItem('token')},
-						data:{
-							barcode:barcode,
-							combMats:that.matData,
-							billNo: billNo,
-						},
-						method:'POST',
-						success(res) {
-							
-							if(res.data.code === 200){
-								that.reset()
-								that.matData = []
-								that.messageToggle('success')
-								that.messageText = '缁勬墭鎴愬姛'
-							}
+			},
+			// 纭畾缁勬墭
+			dialogConfirm() {
+				console.log(1)
+				let that = this
+				let barcode = that.code
+				let billNo = this.billNo
+				console.log(that.matData)
+				for (var i = 0; i < that.matData.length; i++) {
+					that.matData[i].oveFlag = 1
+				}
+				console.log(that.matData)
+				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.messageToggle('success')
+							that.messageText = '缁勬墭鎴愬姛'
 						}
-					})
-				},
+					}
+				})
+			},
+			// 鍙栨秷缁勬墭
+			dialogClose() {
+				console.log('鍙栨秷缁勬墭浜�')
+			}
 		},
 		onShow() {
-			// const query = uni.createSelectorQuery()
-			// console.log(prototype.placeholder)
 		}
 	}
 </script>
 
 <style>
-	
+	.delTable {
+		margin-left:0;
+		margin-right: auto;
+		width: 200rpx;
+		height: 80rpx;
+		font-size: 30upx;
+		font-weight: bold;
+	}
 </style>

--
Gitblit v1.9.1