From 8081e115c0d8ffd0dd572e02a4dfa28818ad2d5a Mon Sep 17 00:00:00 2001
From: 小小儁爺 <1694218219@qq.com>
Date: 星期一, 12 五月 2025 17:09:40 +0800
Subject: [PATCH] 1.采购入库实现35%

---
 pages/wlgl/cgrk3.vue |  483 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 483 insertions(+), 0 deletions(-)

diff --git a/pages/wlgl/cgrk3.vue b/pages/wlgl/cgrk3.vue
index e69de29..eb6da76 100644
--- a/pages/wlgl/cgrk3.vue
+++ b/pages/wlgl/cgrk3.vue
@@ -0,0 +1,483 @@
+<template>
+	<view>
+		<page-nav title="閲囪喘鍏ュ簱3"></page-nav>
+
+
+
+		<view v-if="purchorderArr.length===0">
+			<div class="sacnBody">
+				<div class="scanImg" @click="topScanClick"></div>
+				<div class="scanText">鎵弿鐗╂枡鏍囩</div>
+			</div>
+		</view>
+
+		<view v-if='purchorderArr.length!==0' class="mainContent" style="">
+			<view>
+				<u-gap height="10" bgColor="#eff0f1"></u-gap>
+				<view class="head">
+
+					<view style="max-height: 940rpx;overflow: auto;">
+
+						<view class="head" style="position: relative;">
+
+							<u-radio-group v-model="radioValue" class="flex_column">
+								<view class=" flex_column" style="width: 100%;" @click="radioValueClick(item.hbarcode)"
+									v-for="(item,index) in purchorderDetailArr" :key="item.hbarcode">
+
+
+									<view class="head_block" style="position: absolute;margin: 38rpx 0 0 0;">
+										<view class="head_left">
+											<view class="head_bar"></view>
+											<view class="head_title" style="font-weight: bold;">
+												鏍囩淇℃伅
+											</view>
+										</view>
+									</view>
+
+
+									<view class="orderNumber" :key="item.hbarcode">
+										{{(index+1).toString().padStart(2,0)}}
+									</view>
+
+									<view class="trash" v-show="purchorderDetailArr.length>1"
+										@click="trashClick(index)">
+										<u-icon name="trash" size='20'></u-icon>
+									</view>
+
+									<view v-show="purchorderDetailArr.length===1" style="width: 48rpx;height: 48rpx;">
+									</view>
+
+
+
+									<view class="flex_between marginBottom20 marginLeft20 marginTop20">
+										<view style="display: flex;">
+											<view class="flex_column titleFont">
+												<view>鐗╂枡鏍囩锛�</view>
+												<view>鏍囩鏁伴噺锛�</view>
+												<view>渚涙柟淇℃伅锛�</view>
+												<view>閲囪喘鎵规锛�</view>
+												<view>璐ㄩ噺鐘舵�侊細</view>
+											</view>
+											<view class="flex_column contentFont">
+												<view>{{item.hbarcode}}</view>
+												<view>{{item.hqty}}</view>
+												<view class="ellipsis" style="width: 460rpx;">{{item.hcustomername}}
+												</view>
+												<view>{{item.hbatchno}}</view>
+												<!-- <view>{{item.qualitystatus?item.qualitystatus:'/'}}</view> -->
+												<view v-if="item.qualitystatus===null">/</view>
+												<view v-else style="display: flex;align-items: center;">
+													<!-- 	<u-icon
+														:name="item.qualitystatus==='OK'?'checkmark-circle-fill':'close-circle-fill'"
+														:color="item.qualitystatus==='OK'?'#55ff00':'#FF0000'"
+														size="40"></u-icon>
+													<view style="margin-left: 10rpx;">
+														{{item.qualitystatus==='OK'?'鍚堟牸':'涓嶅悎鏍�'}}
+													</view> -->
+
+													<u-icon name="more-circle-fill" color="#55aaff" size="20"></u-icon>
+													<view style="margin-left: 10rpx;">
+														寰呮
+													</view>
+
+												</view>
+											</view>
+										</view>
+										<u-radio size='20' class="marginRight20" :key="item.hbarcode"
+											:name="item.hbarcode" activeColor="red"></u-radio>
+									</view>
+
+									<u-gap height="10" v-if="index!==purchorderDetailArr.length-1"
+										bgColor="#eff0f1"></u-gap>
+
+								</view>
+							</u-radio-group>
+						</view>
+
+					</view>
+
+				</view>
+			</view>
+		</view>
+
+		<!-- 		<view v-if='purchorderArr.length!==0' class="footer">
+			<view class="head_block" style="align-items: center;padding: 0 23rpx;">
+				<view class="head_left">
+					<view class="head_bar"></view>
+					<view class="head_title" style="font-weight: bold;">
+						閫夋嫨璐ㄦ鏂规
+					</view>
+				</view>
+
+				<view class="flex_center" style="margin-right: 20rpx;">
+					<view @click='sheetClick' class="custominputClass">
+
+						<view v-show='sheetValue===""' style="color: rgb(192, 196, 204);">璇烽�夋嫨</view>
+						<view v-show='sheetValue!==""' class="ellipsis" style="width: 390rpx;">
+							{{sheetValue}}
+						</view>
+
+						<u-icon :name="!sheetShow?'arrow-down-fill':'arrow-up-fill'"></u-icon>
+					</view>
+				</view>
+
+			</view>
+		</view> -->
+
+		<u-picker :show="sheetShow" :columns="columns" :itemHeight='55' :closeOnClickOverlay='true'
+			@close='sheetShow=false' @confirm='pickerConfirm' @cancel='sheetShow=false'></u-picker>
+
+
+		<view class="footer">
+
+			<u-button :disabled="!sheetValue" v-if='purchorderArr.length!==0' type="primary" size='large'
+				:hairline="true" @click="navigateTo" text="涓嬩竴姝�"></u-button>
+		</view>
+
+
+		<!-- 		<scan-code></scan-code> -->
+
+		<!-- 鎮诞鐞� -->
+		<!-- <view v-show="purchorderArr.length!==0&&!sheetShow" @click="topScanClick">
+			<drag-ball :x='$DeviceInformation.screenWidth*0.8' :y="$DeviceInformation.screenHeight*0.7"></drag-ball>
+		</view> -->
+
+
+
+		<!-- <navigator :url="'./rcjy2?item='+ encodeURIComponent(JSON.stringify(item))"> -->
+		<!-- 	<navigator :url="'./rcjy2?item='+encodeURIComponent(1)">
+		</navigator>
+ -->
+	</view>
+</template>
+
+
+<script>
+	import {
+		MesAppPurchInStorScanLabCode
+	} from '../../config/api.js';
+	// import scanCode from '@/components/scan-code/scan-code.vue'
+	const App = getApp()
+	export default {
+		// components: {
+		// 	scanCode
+		// },
+		onLoad(option) {
+
+			// if (option.length !== undefined) {
+			// 	let t1 = JSON.parse(uni.getStorageSync('purchorderArr'))
+			// 	let t2 = JSON.parse(uni.getStorageSync('purchorderDetailArr'))
+			// 	// 鏄惁鍚屾鎵规
+			// 	if (option.issyncbatch === 'true') { //鏄�
+			// 		console.log('鎵ц1')
+			// 		this.purchorderArr = t1.filter(i => {
+			// 			return !(i.hbillno === option.hbillno && i.partcode === option.partcode && i.hbatchno ===
+			// 				option.hbatchno)
+			// 		})
+			// 		this.purchorderDetailArr = t2.filter(i => {
+			// 			console.log(!(i.hbillno === option.hbillno && i.partcode === option.partcode && i
+			// 				.hbatchno ===
+			// 				option.hbatchno))
+			// 			return !(i.hbillno === option.hbillno && i.partcode === option.partcode && i.hbatchno ===
+			// 				option.hbatchno)
+			// 		})
+
+			// 	} else if (option.issyncbatch === 'false') { //鍚�
+			// 		console.log('鎵ц2')
+			// 		this.purchorderDetailArr = t2.filter(i => i.hbarcode !== option.labcode)
+			// 		this.purchorderArr = t1.filter(i => i.hbarcode !== option.labcode)
+			// 	}
+			// 	console.log('鎵ц3')
+			// 	this.radioValue = this.purchorderDetailArr[0].hbarcode
+			// 	const t = this.purchorderDetailArr.find(i => i.hbarcode === this.radioValue).hbillno
+			// 	this.purchorderObj = this.purchorderArr.find(i => i.hbillno === t)
+			// 	this.$forceUpdate()
+			// }
+
+
+
+		},
+
+		onPullDownRefresh() {
+			setTimeout(() => {
+				this.init(() => {
+					uni.stopPullDownRefresh();
+				})
+			}, 1000);
+		},
+
+		data() {
+			return {
+
+
+				// "hbillno": "DH2303311361", //鍗曟嵁缂栧彿
+				// "partcode": "102", //浜у搧缂栫爜
+				// "partname": "鍐呭瓨", //浜у搧鍚嶇О
+				// "partspec": "", //浜у搧瑙勬牸
+				// "hbarcode": "DH2303311360", //鐗╂枡鏍囩
+				// "stocktype_code": "1", //瀛樿揣绫诲瀷缂栫爜
+				// "hqty": 300.00, //鏍囩鏁伴噺
+				// "hcustomercode": "0010002", //渚涘簲鍟嗙紪鐮�
+				// "hcustomername": "钂傛.鍏嬭檹浼彂鍔ㄦ満绯荤粺锛堝父宸烇級鏈夐檺鍏徃", //渚涘簲鍟嗗悕绉�
+				// "hbatchno": "2", //閲囪喘鎵规
+				// "qualitystatus": null //璐ㄩ噺鐘舵��
+
+				purchorderObj: {},
+				purchorderArr: [
+					// {
+					// 	hbillno: 'DH2304041465',
+					// 	partcode: 'ZG-Y-001',
+					// 	partname: 'ZG鍘熸潗鏂�001',
+					// 	partspec: '#001'
+					// },
+					// {
+					// 	hbillno: 'DH2304041463',
+					// 	partcode: 'ZG-Y-002',
+					// 	partname: 'ZG鍘熸潗鏂�002',
+					// 	partspec: '#002'
+					// }
+				],
+				purchorderDetailArr: [
+					// {
+					// 	hbillno: 'DH2304041465',
+					// 	hbarcode: 'DH2304041464',
+					// 	hqty: 100,
+					// 	hcustomername: 'ZG澶栬喘渚涘簲鍟�',
+					// 	hbatchno: '#101',
+					// 	qualitystatus: 'NG'
+					// },
+					// {
+					// 	hbillno: 'DH2304041463',
+					// 	hbarcode: 'DH2304041462',
+					// 	hqty: 400,
+					// 	hcustomername: 'ZG澶栬喘渚涘簲鍟�',
+					// 	hbatchno: '#101',
+					// 	qualitystatus: 'OK'
+					// },
+					// {
+					// 	hbillno: 'DH2304041463',
+					// 	hbarcode: 'DH2304041461',
+					// 	hqty: 300,
+					// 	hcustomername: 'ZG澶栬喘渚涘簲鍟�',
+					// 	hbatchno: '#101',
+					// 	qualitystatus: 'NG'
+					// }, {
+					// 	hbillno: 'DH2304041463',
+					// 	hbarcode: 'DH2304041460',
+					// 	hqty: 200,
+					// 	hcustomername: 'ZG澶栬喘渚涘簲鍟�',
+					// 	hbatchno: '#101',
+					// 	qualitystatus: 'OK'
+					// },
+				],
+				radioValue: '',
+
+				sheetShow: false, //涓婃媺鍒楄〃鏄惁灞曞紑
+				sheetValue: '',
+				sheetList: [],
+				columns: []
+			}
+		},
+		created() {
+
+		},
+		mounted() {
+			this.init()
+
+
+
+			this.getMesAppPurchInStorScanLabCode('DH25050900016')
+		},
+		methods: {
+			init() {
+				uni.stopPullDownRefresh();
+			},
+			//鏉ヨ嚜浜庨〉闈�3鐨勫��  杩涜鏁版嵁澶勭悊
+			fromSubmitData(option) {
+
+				let t1 = JSON.parse(uni.getStorageSync('purchorderArr'))
+				let t2 = JSON.parse(uni.getStorageSync('purchorderDetailArr'))
+				// 鏄惁鍚屾鎵规
+				if (option.issyncbatch === 'Y') { //鏄�
+					console.log('鎵ц1')
+					this.purchorderArr = t1.filter(i => {
+						return !(i.hbillno === option.hbillno && i.partcode === option.partcode && i.hbatchno ===
+							option.hbatchno)
+					})
+					this.purchorderDetailArr = t2.filter(i => {
+						return !(i.hbillno === option.hbillno && i.partcode === option.partcode && i.hbatchno ===
+							option.hbatchno)
+					})
+
+				} else if (option.issyncbatch === 'N') { //鍚�
+					console.log('鎵ц2')
+					this.purchorderDetailArr = t2.filter(i => i.hbarcode !== option.labcode)
+					this.purchorderArr = t1.filter(i => i.hbarcode !== option.labcode)
+				}
+				console.log('鎵ц3')
+				if (this.purchorderDetailArr.length > 0) {
+					this.radioValue = this.purchorderDetailArr[0].hbarcode
+					const t = this.purchorderDetailArr.find(i => i.hbarcode === this.radioValue).hbillno
+					this.purchorderObj = this.purchorderArr.find(i => i.hbillno === t)
+				}
+
+				this.$forceUpdate()
+
+			},
+			// 鎵弿
+			topScanClick() {
+				let that = this;
+
+				uni.scanCode({
+					onlyFromCamera: true,
+					// scanType: ['barCode', 'qrCode'],
+					scanType: ['qrCode'],
+					success: function(res) {
+						console.log('鏉$爜绫诲瀷锛�' + res.scanType);
+						console.log('鏉$爜鍐呭锛�' + res.result);
+						that.scanContent = res.result;
+						let flag = false
+						that.purchorderDetailArr.forEach(item => {
+							if (item.hbarcode === res.result) {
+								flag = true
+							}
+						})
+						if (flag) {
+							that.$u.toast('姝ゆ潯鐮佸凡鎵弿锛屽凡鍦ㄥ垪琛ㄤ腑锛�')
+						} else {
+							//澶勭悊鎵爜浜嬩欢
+							that.getMesAppPurchInStorScanLabCode(that.scanContent);
+						}
+					},
+					complete: function(res) {
+
+					},
+					fail: function(res) {
+						console.log('鏉$爜绫诲瀷锛�' + res.scanType);
+						console.log('鏉$爜鍐呭锛�' + res.result);
+					}
+
+				});
+			},
+			// 鑾峰彇鏍囩淇℃伅
+			async getMesAppPurchInStorScanLabCode(labcode) {
+				const data = {
+					labcode
+				}
+				const res = await MesAppPurchInStorScanLabCode(this.global.formatData(data))
+
+				if (res.code === '200') {
+					console.log(res)
+					this.purchorderArr.unshift({
+						hbillno: res.data[0].hbillno,
+						partcode: res.data[0].partcode,
+						partname: res.data[0].partname,
+						partspec: res.data[0].partspec,
+						hbarcode: res.data[0].hbarcode,
+						hbatchno: res.data[0].hbatchno ? res.data[0].hbatchno : '/',
+					})
+
+					this.purchorderDetailArr.unshift({
+						hbillno: res.data[0].hbillno,
+						partcode: res.data[0].partcode,
+						hbarcode: res.data[0].hbarcode,
+						hqty: res.data[0].hqty,
+						hcustomername: res.data[0].hcustomername,
+						hcustomercode: res.data[0].hcustomercode,
+						hbatchno: res.data[0].hbatchno ? res.data[0].hbatchno : '/',
+						qualitystatus: res.data[0].qualitystatus,
+					})
+
+					this.purchorderObj = this.purchorderArr[0]
+
+					this.radioValue = res.data.labcont[0].hbarcode
+
+				}
+			},
+			// picker纭鎸夐挳
+			pickerConfirm(val) {
+				this.sheetValue = val.value[0]
+				this.sheetShow = false
+			},
+			// 閫夋嫨璐ㄦ鏂规
+			sheetClick(val) {
+				this.sheetShow = true
+			},
+			// 椤甸潰璺宠浆
+			navigateTo() {
+
+
+				uni.setStorageSync('purchorderArr', JSON.stringify(this.purchorderArr))
+				uni.setStorageSync('purchorderDetailArr', JSON.stringify(this.purchorderDetailArr))
+
+				// uni.navigateTo({
+				//  url:'./rcjy2?purchorderObj=' + JSON.stringify(this.purchorderObj)+
+				// })
+
+
+
+				uni.navigateTo({
+					url: './rcjy2?checkstandcode=' + this.sheetList.find(i => i.name === this.sheetValue).code +
+						'&checkstandname=' + this.sheetValue + '&sampmethod=' + this.sheetList.find(i => i.name ===
+							this.sheetValue).sampmethod + '&sampscare=' + this.sheetList.find(i => i.name === this
+							.sheetValue).sampscare + '&purchorderObj=' + JSON.stringify(this
+							.purchorderObj) + '&radioSelectValue=' + JSON.stringify(this.purchorderDetailArr.find(
+							i => i.hbarcode === this.radioValue))
+
+
+				});
+			},
+			// 鍗曢�夋寜閽偣鍑讳簨浠�
+			radioValueClick(val) {
+				this.radioValue = val
+				const t = this.purchorderDetailArr.find(i => i.hbarcode === val).hbillno
+				this.purchorderObj = this.purchorderArr.find(i => i.hbillno === t)
+			},
+			// 鍒犻櫎浜嬩欢鐐瑰嚮
+			trashClick(val) {
+				this.purchorderDetailArr.splice(val, 1)
+			},
+
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	@import url('@/style/global.css');
+
+	::v-deep .uicon-arrow-left>span {
+		display: block;
+	}
+
+
+
+	.orderNumber {
+		width: 60rpx;
+		height: 40rpx;
+		// margin: -22rpx 0 0 -30rpx;
+		background-color: #d3daf9;
+		color: #2979FF;
+		font-size: 26rpx;
+		padding: 4rpx 0 0 10rpx;
+		border-radius: 0 0 90% 0;
+	}
+
+	.trash {
+		width: 48rpx;
+		height: 48rpx;
+		margin: -26rpx 0 0 646rpx;
+		background-color: #d3daf9;
+		font-size: 26rpx;
+		padding: 6rpx 0 0 10rpx;
+		border-radius: 100%;
+	}
+
+	.custominputClass {
+		width: 424rpx;
+		display: flex;
+		justify-content: space-between;
+		border: 3rpx #eff0f1 solid;
+		border-radius: 10rpx;
+		padding: 0 10rpx;
+	}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3