From a84ed18ebca6d113fa9c52a36fc71e3a106fd729 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期四, 26 九月 2024 12:49:23 +0800
Subject: [PATCH] #

---
 pages/pakin/pakin.vue |  193 ++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 163 insertions(+), 30 deletions(-)

diff --git a/pages/pakin/pakin.vue b/pages/pakin/pakin.vue
index 456e187..1abc6d6 100644
--- a/pages/pakin/pakin.vue
+++ b/pages/pakin/pakin.vue
@@ -7,6 +7,11 @@
 					@input="barcodeInput()">
 			</view>
 			<view class="item">
+				<view class="code-decs">AS400:</view>
+				<input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="asBarcode" :focus="asBarcodeFocus"
+					@input="asBarcodeInput()">
+			</view>
+			<view class="item">
 				<view class="code-decs">鐗╂枡鐮�:</view>
 				<input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="matnr" :focus="matFocus" @input="findMat()">
 				<view class="item-right">
@@ -14,6 +19,26 @@
 					<text style="text-align: right;color: #409EFF;" @click="selectMat()">鎻愬彇+</text>
 					<uni-icons type="right" color="#c1c1c1"></uni-icons>
 				</view>
+			</view>
+			<view class="item">
+				<view class="code-decs">瀹㈡埛鏍囩鏉$爜:</view>
+				<input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="barcode1" :focus="barcode1Focus"
+					@input="codeInput('barcode1')">
+			</view>
+			<view class="item">
+				<view class="code-decs">瀹㈡埛鏍囩璧锋鐮�:</view>
+				<input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="barcode2" :focus="barcode2Focus"
+					@input="codeInput('barcode2')">
+			</view>
+			<view class="item">
+				<view class="code-decs">鐗瑰埆鏉$爜:</view>
+				<input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="barcode3" :focus="barcode3Focus"
+					@input="codeInput('barcode3')">
+			</view>
+			<view class="item">
+				<view class="code-decs">鍏朵粬鏉$爜:</view>
+				<input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="barcode4" :focus="barcode4Focus"
+					@input="codeInput('barcode4')">
 			</view>
 		</view>
 		<view class="mat-list-title">
@@ -43,15 +68,15 @@
 					<view class="list-left-item">
 						<view class="desc">鎵瑰彿锛�</view>
 						<view class="left-item">
-							<uni-tag :text="item.batch" type="warning"></uni-tag>
+							<uni-tag :text="item.model" type="warning"></uni-tag>
 						</view>
 					</view>
-					<view class="list-left-item">
+					<!-- <view class="list-left-item">
 						<view class="desc">閲嶉噺锛�</view>
 						<view class="left-item">
 							<uni-tag :text="item.weight" type="warning"></uni-tag>
 						</view>
-					</view>
+					</view> -->
 					<view class="list-left-item">
 						<view class="desc">鏁伴噺锛�</view>
 						<view class="left-item">{{item.anfme}}</view>
@@ -82,14 +107,14 @@
 								style="background-color: #f7f7f7;padding: 0;color: #d5d5d5;">
 						</view>
 					</view>
-					<!-- <view class="popup-item">
-						<view class="popup-item-left">鎵瑰彿:</view>
-						<view class="popup-item-right"><input type="text" v-model="batch"></view>
-					</view> -->
 					<view class="popup-item">
+						<view class="popup-item-left">鎵瑰彿:</view>
+						<view class="popup-item-right"><input type="text" v-model="model"></view>
+					</view>
+					<!-- <view class="popup-item">
 						<view class="popup-item-left">閲嶉噺:</view>
 						<view class="popup-item-right"><input type="text" v-model="weight"></view>
-					</view>
+					</view> -->
 					<view class="popup-item">
 						<view class="popup-item-left">鏁伴噺:</view>
 						<view class="popup-item-right" style="border: none;justify-content: center;">
@@ -141,11 +166,16 @@
 				baseUrl: '',
 				token: '',
 				barcode: '',
+				asBarcode: '',
+				barcode1: '',
+				barcode2: '',
+				barcode3: '',
+				barcode4: '',
 				dataList: [],
 				count: 0,
 				rowNum: '',
 				matnr: '',
-				batch: '',
+				model: '',
 				weight: '',
 				msgType1: 'success',
 				msgType: 'success',
@@ -153,6 +183,11 @@
 				title: '',
 				content: '',
 				barcodeFocus: true,
