<template>
	<!-- 拆单订单 -->
	<view class='splitOrder' v-if="splitGoods.length">
		<view class="all" v-if="select_all">
			<checkbox-group @change="checkboxAllChange">
				<checkbox value="all" :checked="isAllSelect" />
				<text class='checkAll'>全选</text>
			</checkbox-group>
		</view>
		<checkbox-group @change="checkboxChange">
			<block v-for="(item,index) in splitGoods" :key="index">
				<view class='items acea-row row-between-wrapper'>
					<!-- #ifndef MP -->
					<checkbox :value="(item.id).toString()" :checked="item.checked" />
					<!-- #endif -->
					<!-- #ifdef MP -->
					<checkbox :value="item.id" :checked="item.checked"/>
					<!-- #endif -->
					<view class='picTxt acea-row row-between-wrapper'>
						<view class='pictrue'>
							<image :src='item.cart_info.productInfo.image'></image>
						</view>
						<view class='text'>
							<view class="acea-row row-between-wrapper">
								<view class='name line1'>{{item.cart_info.productInfo.store_name}}</view>
								<view>×{{item.cart_num}}</view>
							</view>
							<view class='infor line1'>
								属性:{{item.cart_info.productInfo.attrInfo.suk || '默认'}}</view>
							<view class='money'>¥{{item.cart_info.truePrice}}</view>
						</view>
						<view class='carnum acea-row row-center-wrapper'>
							<view class="reduce" :class="item.surplus_num == 1 ? 'on' : ''"
								@click.stop='subCart(item)'>-</view>
							<view class='num'>{{item.surplus_num}}</view>
							<view class="plus" :class="item.surplus_num == item.numShow ? 'on' : ''"
								@click.stop='addCart(item)'>+</view>
						</view>
					</view>
				</view>
			</block>
		</checkbox-group>
	</view>
</template>

<script>
	export default {
		props:{
			splitGoods: {
				type: Array,
				default: () => []
			},
			select_all: {
				type: Boolean,
				default: true
			}
		},
		data() {
			return {
				isAllSelect:false
			};
		},
		mounted(){
			
		},
		methods: {
			subCart(item){
				item.surplus_num = Number(item.surplus_num) - 1;
				if(item.surplus_num<=1){
					item.surplus_num = 1
				}
				this.$emit('getList',this.splitGoods);
			},
			addCart(item){
				item.surplus_num = Number(item.surplus_num) + 1;
				if(item.surplus_num>=item.numShow){
					item.surplus_num = item.numShow
				}
				this.$emit('getList',this.splitGoods);
			},
			inArray: function(search, array) {
				for (let i in array) {
					if (array[i] == search) {
						return true;
					}
				}
				return false;
			},
			checkboxChange(event){
				let idList = event.detail.value;
				this.splitGoods.forEach((item)=>{
					if(this.inArray(item.id, idList)){
						item.checked = true;
					}else{
						item.checked = false;
					}
				})
				this.$emit('getList',this.splitGoods);
				if(idList.length == this.splitGoods.length){
					this.isAllSelect = true;
				}else{
					this.isAllSelect = false;
				}
			},
			forGoods(val){
				let that = this;
				if(!that.splitGoods.length) return
				that.splitGoods.forEach((item)=>{
					if(val){
						item.checked = true;
					}else{
						item.checked = false;
					}
				})
				that.$emit('getList',that.splitGoods);
			},
			checkboxAllChange(event){
				let value = event.detail.value;
				if(value.length){
					this.forGoods(1)
				}else{
					this.forGoods(0)
				}
			}
		}
	}
</script>

<style lang="scss">
	
	.splitOrder {
		border-bottom: 1px solid #f0f0f0;
	}
	
	.splitOrder .all{
		padding: 20rpx 30rpx;
	}
	
	.splitOrder .all .checkAll{
		margin-left: 20rpx;
	}
	
	.splitOrder .items {
		padding: 25rpx 30rpx;
		background-color: #fff;
		margin-bottom: 15rpx;
	}
	
	.splitOrder .items .picTxt {
		width: 627rpx;
		position: relative;
	}
	
	.splitOrder .items .picTxt .name{
		width: 360rpx;
	}
	
	.splitOrder .items .picTxt .pictrue {
		width: 160rpx;
		height: 160rpx;
	}
	
	.splitOrder .items .picTxt .pictrue image {
		width: 100%;
		height: 100%;
		border-radius: 6rpx;
	}
	
	.splitOrder .items .picTxt .text {
		width: 444rpx;
		font-size: 28rpx;
		color: #282828;
	}
	
	.splitOrder .items .picTxt .text .reColor {
		color: #999;
	}
	
	.splitOrder .items .picTxt .text .reElection {
		margin-top: 20rpx;
	}
	
	.splitOrder .items .picTxt .text .reElection .title {
		font-size: 24rpx;
	}
	
	.splitOrder .items .picTxt .text .reElection .reBnt {
		width: 120rpx;
		height: 46rpx;
		border-radius: 23rpx;
		font-size: 26rpx;
	}
	
	.splitOrder .items .picTxt .text .infor {
		font-size: 24rpx;
		color: #868686;
		margin-top: 16rpx;
	}
	
	.splitOrder .items .picTxt .text .money {
		font-size: 32rpx;
		color: #282828;
		margin-top: 28rpx;
	}
	
	.splitOrder .items .picTxt .carnum {
		height: 47rpx;
		position: absolute;
		bottom: 7rpx;
		right: 0;
	}
	
	.splitOrder .items .picTxt .carnum view {
		border: 1rpx solid #a4a4a4;
		width: 66rpx;
		text-align: center;
		height: 100%;
		line-height: 40rpx;
		font-size: 28rpx;
		color: #a4a4a4;
	}
	
	.splitOrder .items .picTxt .carnum .reduce {
		border-right: 0;
		border-radius: 3rpx 0 0 3rpx;
	}
	
	.splitOrder .items .picTxt .carnum .reduce.on {
		border-color: #e3e3e3;
		color: #dedede;
	}
	
	.splitOrder .items .picTxt .carnum .plus {
		border-left: 0;
		border-radius: 0 3rpx 3rpx 0;
	}
	
	.splitOrder .items .picTxt .carnum .plus.on {
		border-color: #e3e3e3;
		color: #dedede;
	}
	
	.splitOrder .items .picTxt .carnum .num {
		color: #282828;
	}
</style>