From d7fe8ae3888c8e2b1eea3c1e3769be0d42a21cc9 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 16 十月 2023 09:03:47 +0800
Subject: [PATCH] Merge branch '1.0.3' of http://139.186.142.91:10010/r/productDev/dmMes into 1.0.3

---
 minipro_standard/pages/InOperation/InOperation.vue |  226 ++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 195 insertions(+), 31 deletions(-)

diff --git a/minipro_standard/pages/InOperation/InOperation.vue b/minipro_standard/pages/InOperation/InOperation.vue
index 1f3a8df..0a4b784 100644
--- a/minipro_standard/pages/InOperation/InOperation.vue
+++ b/minipro_standard/pages/InOperation/InOperation.vue
@@ -63,10 +63,9 @@
 				</div>
 			</div>
 			<!--        鍏ュ簱鍗曪紙鍗曚釜浠撳簱锛�        -->
-			<template
-				v-if="route.query.type == 9 && info.woScanMaterialBeanList && info.woScanMaterialBeanList.length > 0">
+			<template v-if="type == 9 && woScanMaterialBeanList && woScanMaterialBeanList.length > 0">
 				<div class="page_yxwl_list">
-					<div class="page_yxwl_list_item" v-for="(item, index) in info.woScanMaterialBeanList" :key="index">
+					<div class="page_yxwl_list_item" v-for="(item, index) in woScanMaterialBeanList" :key="index">
 						<div class="page_yxwl_list_item_top">
 							<!--                            <div class="page_yxwl_list_item_top_left" v-if="item.batch">{{item.materialName}} | {{item.materialCode}}锝渰{item.batch}}</div>-->
 							<div class="page_yxwl_list_item_top_left">{{item.materialName}} | {{item.materialCode}}
@@ -107,7 +106,7 @@
 				</div>
 			</template>
 			<!--        杞簱鍗曪紙澶氫釜浠撳簱锛�        -->
-			<template v-else-if="route.query.type == 7 && seleMateriaList.length > 0">
+			<template v-else-if="type == 7 && seleMateriaList.length > 0">
 				<!-- <template v-for="(item, index) in info.wtransferWarehouseList" :key="index"> -->
 				<div class="page_yxwl_list">
 					<div class="page_yxwl_list_item" v-for="(item1, idx) in seleMateriaList" :key="idx">
@@ -158,16 +157,14 @@
 				<span>纭鍏ュ簱</span>
 			</div>
 		</div>
-		<SelectMultipleMaterial ref="selectMultipleMaterial" />
-		<SelectLoaction ref="selectLoaction" @selected="selectLocation"/>
-		<MaterialIn ref="materialIn" @selected="selectLocation"/>
+		<SelectLoaction ref="selectLoaction" @selected="selectLocation" />
+		<MaterialIn ref="materialIn" @selected="selectMaterial" />
 	</view>
 </template>
 
 <script>
 	import InOutInfo from '@/components/InOutInfo.vue'
