<template>

	<view>
		<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">
					<view class="btn_box rx-bc" @click="handleTrade(index)" v-if='item.isOld == 1'>
						工单换周转车
					</view>
					
					<view  class='title_des' v-if='item.isOld == 0'>
						转换后周转车详
					</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>


				<view class="content_table2">
					<view class="head row rx-sc">
						<view class="item ww10">货位</view>
						<view class="item ww30">工单编号</view>
						<view class="item ww30">产品编码</view>
						<view class="item ww15">数量</view>
						<view class="item ww15"></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 ww30" :class="{'color157': it.categoryCode === wordItem.productCode}">
								{{it.categoryCode}}
							</view>
							<view class="item ww15  ">
								<text :class="{ 'isend': it.isend }">{{it.newQuantity}}</text>
							</view>

							<view class="item ww15 rx-cc " v-if='!it.isend  ' @click="handleCheck(index, idx, it)">

								<image class="check" v-if='item.isOld != 0 && it.check' src='@/static/check.png'></image>
								<image class="check"  v-if='item.isOld != 0 && !it.check' src='@/static/check_no.png'></image>
							</view>
						</view>

                      </u-list>




					</view>


				</view>

			</view>
		</view>

		<turnoverPopup ref='turnoverRef' @saveTurn='saveTurn'></turnoverPopup>


	</view>
</template>

<script>
	import {
		transferVehicle,
	} from '@/api/pda/workOrder.js'

	import turnoverPopup from './turnoverPopup.vue'
	export default {
		components: {
			turnoverPopup
		},
		props: {
			list: {
				type: Array,
				default: () => []
			},
			wordItem: {
				type: Object,
				default: () => {}
			},


			newTurnover: {
				type: Array,
				default: () => []
			},

		},


		watch: {

			list: {
				immediate: true,
				deep: true,
				handler(newVal) {
					this.newList = newVal

				}
			}
		},

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

				wordInfo: {
					workOrderCode: null,
					categoryCode: null,
				}
			}
		},

		methods: {

           scrolltolower() {},

			handleCheck(index, idx, it) {



				if (it.quantity <= 0) {
					uni.showToast({
						icon: 'none',
						title: '数量为空不能勾选'
					})

					return false
				}



				let arr = this.newList[index].extInfo.positionList.filter(e => {
					return e.check && !e.isend
				})
				let flag = arr.every((i) => {
					return i.workOrderCode == it.workOrderCode && i.categoryCode == it.categoryCode
				})

				if (flag) {
					this.$set(this.newList[index].extInfo.positionList[idx], 'check', !it.check)
				} else {
					uni.showToast({
						icon: 'none',
						title: '一次只能转移同一工单产品'
					})
				}



			},

			handleTrade(index) {

				let arr = this.newList[index].extInfo.positionList.filter(e => {
					return e.check
				})
				if (arr.length == 0) {
					uni.showToast({
						icon: 'none',
						title: '请先勾选需要转移的工单'
					})

					return false
				}



				this.wordInfo.workOrderCode = arr[0].workOrderCode
				this.wordInfo.categoryCode = arr[0].categoryCode


				this.$refs.turnoverRef.open('w0300000003431001', this.wordInfo, this.newList, this.wordItem, index)
				return false

				let _this = this
				uni.scanCode({
					success: function(res) {

						_this.$refs.turnoverRef.open(res.result, this.wordInfo, this.newList, this.wordItem,
							index)
					}
				})

			},

			saveTurn(index, newTurnover) {
				let arr = this.newList[index].extInfo.positionList.filter(e => {
					return e.check
				})

				arr.forEach(f => {
					f.isend = true
					f.quantity = 0
				})

				let turnoverArr = []
				newTurnover[0].isOld = 0 // 新的
				newTurnover[0].id = null
				this.newList[index].isOld = 1 // 老的
				turnoverArr = [this.newList[index], ...newTurnover]
				
				transferVehicle(turnoverArr).then(res => {
					 this.$emit('refreshList')
				})


			}

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


		}

		.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: 30rpx;
		height: 30rpx;
	}

	.isend {
		text-decoration: line-through;
	}
	
	.title_des{
		font-size: 28rpx;
		color: #FFA929;
	}
	

			.z_list{
				max-height: 500rpx;
			}

</style>