<template>
	<view>
		<u-popup :show="show" mode='center' v-if='show' :closeOnClickOverlay='false'>

			<view class="popup_box">

				<view class="title_box rx-bc">
					<view class="name">周转车 </view>
					<view>数量: {{sum - count || 0}} </view>
				</view>

				<u-list @scrolltolower="scrolltolower" class="list_box">
					<view v-for="(item, index) in newTurnover" :key='index'>


						<view class="content_table">
							<view class="item rx-sc">
								<view class="rx ww50 ">
									<view class="lable ww80 rx-cc ">编号</view>
									<view class="content rx-sc">
										<view>{{item.code}}</view>
									</view>
								</view>

								<view class="rx ww50">
									<view class="lable rx-cc ww80">名称</view>
									<view class="content rx-sc">
										<view>{{item.name}}</view>
									</view>
								</view>

							</view>
						</view>


						<view class="content_table2">
							<view class="head row rx-sc">
								<view class="item ww10">货位</view>
								<view class="item ww30">工单编号</view>
								<view class="item ww35">产品编码</view>
								<view class="item ww25">数量</view>

							</view>

							<view class="table">
								<u-list @scrolltolower="scrolltolower" class="z_list">
									<view class="tr row rx-sc" v-for="(it, idx) in item.extInfo.positionList"
										:key='idx'>
										<view class="item ww10">{{it.code}}</view>
										<view class="item ww30"
											:class="{'color157': it.workOrderCode === wordItem.code}">
											{{ it.workOrderCode }}
										</view>
										<view class="item ww35"
											:class="{'color157': it.categoryCode === wordItem.productCode}">
											{{it.categoryCode}}
										</view>
										<view class="item ww25  content_num">
											<input class="uni-input" v-if='it.isFull == 0'
												@input="quantInt(index, idx, it)" v-model="it.quantity"
												type="digit"></input>
											<text v-else>{{it.quantity}}</text>
										</view>


									</view>

								</u-list>





							</view>


						</view>

					</view>



				</u-list>

				<view class="operate_box rx-sc">
					<u-button size="small" class="u-reset-button" @click="cancel">取消</u-button>
					<u-button size="small" class="u-reset-button" type="success" @click="save">确定</u-button>
				</view>

			</view>
		</u-popup>
	</view>


</template>

<script>
	import {
		scanLedger,
	} from '@/api/pda/workOrder.js'
	export default {
		props: {


		},
		data() {
			return {
				show: false,
				wordInfo: {},
				wordItem: {},
				newTurnover: [],
				idx: null,

				sum: 0,
				count: 0,
			}
		},
		methods: {
			scrolltolower() {},
			open(result, wordInfo, newList, wordItem, index) {
				this.wordInfo = wordInfo
				this.wordItem = wordItem
				this.idx = index


				this.count = 0
				this.sum = 0;
				newList[0].extInfo.positionList.forEach(e => {
					if (e.check) {
						this.sum += Number(e.newQuantity);
					}
				})



				let isFals = newList.some(m => m.code == result && m.isOld == 1)
				if (isFals) {
					uni.showToast({
						title: '周转车已存在',
						icon: 'none'
					})
					return false
				}

				scanLedger(result).then(res => {
					this.newTurnover = res
					this.show = true
				})





			},

			quantInt(index, idx, it) {
				if (it.quantity >= 1) {
					this.$set(this.newTurnover[index].extInfo.positionList[idx], 'workOrderCode', this.wordInfo
						.workOrderCode)
					this.$set(this.newTurnover[index].extInfo.positionList[idx], 'categoryCode', this.wordInfo
						.categoryCode)

					this.$set(this.newTurnover[index].extInfo.positionList[idx], 'numAdd', true)
					this.countFn()

				} else {
					this.$set(this.newTurnover[index].extInfo.positionList[idx], 'workOrderCode', '')
					this.$set(this.newTurnover[index].extInfo.positionList[idx], 'categoryCode', '')
					this.$set(this.newTurnover[index].extInfo.positionList[idx], 'quantity', 0)
					this.$set(this.newTurnover[index].extInfo.positionList[idx], 'numAdd', false)
					this.countFn()
				}





			},

			countFn() {


				this.count = 0;
				this.newTurnover[0].extInfo.positionList.forEach(e => {
					if (e.numAdd) {

						this.count += Number(e.quantity);
					}
				})

			},

			cancel() {
				this.show = false
			},

			save() {
				if (this.sum - this.count != 0) {
					uni.showToast({
						title: '转移数量对应不上',
						icon: 'none'
					})
					return
				}
				this.$emit('saveTurn', this.idx, this.newTurnover)
				this.show = false

			}
		}
	}
