From ea92a004d52ce8a49356d8cf81152f565bae71b7 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期三, 01 二月 2023 09:44:14 +0800
Subject: [PATCH] #

---
 pages/basics/stockCheckv2.vue |  462 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 pages.json                    |    9 +
 2 files changed, 471 insertions(+), 0 deletions(-)

diff --git a/pages.json b/pages.json
index 91571fa..885d263 100644
--- a/pages.json
+++ b/pages.json
@@ -202,6 +202,15 @@
 		        "enablePullDownRefresh": false
 				
 		    }
+		},
+		{
+		    "path" : "pages/basics/stockCheckv2",
+		    "style" :                                                                                    
+		    {
+		        "navigationBarTitleText": "琛ヨ揣",
+		        "enablePullDownRefresh": false
+				
+		    }
 		}
 		
 		
diff --git a/pages/basics/stockCheckv2.vue b/pages/basics/stockCheckv2.vue
new file mode 100644
index 0000000..bc4de88
--- /dev/null
+++ b/pages/basics/stockCheckv2.vue
@@ -0,0 +1,462 @@
+<template>
+	<view>
+		<scroll-view scroll-y>
+			<!-- <view class="pak-seach-box">
+				<view class="box-top">
+					<view class="color-block-blue"></view>
+					<text class="title">閫夋嫨绔欏彴</text>
+				</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" @input="search" 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="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-btn">
+						<input v-model="matnr" type="text" placeholder="鎵爜 / 杈撳叆" @input="findMat()"
+						:focus="focus" placeholder-style="line-height:  85rpx;">
+						<uni-icons type="closeempty" size="20" color="#dadada" @click="removeMatnr()"></uni-icons>
+					</view>
+					<view class="content-btn">
+						<button class="cu-btn bg-blue pda-btn" @click="selectMat()">+鎻愬彇</button>
+					</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.specs}}</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>
+		<!-- <y-pop v-model="count" title="淇敼" :max="9999999" :show="show"></y-pop> -->
+		<view>
+			<!-- 淇敼鏁伴噺 -->
+			<uni-popup ref="revise" @change="change">
+				<view class="revise-box">
+					<view class="revise-box-top">
+						<view class="color-block-blue"></view>
+						<text class="title">淇敼</text>
+					</view>
+					<view class="change">
+						<view class="text-box">
+							<text>鏁伴噺锛歿{enableQty}}</text>
+						</view>
+						<view class="changeBox">
+							<view class="num-box">
+								<uni-number-box v-model="count" :min="minCount" :max="99999999" color="#747474"  @change="changeValue"/>
+							</view> 
+						</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 {
+				commonUrl:null,
+				matList:[],
+				staNoList:[],
+				barcode: '',
+				staNo:'',
+				matnr:'',
+				enableQty:'',
+				count:15,
+				maxCount:'',
+				minCount:0,
+				rowNum:'',
+				show: false,
+				focus: false,
+				
+			}
+		},
+		mounted(){
+			const UIP = uni.getStorageSync('UIP');
+			this.baseIP = UIP;
+			const UPORT = uni.getStorageSync('UPORT');
+			this.basePORT = UPORT
+			const PROJ = uni.getStorageSync('UPROJ');
+			this.baseUrl = PROJ
+			this.getUrl()
+		},
+		methods: {
+			// 鑾峰彇url
+			getUrl() {
+				this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePORT + "/" +this.baseUrl
+			},
+			// 鏍规嵁鎵樼洏鐮佹悳绱�
+			search() {
+				let that = this
+				uni.request({
+					url: that.commonUrl + '/mobile/checkDetl/auth2',
+					header: {
+						'token':uni.getStorageSync('token')
+					},
+					data: {barcode: that.barcode},
+					method:'GET',
+					success(result) {
+						let res = result.data
+						if(res.code === 200){
+							for(var i = 0; i < res.data.length;i++){
+								that.matList.push(res.data[i])
+							}
+						} 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'})
+						}
+					}
+					
+				})
+			},
+			selectMat() {  // 閫夋嫨鍟嗗搧
+				let that = this
+				uni.vibrateShort();
+				uni.navigateTo({
+					url: "matSelect",
+					events: {
+					    // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹�  鍙﹀涓�涓〉闈紶杩囨潵鐨�
+					    acceptDataFromOpenedPage: function(data) {
+							that.matnr = data.data
+							that.findMat(that.matnr)
+							that.matnr = ''
+					    },
+					},
+					success: function(res) {
+					    // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹�   鍚戝彟澶栦竴涓〉闈紶閫掑�肩殑
+					    res.eventChannel.emit('commonUrl', {commonUrl:that.commonUrl })
+					},
+					
+				});
+				
+			}, // selectMat
+			findMat() {
+				let that = this
+				uni.request({
+				    url: that.commonUrl + '/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.checkMat(data.data)
+								    },
+								  },
+								  success: function(res) {
+								    // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹�
+								    res.eventChannel.emit('matData', { data: that.matData })
+								  }
+							});
+						}
+						
+					}
+				});
+			}, // findMat
+			removeMatnr() {
+				this.matnr = ''
+				uni.vibrateShort();
+				this.focus = false;
+				this.$nextTick(function() {
+					this.focus = true;
+				});
+			},
+			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.count = this.matList[index].anfme
+				this.rowNum = index
+				this.eject()
+				// this.show = true
+			}, 
+			remove(item,index) {
+				this.matList[index].anfme = 0
+				uni.vibrateShort();
+				this.$forceUpdate() // 寮哄埗鍒锋柊
+			},
+			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()
+				this.$forceUpdate() // 寮哄埗鍒锋柊
+			},
+			resst() {
+				this.matList = []
+				this.staNo = ''
+			},
+			// 娣诲姞鍟嗗搧
+			addMat(mat) {
+				this.matList.unshift(mat)
+			},
+			checkMat(mat) {
+				var len = this.matList.length
+				var add = true
+				for (var i = 0; i < len; i++) {
+					if (mat.matnr == this.matList[i].matnr) {
+						this.matList[i].anfme += mat.anfme 
+						this.$forceUpdate() // 寮哄埗鍒锋柊
+						add = false
+					}
+				}
+				if (add) {
+					this.matList.unshift(mat)
+				}
+			},
+			adjust() {
+				let that = this
+				var combMats = []
+				var combParam = {}
+				combParam['barcode'] = that.barcode
+				combParam['wrkDetls'] = that.matList
+				uni.request({
+					url: that.commonUrl + '/mobile/adjustNew/v2/auth',
+					method: 'POST',
+					data: JSON.stringify(combParam),
+					header: {
+						'token':uni.getStorageSync('token')
+					},
+					success(result) {
+						var res = result.data
+						if (res.code === 200) {
+							that.matList = []
+							that.barcode = ''
+							uni.showToast({title: res.msg, icon: "none", position: 'top'})
+						} 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>
+	.revise-box {
+		width: 500rpx;
+		height: 300rpx;
+		display: flex;
+		flex-direction: column;
+		border-radius: 20rpx;
+		background-color: #F1F1F1;
+	}
+	.change {
+		height: 150rpx;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+	}
+	.revise-box-buttom {
+		display: flex;
+		align-items: center;
+		justify-content: center;
+	}
+	.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;
+	}
+	
+	.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: 230rpx;
+		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: 230rpx;
+		line-height: 230rpx;
+	}
+	.data-list-right label {
+		display: inline-block;
+		float: left;
+		width: 100rpx;
+		height: 180rpx;
+	}
+</style>
\ No newline at end of file

--
Gitblit v1.9.1