From 3dc1c36cc46adda3ade2777e94cb5c6de3a87e15 Mon Sep 17 00:00:00 2001
From: whycq <123456>
Date: 星期四, 12 五月 2022 21:02:05 +0800
Subject: [PATCH] #

---
 pages/basics/checkout.vue |  316 +++++++++++++++++++++++++---------------------------
 1 files changed, 153 insertions(+), 163 deletions(-)

diff --git a/pages/basics/checkout.vue b/pages/basics/checkout.vue
index f1114e4..b23f032 100644
--- a/pages/basics/checkout.vue
+++ b/pages/basics/checkout.vue
@@ -9,29 +9,20 @@
 				<view class="square-content">
 					<view class="content-input">
 						<input v-model="barcode" type="text" placeholder="鎵爜 / 杈撳叆" maxlength="8" 
-						@input="findBarcode()" :focus="barcodeFocus" >
-						<!-- @focus="focuss" -->
+						@input="findBarcode()" :focus="barcodeFocus" @focus="focuss" >
 						<uni-icons type="closeempty" size="20" color="#dadada" @click="removeBarcode()"></uni-icons>
 					</view>
 				</view>
 			</view>
-			<view class="square-3">
+			<view class="square-2">
 				<view class="square-title">
 					<view class="title-sign"><view class="sign"></view></view>
 					<view class="title-text"><text>璐у搧鏉$爜</text></view>
 				</view>
 				<view class="square-content">
-					<text>绔欏彴锛�</text>
-					<view class="content-combox">
-						<uni-combox  emptyTips="鏆傛棤鏁版嵁" :candidates="siteList" v-model="desc" placeholder="绔欏彴鍙�"
-						@input="choseStaNo" disabled='true'></uni-combox>
-					</view>
-				</view>
-				<view class="square-content">
-					<text>璐у搧鏉$爜锛�</text>
-					<view class="content-input-combox">
-						<input type="text" v-model="matnr" placeholder="鎵爜 / 杈撳叆" @input="findMat()"
-						:focus="focus" >
+					<view class="content-input-combox" style="width: 94%;">
+						<input style="width: 90%;" type="text" v-model="matnr" placeholder="鎵爜 / 杈撳叆" @input="findMat()":focus="focus"
+						 @focus="focuss">
 						<!-- @focus="focuss" -->
 						<uni-icons type="closeempty" size="20" color="#dadada" @click="removeMatnr()"></uni-icons>
 					</view>
@@ -45,16 +36,16 @@
 				</view>
 			</view>
 			<view class="square-none" v-show="matList.length === 0">
-				<view class="v-show">鏆傛棤鏇村鏁版嵁...</view>
+				<view class="v-show">璇锋壂鐮侀�夊彇 {{matCount}} 浠跺晢鍝�</view>
 			</view>
 			<checkbox-group @change="checkbox">
 				<view v-for="(item,index) in matList" :key="index" class="data-list bg-false" :class="'bg-'+item.checked" >
 					<view class="data-list-left">
-						<view class="matnr">No:{{listLen-index}}</view>
-						<view class="matnr">{{item.matnr}}-{{item.batch}}</view>
+						<view class="matnr" :style="item.color">No:{{listLen-index}}</view>
+						<view class="matnr" :style="item.color">{{item.matnr}}-{{item.batch}}</view>
 					</view>
 					<view class="data-list-right">
-						<uni-icons type="trash" size="25" color="#a5a5a5" @click="remove(item,index)"></uni-icons>
+						<uni-icons type="trash" size="20" color="#a5a5a5" @click="remove(item,index)"></uni-icons>
 					</view>
 				</view>
 			</checkbox-group>
@@ -66,6 +57,12 @@
 			<view>
 				<button class="cu-btn lg pakin-btn bg-blue" @click="comb()">纭</button>
 			</view>
+		</view>
+		<view>
+			<!-- 鎻愮ず淇℃伅寮圭獥 -->
+			<uni-popup ref="message" type="message">
+				<uni-popup-message :type="msgType" :message="messageText" :duration="2000"></uni-popup-message>
+			</uni-popup>
 		</view>
 	</view>
 </template>
@@ -82,22 +79,39 @@
 				searchBox: 'hide',
 				pick:'hide',
 				matnr:'',
-				matList:[{matnr:'1101842-10000',batch:'22047515999'}],
+				// matList:[{matnr:'1101842-10000',batch:'22047515999',color:{color:'red'}}],
+				matList:[],
 				result: '',
 				siteList:[],
 				desc:'',
 				staNoList:[],
 				satNo:'',
+				listLen:0,
+				msgType: 'success',
+				messageText: '杩欐槸涓�鏉℃垚鍔熸彁绀�',
+				fontColor:{color:'red'},
+				matCount:'0'
 			}
