123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- import { isFunction } from '../../utils/isFunction';
- import { connect } from 'herculex';
- import history from '../../utils/history';
- import { isActive } from '../../utils';
- Component(connect({
- mapStateToProps: {
- userInfo: state => state.$global.userInfo || {},
- memberLevel: state => state.$global.memberLevel || ''
- }
- })({
- props: {
- componentData: {},
- goodsItem: {},
- defaultNum: 0,
- onItemChange: () => null,
- targetId: '',
- // 是否展示库存
- showStock: true,
- isGoToDetail: false,
- // 是否展示预约字段
- showBooking: false,
- // 展示自动发货
- showAuto: false
- },
- data: {},
- didMount() {},
- didUpdate() {},
- methods: {
- // 外层点击事件
- handleClick() {
- const {
- isGoToDetail,
- goodsItem,
- componentData
- } = this.props;
- if (isGoToDetail && goodsItem.skuId) {
- // 跳转商品详情
- history.push({
- title: '商品详情',
- pageType: 'goods-detail',
- query: {
- skuId: goodsItem.skuId
- },
- header: 'show',
- componentData: { ...componentData
- }
- });
- }
- },
- // 点击stepper回调 @params { number: value ,type: ADD | SUBTRACT }
- changeNum(e) {
- const {
- type
- } = e;
- const {
- onItemChange,
- goodsItem
- } = this.props;
- if (!isActive(goodsItem) && type === 'ADD') {
- return;
- }
- if (isFunction(onItemChange)) {
- onItemChange({
- skuId: goodsItem.skuId,
- number: 1,
- type
- });
- }
- },
- // 点击加号显示 计数器
- handelPlusClick() {
- const {
- onItemChange,
- goodsItem
- } = this.props; // 不在售
- if (!isActive(goodsItem)) {
- return;
- }
- if (isFunction(onItemChange)) {
- onItemChange({
- skuId: goodsItem.skuId,
- number: 1,
- type: 'ADD'
- });
- }
- }
- }
- }));
|