From 2b436e49057b75acc35a87d54de65e31b0f797b1 Mon Sep 17 00:00:00 2001
From: whycq <whycq>
Date: 星期四, 07 七月 2022 16:49:11 +0800
Subject: [PATCH] #

---
 pages/basics/outPakin.vue |  221 ++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 155 insertions(+), 66 deletions(-)

diff --git a/pages/basics/outPakin.vue b/pages/basics/outPakin.vue
index c7d713a..3d3103d 100644
--- a/pages/basics/outPakin.vue
+++ b/pages/basics/outPakin.vue
@@ -8,8 +8,8 @@
 				</view>
 				<view class="square-content">
 					<view class="content-input">
-						<input v-model="barcode" type="text" placeholder="鎵爜 / 杈撳叆" maxlength="8"
-						:focus="barcodeFocus" @focus="focuss">
+						<input readonly="value" v-model="barcode" type="text" placeholder="鎵爜 / 杈撳叆" maxlength="8"
+						:focus="barcodeFocus" @input="nextInput">
 						<uni-icons type="closeempty" size="20" color="#dadada" @click="removeBarcode()"></uni-icons>
 					</view>
 				</view>
@@ -21,10 +21,11 @@
 				</view>
 				<view class="square-content">
 					<view class="content-input">
-						<input v-model="matnr" type="text" placeholder="鎵爜 / 杈撳叆" @input="findMat()"
-						:focus="focus" @focus="focuss" >
+						<input v-model="matnrId" type="text" placeholder="鎵爜 / 杈撳叆" @input="findMat()"
+						:focus="focus"@focus="empty()">
+						 <!-- :focus="focus" @blur="clear "> -->
 						<!-- @focus="focuss" -->
-						<uni-icons type="closeempty" size="20" color="#dadada" @click="removeMatnr()"></uni-icons>
+						<uni-icons type="closeempty" size="20" color="#dadada" @click="foucss()"></uni-icons>
 					</view>
 				</view>
 			</view>
@@ -63,6 +64,29 @@
 				<uni-popup-message :type="msgType" :message="messageText" :duration="2000"></uni-popup-message>
 			</uni-popup>
 		</view>
+		<!-- 纭浠撳簱寮圭獥 -->
+		<view>
+			<uni-popup ref="checkOrigin" type="center" backgroundColor="#fff">
+				<view class="origin-box">
+					<view class="square-title">
+						<view class="title-sign"><view class="sign"></view></view>
+						<view class="title-text"><text>纭浠撳簱</text></view>
+					</view>
+					
+					<view style="width: 100%;">
+						<radio-group @change="radioChange" style="display: block;">
+							<label class="radio" v-for="(origin, index) in origins" :key="origins.value">
+								<radio style="transform:scale(0.7)" :value="origin.value" :checked="index === current" />{{origin.value}}
+							</label>
+						</radio-group>
+					</view>
+					
+					<view class="pop-btn flex  justify-around">
+						<button class="cu-btn bg-blue lg" @click="check()">纭</button>
+					</view>
+				</view>
+			</uni-popup>
+		</view>
 	</view>
 </template>
 
@@ -77,12 +101,16 @@
 				type: 'center',
 				searchBox: 'hide',
 				pick:'hide',
-				matnr:'',
-				matList:[{matnr:'1101842-10000',batch:'22047515999'}],
+				matnrId:'',
+				// matList:[{matnr:'1101842-10000',batch:'22047515999'}],
+				matList:[],
 				result: '',
 				listLen:0,
 				msgType: 'success',
 				messageText: '杩欐槸涓�鏉℃垚鍔熸彁绀�',
+				origins: [{value:'1288'},{value:'5055'}],
+				origin: null, // 浠撳簱
+				current: 0
 			}
 		},
 		mounted(){
@@ -91,50 +119,88 @@
 			const UPORT = uni.getStorageSync('UPORT');
 			this.basePORT = UPORT
 		},
