|                                                                                                                                                                                                 |  | <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>
 |