<template>
  <view class="input__view" :style="style">
    <view class="flex row">
      <view class="flex row-label">
        <view class="title">成人</view>
        <view class="desc">(18周岁以上)</view>
        <view class="flex price">
          <text>¥</text>
          <text class="highlight">{{ adultsPrice }}</text>
        </view>
      </view>
      <view class="row-content">
        <uv-number-box 
          v-model="adultsNum"
          :min="0"
          :integer="true"
          :inputWidth="68"
          bgColor="transparent"
          :iconStyle="{
            background: '#F7F8FA',
            fontSize: '13px',
            lineHeight: 1,
            padding: '12px',
            borderRadius: '50%',
          }"
        ></uv-number-box>
      </view>
    </view>
    <view class="flex row">
      <view class="flex row-label">
        <view class="title">青少年</view>
        <view class="desc">(14周岁以上)</view>
        <view class="flex price">
          <text>¥</text>
          <text class="highlight">{{ teenagerPrice }}</text>
        </view>
      </view>
      <view class="row-content">
        <uv-number-box 
          v-model="teenagerNum"
          :min="0"
          :integer="true"
          :inputWidth="68"
          bgColor="transparent"
          :iconStyle="{
            background: '#F7F8FA',
            fontSize: '13px',
            lineHeight: 1,
            padding: '12px',
            borderRadius: '50%',
          }"
        ></uv-number-box>
      </view>
    </view>
    <view class="flex row">
      <view class="flex row-label">
        <view class="title">儿童</view>
        <view class="desc">(14周岁以下)</view>
        <view class="flex price">
          <text>¥</text>
          <text class="highlight">{{ childPrice }}</text>
        </view>
      </view>
      <view class="row-content">
        <uv-number-box 
          v-model="childNum"
          :min="0"
          :integer="true"
          :inputWidth="68"
          bgColor="transparent"
          :iconStyle="{
            background: '#F7F8FA',
            fontSize: '13px',
            lineHeight: 1,
            padding: '12px',
            borderRadius: '50%',
          }"
        ></uv-number-box>
      </view>
    </view>
  </view>
</template>

<script>
  export default {
    props: {
      adults: {
        type: Number,
        default: 0,
      },
      teenager: {
        type: Number,
        default: 0,
      },
      child: {
        type: Number,
        default: 0,
      },
      adultsPrice: {
        type: Number,
        default: 0,
      },
      teenagerPrice: {
        type: Number,
        default: 0,
      },
      childPrice: {
        type: Number,
        default: 0,
      },
      style: {
        type: String,
        default: ''
      },
    },
    computed: {
      adultsNum: {
        set(val) {
          this.$emit('update:adults', val)
        },
        get() {
          return this.adults
        }
      },
      teenagerNum: {
        set(val) {
          this.$emit('update:teenager', val)
        },
        get() {
          return this.teenager
        }
      },
      childNum: {
        set(val) {
          this.$emit('update:child', val)
        },
        get() {
          return this.child
        }
      },
    },
  }
</script>

<style lang="scss" scoped>
  .input__view {
    width: 100%;
  }

  .row {
    justify-content: space-between;
    padding: 24rpx 0;
    font-family: PingFang SC;
    font-size: 24rpx;
    font-weight: 400;
    line-height: 1.4;
    border-bottom: 2rpx solid #EEEEEE;
    
    & + & {
      margin-top: 20rpx;
    }

    &-label {
      justify-content: flex-start;
      column-gap: 4rpx;
    }

    &-content {
      
      /deep/ .uv-number-box__minus--disabled {
        background: transparent !important;
      }
    }
  }

  .title {
    font-size: 28rpx;
    color: #000000;
  }

  .desc {
    color: #8B8B8B;
  }

  .price {
    font-weight: 500;
    color: #FF4800;

    .highlight {
      font-size: 32rpx;
    }
  }
</style>