From d8c2e4943409efa3ad1a6e8229d33a1e43247886 Mon Sep 17 00:00:00 2001
From: whycq <whycq>
Date: 星期四, 19 五月 2022 13:49:55 +0800
Subject: [PATCH] #

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

diff --git a/pages/basics/checkout.vue b/pages/basics/checkout.vue
index f1d6d9d..d78860f 100644
--- a/pages/basics/checkout.vue
+++ b/pages/basics/checkout.vue
@@ -1,6 +1,6 @@
 <template>
 	<view >
-		<scroll-view scroll-y catch:touchmove="touchmove">
+		<scroll-view scroll-y class="scroll-Y">
 			<view class="square-2">
 				<view class="square-title">
 					<view class="title-sign"><view class="sign"></view></view>
@@ -14,22 +14,14 @@
 					</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>
@@ -41,16 +33,17 @@
 				<view class="square-title">
 					<view class="title-sign"><view class="sign"></view></view>
 					<view class="title-text"><text>鍟嗗搧鍒楄〃</text></view>
+					<view v-show="matCount > 0" style="display: inline-block;float: right;height: 100rpx;line-height: 100rpx;margin-right: 50rpx;">璇锋壂鐮侀�夊彇 {{matCount}} 浠跺晢鍝�</view>
 				</view>
 			</view>
 			<view class="square-none" v-show="matList.length === 0">
-				<view class="v-show">鏆傛棤鏇村鏁版嵁...</view>
+				<view class="v-show">鏆傛棤鏇村鏁版嵁. . . </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="20" color="#a5a5a5" @click="remove(item,index)"></uni-icons>
@@ -65,6 +58,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>
@@ -81,34 +80,49 @@
 				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:'',
+				wrkNo:'',
 			}
+		},
+		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: {
+			huanghang() {
+				this.matnr = ''
+				this.focus = false;
+				this.$nextTick(function() {
+					this.focus = true;
+				});
+					
+			},
 			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) {
-						this.staNo = this.staNoList[i].siteId
-					} 
-				}
+			getMatListLen() {
+				// this.listLen = this.matList.length;
 			},
 			focuss() {
 				// uni.hideKeyboard()
@@ -117,7 +131,7 @@
 				this.matList = []
 				this.barcode = ''
 				this.matnr = ''
-				this.desc = ''
+				this.matCount = ''
 				uni.vibrateShort();
 			},
 			removeBarcode() {
@@ -137,46 +151,13 @@
 				});
 			},
 			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();
 			},
-			comb() {
-				uni.vibrateShort();
-				let that = this;
-				uni.showLoading();
-				uni.request({
-				    url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/pakout/confirm/auth',
-				    data: that.matList,
-					method: 'POST',
-				    header: {
-						'token':uni.getStorageSync('token')
-				    },
-					success(result) {
-						uni.showLoading();
-						var res = result.data
-						if (res.code === 200) {
-							uni.showToast({
-								title: res.msg,
-								position: 'bottom',
-								duration: 1000
-							});
-							that.matList = []
-							that.barcode = ''
-							that.matnr = ''
-							that.desc = ''
-						} 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'})
-						}
-					}
-				});
-			},
+			
 			selectMat() {
 				let that = this
 				uni.vibrateShort();
@@ -197,119 +178,91 @@
 				});
 				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.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)
-										}
-									}
-								}
-								that.matList = res.data.concat(that.matList)
-								that.listLen = that.matList.length;
-								that.focus = false;
-								that.$nextTick(function() {
-									that.focus = true;
-								});
-								that.matnr = ''
-							}
-						} 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'})
-						}
-						
-					}
-				});
-			},
-			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',
+				    url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/pakout/confirm/barcode/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)
-									}
-								}
+						console.log(result)
+						let res = result.data;
+						if (res.code === 200) {
+							if (res.data.ioType === 101) {
+								that.matList = res.data.list.concat(that.matList)
+								that.listLen = that.matList.length;
+								return;
 							}
-							that.matList = res.data.concat(that.matList)
-							// that.matList = that.matList.concat(res.data)
+							if (res.data.ioType === 103) {
+								that.matCount = res.data.list.length
+								that.wrkNo = res.data.list[0].wrkNo
+								return;
+							}
+							// 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'})
 						}
 						
 					}
 				});
 				
 			},