+				asBarcodeFocus: false,
+				barcode1Focus: false,
+				barcode2Focus: false,
+				barcode3Focus: false,
+				barcode4Focus: false,
 				matFocus: false,
 				matData: '',
 				removeNum: 0,
@@ -184,8 +219,44 @@
 						this.barcodeFocuss()
 						return;
 					}
+					this.asBarcodeFocuss()
+				}, 200)
+			},
+			asBarcodeInput() {
+				this.asBarcode = this.asBarcode.replace(/\s+/g, '')
+				setTimeout(() => {
+					var len = this.asBarcode.length
+					if (this.checkCode(this.asBarcode)) {
+						// && this.asBarcode.length != 8
+						
+						uni.showToast({
+							title: 'AS400鏈夎璇烽噸璇�',
+							icon: "none",
+							position: 'top'
+						});
+						this.asBarcodeFocuss()
+						return;
+					}
 					this.focuss()
 				}, 200)
+			},
+			checkCode(code) {
+				// console.log(this.isNum(code.substring(0, 1)))
+				// console.log(!this.isNum(code.substring(1, 2)))
+				// console.log(code.length == 8,code.length)
+				let flag = true
+				if (code.substring(0, 2) == 'PM' ) {
+					flag = false
+				} else if (
+					this.isNum(code.substring(0, 1)) 
+					&& !this.isNum(code.substring(1, 2)) 
+					&& code.length == 8 ) {
+					flag = false
+				}
+				return flag
+			},
+			isNum(value) {
+				return typeof value === 'string' ? /^\d+$/.test(value) : typeof value === 'number' && !isNaN(value);
 			},
 			// 鎵樼洏鐮佹湁璇噸缃�
 			barcodeFocuss() {
@@ -196,13 +267,47 @@
 					that.barcodeFocus = true;
 				}, 100);
 			},
+			// 鎵樼洏鐮佹湁璇噸缃�
+			asBarcodeFocuss() {
+				let that = this;
+				that.asBarcodeFocus = false;
+				setTimeout(() => {
+					that.asBarcode = '';
+					that.asBarcodeFocus = true;
+				}, 100);
+			},
 			// 鍟嗗搧鍏夋爣娓呯┖閲嶇疆
 			focuss() {
-				this.focus = false;
+				this.matFocus = false;
 				setTimeout(() => {
 					this.matnr = '';
 					this.matFocus = true;
-				}, 100);
+				}, 200);
+			},
+			codeInput(code) {
+				switch (code) {
+					case "barcode1": 
+						this.barcode1Focus = false;
+						setTimeout(() => {
+							this.barcode2Focus = true;
+						}, 100);
+						break;
+					case "barcode2":
+						this.barcode2Focus = false;
+						setTimeout(() => {
+							this.barcode3Focus = true;
+						}, 100);
+						break;
+					case "barcode3":
+						this.barcode3Focus = false;
+						setTimeout(() => {
+							this.barcode4Focus = true;
+						}, 100);
+						break;
+					case "barcode4":
+						this.barcode4Focus = false;
+						break;
+				}
 			},
 			// 鎼滅储鐗╂枡
 			findMat() {
@@ -220,7 +325,6 @@
 						if (result.code === 200 && result.data) {
 							that.matData = result.data
 							that.matnr = ''
-							that.matData['batch'] = ''
 							uni.navigateTo({
 								url: "../mat/matSelected",
 								// 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹�
@@ -237,9 +341,9 @@
 									},
 								},
 							});
