From 0dfcb8bfb508cbe160071509a0ee71a327e5207f Mon Sep 17 00:00:00 2001
From: whycq <whycq>
Date: 星期三, 29 六月 2022 08:18:06 +0800
Subject: [PATCH] #

---
 pages/basics/stockCheck.vue |  401 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 384 insertions(+), 17 deletions(-)

diff --git a/pages/basics/stockCheck.vue b/pages/basics/stockCheck.vue
index f45e227..096e13e 100644
--- a/pages/basics/stockCheck.vue
+++ b/pages/basics/stockCheck.vue
@@ -1,34 +1,401 @@
 <template>
 	<view>
-		<view class="cu-form-group margin-top">
-			<view class="title">鍑哄簱鍙�</view>
-			<picker @change="PickerChange" :value="index" :range="picker">
-				<view class="picker">
-					{{index>-1?picker[index]:'璇烽�夋嫨'}}
+		<scroll-view scroll-y>
+			<view class="pak-seach-box">
+				<view class="box-top">
+					<view class="color-block-blue"></view>
+					<text class="title">閫夋嫨绔欏彴</text>
 				</view>
-			</picker>
-			<button></button>
-		</view>
+				<view>
+					<text class="item">鍑哄簱鍙�</text>
+					<view class="example-body">
+						<uni-combox @input="getCheckDetl" emptyTips="鏆傛棤鏁版嵁" :candidates="staNoList" v-model="staNo" placeholder="璇烽�夋嫨"></uni-combox>
+					</view>
+				</view>
+			</view>
+			
+			<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="square-content">
+					<view class="content-input">
+						<input v-model="barcode" type="text" placeholder="鎵爜 / 杈撳叆" maxlength="8"placeholder-style="line-height:  85rpx;">
+						<uni-icons type="closeempty" size="20" color="#dadada" @click="removeBarcode" ></uni-icons>
+					</view>
+				</view>
+			</view>
+			<view class="pak-data-box">
+				<view class="box-top">
+					<view class="color-block-blue"></view>
+					<text class="title">鍟嗗搧鍒楄〃</text>
+					<!-- <button class="cu-btn bg-blue" @click="selectMat()">+ 娣诲姞</button> -->
+				</view>
+			</view>
+			<view class="pak-data-box"  v-show="matList.length === 0">
+				<view style="text-align: center;">鏆傛棤鏇村鏁版嵁</view>
+			</view>
+			<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"><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>
+					<view class="data-list-right">
+						<label><uni-icons type="compose" size="20" color="#a5a5a5" @click="revise(item,index)"></uni-icons></label>
+						<label><uni-icons type="trash" size="25" color="#a5a5a5" @click="remove(item,index)"></uni-icons></label>
+					</view>
+				</view>
+			</checkbox-group>
+			<view class="footer flex justify-around">
+				<view>
+					<button class="cu-btn lg" @click="resst()">閲嶇疆</button>
+				</view>
+				<view>
+					<button class="cu-btn lg pakin-btn bg-blue" @click="adjust()">纭</button>
+				</view>
+			</view>
+		</scroll-view>
 		<view>
-			<button class="cu-btn bg-yellow pda-btn">纭</button>
-			<button class="cu-btn bg-grey pda-btn">閲嶇疆</button>
+			<!-- 淇敼鏁伴噺 -->
+			<uni-popup ref="revise" background-color="#fff" @change="change">
+				<view class="revise-box">
+					<view class="revise-box-top">
+						<view class="color-block-blue"></view>
+						<text class="title">缁勬墭鏁伴噺</text>
+					</view>
+					<view class="text-box">
+						<text>鍙粍鏁伴噺锛歿{enableQty}}</text>
+					</view>
+					<view class="changeBox">
+						<view class="num-box">
+							<uni-number-box v-model="count" :min="minCount" :max="maxCount" color="#747474"  @change="changeValue"/>
+						</view> 
+					</view>
+					<view class="revise-box-buttom">
+						<view>
+							<button class="cu-btn bg-blue" @click="confirm()">纭</button>
+						</view>
+					</view>
+					
+				</view>
+			</uni-popup>
 		</view>
 	</view>
 </template>
