From 64b432916af9c9218ab3f3eca614e26c542142ae Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 07 十一月 2023 15:47:13 +0800
Subject: [PATCH] bug

---
 minipro_standard/pages_adjust/pages/newTransfer/newTransfer.vue |  459 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 459 insertions(+), 0 deletions(-)

diff --git a/minipro_standard/pages_adjust/pages/newTransfer/newTransfer.vue b/minipro_standard/pages_adjust/pages/newTransfer/newTransfer.vue
new file mode 100644
index 0000000..b7d0818
--- /dev/null
+++ b/minipro_standard/pages_adjust/pages/newTransfer/newTransfer.vue
@@ -0,0 +1,459 @@
+<template>
+	<view class="zk">
+		<view class="zk_list">
+			<view class="zk_list_item" @click="open('d')">
+				<text>鍗曟嵁绫诲瀷</text>
+				<view class="zk_list_item_n">
+					<text :style="data.typeName ? 'color: black;' : ''">{{data.typeName ? data.typeName : '璇烽�夋嫨'}}</text>
+					<u-icon name="arrow-right" color="#999999" size="20"></u-icon>
+				</view>
+			</view>
+			<view class="zk_list_item" @click="open('c')">
+				<text>鍑哄簱浠撳簱</text>
+				<view class="zk_list_item_n">
+					<text :style="data.exWarehouse ? 'color: black;' : ''">{{data.exWarehouse ? data.exWarehouse : '璇烽�夋嫨'}}</text>
+					<u-icon name="arrow-right" color="#999999" size="20"></u-icon>
+				</view>
+			</view>
+			<view class="zk_list_item" @click="open('r')">
+				<text>鍏ュ簱浠撳簱</text>
+				<view class="zk_list_item_n">
+					<text :style="data.warehousingWarehouseName ? 'color: black;' : ''">{{data.warehousingWarehouseName ? data.warehousingWarehouseName : '璇烽�夋嫨'}}</text>
+					<u-icon name="arrow-right" color="#999999" size="20"></u-icon>
+				</view>
+			</view>
+		</view>
+		<view class="zk_title">
+			<view class="zk_title_i"></view>
+			<text>杞嚭鐗╂枡鍒楄〃</text>
+		</view>
+		<view class="zk_wl">
+			<template v-if="view.MaterialList.length > 0">
+				<view class="zk_wl_item" v-for="(item, i) in view.MaterialList" :key="i">
+					<image class="shanchu" src="@/static/chuku_ic_delete@2x.png" mode="widthFix" @click="dele(i)"></image>
+					<text>{{item.materialName}}锝渰{item.materialCode}}</text>
+					<text>
+						<text class="green" v-if="item.qualityType === '0'">鍚堟牸&nbsp;|</text>
+						<text class="yellow" v-if="item.qualityType === '1'">涓嶈壇&nbsp;|</text>
+						<text class="red" v-if="item.qualityType === '2'">鎶ュ簾&nbsp;|</text>
+						<text>{{item.procedureName ? item.procedureName : '-'}}&nbsp;|&nbsp;</text>
+						<text>{{item.batch ? item.batch : '-'}}</text>
+					</text>
+					<view class="zk_wl_item_num">
+						<text>璐т綅锛歿{item.locationName}}</text>
+						<view class="zk_wl_item_input">
+							<text>鏁伴噺锛�</text>
+							<input type="number" v-model="item.total" placeholder="0" />
+							<text>{{item.unitName}}</text>
+						</view>
+					</view>
+				</view>
+			</template>
+			<view class="zk_wl_w" v-else>
+				<text>鏆傛棤鏁版嵁</text>
+			</view>
+		</view>
+		<view class="zk_z"></view>
+		<view class="zk_footer">
+			<view class="zk_footer_wl" @click="open('w')">閫夋嫨鐗╂枡</view>
+			<view style="width: 20rpx"></view>
+			<view class="zk_footer_submit" @click="submit">鎻愪氦</view>
+		</view>
+		<!-- 閫夋嫨浠撳簱 -->
+		<Warehouse :show="view.Warehouse" @close="view.Warehouse = false" @value="getValue" />
+		<!-- 閫夋嫨鐗╂枡 -->
+		<multipleMaterial
+		:warehouseId="data.exWarehouseId.toString()"
+		:warehouseQualityType="view.warehouseQualityType"
+		:selected="view.MaterialList.map(item => item.id)"
+		@value="getValueWL"
+		ref="multipleMaterial" />
+		<!--  鍗曟嵁绫诲瀷  -->
+		<u-picker :show="view.type" :columns="view.documentTypeDate" keyName="name" @cancel="onCancel" @confirm="onConfirm"></u-picker>
+	</view>
+</template>
+
+<script>
+	import { setTime } from '@/util/utils.js'
+	import { documentType } from '@/util/constData.js'
+	import multipleMaterial from '../../components/multipleMaterial.vue'
+	import Warehouse from '../../components/Warehouse.vue'
+	import { createZK } from '@/util/api/agencyAPI'
+	
+	export default {
+		components: {
+			multipleMaterial,
+			Warehouse
+		},
+		data() {
+			return {
+				data: {
+					type: '',
+					outUserId: '',
+					inUserId: '',
+					typeName: '',
+					exWarehouse: '',
+					exWarehouseId: '',
+					warehousingWarehouse: '',
+					warehousingWarehouseName: ''
+				},
+				view: {
+					type: false,
+					Warehouse: false,
+					Material: false,
+					status: '',
+					MaterialList: [],
+					documentTypeDate: [
+						[
+						    { name: '杞﹂棿棰嗘枡', id: 1 },
+						    { name: '杞﹂棿杞簱', id: 5 },
+						    { name: '澶栧崗棰嗘枡杞簱', id: 6 },
+						    { name: '澶栧崗瀹屽伐杞簱', id: 7 },
+						    { name: '浜у搧鍏ュ簱', id: 8 },
+						    { name: '浜у搧杞簱', id: 9 },
+						    { name: '璁╂鏀捐鍏ュ簱', id: 10 },
+						    { name: '璁╂鏀捐杞簱', id: 11 },
+						    { name: '瀹㈣繑杩斾慨棰嗘枡', id: 12 },
+						    { name: '瀹㈣繑杩斾慨鍏ュ簱', id: 13 },
+						    { name: '璺ㄧ粍缁囪浆搴�', id: 14 },
+						    { name: '瀹㈤��杩斾慨棰嗘枡', id: 16 },
+						    { name: '瀹㈤��杩斾慨鍏ュ簱', id: 17 },
+						    { name: '搴熷搧鍏ュ簱', id: 30 }
+						]
+					],
+					warehouseQualityType: ''
+				}
+			};
+		},
+		methods: {
+			// 鍒犻櫎鐗╂枡
+			dele(i) {
+				this.view.MaterialList.splice(i, 1)
+			},
+			// 浠撳簱鍥炶皟
+			getValue(val) {
+				if (this.view.status === 'c') {
+					if (this.data.exWarehouseId !== val.id) {
+						this.view.MaterialList = []
+					}
+					this.data.exWarehouse = val.name
+					this.data.exWarehouseId = val.id
+					this.data.outUserId = val.managerId
+				} else if (this.view.status === 'r') {
+					this.data.warehousingWarehouseName = val.name
+					this.data.warehousingWarehouse = val.id
+					this.data.inUserId = val.managerId
+					this.view.warehouseQualityType = val.tmodel.label
+				}
+				this.view.Warehouse = false
+			},
+			// 鐗╂枡鍥炶皟
+			getValueWL(val) {
+				val.forEach(element => {
+					element.total = element.num
+				})
+				this.view.MaterialList.push(...val)
+				this.view.Material = false
+			},
+			// 纭鍗曟嵁绫诲瀷
+			onConfirm(val) {
+				this.data.type = val.value[0].id
+				this.data.typeName = val.value[0].name
+				this.view.type = false
+			},
+			onCancel() {
+				this.view.type = false
+			},
+			// 鍒涘缓杞簱鍗�
+			submit() {
+				if (!this.data.type) return uni.showToast({ title: '鍗曟嵁绫诲瀷涓嶈兘涓虹┖', icon: 'none', duration: 2000 });
+				if (!this.data.exWarehouse) return uni.showToast({ title: '鍑哄簱浠撳簱涓嶈兘涓虹┖', icon: 'none', duration: 2000 });
+				if (!this.data.warehousingWarehouse) return uni.showToast({ title: '鍏ュ簱浠撳簱涓嶈兘涓虹┖', icon: 'none', duration: 2000 });
+				if (this.view.MaterialList.length === 0) return uni.showToast({ title: '杞嚭鐗╂枡涓嶈兘涓虹┖', icon: 'none', duration: 2000 });
+				for (let i = 0; i < this.view.MaterialList.length; i++) {
+					if (!this.view.MaterialList[i].total || this.view.MaterialList[i].total <= 0) {
+						uni.showToast({ title: '杞嚭鏁伴噺蹇呴』澶т簬0', icon: 'none', duration: 2000 });
+						return
+					}
+					if (Number(this.view.MaterialList[i].total) > Number(this.view.MaterialList[i].num)) {
+						uni.showToast({ title: '杞簱鐨勭墿鏂欐暟閲忎笉鑳藉ぇ浜庡簱瀛橀噺锛�', icon: 'none', duration: 2000 });
+						return
+					}
+				}
+				let time = setTime(new Date(), '-')
+				let wtransferDetailBeanList = []
+				this.view.MaterialList.forEach((element) => {
+					wtransferDetailBeanList.push({
+						batch: element.batch,
+						materialId: element.materialId,
+						procedureId: element.procedureId,
+						procedureName: element.procedureName,
+						qualityType: element.qualityType,
+						unitId: element.unitId,
+						outPlanNum: element.total,
+						proceduresId: element.procedureId,
+						inLocationId: null,
+						outLocationId: element.locationId,
+						inWarehouseId: this.data.exWarehouseId,
+						outWarehouseId: this.data.warehousingWarehouse
+					})
+				})
+				createZK({
+					type: this.data.type,
+					outPlandate: time,
+					inPlandate: time,
+					origin: 0,
+					outUserId: this.data.outUserId,
+					inUserId: this.data.inUserId,
+					inWarehouseId: this.data.warehousingWarehouse,
+					outWarehouseId: this.data.exWarehouseId,
+					wtransferDetailBeanList
+				}).then(res => {
+					if (res.code === 200) {
+						uni.showToast({ title: '鍒涘缓鎴愬姛锛�', icon: 'success', duration: 2000 });
+						setTimeout(() => {
+							uni.navigateBack({ delta: 1 });
+						}, 2000)
+					}
+				})
+			},
+			// 鎵撳紑閫夋嫨寮规
+			open(type) {
+				if (type === 'd') {
+					this.view.type = true
+				} else if (type === 'c') {
+					this.view.status = 'c'
+					this.view.Warehouse = true
+				} else if (type === 'r') {
+					this.view.status = 'r'
+					this.view.Warehouse = true
+				} else if (type === 'w') {
+					if (this.data.exWarehouseId) {
+						if (this.data.warehousingWarehouseName) {
+							// let arr = []
+							// this.view.MaterialList.forEach(element => {
+							// 	arr.push(element.id)
+							// })
+							// const { selected } = Material.value
+							// Material.value.selected = arr
+							// view.Material = true
+							this.$refs.multipleMaterial.open()
+						} else {
+							uni.showToast({ title: '璇峰厛閫夋嫨鍏ュ簱浠撳簱', icon: 'none', duration: 2000 });
+						}
+					} else {
+						uni.showToast({ title: '璇峰厛閫夋嫨鍑哄簱浠撳簱', icon: 'none', duration: 2000 });
+					}
+				}
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.zk {
+		position: absolute;
+		width: 100%;
+
+		.zk_list {
+			padding: 0 30rpx;
+			background: white;
+			margin-top: 20rpx;
+
+			.zk_list_item {
+				height: 98rpx;
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+				border-bottom: 1rpx solid #E5E5E5;
+
+				&:last-child {
+					border: none !important;
+				}
+
+				text {
+					font-size: 30rpx;
+					font-weight: 400;
+					color: #222222;
+				}
+
+				.zk_list_item_n {
+					display: flex;
+					align-items: center;
+
+					text {
+						font-size: 28rpx;
+						font-weight: 400;
+						color: #999999;
+						margin-right: 10rpx;
+					}
+				}
+			}
+		}
+
+		.zk_title {
+			padding: 40rpx 30rpx 30rpx 30rpx;
+			display: flex;
+			align-items: center;
+
+			.zk_title_i {
+				width: 8rpx;
+				height: 30rpx;
+				background: #4275FC;
+				border-radius: 2rpx;
+				margin-right: 12rpx;
+			}
+
+			text {
+				font-size: 32rpx;
+				font-weight: 500;
+				color: #222222;
+			}
+		}
+
+		.zk_wl {
+			background: white;
+
+			.zk_wl_w {
+				width: 100%;
+				height: 200rpx;
+				background: white;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				font-size: 26rpx;
+				color: black;
+			}
+
+			.zk_wl_item {
+				display: flex;
+				flex-direction: column;
+				padding: 30rpx;
+				border-bottom: 1rpx solid #e2e2e2;
+				position: relative;
+				
+				.shanchu {
+					width: 48rpx;
+					height: 48rpx;
+					position: absolute;
+					top: 0;
+					right: 0;
+				}
+
+				.zk_wl_item_num {
+					display: flex;
+					align-items: center;
+					justify-content: space-between;
+					margin-top: 30rpx;
+					
+					.zk_wl_item_input {
+						display: flex;
+						align-items: center;
+						text {
+							font-size: 26rpx;
+							font-family: PingFangSC-Regular, PingFang SC;
+							font-weight: 400;
+							color: #666666;
+						}
+					}
+
+					text {
+						font-size: 26rpx;
+						font-family: PingFangSC-Regular, PingFang SC;
+						font-weight: 400;
+						color: #333333;
+						margin: 0 !important;
+					}
+
+					input {
+						width: 140rpx;
+						height: 60rpx;
+						background: #FFFFFF;
+						border-radius: 8rpx;
+						border: 1rpx solid #CCCCCC;
+						padding: 0 30rpx;
+						font-size: 28rpx;
+					}
+
+					input::-webkit-input-placeholder {
+						font-size: 28rpx;
+						font-weight: 400;
+						color: #999999;
+					}
+				}
+
+				text {
+					&:nth-child(1) {
+						font-size: 30rpx;
+						font-weight: 500;
+						color: #222222;
+						margin-bottom: 24rpx;
+					}
+
+					&:nth-child(2) {
+						font-size: 24rpx;
+						font-weight: 400;
+						color: #666666;
+						margin-bottom: 30rpx;
+
+						text {
+							font-size: 24rpx;
+						}
+					}
+
+					&:nth-child(3) {
+						font-size: 28rpx;
+						font-weight: 400;
+						color: #333333;
+					}
+				}
+			}
+		}
+
+		.zk_z {
+			height: 168rpx;
+		}
+
+		.zk_footer {
+			width: 100%;
+			box-sizing: border-box;
+			padding: 0 30rpx;
+			position: fixed;
+			bottom: 0;
+			left: 0;
+			z-index: 999;
+			padding-bottom: 68rpx;
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
+
+			.zk_footer_wl {
+				flex: 1;
+				height: 88rpx;
+				background: #FFFFFF;
+				box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08);
+				border-radius: 8rpx;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				font-size: 30rpx;
+				font-weight: 500;
+				color: $nav-color;
+			}
+
+			.zk_footer_submit {
+				flex: 1;
+				height: 88rpx;
+				background: $nav-color;
+				box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08);
+				border-radius: 8rpx;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				font-size: 30rpx;
+				font-weight: 500;
+				color: #FFFFFF;
+			}
+		}
+	}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3