fix: quantity -> stepper

This commit is contained in:
niunai 2017-09-08 16:56:14 +08:00
parent 6da45f69e6
commit 078cf05ceb
5 changed files with 30 additions and 30 deletions

View File

@ -60,7 +60,7 @@ Vue.component(Sku.name, Sku);
:show-add-cart-btn="true" :show-add-cart-btn="true"
:quota="quota" :quota="quota"
:quota-used="quotaUsed" :quota-used="quotaUsed"
:reset-quantity-on-hide="true" :reset-stepper-on-hide="true"
@buy-clicked="handleBuyClicked" @buy-clicked="handleBuyClicked"
@add-cart="handleAddCartClicked" @add-cart="handleAddCartClicked"
> >
@ -85,7 +85,7 @@ Vue.component(Sku.name, Sku);
:show-add-cart-btn="true" :show-add-cart-btn="true"
:quota="quota" :quota="quota"
:quota-used="quotaUsed" :quota-used="quotaUsed"
:reset-quantity-on-hide="true" :reset-stepper-on-hide="true"
@buy-clicked="handleBuyClicked" @buy-clicked="handleBuyClicked"
@add-cart="handleAddCartClicked" @add-cart="handleAddCartClicked"
> >

View File

@ -1,8 +1,8 @@
<template> <template>
<div class="van-sku-quantity-stock"> <div class="van-sku-stepper-stock">
<div class="van-sku-quantity-container"> <div class="van-sku-stepper-container">
<div class="van-sku__quantity-title">{{ quantityTitle }}</div> <div class="van-sku__stepper-title">{{ stepperTitle }}</div>
<van-quantity v-model="currentNum" :min="1" :max="quantityLimit" class="van-sku__quantity" @overlimit="handleOverLimit"></van-quantity> <van-stepper v-model="currentNum" :min="1" :max="stepperLimit" class="van-sku__stepper" @overlimit="handleOverLimit"></van-stepper>
</div> </div>
<div v-if="!hideStock" class="van-sku__stock">剩余{{ stock }}</div> <div v-if="!hideStock" class="van-sku__stock">剩余{{ stock }}</div>
<div v-if="quota > 0" class="van-sku__quota">每人限购{{ quota }}</div> <div v-if="quota > 0" class="van-sku__quota">每人限购{{ quota }}</div>
@ -10,16 +10,16 @@
</template> </template>
<script> <script>
import Quantity from 'packages/quantity'; import Stepper from 'packages/stepper';
import { LIMIT_TYPE } from '../constants'; import { LIMIT_TYPE } from '../constants';
const { QUOTA_LIMIT, STOCK_LIMIT } = LIMIT_TYPE; const { QUOTA_LIMIT, STOCK_LIMIT } = LIMIT_TYPE;
export default { export default {
name: 'van-sku-quantity', name: 'van-sku-stepper',
components: { components: {
[Quantity.name]: Quantity [Stepper.name]: Stepper
}, },
props: { props: {
@ -34,7 +34,7 @@ export default {
type: Boolean, type: Boolean,
default: false default: false
}, },
quantityTitle: { stepperTitle: {
type: String, type: String,
default: '购买数量' default: '购买数量'
} }
@ -52,7 +52,7 @@ export default {
currentNum(num) { currentNum(num) {
this.skuEventBus.$emit('sku:numChange', num); this.skuEventBus.$emit('sku:numChange', num);
}, },
quantityLimit(limit) { stepperLimit(limit) {
if (limit < this.currentNum) { if (limit < this.currentNum) {
this.currentNum = limit; this.currentNum = limit;
} }
@ -66,7 +66,7 @@ export default {
} }
return this.sku.stock_num; return this.sku.stock_num;
}, },
quantityLimit() { stepperLimit() {
const quotaLimit = this.quota - this.quotaUsed; const quotaLimit = this.quota - this.quotaUsed;
let limit; let limit;

View File

@ -28,19 +28,19 @@
</div> </div>
</slot> </slot>
<slot name="extra-sku-group" :skuEventBus="skuEventBus"></slot> <slot name="extra-sku-group" :skuEventBus="skuEventBus"></slot>
<slot name="sku-quantity" :skuEventBus="skuEventBus" :selectedSku="selectedSku" :selectedSkuComb="selectedSkuComb" :selectedNum="selectedNum"> <slot name="sku-stepper" :skuEventBus="skuEventBus" :selectedSku="selectedSku" :selectedSkuComb="selectedSkuComb" :selectedNum="selectedNum">
<van-sku-quantity <van-sku-stepper
ref="skuQuantity" ref="skuStepper"
:skuEventBus="skuEventBus" :skuEventBus="skuEventBus"
:selectedSku="selectedSku" :selectedSku="selectedSku"
:selectedSkuComb="selectedSkuComb" :selectedSkuComb="selectedSkuComb"
:selectedNum="selectedNum" :selectedNum="selectedNum"
:quantityTitle="quantityTitle" :stepperTitle="stepperTitle"
:sku="sku" :sku="sku"
:quota="quota" :quota="quota"
:quotaUsed="quotaUsed" :quotaUsed="quotaUsed"
:hideStock="hideStock"> :hideStock="hideStock">
</van-sku-quantity> </van-sku-stepper>
</slot> </slot>
<slot name="sku-messages"> <slot name="sku-messages">
<van-sku-messages <van-sku-messages
@ -67,7 +67,7 @@ import Popup from 'packages/popup';
import Toast from 'packages/toast'; import Toast from 'packages/toast';
import SkuHeader from '../components/SkuHeader'; import SkuHeader from '../components/SkuHeader';
import SkuRow from '../components/SkuRow'; import SkuRow from '../components/SkuRow';
import SkuQuantity from '../components/SkuQuantity'; import SkuStepper from '../components/SkuStepper';
import SkuMessages from '../components/SkuMessages'; import SkuMessages from '../components/SkuMessages';
import SkuActions from '../components/SkuActions'; import SkuActions from '../components/SkuActions';
import { isAllSelected, getSkuComb, getSelectedSkuValues } from '../utils/skuHelper'; import { isAllSelected, getSkuComb, getSelectedSkuValues } from '../utils/skuHelper';
@ -82,7 +82,7 @@ export default {
[Popup.name]: Popup, [Popup.name]: Popup,
[SkuHeader.name]: SkuHeader, [SkuHeader.name]: SkuHeader,
[SkuRow.name]: SkuRow, [SkuRow.name]: SkuRow,
[SkuQuantity.name]: SkuQuantity, [SkuStepper.name]: SkuStepper,
[SkuMessages.name]: SkuMessages, [SkuMessages.name]: SkuMessages,
[SkuActions.name]: SkuActions [SkuActions.name]: SkuActions
}, },
@ -113,7 +113,7 @@ export default {
default: true default: true
}, },
buyText: String, buyText: String,
quantityTitle: { stepperTitle: {
type: String, type: String,
default: '购买数量' default: '购买数量'
}, },
@ -121,7 +121,7 @@ export default {
type: Number, type: Number,
default: 150 default: 150
}, },
resetQuantityOnHide: Boolean, resetStepperOnHide: Boolean,
value: Boolean value: Boolean
}, },
@ -145,8 +145,8 @@ export default {
selectedSkuComb: this.selectedSkuComb selectedSkuComb: this.selectedSkuComb
}); });
if (this.resetQuantityOnHide) { if (this.resetStepperOnHide) {
this.$refs.skuQuantity && this.$refs.skuQuantity.setCurrentNum(1); this.$refs.skuStepper && this.$refs.skuStepper.setCurrentNum(1);
} }
} }
}, },