+		onLoad() {
+			// #ifdef APP
+			setInterval(()=>{
+				uni.hideKeyboard()
+			},20)
+			// #endif
+		},
 		methods: {
+			radioChange(evt) {
+				for (let i = 0; i < this.origins.length; i++) {
+					if (this.origins[i].value === evt.detail.value) {
+						this.current = i;
+						break;
+					}
+				}
+			},
+			check() {
+				if (this.current == 0) {
+					this.origin = 1288
+				} else {
+					this.origin = 5055
+				}
+				this.$refs.checkOrigin.close()
+			},
+			nextInput() {
+				if (this.barcode.length == 8) {
+					this.foucss()
+				}
+			},
+			empty() {
+				return this.inputValue='';
+			},
+			barcodeFocuss() {
+				// #ifdef APP
+				let that = this;
+				that.barcodeFocus = false;
+				setTimeout(()=>{
+					that.matnrId = '';
+					that.barcodeFocus = true;
+				}, 100);
+				// #endif
+				
+			},
+			foucss() {
+				// #ifdef APP
+				let that = this;
+				that.focus = false;
+				setTimeout(()=>{
+					that.matnrId = '';
+					that.focus = true;
+				}, 100);
+				// #endif
+			},
+			clear() {
+				this.matnrId = ''
+			},
 			messageToggle(type) {
 				this.msgType = type
 				this.messageText = `杩欐槸涓�鏉�${type}娑堟伅鎻愮ず`
 				this.$refs.message.open()
 			},
-			focuss() {
-				// setInterval(function(){
-				// 	uni.hideKeyboard()
-				// },20)
-				// uni.hideKeyboard()
-			},
 			resst() {
-				this.matList = []
-				this.barcode = ''
-				this.matnr = ''
-				uni.vibrateShort();
+				this.matnrId = '';
+				this.matList = [];
+				this.barcode = '';
+				this.barcodeFocuss();
 			},
 			removeBarcode() {
 				this.barcode = ''
-				uni.vibrateShort();
 				this.barcodeFocus = false;
 				this.$nextTick(function() {
 					this.barcodeFocus = true;
 				});
 			},
-			removeMatnr() {
-				
-				this.focus = false;
-				this.$nextTick(function() {
-					this.focus = true;
-				});
-				this.matnr = ''
-				uni.vibrateShort();
-			},
 			remove(item,index) {
+				this.matnrId = ''
 				this.matList.splice(index,1)
 				this.listLen = this.matList.length
 				this.messageToggle('success')
 				this.messageText = '鍒犻櫎鎴愬姛'
-				uni.vibrateShort();
 			},
 			comb() {
-				uni.vibrateShort();
 				let that = this;
 				if (that.barcode === '') {
 					uni.showToast({title: '璇锋壂鎻忔墭鐩樻潯鐮�', icon: "none", position: 'top'});
@@ -144,11 +210,14 @@
 					uni.showToast({title: '璇锋坊鍔犲晢鍝佸垪琛�', icon: "none", position: 'top'});
 					return;
 				}
-				uni.showLoading();
+				// uni.showLoading();
+				that.$refs.checkOrigin.open()
+				// return;
 				uni.request({
 				    url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/comb/auth',
 				    data: JSON.stringify({
 						barcode: that.barcode,
+						origin: that.origin,
 						combMats: that.matList
 					}),
 					method: 'POST',
@@ -167,6 +236,7 @@
 							that.barcode = '';
 							that.matList = '';
 							that.matList = [];
+							that.barcodeFocuss();
 						} else if (res.code == 403) {
 							uni.showToast({title: res.msg, icon: "none", position: 'top'})
 							setTimeout(() => {
@@ -180,55 +250,67 @@
 					}
 				});
 			},
-			
+			checkNum(theObj) {
+				var reg = /^[0-9]*$/;
+				if (!reg.test(theObj)) {
+					this.messageToggle('warn');
+					this.messageText = '鍟嗗搧缂栫爜鏈夎锛岃閲嶈瘯';
+					this.foucss();
+					return;
+				}
+			},
 			findMat() {
 				let that = this
-				let str = that.matnr.split('-')
-				that.matnr = str[0]+'-'+str[1]
+				if (that.matnrId.length > 25){
+					that.messageToggle('warn');
+					that.messageText = '鍟嗗搧缂栫爜瓒呴暱锛岃閲嶈瘯';
+					that.foucss();
+					return;
+				}
+				let str = that.matnrId.split('-')
+				let matnr = str[0] + '-' + str[1]
+				that.checkNum(str[2])
+				for (let k = 0; k < that.matList.length;k++) {
+					if (that.matList[k].matnr != matnr) {
+						that.messageToggle('warn');
+						that.messageText = '鍟嗗搧绉嶇被涓嶄竴鑷达紝璇烽噸璇曪紒';
+						that.foucss();
+						return;
+					}
+				}
 				uni.showLoading();
 				uni.request({
 				    url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mat/auth',
 				    data: {
-						matnr:that.matnr
+						matnr:matnr
 				    },
 				    header: {
 						'token':uni.getStorageSync('token')
 				    },
 					success(result) {
-						uni.vibrateShort();
+						uni.hideLoading();
+						// uni.vibrateShort();
 						let res = result.data
 						if (res.code === 200 && res.data) {
 							let add = true;
-							if(res.data) {
-								let mat = res.data;
-								mat['batch'] = str[2];
-								mat['anfme'] = 1
-								for(let i = 0;i < that.matList.length;i++) {
-									if(that.matList[i].batch == str[2]) {
-										that.messageToggle('warn');
-										that.messageText = '閲嶅鎵弿';
-										that.focus = false;
-										that.$nextTick(function() {
-											that.focus = true;
-										});
-										add = false;
-										break;
-									}
+							let mat = res.data;
+							mat['batch'] = str[2];
+							mat['anfme'] = 1
+							for(let i = 0;i < that.matList.length;i++) {
+								if(that.matList[i].batch == str[2]) {
+									that.messageToggle('warn');
+									that.messageText = '閲嶅鎵弿';
+									that.foucss();
+									add = false;
 								}
 							}
 							if(add) {
 								that.messageToggle('success');
 								that.messageText = '妫�绱㈡垚鍔�';
-								that.focus = false;
-								that.$nextTick(function() {
-									that.focus = true;
-								});
-								// uni.hideKeyboard();
 								that.matList.unshift(res.data)
-							}
-							that.matnr = ''
+								that.foucss();
+							} 
 							that.listLen = that.matList.length;
-							uni.hideLoading();
 						} else if (res.code == 403) {
 							that.messageToggle('error')
 							that.messageText = res.msg
@@ -237,9 +319,11 @@
 									url: '../login/login'
 								});
 							}, 1000);
+							uni.hideLoading();
 						} else {
 							that.messageToggle('error')
 							that.messageText = res.msg
+							uni.hideLoading();
 							// uni.showToast({title: res.msg, icon: "none",position: 'top'})
 						}
 					}
@@ -261,10 +345,11 @@
 	/* @import "../../colorui/main.css";
 	@import "../../colorui/icon.css"; */
 	/* 
-	1101842-10000-22047515999
+	1101842-10000-220475159999
 	1101842-10000-22047518494
 	1101842-10000-22047518532
-	1101842-10000-22047515990
+	1101842-10000-2204751599A
+	1101842-12345-22047515990
 	1101842-10000-22047515997
 	1101842-10000-22047518515
 	1101842-10000-22047515778
@@ -278,7 +363,11 @@
 	1101842-10000-22047515864
 	1101842-10000-22047515889
 	 */
-	
+	.pop-btn {
+		position: absolute;
+		width: 100%;
+		bottom: 20rpx;
+	}
 	.pak-seach-box {
 		background-color: #FFFFFF;
 		margin: 15rpx 15rpx 0rpx 15rpx;
@@ -375,7 +464,7 @@
 	}
 	.data-list {
 		border-bottom: 1px solid #d8d8d8;
-		height: 90rpx;
+		height: 130rpx;
 		margin: 15rpx;
 		border-radius: 20rpx;
 	}
@@ -397,7 +486,7 @@
 		display: inline-block;
 		float: left;
 		margin-left: 6%;
-		height: 100rpx;
+		height: 130rpx;
 		/* line-height: 100rpx; */
 		color: #676767;
 	}
@@ -405,13 +494,13 @@
 		font-size: 14px;
 		font-weight: 700;
 		/* padding-top: 15rpx; */
-		padding-top: 8rpx;
+		padding-top: 15rpx;
 	}
 	.data-list-right {
 		display: inline-block;
 		float: right;
-		height: 100rpx;
-		line-height: 100rpx;
+		height: 130rpx;
+		line-height: 130rpx;
 		margin-right: 10%;
 	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.1