From 4aa1546dda1adf637a8d612c6dc0a535532294b4 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期一, 17 四月 2023 12:28:56 +0800
Subject: [PATCH] #

---
 pages/basics/outPakin.vue |  463 +++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 408 insertions(+), 55 deletions(-)

diff --git a/pages/basics/outPakin.vue b/pages/basics/outPakin.vue
index 3efc5b4..6ac8342 100644
--- a/pages/basics/outPakin.vue
+++ b/pages/basics/outPakin.vue
@@ -22,10 +22,19 @@
 				<view class="square-content">
 					<view class="content-input">
 						<input v-model="matnrId" type="text" placeholder="鎵爜 / 杈撳叆" @input="findMat()"
-						:focus="focus">
+						:focus="focus"@focus="empty()">
 						 <!-- :focus="focus" @blur="clear "> -->
 						<!-- @focus="focuss" -->
 						<uni-icons type="closeempty" size="20" color="#dadada" @click="foucss()"></uni-icons>
+					</view>
+				</view>
+			</view>
+			<view class="square-1">
+				<view class="square-title" style="display: flex;">
+					<view class="title-sign"><view class="sign"></view></view>
+					<view class="title-text" style="width: 200rpx;"><text>鎷ユ湁鑰�</text></view>
+					<view style="margin: auto auto;">
+						<uni-combox :candidates="ownerList" placeholder="璇烽�夋嫨鎷ユ湁鑰�" v-model="owner"></uni-combox>
 					</view>
 				</view>
 			</view>
@@ -41,11 +50,12 @@
 			<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">
-						<view class="matnr">No:{{listLen-index}}</view>
+						<view class="matnr">No:{{listLen-index}} <text style="margin-left: 4em;font-size: 10px;">{{item.memo}}</text></view>
 						<view class="matnr">{{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>
+						<label><uni-icons type="compose" size="20" color="#a5a5a5" @click="revise(item,index)"></uni-icons></label>
+						<label style="margin-left: 10%;"><uni-icons type="trash" size="21" color="#a5a5a5" @click="remove(item,index)"></uni-icons></label>
 					</view>
 				</view>
 			</checkbox-group>
@@ -64,6 +74,50 @@
 				<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>
+		
+		<!-- 寮圭獥 -->
+		<!-- 淇敼鏁伴噺 -->
+		<uni-popup ref="revise" background-color="#fff">
+			<view class="revise-box ">
+				<view class="revise-box-top">
+					<view class="color-block-blue"></view>
+					<text class="title">淇敼</text>
+				</view>
+				<view class="" style="position: relative;left: 40px;margin-bottom: 20px;">
+					<text style="display: inline-block;float: left;width: 45px;line-height: 21px;height: 21px;">缈诲寘锛�</text>
+					<input type="text" style="width: 100px;border-bottom: 1px solid #9e9e9e;float: left;" v-model="memo">
+				</view>
+				<view class="revise-box-buttom">
+					<view>
+						<button class="cu-btn bg-blue" @click="confirm()">纭</button>
+					</view>
+				</view>
+			</view>
+		</uni-popup>
+
 	</view>
 </template>
 
@@ -72,6 +126,7 @@
 	export default {
 		data() {
 			return {
+				commonUrl:null,
 				barcode: '',
 				barcodeFocus:true,
 				focus:false,
@@ -85,6 +140,17 @@
 				listLen:0,
 				msgType: 'success',
 				messageText: '杩欐槸涓�鏉℃垚鍔熸彁绀�',
+				origins: [{value:'1288'},{value:'5055'}],
+				origin: null, // 浠撳簱
+				current: 0,
+				isNum:false,
+				memo:'',
+				hide:true,
+				ownerList: [],
+				ownerList2: '',
+				owner: '浜氬拰',
+				ownerId: 2
+				
 			}
 		},
 		mounted(){
@@ -92,33 +158,139 @@
 			this.baseIP = UIP;
 			const UPORT = uni.getStorageSync('UPORT');
 			this.basePORT = UPORT
+			const PROJ = uni.getStorageSync('UPROJ');
+			this.baseUrl = PROJ
+			this.getUrl()
+			this.getOwner()
 		},
 		onLoad() {
+			// #ifdef APP
 			setInterval(()=>{
-				uni.hideKeyboard()
+				if (this.hide) {
+					uni.hideKeyboard()
+				} else {
+					
+				}
 			},20)
+			// #endif
 		},
 		methods: {
+			// 鑾峰彇url
+			getUrl() {
+				this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePORT + "/" +this.baseUrl
+			},
+			getOwner() {
+				let that = this
+				uni.request({
+					url: that.commonUrl + '/locOwner/list/auth',
+					header: {'token':uni.getStorageSync('token')},
+					success(result) {
+						for (var i = 0; i < result.data.data.records.length; i++) {
+							if(result.data.data.records[i].id == 1){
+								break
+							}
+							that.ownerList.push(result.data.data.records[i].owner)
+						}
+						that.ownerList2 = result.data.data.records
+					}
+					
+				})
+				setTimeout(()=>{
+					
+				},100)
+			},
+			getOwnerId(owner) {
+				
+				for (var key in this.ownerList2) {
+					if (this.ownerList2[key].owner == owner) {
+						this.ownerId = this.ownerList2[key].id
+					}
+				}
+			},
+			radioChange(evt) {
+				for (let i = 0; i < this.origins.length; i++) {
+					if (this.origins[i].value === evt.detail.value) {
+						this.current = i;
+						break;
+					}
+				}
+			},
+			// 纭鍑哄簱鍙�
+			check() {
+				let that = this
+				if (this.current == 0) {
+					this.origin = 1288
+				} else {
+					this.origin = 5055
+				}
+				this.$refs.checkOrigin.close()
+				uni.request({
+				    url: that.commonUrl + '/mobile/comb/auth',
+				    data: JSON.stringify({
+						barcode: that.barcode,
+						origin: that.origin,
+						owner: 2,
+						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
+							});
+							that.barcode = '';
+							that.matList = '';
+							that.matList = [];
+							that.owner = '';
+							that.barcodeFocuss();
+						} 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'})
+						}
+					}
+				});
+			},
 			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 = ''
@@ -132,6 +304,7 @@
 				this.matnrId = '';
 				this.matList = [];
 				this.barcode = '';
+				this.owner = ''
 				this.barcodeFocuss();
 			},
 			removeBarcode() {
@@ -158,52 +331,121 @@
 					uni.showToast({title: '璇锋坊鍔犲晢鍝佸垪琛�', icon: "none", position: 'top'});
 					return;
 				}
