<template>
	<view>
		<view class="title_box rx-bc">
			<view class="name">周转车</view>
		</view>

		<view v-for="(item, index) in newList" :key='index'>
			<view class="title_box rx-bc" v-if='!isDetails'>
				<view class="left rx-ss" >
					<uni-icons @click="getDelete(index)" custom-prefix="iconfont" type="icon-shanchu" size="20" color="#fa3534"></uni-icons>
					
					<view class="des" @click="handContract()">{{ isContract ? '收缩'  :  '展开'}}</view>
				</view>
			
				
				
				<view class="btn_box rx-bc" @click="handleScan(index)" v-if="pattern == 'job'">
					<image class="scan" src="@/static/pda/ScanIt.svg"></image>
					更换周转车
				</view>
			</view>

			<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 class="item rx-sc">
					<view class="rx ww50 ">
						<view class="lable ww80 rx-cc ">编号</view>
						<view class="content rx-sc">
							<view>{{item.codeNumber}}</view>
						</view>
					</view>
				
			
				
				</view>
				
			</view>


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

				<view class="table">
					<u-list @scrolltolower="scrolltolower" class="z_list">
				      <view  v-for="(it, idx) in item.extInfo.positionList" :key='idx'>
						  <view class="tr row rx-sc"  v-if=" isContract || ( it.workOrderCode != '' &&  it.workOrderCode != null)">
						  	<view class="item ww10">{{it.code}}</view>
						  	<view class="item ww35" :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 ww20  " :class="{'content_num' : (pattern == 'job') }" v-if='!isDetails'>
								<!-- // it.workOrderCode!==itemValue.code 就是工单编号和 周转车编号相同就可以修改  it.isOccupy===0 是-->
							
						  		<input class="uni-input" v-if='it.isFull == 0' @input="quantInt(index, idx, it)" 
								  :class="{'content_num_box': it.categoryCode !== wordItem.productCode}"
						  			v-model="it.quantity" type="digit"
						  			:disabled="(!Object.prototype.hasOwnProperty.call(it, 'isOccupy') && it.isOccupy) || pattern != 'job' || isDisabled(it)"></input>
						  		<text v-else>{{it.quantity}}</text>

						  	</view>
						  
						  	<view class="item ww20" v-if='isDetails'>
								
						  		{{ it.quantity }}
						  	</view>
						  </view>
					  </view>
					</u-list>

				</view>


			</view>

		</view>
	</view>
</template>

<script>
	export default {
		props: {
			itemValue:{
				type: Object,
				default: () => {}
			},

			list: {
				type: Array,
				default: () => []
			},
			wordItem: {
				type: Object,
				default: () => {}
			},

			pattern: {
				type: String,
				default: ''
			},

			isDetails: {
				type: Boolean,
				default: false
			}
		},


		watch: {

			list: {
				immediate: true,
				deep: true,
				handler(newVal) {


					this.newList = newVal


				}
			}
		},

		data() {
			return {
				recycleQuantity: '',
				newList: [],

				totalCount: 0,
				
				isContract: false


			}
		},

		methods: {

			//条件判断
			isDisabled(it) {
				if(it.workOrderCode === this.itemValue.code){
					return false
				}else{
					if(it.isOccupy){
						return true
					}else{
						return false
					}
				}
			},

			quantInt(index, idx, it) {
	

				if (it.quantity >= 1) {
					this.$set(this.newList[index].extInfo.positionList[idx], 'workOrderCode', this.wordItem.code)
					this.$set(this.newList[index].extInfo.positionList[idx], 'categoryCode', this.wordItem.productCode)
					if(it.quantity > this.itemValue.product[0].feedQuantity) {
						this.$set(this.newList[index].extInfo.positionList[idx], 'quantity', 0)
						return uni.showToast({
							icon: 'none',
							title: `超出投料数量`
						})
					}

				} else {
					this.$set(this.newList[index].extInfo.positionList[idx], 'workOrderCode', '')
					this.$set(this.newList[index].extInfo.positionList[idx], 'categoryCode', '')
					this.$set(this.newList[index].extInfo.positionList[idx], 'quantity', 0)
					this.$set(this.newList[index].extInfo.positionList[idx], 'isOccupy', 0)
				}


				this.totalCount = 0

				this.newList.forEach(f => {
					f.extInfo.positionList.forEach(o => {
						if (o.workOrderCode == this.wordItem.code && (!Object.prototype.hasOwnProperty
								.call(o, 'isOccupy') || (o.isOccupy == 0 && o.quantity > 0))) {
							this.totalCount = Number(this.totalCount) + Number(o.quantity)
						}
					})
				})

				uni.showToast({
					icon: 'none',
					title: `已经放${this.totalCount}`
				})

				this.$emit('formedNumFn', this.totalCount)






			},

			handleScan(index) {
				this.$emit('handleScan', index, 'turnover')
			},

			getDelete(index) {
				this.list.splice(index, 1)


			},
			scrolltolower() {},
			
			handContract() {
				this.isContract = !this.isContract
			}
		}
	}
</script>

<style lang="scss" scoped>
	.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;
			}


		}

		.des{
			font-size: 28rpx;
			font-style: normal;
			font-weight: 400;
			color: $theme-color;
			margin-left: 38rpx;
		}

		.left {
			width: 140rpx;
		}

		.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%;

			}

			.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;
		}

	}
	.content_num_box {
		/deep/ .uni-input-input {
			border: 2rpx solid #F0F8F2;
			background: #fafafa;
			color:#222;
		}
	}
	.z_list {
		max-height: 500rpx;
	}
</style>