From b4416d1e1c0c292875820a3a510a1bc3488cb1f7 Mon Sep 17 00:00:00 2001
From: whycq <123456>
Date: 星期四, 10 十一月 2022 12:37:41 +0800
Subject: [PATCH] #

---
 pages/basics/checkout.vue |  378 ++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 252 insertions(+), 126 deletions(-)

diff --git a/pages/basics/checkout.vue b/pages/basics/checkout.vue
index 26730c1..27f32b9 100644
--- a/pages/basics/checkout.vue
+++ b/pages/basics/checkout.vue
@@ -1,50 +1,52 @@
 <template>
 	<view >
-		<scroll-view scroll-y catch:touchmove="touchmove">
-			<view class="pak-seach-box">
-				<view class="box-top">
-					<view class="color-block-blue"></view>
-					<text class="title">鎵樼洏鏉$爜</text>
+		<scroll-view scroll-y class="scroll-Y">
+			<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="box-buttom">
-					<input v-model="barcode" type="text" placeholder="鎵爜 / 杈撳叆" maxlength="8" @input="findBarcode()">
-					<view class="search-icon">
-						<uni-icons type="closeempty" size="20" color="#a5a5a5" @click="removeBarcode()"></uni-icons>
+				<view class="square-content">
+					<view class="content-input">
+						<input v-model="barcode" type="text" placeholder="鎵爜 / 杈撳叆" maxlength="8" 
+						@input="findBarcode()" :focus="barcodeFocus" @focus="focuss" >
+						<uni-icons type="closeempty" size="20" color="#dadada" @click="removeBarcode()"></uni-icons>
 					</view>
 				</view>
 			</view>
-			<view class="pak-seach-box">
-				<view class="box-top">
-					<view class="color-block-blue"></view>
-					<text class="title">璐у搧鏉$爜</text>
+			<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="box-buttom">
-					<input v-model="matnr" type="text" placeholder="鎵爜 / 杈撳叆" @input="findMat()">
-					<view class="search-icon">
-						<uni-icons type="closeempty" size="20" color="#a5a5a5" @click="removeMatnr()"></uni-icons>
+				<view class="square-content">
+					<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>
 				</view>
-				<button class="cu-btn bg-blue" @click="selectMat()">+鎻愬彇</button>
 			</view>
-			<view class="pak-data-box">
-				<view class="box-top">
-					<view class="color-block-blue"></view>
-					<text class="title">鍟嗗搧鍒楄〃</text>
+			
+			<view class="square-1">
+				<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="pak-data-box"  v-show="matList.length === 0">
-				<view style="text-align: center;">鏆傛棤鏇村鏁版嵁</view>
+			<view class="square-none" v-show="matList.length === 0">
+				<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"><text style="width: 400rpx;">缂栫爜锛歿{item.matnr}}</text></view>
-						<view><text style="width: 400rpx;">鍝佸悕锛歿{item.maktx}}</text></view>
-						<view><text style="width: 400rpx;">鎵瑰彿锛歿{item.batch}}</text></view>
-						<view><text style="width: 400rpx;">鏁伴噺锛歿{item.anfme}}</text></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>
@@ -57,6 +59,12 @@
 				<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>
 
@@ -65,84 +73,98 @@
 	export default {
 		data() {
 			return {
+				commonUrl:null,
 				barcode: '',
+				barcodeFocus:true,
+				focus:false,
 				type: 'center',
 				searchBox: 'hide',
 				pick:'hide',
 				matnr:'',
+				// matList:[{matnr:'1101842-10000',batch:'22047515999',color:{color:'red'}}],
 				matList:[],
-				result: ''
+				result: '',
+				siteList:[],
+				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
+			const PROJ = uni.getStorageSync('UPROJ');
+			this.baseUrl = PROJ
+			this.getUrl()
 		},
 		methods: {
+			// 鑾峰彇url
+			getUrl() {
+				this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePORT + "/" +this.baseUrl
+			},
+			huanghang() {
+				this.matnr = ''
+				this.focus = false;
+				this.$nextTick(function() {
+					this.focus = true;
+				});
+					
+			},
+			messageToggle(type) {
+				this.msgType = type
+				this.messageText = `杩欐槸涓�鏉�${type}娑堟伅鎻愮ず`
+				this.$refs.message.open()
+			},
+			getMatListLen() {
+				// this.listLen = this.matList.length;
+			},
+			focuss() {
+				// uni.hideKeyboard()
+			},
 			resst() {
 				this.matList = []
 				this.barcode = ''
 				this.matnr = ''
+				this.matCount = ''
 				uni.vibrateShort();
 			},
 			removeBarcode() {
 				this.barcode = ''
-				uni.vibrateShort();
+				uni.vibrateShort();	
+				this.barcodeFocus = false;
+				this.$nextTick(function() {
+					this.barcodeFocus = true;
+				});
 			},
 			removeMatnr() {
 				this.matnr = ''
 				uni.vibrateShort();
-			},
-			remove(item,index) {
-				this.matList.splice(index,1)
-				uni.vibrateShort();
-			},
-			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();
-				uni.request({
-				    url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/comb/auth',
-				    data: JSON.stringify({
-						barcode: that.barcode,
-						combMats: 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
-							});
-						} 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'})
-						}
-					}
+				this.focus = false;
+				this.$nextTick(function() {
+					this.focus = true;
 				});
 			},
+			remove(item,index) {
+				this.matList.splice(index,1);
+				this.listLen = this.matList.length
+				this.messageToggle('success')
+				this.messageText = '鍒犻櫎鎴愬姛'
+				uni.vibrateShort();
+			},
+			
 			selectMat() {
 				let that = this
 				uni.vibrateShort();
@@ -163,51 +185,90 @@
 				});
 				that.matnr = ''
 			},