-	import SelectMultipleMaterial from '@/components/SelectMultipleMaterial.vue'
-	import SelectLoaction from '@/components/SelectLoaction.vue'
+	import SelectLoaction from '@/components/SelectLoaction.vue'
 	import MaterialIn from '@/components/materialIn.vue'
 	import {
 		QRCodeType
@@ -196,24 +193,25 @@
 	} from '@/util/api/agencyAPI'
 	export default {
 		components: {
-			InOutInfo,
-			SelectLoaction,
-			MaterialIn,
-			SelectMultipleMaterial
+			InOutInfo,
+			SelectLoaction,
+			MaterialIn
 		},
 		data() {
 			return {
 				type: '',
-				id: '',
+				id: '',
 				wareHouseId: '',
 				isZKD: false,
 				show: false,
 				info: {},
-				ids: [],
-				location: '',
+				ids: [],
+				location: '',
 				locationName: '',
 				wtransferWarehouseList: [],
-				MateriaList: []
+				MateriaList: [],
+				woScanMaterialBeanList: [],
+				seleMateriaList: [] // 宸查�夌墿鏂�
 			};
 		},
 		onLoad(option) {
@@ -246,8 +244,8 @@
 				let data = {
 					id: this.id
 				}
-				console.log(this.type, QRCodeType.CKD);
-				if (this.type == QRCodeType.CKD) {
+				// console.log(this.type, QRCodeType.CKD);
+				if (this.type == QRCodeType.RKD) {
 					infoAction = wOutBoundForInOut
 					data.wOutboundType = '1'
 				} else if (this.type == QRCodeType.ZKD) {
@@ -256,13 +254,14 @@
 				}
 				infoAction(data).then(res => {
 					if (this.isZKD) {
-						this.info = res.data.wtransfer
+						this.info = res.data.wtransfer
 						this.wareHouseId = res.data.wtransfer.inWarehouseId
 						this.wtransferWarehouseList = res.data.wtransferWarehouseList
 						this.MateriaList = res.data.wtransferWarehouseList[0].wtransferDetailList
 					} else {
 						this.info = res.data.woutbound
 						this.woutboundDetailsWait = res.data.woutboundDetailsWait
+						this.woScanMaterialBeanList = res.data.woScanMaterialBeanList
 					}
 				}).catch(err => {
 					uni.$u.toast(err)
@@ -277,19 +276,183 @@
 						wareHouseId: this.wareHouseId
 					})
 					.then(res => {
-						if (res.data.length === 1) {
-							this.location = res.data[0].id
-							this.locationName = res.data[0].unionName
-							this.$refs.materialIn.open({list: this.MateriaList})
-						} else {
-							this.$refs.selectLoaction.open({wareHouseId: this.wareHouseId})
+						if (res.data.length === 1) {
+							this.location = res.data[0].id
+							this.locationName = res.data[0].unionName
+							this.$refs.materialIn.open({
+								list: this.MateriaList
+							})
+						} else {
+							this.$refs.selectLoaction.open({
+								wareHouseId: this.wareHouseId
+							})
 						}
 					})
-			},
-			selectLocation(item) {
-				this.location = item.id
-				this.locationName = item.unionName
-				this.$refs.materialIn.open({list: this.MateriaList})
+			},
+			selectLocation(item) {
+				this.location = item.id
+				this.locationName = item.unionName
+				this.$refs.materialIn.open({
+					list: this.MateriaList
+				})
+			},
+			selectMaterial(val) {
+				let material = JSON.parse(JSON.stringify(val))
+				let tempMaterial = this.seleMateriaList.find(item => item.locationId == this.location)
+				if (tempMaterial) {
+					if (tempMaterial.qualityType == material.qualityType && tempMaterial.procedureId == material
+						.procedureId &&
+						tempMaterial.batch == material.batch && tempMaterial.materialId == material.materialId) {
+						uni.$u.toast('鐩稿悓璐т綅锛屽悓涓�涓墿鏂欏彧鑳芥湁涓�涓�')
+						return
+					}
+				}
+				let materialNum = 0
+				let num = 0
+				this.seleMateriaList.forEach(item => {
+					if (item.id === material.id) {
+						materialNum += Number(item.outActnum)
+					}
+				})
+				this.MateriaList.forEach(item => {
+					if (item.id === material.id) {
+						num = item.outActnum - materialNum
+					}
+				})
+				material.outActnum = num
+				this.seleMateriaList.push({
+					...material,
+					locationId: this.location,
+					locationName: this.locationName
+				})
+			},
+			submit() {
+				if (this.type == QRCodeType.ZKD) {
+					if (!this.seleMateriaList.length) {
+						uni.$u.toast('杞叆鐗╂枡涓嶈兘涓虹┖')
+						return
+					}
+					let result = this.seleMateriaList.reduce((a, b) => {
+						if (a[b.id]) {
+							a[b.id].push(b);
+						} else {
+							a[b.id] = [b];
+						}
+						return a;
+					}, {});
+					for (let i = 0; i < this.MateriaList.length; i++) {
+						for (let a in result) {
+							if (this.MateriaList[i].id == a) {
+								let total = 0
+								for (let b = 0; b < result[a].length; b++) {
+									total = Number(total) + Number(result[a][b].outActnum)
+								}
+								if (!total || total <= 0) {
+									uni.$u.toast('鍏ュ簱鏁伴噺涓嶈兘灏忎簬0')
+									return 
+									// Toast.fail({
+									// 	message: '鍏ュ簱鏁伴噺涓嶈兘灏忎簬0',
+									// 	forbidClick: true,
+									// 	duration: 2000
+									// })
+								}
+								if (total > this.MateriaList[i].outActnum) {
+									uni.$u.toast('鍏ュ簱鏁伴噺涓嶈兘澶т簬寰呭叆搴撴暟閲�')
+									return 
+									// Toast.fail({
+									// 	message: '鍏ュ簱鏁伴噺涓嶈兘澶т簬寰呭叆搴撴暟閲�',
+									// 	forbidClick: true,
+									// 	duration: 2000
+									// })
+								}
+							}
+						}
+					}
+					let submitTransferInDetailDTOList = []
+					this.seleMateriaList.forEach(item => {
+						submitTransferInDetailDTOList.push({
+							inNum: item.outActnum,
+							locationId: item.locationId,
+							wtransferDetailId: item.id
+						})
+					})
+					transferToInNew({
+						submitTransferInDetailDTOList,
+						wtransferId: this.id
+					}).then(res => {
+						if (res.code === 200) {
+							this.$store.dispatch('getUpcomingNum')
+							uni.$u.toast('鎿嶄綔鎴愬姛')
+							if (this.type == '4') { // 璺宠浆瀹屽伐鍏ュ簱璇︽儏
+								// uni.navigateTo({
+								// 	url: 
+								// })
+								// router.push({
+								// 	name: 'completionDetails',
+								// 	query: {
+								// 		id: route.query.id,
+								// 		dbid: route.query.dbid,
+								// 		type: 7,
+								// 		isShow: 2
+								// 	}
+								// })
+								return
+							}
+							uni.redirectTo({
+								url: `/pages_adjust/pages/outboundDetails/outboundDetails?id=${this.id}`
+							})
+							
+							// setTimeout(() => {
+								// if (route.query.Type == '4') { // 璺宠浆瀹屽伐鍏ュ簱璇︽儏
+								// 	router.push({
+								// 		name: 'completionDetails',
+								// 		query: {
+								// 			id: route.query.id,
+								// 			dbid: route.query.dbid,
+								// 			type: 7,
+								// 			isShow: 2
+								// 		}
+								// 	})
+								// 	return
+								// }
+								// router.replace({
+								// 	name: 'wTransferDetail',
+								// 	query: {
+								// 		id: route.query.id
+								// 	}
+								// })
+							// }, 2000)
+						}
+					})
+
+				} else if (this.type === QRCodeType.RKD) {
+					wOutBoundForUpload({
+						id: this.info.id,
+						wOutboundType: 1
+					}).then(res => {
+						if (res.code === 200) {
+							this.$store.dispatch('getUpcomingNum')
+							uni.$u.toast('鎿嶄綔鎴愬姛')
+							uni.redirectTo({
+								url: `/pages_adjust/pages/warehousingDetails1/warehousingDetails1?id=${this.id}`
+							})
+							// Toast.success({
+							// 	message: '鎿嶄綔鎴愬姛',
+							// 	forbidClick: true,
+							// 	duration: 2000
+							// })
+							// setTimeout(() => {
+							// 	// router.go(-1)
+							// 	router.replace({
+							// 		name: 'wInboundDetail',
+							// 		query: {
+							// 			id: this.id
+							// 		}
+							// 	})
+							// }, 2000)
+						}
+					})
+				}
 			}
 		}
 	}
@@ -606,6 +769,7 @@
 							}
 
 							.nr {
+								display: flex;
 								font-size: 26rpx;
 								font-weight: 400;
 								color: #222222;

--
Gitblit v1.9.3