<template>
	<view class="upload_num_container">
	<!-- 	<picker :value="sexIndex" :range="sexList" range-key="name" @change="pickerSexChange">
			<view class="sex_select">
				<view class="select_main">{{ sexList[sexIndex].name || '选款式' }}</view>
				<view class="select_arrow"></view>
			</view>
		</picker>
		<picker :value="sizeIndex" :range="sizeList" range-key="name" @change="pickerSizeChange">
			<view class="sex_select">
				<view class="select_main">{{ sizeList[sizeIndex].name || '选尺码' }}</view>
				<view class="select_arrow"></view>
			</view>
		</picker> -->
		<view class="upload_input_counter">
			<view class="counter_delete" @click="changeCounter(0)"></view>
			<input v-model="sarr[2]" type="number" class="counter_input" :class="sarr[2] === 0 ? 'counter_input_had' : ''" @input="inputCounter">
			<view class="counter_add" @click="changeCounter(1)"></view>
		</view>
	</view>
</template>

<script>
	export default {
		props: {
			sarr: {
				type: Array,
				default: () => ['', '', 0]
			},
			skey: {
				type: String,
				default: ''
			},
			sindex: {
				type: Number,
				default: 0
			}
		},
		data() {
			return {
				sexList: [
					{
						id: 0,
						name: '女'
					},
					{
						id: 1,
						name: '男'
					}
				],
				sizeList: [
					{
						id: 0,
						name: 'M'
					},
					{
						id: 1,
						name: 'L'
					},
					{
						id: 2,
						name: 'XL'
					},
					{
						id: 3,
						name: '2XL'
					},
					{
						id: 4,
						name: '3XL'
					},
					{
						id: 5,
						name: '5XL'
					}
				],
				sexIndex: -1,
				sizeIndex: -1
			}
		},
		watch: {
			sarr: {
				handler(a) {
					this.sexIndex =  this.sexList.findIndex(({ id }) => +id === a[0])
					this.sizeIndex = this.sizeList.findIndex(({ id }) => +id === a[1])
				},
				deep: true,
				immediate: true
			}
		},
		methods: {
			pickerSexChange(e) {
				this.sexIndex = Number(e.detail.value)
				if(this.sexIndex === -1) return false
				let id = this.sexList[this.sexIndex].id
				this.$emit('inputCounter', this.skey, this.sindex, 0, id)
			},
			pickerSizeChange(e) {
				this.sizeIndex = Number(e.detail.value)
				if(this.sizeIndex === -1) return false
				let id = this.sizeList[this.sizeIndex].id
				this.$emit('inputCounter', this.skey, this.sindex, 1, id)
			},
			changeCounter(type) {
				let n = this.sarr[2]
				type ? ++ n : (n > 0 ? --n : n)
				this.$emit('inputCounter', this.skey, this.sindex, 2, n)
			},
			inputCounter(e) {
				let n = e.detail.value
				this.$emit('inputCounter', this.skey, this.sindex, 2, n)
			}
		}
	}
</script>

<style lang="scss" scoped>
	.upload_num_container {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: space-between;
		.select_arrow {
			&::after {
				content: "";
				display: block;
				width: 28rpx;
				height: 28rpx;
				background-image: url(../static/icon/arrow.png);
				background-size: 100% 100%;
				background-repeat: no-repeat;
				transform: rotate(90deg);
			}
		}
		.select_main {
			flex: 1;
			text-align: center;
			overflow: hidden;
		}
		.sex_select {
			width: 160rpx;
			height: 64rpx;
			line-height: 64rpx;
			display: flex;
			justify-content: center;
			align-items: center;
			color: #FB6342;
			font-size: 32rpx;
			background-color: #F5F5F5;
			border-radius: 8rpx;
			padding: 0 16rpx;
			box-sizing: border-box;
		}
		.upload_input_counter {
			width: 300rpx;
			color: #FB6342;
			font-size: 32rpx;
			height: 64rpx;
			border-radius: 64rpx;
			border: 1px solid #FB6342;
			display: flex;
			align-items: center;
			justify-content: space-between;
			.counter_input_had {
				color: #000 !important;
			}
			.counter_input {
				flex: 1;
				overflow: hidden;
				height: 64rpx;
				line-height: 64rpx;
				text-align: center;
				border-left: 1px solid #FB6342;
				border-right: 1px solid #FB6342;
			}
			.counter_add {
				width: 54rpx;
				position: relative;
				height: 100%;
				&::before {
					content: "";
					display: block;
					width: 4rpx;
					height: 16rpx;
					background-color: #FB6342;
					position: absolute;
					top: 50%;
					left: 50%;
					margin-top: -8rpx;
					margin-left: -2rpx;
				}
				&::after {
					content: "";
					display: block;
					width: 16rpx;
					height: 2rpx;
					background-color: #FB6342;
					position: absolute;
					top: 50%;
					left: 50%;
					margin-top: -2rpx;
					margin-left: -8rpx;
				}
			}
			.counter_delete {
				width: 54rpx;
				height: 100%;
				position: relative;
				&::before {
					content: "";
					display: block;
					width: 16rpx;
					height: 2rpx;
					background-color: #FB6342;
					position: absolute;
					top: 50%;
					left: 50%;
					margin-top: -2rpx;
					margin-left: -8rpx;
				}
			}
		}

	}
</style>
