From 6c9cbdf482ce1330704dc635c510ec51a1115a9f Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期一, 18 三月 2024 16:52:29 +0800
Subject: [PATCH] #

---
 pages/basics/outPakin.vue |  228 ++++++++++++++++++++++++++++++--------------------------
 1 files changed, 123 insertions(+), 105 deletions(-)

diff --git a/pages/basics/outPakin.vue b/pages/basics/outPakin.vue
index 883b3b8..24f3cfe 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>
@@ -37,14 +38,14 @@
 			<view class="square-none"  v-show="matList.length === 0">
 				<view class="v-show">鏆傛棤鏇村鏁版嵁...</view>
 			</view>
-			<checkbox-group @change="checkbox">
+			<checkbox-group >
 				<view v-for="(item,index) in matList" :key="index" class="data-list bg-false" :class="'bg-'+item.checked" >
 					<view class="data-list-left">
-						<text>No:{{listLen-index}}</text>
+						<view class="matnr">No:{{listLen-index}}</view>
 						<view class="matnr">{{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>
@@ -56,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>
@@ -71,10 +78,13 @@
 				type: 'center',
 				searchBox: 'hide',
 				pick:'hide',
-				matnr:'',
+				matnrId:'',
+				// matList:[{matnr:'1101842-10000',batch:'22047515999'}],
 				matList:[],
 				result: '',
-				listLen:0
+				listLen:0,
+				msgType: 'success',
+				messageText: '杩欐槸涓�鏉℃垚鍔熸彁绀�',
 			}
 		},
 		mounted(){
@@ -83,42 +93,72 @@
 			const UPORT = uni.getStorageSync('UPORT');
 			this.basePORT = UPORT
 		},
-		methods: {
-			getListLength() {
-				this.listLen = this.matList.length
-			},
-			focuss() {
+		onLoad() {
+			// #ifdef APP
+			setInterval(()=>{
 				uni.hideKeyboard()
+			},20)
+			// #endif
+		},
+		methods: {
+			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()
 			},
 			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.matnr = ''
-				uni.vibrateShort();
-				this.focus = false;
-				this.$nextTick(function() {
-					this.focus = true;
-				});
-			},
 			remove(item,index) {
+				this.matnrId = ''
 				this.matList.splice(index,1)
 				this.listLen = this.matList.length
-				uni.vibrateShort();
+				this.messageToggle('success')
+				this.messageText = '鍒犻櫎鎴愬姛'
 			},
 			comb() {
-				uni.vibrateShort();
 				let that = this;
 				if (that.barcode === '') {
 					uni.showToast({title: '璇锋壂鎻忔墭鐩樻潯鐮�', icon: "none", position: 'top'});
@@ -148,6 +188,7 @@
 								position: 'bottom',
 								duration: 1000
 							});
+							that.resst();
 						} else if (res.code == 403) {
 							uni.showToast({title: res.msg, icon: "none", position: 'top'})
 							setTimeout(() => {
@@ -161,75 +202,70 @@
 					}
 				});
 			},
-			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
-				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]
+				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) {
-							that.matnr = ''
 							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]) {
-										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.matList.unshift(res.data)
-							}
-							that.focus = false;
-							that.$nextTick(function() {
-								that.focus = true;
-							});
-							uni.hideKeyboard();
-						that.listLen = that.matList.length
+								that.foucss();
+							} 
+							that.listLen = that.matList.length;
 						} else if (res.code == 403) {
-							that.messageToggle('warn')
+							that.messageToggle('error')
 							that.messageText = res.msg
 							setTimeout(() => {
 								uni.reLaunch({
 									url: '../login/login'
 								});
 							}, 1000);
+							uni.hideLoading();
 						} else {
-							that.messageToggle('warn')
+							that.messageToggle('error')
 							that.messageText = res.msg
+							uni.hideLoading();
 							// uni.showToast({title: res.msg, icon: "none",position: 'top'})
 						}
 					}
@@ -240,44 +276,22 @@
 			change(e) {
 				console.log('褰撳墠妯″紡锛�' + e.type + ',鐘舵�侊細' + e.show);
 			},
-			toggle(type) {
-				this.type = type
-				// open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦� uni-popup 缁勪欢涓婄粦瀹� type灞炴��
-				this.$refs.goodsSearch.open(type)
-			},
-			checkbox: function (e) {
-				var items = this.data,
-					values = e.detail.value;
-				for (var i = 0, lenI = items.length; i < lenI; ++i) {
-					const item = items[i]
-					item.id = item.id + ''
-					if(values.indexOf(item.id) >= 0){
-						this.$set(item,'checked',true)
-					}else{
-						this.$set(item,'checked',false)
-					}
-				}
-				if (values.length == items.length) {
-					this.check = true
-					this.checkText = "鍙栨秷鍏ㄩ��"
-				} else {
-					this.check = false
-					this.checkText = "鍏ㄩ��"
-				}
-				uni.vibrateShort();
-			},
+			
 		}
 	}
 </script>
+
+
 
 <style>
 	/* @import "../../colorui/main.css";
 	@import "../../colorui/icon.css"; */
 	/* 
-	1101842-10000-22047515999
+	1101842-10000-220475159999
 	1101842-10000-22047518494
 	1101842-10000-22047518532
 	1101842-10000-22047515990
+	1101842-12345-22047515990
 	1101842-10000-22047515997
 	1101842-10000-22047518515
 	1101842-10000-22047515778
@@ -388,7 +402,7 @@
 	}
 	.data-list {
 		border-bottom: 1px solid #d8d8d8;
-		height: 90rpx;
+		height: 130rpx;
 		margin: 15rpx;
 		border-radius: 20rpx;
 	}
@@ -410,17 +424,21 @@
 		display: inline-block;
 		float: left;
 		margin-left: 6%;
-		height: 90rpx;
+		height: 130rpx;
+		/* line-height: 100rpx; */
 		color: #676767;
 	}
 	.matnr {
-		padding-top: 10rpx;
+		font-size: 14px;
+		font-weight: 700;
+		/* padding-top: 15rpx; */
+		padding-top: 15rpx;
 	}
 	.data-list-right {
 		display: inline-block;
 		float: right;
-		height: 90rpx;
-		line-height: 90rpx;
+		height: 130rpx;
+		line-height: 130rpx;
 		margin-right: 10%;
 	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.1