+			findBarcode() {
+				let that = this
+				uni.request({
+				    url: that.commonUrl + '/mobile/pakout/confirm/barcode/auth',
+				    data: {
+						barcode:that.barcode
+				    },
+				    header: {
+						'token':uni.getStorageSync('token'),
+				    },
+					success(result) {
+						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;
+							}
+							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'})
+						}
+						
+					}
+				});
+				
+			},
 			findMat() {
 				let that = this
 				uni.request({
-				    url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/pakout/query/auth',
+				    url: that.commonUrl + '/mobile/pakout/confirm/pick/auth',
 				    data: {
+						wrkNo:that.wrkNo,
 						matnr:that.matnr
 				    },
 				    header: {
 						'token':uni.getStorageSync('token')
 				    },
 					success(result) {
-						console.log(result)
-						
-					}
-				});
-			},
-			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) {
-						console.log(result)
-						
-					}
-				});
-				
-			},
-			getOutBound() {         // 鑾峰彇鍑哄簱鍙�
-				let that = this
-				uni.request({
-					url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/available/take/check/site',
-					method: 'POST',
-					header: {
-						'token':uni.getStorageSync('token')
-					},
-					success(result) {
-						var res = result.data
-						if (res.code === 200) {
-							that.staNoList = res.data
+						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;
+									}
+								}
+							}
 						} else if (res.code == 403) {
 							uni.showToast({title: res.msg, icon: "none", position: 'top'})
 							setTimeout(() => {
@@ -218,11 +279,66 @@
 						} 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.commonUrl + '/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
+				
+			}, // getCheckDetl
 			change(e) {
-				console.log('褰撳墠妯″紡锛�' + e.type + ',鐘舵�侊細' + e.show);
 			},
 			toggle(type) {
 				this.type = type
@@ -257,7 +373,7 @@
 <style>
 	/* @import "../../colorui/main.css";
 	@import "../../colorui/icon.css"; */
-	
+
 	.pak-seach-box {
 		background-color: #FFFFFF;
 		margin: 15rpx 15rpx 0rpx 15rpx;
@@ -291,7 +407,7 @@
 	}
 	.box-buttom {
 		display: inline-block;
-		background-color: #ededed;
+		background-color: #f0f0f0;
 		width: 65%;
 		height: 60rpx;
 		border-radius: 20rpx;
@@ -309,6 +425,7 @@
 		margin-top: 5rpx;
 		margin-right: 10rpx;
 	}
+	
 	/* .pak-seach-box input {
 		background-color: #ededed;
 		border: 1rpx solid #d8d8d8;
@@ -354,7 +471,7 @@
 	}
 	.data-list {
 		border-bottom: 1px solid #d8d8d8;
-		height: 180rpx;
+		height: 130rpx;
 		margin: 15rpx;
 		border-radius: 20rpx;
 	}
@@ -362,7 +479,7 @@
 		margin-top: 20rpx;
 	}
 	.data-list:last-child {
-		margin-bottom: 120rpx;
+		margin-bottom: 200rpx;
 	}
 	/* .data-list-left {
 		display: inline-block;
@@ -373,20 +490,29 @@
 		line-height: 180rpx;
 	} */
 	.data-list-left {
+		width: 550rpx;
+		/* background-color: #007AFF; */
 		display: inline-block;
 		float: left;
-		margin-left: 6%;
-		height: 180rpx;
+		margin-left: 4%;
+		height: 130rpx;
 		color: #676767;
 	}
 	.matnr {
-		padding-top: 10rpx;
+		display: inline-block;
+		width: 100%;
+		font-size: 14px;
+		font-weight: 700;
+		padding-top: 15rpx;
+		/* height: 130rpx;
+		line-height: 130rpx; */
 	}
 	.data-list-right {
+		/* background-color: #6739B6; */
 		display: inline-block;
 		float: right;
-		height: 180rpx;
-		line-height: 180rpx;
-		margin-right: 10%;
+		width: 100rpx;
+		height: 130rpx;
+		line-height: 130rpx;
 	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.1