View File

@ -1,7 +1,7 @@
import SkuActions from './components/SkuActions'; import SkuActions from './components/SkuActions';
import SkuHeader from './components/SkuHeader'; import SkuHeader from './components/SkuHeader';
import SkuMessages from './components/SkuMessages'; import SkuMessages from './components/SkuMessages';
import SkuQuantity from './components/SkuQuantity'; import SkuStepper from './components/SkuStepper';
import SkuRow from './components/SkuRow'; import SkuRow from './components/SkuRow';
import SkuRowItem from './components/SkuRowItem'; import SkuRowItem from './components/SkuRowItem';
import skuHelper from './utils/skuHelper'; import skuHelper from './utils/skuHelper';
@ -10,7 +10,7 @@ import SkuContainer from './containers/SkuContainer';
SkuContainer.SkuActions = SkuActions; SkuContainer.SkuActions = SkuActions;
SkuContainer.SkuHeader = SkuHeader; SkuContainer.SkuHeader = SkuHeader;
SkuContainer.SkuMessages = SkuMessages; SkuContainer.SkuMessages = SkuMessages;
SkuContainer.SkuQuantity = SkuQuantity; SkuContainer.SkuStepper = SkuStepper;
SkuContainer.SkuRow = SkuRow; SkuContainer.SkuRow = SkuRow;
SkuContainer.SkuRowItem = SkuRowItem; SkuContainer.SkuRowItem = SkuRowItem;
SkuContainer.skuHelper = skuHelper; SkuContainer.skuHelper = skuHelper;

View File

@ -135,22 +135,22 @@
} }
/* /*
sku quantity sku stepper
*/ */
.van-sku-quantity-stock { .van-sku-stepper-stock {
padding: 12px 0; padding: 12px 0;
margin-left: 15px; margin-left: 15px;
} }
.van-sku-quantity-container { .van-sku-stepper-container {
height: 30px; height: 30px;
margin-right: 20px; margin-right: 20px;
} }
.van-sku__quantity-title { .van-sku__stepper-title {
float: left; float: left;
line-height: 30px; line-height: 30px;
font-size: 14px; font-size: 14px;
} }
.van-sku__quantity { .van-sku__stepper {
float: right; float: right;
top: 7px; top: 7px;
left: 4px; left: 4px;