From 1cccb7eb94e678140ef536acf8bc52bd2b335f23 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期六, 14 六月 2025 20:33:26 +0800
Subject: [PATCH] #

---
 pages/basics/stockCheck.vue |  469 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 469 insertions(+), 0 deletions(-)

diff --git a/pages/basics/stockCheck.vue b/pages/basics/stockCheck.vue
new file mode 100644
index 0000000..c036b85
--- /dev/null
+++ b/pages/basics/stockCheck.vue
@@ -0,0 +1,469 @@
+<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="getCheckDetl" 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>
+							<text style="width: 400rpx;">杈呮暟閲忥細{{item.weight}}</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>
+			<!-- 淇敼鏁伴噺 -->
+			<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 {
+				commonUrl: null,
+				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
+			const PROJ = uni.getStorageSync('UPROJ');
+			this.baseUrl = PROJ
+			this.getUrl()
+			//this.getOutBound();
+		},
+		methods: {
+			// 鑾峰彇url
+			getUrl() {
+				this.commonUrl = this.baseHttp + this.baseIP + ':' + this.basePORT + "/" + this.baseUrl
+			},
+			// getOutBound() {         // 鑾峰彇鍑哄簱鍙�
+			// 	let that = this
+			// 	uni.request({
+			// 		url: that.commonUrl + '/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.commonUrl + '/mobile/checkDetl/auth/v2',
+					method: 'GET',
+					data: {
+						barcode: that.barcode
+					},
+					header: {
+						'token': uni.getStorageSync('token')
+					},
+					success(result) {
+						var res = result.data
+						console.log(result)
+						console.log(that.barcode)
+						if (res.code === 200 || res.data) {
+							console.log(res.data)
+							that.matList = res.data.wrkDetls
+						} 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.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.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() {
+				let arr = this.matList[this.rowNum].origin.split("/")
+				let mainAnfme = this.count * parseFloat(arr[1]) * parseFloat(arr[0])
+				console.log(mainAnfme);
+				this.matList[this.rowNum].anfme = mainAnfme
+				this.matList[this.rowNum].weight = this.count
+				this.$refs.revise.close()
+			},
+			resst() {
+				this.matList = []
+				this.barcode = ''
+			},
+			adjust() {
+				let that = this
+				console.log(that.matList)
+				uni.request({
+					url: that.commonUrl + '/mobile/adjust/auth',
+					method: 'POST',
+					data: {
+						wrkDetls: that.matList,
+						barcode: that.barcode
+					},
+					header: {
+						'token': uni.getStorageSync('token')
+					},
+					success(result) {
+						var res = result.data
+						console.log(result)
+						if (res.code === 200) {
+							uni.showToast({
+								title: "鐩樼偣鎴愬姛",
+								icon: "none",
+								position: 'top'
+							})
+							that.barcode = null
+							that.matList = []
+						} 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;
+		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: 220rpx;
+		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