<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' v-if="item.surplus_num>0">
					<!-- #ifndef MP -->
					<checkbox  :value="(item.id).toString()" :checked="item.checked" :disabled="(type!=1&&item.surplus_num<1)?true:false" />
					<!-- #endif -->
					<!-- #ifdef MP -->
					<checkbox  :value="item.id" :checked="item.checked" :disabled="(type!=1&&item.surplus_num<1)?true:false" />
					<!-- #endif -->
					<view class='picTxt acea-row row-between-wrapper'>
						<view class='pictrue'>
							<image :src='item.image'></image>
						</view>
						<view class='text'>
							<view class="acea-row row-between-wrapper">
								<view class='name line1'>{{item.productName}}</view>
								<!-- <view>×{{item.cart_num}}</view> -->
							</view>
							<view class='infor line1'>
								{{item.sku || '默认'}}</view>
							<view class="acea-row row-middle money-section">
								<text class="infor-num">购买 x{{item.payNum}}</text>
								<text class="infor-text" v-if="type==1">{{`(${item.refundNum}件已退 ${item.payNum-item.refundNum}件可退）`}}</text>
								<text class="infor-text" v-if="type==0">{{ `(${item.deliveryNum}件已发 ${item.refundNum}件已退）`}}</text>
							</view>
						</view>
						<view class='carnum acea-row row-center-wrapper'>
							<view class="reduce iconfont icon-shangpinshuliang-jian" :class="item.surplus_num == 1 ? 'on' : ''" @click.stop='subCart(item)'></view>
							<view class='num'>{{item.surplus_num}}</view>
							<view class="plus iconfont icon-shangpinshuliang-jia" :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
			},
			//0-分单发货 1-分单付款
			type:{
				default:'0'
			}
		},
		data() {
			return {
				isAllSelect: false
			};
		},
		methods: {
			subCart(item) {
				item.surplus_num = item.surplus_num - 1;
				if (item.surplus_num <= 1) {
					item.surplus_num = 1 
				}
				this.$emit('getList', this.splitGoods);
			},
			addCart(item) {
				item.surplus_num = 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">
	/deep/checkbox .uni-checkbox-input.uni-checkbox-input-checked {
		border: 1px solid #007aff !important;
		background-color: #007aff !important;
		color: #fff !important;
	}
	.splitOrder {
		width: 710rpx;
		background-color: #fff;
		border-radius: 16rpx;
		margin: 24rpx auto 0 auto;
		padding: 32rpx 26rpx;
	}

	.splitOrder .all {
		padding: 20rpx 30rpx;
	}

	.splitOrder .all .checkAll {
		margin-left: 20rpx;
	}

	.splitOrder .items~.items {
		margin-top: 48rpx;
	}

	.splitOrder .items .picTxt {
		width: 604rpx;
		position: relative;
	}

	.splitOrder .items .picTxt .name {
		width: 444rpx;
	}

	.splitOrder .items .picTxt .pictrue {
		width: 136rpx;
		height: 136rpx;
	}

	.splitOrder .items .picTxt .pictrue image {
		width: 100%;
		height: 100%;
		border-radius: 16rpx;
	}

	.splitOrder .items .picTxt .text {
		width: 450rpx;
		font-size: 28rpx;
		color: #333;
		font-weight: 400;
	}

	.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: 22rpx;
		color: #999;
		margin-top: 12rpx;
		width: 284rpx;
	}

	.splitOrder .items .picTxt .text .money-section {
		margin-top: 18rpx;
		font-size: 22rpx;
		color: #999999;
	}

	.splitOrder .items .picTxt .text .money {
		font-size: 36rpx;
		color: #333;
		font-family: 'Regular';
		color: #FF7D00;
	}

	.splitOrder .items .picTxt .carnum {
		height: 36rpx;
		position: absolute;
		bottom: 0;
		right: 0;
	}

	.splitOrder .items .picTxt .carnum view {
		width: 66rpx;
		text-align: center;
		height: 100%;
		line-height: 36rpx;
		font-size: 24rpx;
		color: #333;
	}

	.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;
		font-size: 26rpx;
	}

	.splitOrder .items .picTxt .carnum .plus.on {
		border-color: #e3e3e3;
		color: #dedede;
	}

	.splitOrder .items .picTxt .carnum .num {
		color: #282828;
		background: #F5F5F5;
		width: 72rpx;
	}
	.infor-num{
		font-size: 22rpx;
		color: #333333;
	}
	.infor-text{
		font-size: 22rpx;
		color: #2A7EFB;
	}
</style>