-
 <script>
 	export default {
 		data() {
 			return {
-				picker: ['+琛ュ厖', '姹豹姹�', '鍝煎敡鍝煎敡'],
+				matList:[],
+				staNoList:[],
+				barcode: '',
+				staNo:'',
+				matnr:'',
+				enableQty:'',
+				count:'',
+				maxCount:'',
+				minCount:0,
+				rowNum:''
 			}
 		},
+		mounted(){
+			const UIP = uni.getStorageSync('UIP');
+			this.baseIP = UIP;
+			const UPORT = uni.getStorageSync('UPORT');
+			this.basePORT = UPORT
+			this.getOutBound();
+		},
 		methods: {
-			
-		}
-	}
+			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
+						} 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'})
+						}
+					},
+				});
+			}, // getOutBound
+			getCheckDetl() {   // 鑾峰彇鍑哄簱鍙h揣鐗╀俊鎭�
+				let that = this
+				uni.request({
+					url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/checkDetl/auth',
+					method: 'POST',
+					data: {
+						staNo:that.staNo
+					},
+					header: {
+						'token':uni.getStorageSync('token')
+					},
+					success(result) {
+						var res = result.data
+						console.log(result)
+						if (res.code === 200) {
+							console.log(res.data)
+						} 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
+			selectMat() {  // 閫夋嫨鍟嗗搧
+				let that = this
+				uni.vibrateShort();
+				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 = ''
+			}, // selectMat
+			findMat() {
+				let that = this
+				uni.request({
+				    url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mat/auth',
+				    data: {
+						matnr:that.matnr
+				    },
+				    header: {
+						'token':uni.getStorageSync('token')
+				    },
+					success(result) {
+						uni.vibrateShort();
+						let res = result.data
+						if (res.code === 200 && res.data) {
+							that.matData = res.data
+							uni.navigateTo({
+								url: "matQuery",
+								events: {
+								    // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹�
+								    matList: function(data) {
+										that.matList.push(data.data)
+								    },
+								  },
+								  success: function(res) {
+								    // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹�
+								    res.eventChannel.emit('matData', { data: that.matData })
+								  }
+							});
+						}
+						
+					}
+				});
+			}, // findMat
+			revise(item,index) {
+				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()
+			}, 
+			remove(item,index) {
+				this.matList.splice(index,1)
+				uni.vibrateShort();
+			},
+			eject(type) {
+				this.type = type
+				// open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦� uni-popup 缁勪欢涓婄粦瀹� type灞炴��
+				this.$refs.revise.open(type)
+			},
+			change(e) {
+				// console.log('褰撳墠妯″紡锛�' + e.type + ',鐘舵�侊細' + e.show);
+			},
+			changeValue() {
+				
+			},
+			confirm() {
+				this.matList[this.rowNum].anfme = this.count
+				this.$refs.revise.close()
+			},
+			resst() {
+				this.matList = []
+				this.staNo = ''
+			},
+			adjust() {
+				let that = this
+				uni.request({
+					url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/adjust/auth',
+					method: 'POST',
+					data: {
+						combParam: that.matList
+					},
+					header: {
+						'token':uni.getStorageSync('token')
+					},
+					success(result) {
+						var res = result.data
+							console.log(result)
+						if (res.code === 200) {
+					
+						} 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'})
+						}
+					},
+				});
+			},
+			removeBarcode() {
+				this.barcode = ''
+			}
+		} // methods
+	} // exprot
 </script>
-
 <style>
+	.pak-seach-box {
+		background-color: #FFFFFF;
+		margin: 15rpx 15rpx 0rpx 15rpx;
+		width: 96%;
+		height: 200rpx;
+		border-radius: 20rpx;
+	}
+	.box-top{
+		display: block;
+		height: 80rpx;
+		width: 720rpx;
+	}
+	.color-block-blue {
+		background-color: #1E9FFF;
+		display: inline-block;
+		float: left;
+		margin: 30rpx 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: 80rpx;
+		margin-top: 10rpx;
+	}
+	.item {
+		text-indent: 1em;
+		font-size: 16px;
+		display: inline-block;
+		margin-top: 40rpx;
+	}
+	.example-body {
+		position: fixed;
+		display: inline-block;
+		margin-top: 3.5%;
+		margin-left: 5%;
+		width: 70%;
+		z-index: 999;
+	}
 	
-</style>
+	.pak-data-box {
+		background-color: #F1F1F1;
+		margin: 15rpx 15rpx 0rpx 15rpx;
+		width: 96%;
+		height: 100rpx;
+		border-radius: 20rpx;
+		line-height: 100rpx;
+	}
+	.pak-data-box>.box-top {
+		background-color: #FFFFFF;
+		height: 100rpx;
+		border-radius: 20rpx 20rpx 20rpx 20rpx;
+	}
+	.pak-data-box button {
+		background-color: #1E9FFF;
+		color: #ffffff;
+		display: inline-block;
+		float: right;
+		width: 150rpx;
+		height: 80rpx;
+		margin: 10rpx 25rpx 0rpx 0rpx;
+		line-height: 80rpx;
+	}
+	.bg-false {
+		background-color: #FFFFFF;
+	}
+	.bg-true {
+		background-color: #ebebeb;
+	}
+	.data-list {
+		border-bottom: 1px solid #d8d8d8;
+		height: 180rpx;
+		margin: 15rpx;
+		border-radius: 20rpx;
+	}
+	.data-list:first-child {
+		margin-top: 20rpx;
+	}
+	.data-list:last-child {
+		margin-bottom: 160rpx;
+	}
+	.data-list-left {
+		display: inline-block;
+		float: left;
+		margin-left: 6%;
+		height: 180rpx;
+		color: #676767;
+	}
+	.matnr {
+		padding-top: 10rpx;
+	}
+	.data-list-right {
+		display: inline-block;
+		float: right;
+		width: 200rpx;
+		height: 180rpx;
+		line-height: 180rpx;
+	}
+	.data-list-right label {
+		display: inline-block;
+		float: left;
+		width: 100rpx;
+		height: 180rpx;
+	}
+</style>
\ No newline at end of file

--
Gitblit v1.9.1