-				uni.showLoading();
+				that.$refs.checkOrigin.open()
+				this.getOwnerId(that.owner)
+			},
+			// 杈撳叆鐨勪笉鏄暟瀛楃殑鎺掗櫎
+			checkNum(theObj) {
+				var reg = /^[0-9]*$/;
+				if (!reg.test(theObj)) {
+					this.isNum = false;
+					return ;
+				}
+				var year = theObj.substring(0,2)
+				//鑾峰彇褰撳墠骞翠唤
+				var dt = new Date();
+				var thisYear = new Date().getFullYear() + ''
+				thisYear = thisYear.substring(2,4)
+				if(year > thisYear) {
+					this.isNum = false;
+					return ;
+				}
+				this.isNum = true;
+			},
+			// 娣诲姞鎵弿鏃ュ織
+			addLog(matCode,userName) {
+				
+				let that = this;
 				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: {
+					url: that.commonUrl + "/mobile/addLog/auth",
+					data: {
+						matcode:matCode,
+						username:userName
+					},
+					header: {
 						'token':uni.getStorageSync('token')
-				    },
+					},
+					// method:"POST",
 					success(result) {
-						uni.showLoading();
 						var res = result.data
-						if (res.code === 200) {
-							uni.showToast({
-								title: res.msg,
-								position: 'bottom',
-								duration: 1000
-							});
-							that.barcode = '';
-							that.matList = '';
-							that.matList = [];
-							that.barcodeFocuss();
-						} 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'})
+						if(res.code === 200) {
+							// uni.showToast({title: "娣诲姞鎴愬姛", icon: "none",position: 'center'})
 						}
 					}
-				});
+				})
+				
 			},