+		},
+		onReady() {
+			setInterval(function(){
+				// console.log(this.matList)
+				// this.getMatListLen()
+			},1000)
 		},
 		mounted(){
 			const UIP = uni.getStorageSync('UIP');
 			this.baseIP = UIP;
 			const UPORT = uni.getStorageSync('UPORT');
 			this.basePORT = UPORT
-			this.getOutBound();
+			
 		},
 		methods: {
+			messageToggle(type) {
+				this.msgType = type
+				this.messageText = `杩欐槸涓�鏉�${type}娑堟伅鎻愮ず`
+				this.$refs.message.open()
+			},
 			choseStaNo() {
 				for (var i = 0;i < this.staNoList.length; i++) {
 					if (this.desc == this.staNoList[i].desc) {
@@ -105,8 +119,11 @@
 					} 
 				}
 			},
+			getMatListLen() {
+				// this.listLen = this.matList.length;
+			},
 			focuss() {
-				uni.hideKeyboard()
+				// uni.hideKeyboard()
 			},
 			resst() {
 				this.matList = []
@@ -132,21 +149,124 @@
 				});
 			},
 			remove(item,index) {
-				this.matList.splice(index,1)
+				this.matList.splice(index,1);
+				this.listLen = this.matList.length
+				this.messageToggle('success')
+				this.messageText = '鍒犻櫎鎴愬姛'
 				uni.vibrateShort();
+			},
+			
+			selectMat() {
+				let that = this
+				uni.vibrateShort();
+				uni.showLoading();
+				uni.navigateTo({
+					url: "matSelect",
+					events: {
+					    // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹�
+					    acceptDataFromOpenedPage: function(data) {
+							that.matnr = data.data
+							that.findMat(that.matnr)
+					    },
+					  },
+					  success: function(res) {
+					    // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹�
+					    res.eventChannel.emit('acceptDataFromOpenerPage', {baseIP:that.baseIP, basePORT:that.basePORT })
+					  }
+				});
+				that.matnr = ''
+			},
+			findBarcode() {
+				let that = this
+				uni.request({
+				    url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/pakout/query/auth/v2',
+				    data: {
+						barcode:that.barcode
+				    },
+				    header: {
+						'token':uni.getStorageSync('token'),
+				    },
+					success(result) {
+						var res = result.data;
+						if (res.code === 200) {
+							if (res.data) {
+								that.matCount = res.data.length
+							}
+						} else if (res.code === 403) {
+							uni.showToast({title: res.msg, icon: "none", position: 'top'})
+								setTimeout(() => {
+									uni.reLaunch({
+										url: '../login/login'
+									});
+							}, 1000);
+						} else {
+							uni.showToast({title: res.msg, icon: "none",position: 'top'})
+						}
+						
+					}
+				});
+				
+			},
+			findMat() {
+				let that = this
+				uni.request({
+				    url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/pakout/query/auth/v2',
+				    data: {
+						staNo:that.staNo,
+						matnr:that.matnr
+				    },
+				    header: {
+						'token':uni.getStorageSync('token')
+				    },
+					success(result) {
+						var res = result.data;
+						if(res.code === 200 ) {
+							if(res.data) {
+								for(let i = 0;i<that.matList.length;i++) {
+									for (let j = 0;j < res.data.length; j++) {
+										if(JSON.stringify(that.matList[i]) === JSON.stringify(res.data[j])) {
+											res.data.splice(j,1)
+										}
+									}
+								}
+								if (that.matList.length < that.matCount) {
+									that.matList = res.data.concat(that.matList)
+									that.listLen = that.matList.length;
+									that.focus = false;
+									that.$nextTick(function() {
+										that.focus = true;
+									});
+									that.matnr = ''
+								} else {
+									that.messageToggle('warn')
+									that.messageText = '鍟嗗搧宸插叏閮ㄦ坊鍔�'
+								}
+								
+							}
+						} else if (res.code == 403) {
+							uni.showToast({title: res.msg, icon: "none", position: 'top'})
+							setTimeout(() => {
+								uni.reLaunch({
+									url: '../login/login'
+								});
+							}, 1000);
+						} else {
+							uni.showToast({title: res.msg, icon: "none",position: 'top'})
+						}
+						
+					}
+				});
 			},
 			comb() {
 				uni.vibrateShort();
 				let that = this;
-				// if (that.barcode === '') {
-				// 	uni.showToast({title: '璇锋壂鎻忔墭鐩樻潯鐮�', icon: "none", position: 'top'});
-				// 	return;
-				// }
-				// if (that.matList.length === 0) {
-				// 	uni.showToast({title: '璇锋坊鍔犲晢鍝佸垪琛�', icon: "none", position: 'top'});
-				// 	return;
-				// }
 				uni.showLoading();
+				if (that.matList.length < that.matCount) {
+					var len = that.matCount - that.matList.length
+					that.messageToggle('error')
+					that.messageText = '杩樺墿' + len + '浠舵湭鎵弿'
+					return;
+				}
 				uni.request({
 				    url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/pakout/confirm/auth',
 				    data: that.matList,
@@ -180,136 +300,6 @@
 					}
 				});
 			},