</script>

<style lang="scss" scoped>
	.popup_box {
		width: 98vw;
		min-height: 60vh;
		max-height: 80vh;
		padding: 16rpx;
		box-sizing: border-box;

		overflow: hidden;
		display: flex;
		flex-direction: column;
	}

	.title_box {
		margin-top: 20rpx;

		.name {
			font-size: 28rpx;
			font-style: normal;
			font-weight: 400;
			color: $theme-color;
			padding-left: 20rpx;

			position: relative;

			&:before {
				position: absolute;
				content: '';
				left: 0rpx;
				top: 0rpx;
				bottom: 0rpx;
				width: 4rpx;
				height: 28rpx;
				background: $theme-color;
				margin: auto;
			}


		}

		.left {
			width: 40rpx;
		}

		.btn_box {
			padding: 0 18rpx;
			height: 60rpx;
			background: $theme-color;
			font-size: 26rpx;
			font-style: normal;
			font-weight: 400;
			font-size: 24rpx;
			color: #fff;
			border-radius: 4rpx;

			.scan {
				width: 34rpx;
				height: 34rpx;
				margin-right: 12rpx;

			}

		}

	}


	.content_table {
		margin-top: 8rpx;
		width: 100%;
		border: 2rpx solid $border-color;

		.item {
			display: flex;
			border-bottom: 2rpx solid $border-color;

			.lable {
				width: 132rpx;
				text-align: center;
				background-color: #F7F9FA;
				font-size: 26rpx;
				border-right: 2rpx solid $border-color;
				flex-shrink: 0;
			}



			.ww80 {
				width: 80rpx;
			}

			.ww50 {
				width: 50%;
			}

			.content {
				width: 518rpx;
				min-height: 64rpx;
				font-size: 28rpx;
				line-height: 28rpx;
				font-style: normal;
				font-weight: 400;
				padding: 2rpx 8rpx;
				box-sizing: border-box;
				word-wrap: break-word;
				flex-grow: 1 !important;
				font-size: 24rpx;

			}


			&:last-child {
				border-bottom: none;
			}
		}


	}



	.content_table2 {
		width: 100%;


		.row {
			width: 100%;


			.item {

				color: #404446;
				font-size: 28rpx;
				padding-left: 12rpx;

			}

			.color157 {
				color: $theme-color;
			}

			.ww20 {
				width: 20%;
			}

			.ww35 {
				width: 35%;

			}

			.ww15 {
				width: 15%;
			}

			.ww25 {
				width: 25%;
			}


			.ww30 {
				width: 30%;
			}

			.ww15 {
				width: 15%;
			}


			.ww10 {
				width: 10%;
			}
		}

		.head {
			height: 64rpx;
			background: #F7F9FA;
			border-top: 2rpx solid #E3E5E5;
			border-left: 2rpx solid #E3E5E5;

			.item {
				height: 64rpx;
				line-height: 64rpx;
				border-right: 2rpx solid #E3E5E5;
				box-sizing: border-box;
			}
		}



		.tr {
			border-top: 2rpx solid #E3E5E5;
			border-left: 2rpx solid #E3E5E5;


			.item {
				font-size: 24rpx;
				min-height: 64rpx;
				display: flex;
				align-items: center;
				border-right: 2rpx solid #E3E5E5;
				box-sizing: border-box;
				white-space: normal;
				word-break: break-all;

			}

			&:last-child {
				border-bottom: 2rpx solid #E3E5E5;

			}
		}
	}


	.content_num {
		display: flex;
		align-items: center;
		padding: 0 4rpx;

		/deep/ .uni-input-input {
			border: 2rpx solid #F0F8F2;
			background: #F0F8F2;
			color: $theme-color;
		}

	}

	.check {
		width: 40rpx;
		height: 40rpx;
	}

	.isend {
		text-decoration: line-through;
	}


	.list_box {
		flex: 1;
		overflow: hidden;


	}

	.operate_box {
		padding: 10rpx 160rpx;

		/deep/ .u-button {
			width: 160rpx;
		}
	}

	.z_list {
		max-height: 500rpx;
	}
</style>