-						} else if (res.code == 403) {
+						} else if (result.code == 403) {
 							uni.showToast({
-								title: res.msg,
+								title: result.msg,
 								icon: "none",
 								position: 'top'
 							})
@@ -250,7 +354,7 @@
 							}, 1000);
 						} else {
 							uni.showToast({
-								title: res.msg,
+								title: result.msg,
 								icon: "none",
 								position: 'top'
 							})
@@ -288,12 +392,12 @@
 				for (var i = 0; i < len; i++) {
 					if (mat.matnr == this.dataList[i].matnr) {
 						for (var j = 0; j < len; j++) {
-							if (mat.batch == this.dataList[j].batch) {
+							if (mat.model == this.dataList[j].model) {
 								sameItem = true
 							}
 						}
 						// 鐩稿悓鐗╂枡 涓嶅悓鎵瑰彿  鏂板姞鍒楄〃
-						if (mat.batch != this.dataList[i].batch) {
+						if (mat.model != this.dataList[i].model) {
 							this.$forceUpdate() // 寮哄埗鍒锋柊
 							if (sameItem) {
 								add = false
@@ -317,7 +421,7 @@
 			revise(item, i) {
 				this.matnr = this.dataList[i].matnr
 				this.count = this.dataList[i].anfme
-				this.batch = this.dataList[i].batch
+				this.model = this.dataList[i].model
 				this.weight = this.dataList[i].weight
 				this.rowNum = i
 				this.eject()
@@ -346,7 +450,7 @@
 			},
 			reviseConfirm() {
 				this.dataList[this.rowNum].anfme = this.count
-				this.dataList[this.rowNum].batch = this.batch
+				this.dataList[this.rowNum].model = this.model
 				this.dataList[this.rowNum].weight = this.weight
 				this.matnr = ''
 				this.messageText = "淇敼鎴愬姛"
@@ -376,6 +480,11 @@
 					this.messageToggle('error')
 					return;
 				}
+				if (that.asBarcode === '') {
+					this.messageText = "璇锋壂鎻廇S400鏉$爜"
+					this.messageToggle('error')
+					return;
+				}
 				if (that.dataList.length === 0) {
 					this.messageText = "璇锋坊鍔犲晢鍝佸垪琛�"
 					this.messageToggle('error')
@@ -392,7 +501,12 @@
 					url: that.baseUrl + '/mobile/comb/auth',
 					data: JSON.stringify({
 						barcode: that.barcode,
-						combMats: that.dataList
+						asBarcode: that.asBarcode,
+						combMats: that.dataList,
+						code1: that.barcode1,
+						code2: that.barcode2,
+						code3: that.barcode3,
+						code4: that.barcode4
 					}),
 					method: 'POST',
 					header: {
@@ -404,6 +518,9 @@
 							that.resst();
 							that.messageText = "缁勬墭鎴愬姛"
 							that.messageToggle('success')
+							const innerAudioContext = uni.createInnerAudioContext();
+							innerAudioContext.src = '/static/music/pakinOk.mp3';
+							innerAudioContext.play()
 						} else if (res.code == 403) {
 							that.messageText = res.msg
 							that.messageToggle('error')
@@ -428,7 +545,13 @@
 			// 纭閲嶇疆
 			resetConfirm() {
 				this.dataList = []
+				this.asBarcode = ''
+				this.barcode1 = ''
+				this.barcode2 = ''
+				this.barcode3 = ''
+				this.barcode4 = ''
 				this.messageText = "閲嶇疆瀹屾垚"
+				this.barcodeFocuss()
 				this.messageToggle('success')
 			},
 			// 鍙栨秷閲嶇疆
@@ -439,6 +562,11 @@
 			resst() {
 				this.dataList = []
 				this.barcode = ''
+				this.asBarcode = ''
+				this.barcode1 = ''
+				this.barcode2 = ''
+				this.barcode3 = ''
+				this.barcode4 = ''
 				this.barcodeFocuss()
 			},
 		}
@@ -450,33 +578,38 @@
 
 	.code {
 		width: 100%;
-		position: fixed;
+		/* position: fixed; */
 		min-height: 200rpx;
 		background-color: #FFF;
-		z-index: 10;
+		z-index: 99;
 	}
-
+	.list:first-child {
+		margin-top: 20rpx;
+	}
 	.item {
 		display: flex;
 		align-items: center;
-		height: 100rpx;
+		height: 70rpx;
 		margin-left: 20rpx;
 		border-bottom: 1px solid #DCDFE6;
+	}
+	.item:last-child {
+		border: none;
 	}
 
 	.item input {
 		height: 50rpx;
 		line-height: 50rpx;
 		/* font-family: PingFang SC; uniapp 榛樿瀛椾綋涓嶅眳涓� */
-		font-size: 36upx;
+		font-size: 28upx;
 		font-family: PingFang SC;
 		width: 55vw;
 
 	}
 
 	.code-decs {
-		width: 20vw;
-		font-size: 18px;
+		/* width: 20vw; */
+		font-size: 14px;
 		color: #303133;
 	}
 
@@ -490,11 +623,11 @@
 		line-height: 80rpx;
 		width: 100%;
 		background-color: white;
-		position: fixed;
-		margin-top: 200rpx;
+		/* position: fixed; */
+		/* margin-top: 500rpx; */
 		z-index: 9;
 		/* border-top: 1px solid #DCDFE6; */
 		text-align: center;
-		box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.5);
+		box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.2);
 	}
 </style>

--
Gitblit v1.9.1