-			selectMat() {
-				let that = this
-				uni.vibrateShort();
-				uni.showLoading();
-				uni.navigateTo({
-					url: "matSelect",
-					events: {
-					    // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹�
-					    acceptDataFromOpenedPage: function(data) {
-							that.matnr = data.data
-							that.findMat(that.matnr)
-					    },
-					  },
-					  success: function(res) {
-					    // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹�
-					    res.eventChannel.emit('acceptDataFromOpenerPage', {baseIP:that.baseIP, basePORT:that.basePORT })
-					  }
-				});
-				that.matnr = ''
-			},
-			findMat() {
-				let that = this
-				uni.request({
-				    url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/pakout/query/auth',
-				    data: {
-						staNo:that.staNo,
-						matnr:that.matnr
-				    },
-				    header: {
-						'token':uni.getStorageSync('token')
-				    },
-					success(result) {
-						
-						var res = result.data;
-						if(res.data) {
-							for(let i = 0;i<that.matList.length;i++) {
-								for (let j = 0;j < res.data.length; j++) {
-									if(JSON.stringify(that.matList[i]) === JSON.stringify(res.data[j])) {
-										res.data.splice(j,1)
-									}
-								}
-							}
-							that.matList = res.data.concat(that.matList)
-							// that.matList = that.matList.concat(res.data)
-						}
-					}
-				});
-			},
-			addMatList(mat) {
-				console.log(mat)
-				if (this.matList.length == 0){
-					
-					// this.matList.push(mat[0])
-					// this.matList.prototype.push.apply(mat)
-				} else {
-					
-					let toUnshift = true
-					for (var i = 0; i < this.matList.length; i++) {
-						let matnr = this.matList[i].matnr
-						if (matnr == this.matList[i].matnr) {
-							// this.messageToggle('warn')
-							// this.messageText = matnr + '宸茬粡鎵弿锛岃鍕块噸澶嶆壂鎻�'
-							toUnshift = false
-						}
-					}
-					if (toUnshift) {
-						this.matList.unshift(mat[0])
-					}
-					
-				}
-				console.log(this.matList)
-			},
-			findBarcode() {
-				let that = this
-				uni.request({
-				    url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/pakout/query/auth',
-				    data: {
-						barcode:that.barcode
-				    },
-				    header: {
-						'token':uni.getStorageSync('token'),
-						
-				    },
-					success(result) {
-						var res = result.data;
-						console.log(res)
-						if(res.data) {
-							for(let i = 0;i<that.matList.length;i++) {
-								for (let j = 0;j < res.data.length; j++) {
-									if(JSON.stringify(that.matList[i]) === JSON.stringify(res.data[j])) {
-										res.data.splice(j,1)
-									}
-								}
-							}
-							that.matList = res.data.concat(that.matList)
-							// that.matList = that.matList.concat(res.data)
-						}
-						
-					}
-				});
-				
-			},
-			getOutBound() {         // 鑾峰彇鍑哄簱鍙�
-				let that = this
-				uni.request({
-					url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/available/take/site',
-					method: 'POST',
-					header: {
-						'token':uni.getStorageSync('token')
-					},
-					success(result) {
-						var res = result.data
-						if (res.code === 200) {
-							for (var i = 0; i < res.data.length; i++){
-								that.siteList.push(res.data[i].desc)
-							}
-							that.staNoList = res.data
-						} else if (res.code == 403) {
-							uni.showToast({title: res.msg, icon: "none", position: 'top'})
-							setTimeout(() => {
-								uni.reLaunch({
-									url: '../login/login'
-								});
-							}, 1000);
-						} else {
-							uni.showToast({title: res.msg, icon: "none",position: 'top'})
-						}
-					},
-				});
-			}, // getOutBound
 			getCheckDetl() {   // 鑾峰彇鍑哄簱鍙h揣鐗╀俊鎭�
 				let that = this
 				
@@ -455,7 +445,7 @@
 		margin-top: 20rpx;
 	}
 	.data-list:last-child {
-		margin-bottom: 120rpx;
+		margin-bottom: 200rpx;
 	}
 	/* .data-list-left {
 		display: inline-block;
@@ -477,9 +467,9 @@
 	.matnr {
 		display: inline-block;
 		width: 100%;
-		font-size: 16px;
+		font-size: 14px;
 		font-weight: 700;
-		padding-top: 20rpx;
+		padding-top: 15rpx;
 		/* height: 130rpx;
 		line-height: 130rpx; */
 	}

--
Gitblit v1.9.1