+			// 妫�绱㈠晢鍝�
 			findMat() {
 				let that = this
+				let userName = uni.getStorageSync('HCuname')
+				let matCode = that.matnrId
+				// 寮�鍚壂鎻忔棩蹇�
+				that.addLog(matCode,userName)
+				// that.foucss();
+				// return;
+				if(that.matList.length > 15) {
+					that.messageToggle('warn');
+					that.messageText = '缁勬墭鍟嗗搧鏁伴噺宸茶秴杩�16浠讹紝璇峰畬鎴愬綋鍓嶇粍鎵�';
+					that.foucss();
+					return;
+				}
+				if (that.matnrId.length > 25){
+					that.messageToggle('warn');
+					that.messageText = '鍟嗗搧缂栫爜瓒呴暱锛岃閲嶈瘯';
+					that.foucss();
+					return;
+				}
 				let str = that.matnrId.split('-')
 				let matnr = str[0] + '-' + str[1]
-				uni.showLoading();
+				// 妫�鏌ユ潯鐮佷腑闈炴暟瀛�
+				that.checkNum(str[2])
+				// 妫�鏌ュ簭鍒楃爜闀垮害
+				if (str[2].length != 11) {
+					that.messageToggle('warn');
+					that.messageText = '鍟嗗搧搴忓垪鐮侀暱搴︽湁璇紝璇烽噸璇曪紒';
+					that.foucss();
+					return;
+				}
+				// 妫�鏌ュ勾浠�
+				var dt = new Date();
+				var year = (dt.getFullYear() + '').substring(2,4)
+				var month = (dt.getMonth()+1) < 10 ? '0'+ (dt.getMonth()+1) : (dt.getMonth()+1);
+				if (str[2].substring(0,2) > year) {
+					that.messageToggle('warn');
+					that.messageText = '鍟嗗搧搴忓垪鐮佸勾浠芥湁璇紝璇烽噸璇曪紒';
+					that.foucss();
+					return;
+				}
+				// 妫�鏌ユ湀浠� 
+				if (str[2].substring(2,4) > 12) {
+					that.messageToggle('warn');
+					that.messageText = '鍟嗗搧搴忓垪鐮佹湀浠芥湁璇紝璇烽噸璇曪紒';
+					that.foucss();
+					return;
+				}
+				if (str)
+				if (that.isNum == false) {
+					that.messageToggle('warn');
+					that.messageText = '鍟嗗搧缂栫爜鏈夎锛岃閲嶈瘯锛�';
+					that.foucss();
+					return;
+				}
+				for (let k = 0; k < that.matList.length;k++) {
+					if (that.matList[k].matnr != matnr) {
+						that.messageToggle('warn');
+						that.messageText = '鍟嗗搧绉嶇被涓嶄竴鑷达紝璇烽噸璇曪紒';
+						that.foucss();
+						return;
+					}
+				}
+				
+				// return;
+				// uni.showLoading();
 				uni.request({
-				    url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mat/auth',
+				    url: that.commonUrl + '/barcode/check/auth',
 				    data: {
-						matnr:matnr
+						barcode:that.matnrId
 				    },
 				    header: {
 						'token':uni.getStorageSync('token')
@@ -255,6 +497,30 @@
 			change(e) {
 				console.log('褰撳墠妯″紡锛�' + e.type + ',鐘舵�侊細' + e.show);
 			},
+			revise(item,index) {
+				this.memo = this.matList[index].memo
+				// var maxCount = this.matList[index].maxCount
+				// if (maxCount == undefined ) {
+				// 	this.matList[index]["maxCount"] = item.enableQty
+				// } 
+				// this.enableQty = item.enableQty
+				// this.count = this.minCount
+				// this.maxCount = item.maxCount
+				this.rowNum = index
+				this.eject()
+			},
+			eject(type) {
+				this.hide = false
+				this.type = type
+				// open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦� uni-popup 缁勪欢涓婄粦瀹� type灞炴��
+				this.$refs.revise.open(type)
+			},
+			confirm() {
+				this.matList[this.rowNum].memo = this.memo 
+				this.hide = true
+				this.$refs.revise.close()
+				this.$forceUpdate() // 寮哄埗鍒锋柊
+			},
 			
 		}
 	}
@@ -266,24 +532,109 @@
 	/* @import "../../colorui/main.css";
 	@import "../../colorui/icon.css"; */
 	/* 
-	1101842-10000-22047515999
-	1101842-10000-22047518494
-	1101842-10000-22047518532
-	1101842-10000-22047515990
-	1101842-10000-22047515997
-	1101842-10000-22047518515
-	1101842-10000-22047515778
-	1101842-10000-22047515938
-	1101842-10000-22047518518
-	1101842-10000-22047518517
-	1101842-10000-22047515967
-	1101842-10000-22047518472
-	1101842-10000-22047518516
-	1101842-10000-22047518511
-	1101842-10000-22047515864
-	1101842-10000-22047515889
-	 */
 	
+	 */
+	.revise-box {
+		position: relative;
+		width: 500rpx;
+		height: 400rpx;
+		border-radius: 25px;
+	}
+	.revise-box-top {
+		width: 400rpx;
+		height: 120rpx;
+		border-radius: 25px;
+	}
+	.changeBox {
+		width: 400rpx;
+		height: 100rpx;
+	}
+	.num-box {
+		margin-left: 100rpx;
+	}
+	.revise-box-buttom{
+		margin-left: 190rpx;
+		margin-top: 200rpx;
+	}
+	.pak-seach-box {
+		background-color: #FFFFFF;
+		margin: 15rpx 15rpx 0rpx 15rpx;
+		width: 96%;
+		height: 150rpx;
+		border-radius: 20rpx;
+	}
+	.box-top{
+		display: block;
+		height: 60rpx;
+		width: 720rpx;
+	}
+	.color-block-blue {
+		background-color: #1E9FFF;
+		display: inline-block;
+		float: left;
+		margin: 15rpx 15rpx 0 15rpx;
+		width: 12rpx;
+		height: 40rpx;
+		border: 5rpx solid #1E9FFF;
+		border-radius: 20rpx;
+	}
+	.title {
+		display: inline-block;
+		float: left;
+		font-size: 34rpx;
+		font-weight: 700;
+		height: 50rpx;
+		line-height: 50rpx;
+		margin-top: 10rpx;
+	}
+	.box-buttom {
+		display: inline-block;
+		background-color: #ededed;
+		width: 65%;
+		height: 60rpx;
+		border-radius: 20rpx;
+		margin: 15rpx 15rpx 0rpx 15rpx;
+	}
+	.box-buttom input {
+		width: 75%;
+		float: left;
+		margin: 8rpx 10rpx 0rpx 25rpx;
+	}
+	.box-buttom .search-icon{
+		width: 60rpx;
+		height: 60rpx;
+		float: right;
+		margin-top: 5rpx;
+		margin-right: 10rpx;
+	}
+	/* .pak-seach-box input {
+		background-color: #ededed;
+		border: 1rpx solid #d8d8d8;
+		display: inline-block;
+		border-radius: 20rpx;
+		float: left;
+		width: 70%;
+		height: 60rpx;
+		line-height: 60rpx;
+		margin: 15rpx 15rpx 0rpx 15rpx;
+		padding-left: 20rpx;
+	} */
+	.pak-seach-box button {
+		background-color: #1E9FFF;
+		color: #ffffff;
+		display: inline-block;
+		float: right;
+		width: 180rpx;
+		height: 60rpx;
+		margin: 15rpx 15rpx 0rpx 15rpx;
+		line-height: 60rpx;
+	}
+	
+	.pop-btn {
+		position: absolute;
+		width: 100%;
+		bottom: 20rpx;
+	}
 	.pak-seach-box {
 		background-color: #FFFFFF;
 		margin: 15rpx 15rpx 0rpx 15rpx;
@@ -417,6 +768,8 @@
 		float: right;
 		height: 130rpx;
 		line-height: 130rpx;
-		margin-right: 10%;
+		margin-right: 2%;
+		width: 20%;
 	}
+	
 </style>
\ No newline at end of file

--
Gitblit v1.9.1