-			getOutBound() {         // 鑾峰彇鍑哄簱鍙�
+			findMat() {
 				let that = this
 				uni.request({
-					url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/available/take/site',
-					method: 'POST',
-					header: {
+				    url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/pakout/confirm/pick/auth',
+				    data: {
+						wrkNo:that.wrkNo,
+						matnr:that.matnr
+				    },
+				    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)
+						console.log(result)
+						var res = result.data;
+						if(res.code === 200 ) {
+							if(res.data) {
+								if (that.matList.length == 0) {
+									that.matList.push(res.data)
+									that.listLen = that.matList.length;
+									that.huanghang();
+									return;
+								}
+								for(let i = 0;i<that.matList.length;i++) {
+									if (that.matList.length < that.matCount){
+										if(JSON.stringify(that.matList[i]) === JSON.stringify(res.data)) {
+											that.messageToggle('warn');
+											that.messageText = '璇ュ晢鍝佸凡娣诲姞';
+											that.huanghang();
+											return;
+										} else {
+											that.matList.unshift(res.data);
+											that.listLen = that.matList.length;
+											that.huanghang();
+											return;
+										}
+									} else {
+										that.messageToggle('warn');
+										that.messageText = '宸插嚭鍏ㄩ儴鍟嗗搧锛岃纭鍑哄簱';
+										that.huanghang();
+										return;
+									}
+								}
 							}
-							that.staNoList = res.data
 						} else if (res.code == 403) {
 							uni.showToast({title: res.msg, icon: "none", position: 'top'})
 							setTimeout(() => {
@@ -320,9 +273,61 @@
 						} else {
 							uni.showToast({title: res.msg, icon: "none",position: 'top'})
 						}
-					},
+						
+					}
 				});
-			}, // getOutBound
+			},
+			comb() {
+				let that = this;
+				if (that.barcode === '') {
+					this.messageToggle('error')
+					this.messageText = '璇锋壂鎻忔墭鐩樼爜'
+					return;
+				}
+				if (that.barcode.length !== 8) {
+					this.messageToggle('error')
+					this.messageText = '鎵樼洏鐮佸繀椤讳负8浣�'
+					return;
+				}
+				if (that.matList.length === 0) {
+					this.messageToggle('error')
+					this.messageText = '璇锋坊鍔犲晢鍝佸垪琛�'
+					return;
+				}
+				
+				if (that.matList.length < that.matCount) {
+					var len = that.matCount - that.matList.length
+					that.messageToggle('error')
+					that.messageText = '杩樺墿' + len + '浠舵湭鎵弿'
+					return;
+				}
+				uni.showLoading();
+				uni.request({
+				    url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/pakout/confirm/auth',
+				    data: that.matList,
+					method: 'POST',
+				    header: {
+						'token':uni.getStorageSync('token')
+				    },
+					success(result) {
+						uni.showLoading();
+						var res = result.data
+						if (res.code === 200) {
+							uni.showToast({ title: res.msg,position: 'bottom',duration: 1000});
+							that.resst();
+						} 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'})
+						}
+					}
+				});
+			},
 			getCheckDetl() {   // 鑾峰彇鍑哄簱鍙h揣鐗╀俊鎭�
 				let that = this
 				
@@ -362,7 +367,7 @@
 <style>
 	/* @import "../../colorui/main.css";
 	@import "../../colorui/icon.css"; */
-	
+
 	.pak-seach-box {
 		background-color: #FFFFFF;
 		margin: 15rpx 15rpx 0rpx 15rpx;
@@ -460,7 +465,7 @@
 	}
 	.data-list {
 		border-bottom: 1px solid #d8d8d8;
-		height: 90rpx;
+		height: 130rpx;
 		margin: 15rpx;
 		border-radius: 20rpx;
 	}
@@ -468,7 +473,7 @@
 		margin-top: 20rpx;
 	}
 	.data-list:last-child {
-		margin-bottom: 120rpx;
+		margin-bottom: 200rpx;
 	}
 	/* .data-list-left {
 		display: inline-block;
@@ -484,7 +489,7 @@
 		display: inline-block;
 		float: left;
 		margin-left: 4%;
-		height: 90rpx;
+		height: 130rpx;
 		color: #676767;
 	}
 	.matnr {
@@ -492,7 +497,7 @@
 		width: 100%;
 		font-size: 14px;
 		font-weight: 700;
-		padding-top: 8rpx;
+		padding-top: 15rpx;
 		/* height: 130rpx;
 		line-height: 130rpx; */
 	}
@@ -501,7 +506,7 @@
 		display: inline-block;
 		float: right;
 		width: 100rpx;
-		height: 90rpx;
-		line-height: 90rpx;
+		height: 130rpx;
+		line-height: 130rpx;
 	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.1