| | |
| | | <text>商城</text> |
| | | <view class="head-search-input"> |
| | | <u-search placeholder="搜索商品" height="30" searchIconColor="#999999" borderColor="#eeeeee" |
| | | bgColor="rgba(255,255,255,0.9)" @custom="search" :showAction="false" v-model="form.goodsName" @search="search" /> |
| | | bgColor="rgba(255,255,255,0.9)" @clear="search" :showAction="false" v-model="form.goodsName" @search="search" /> |
| | | </view> |
| | | </view> |
| | | <view class="head-tabs"> |
| | | <u-tabs lineColor="#E4001D" :list="list" @click="clickCate"></u-tabs> |
| | | <u-tabs lineColor="#E4001D" :itemStyle="{ height: '100rpx' }" :list="list" @click="clickCate"></u-tabs> |
| | | </view> |
| | | </view> |
| | | |
| | |
| | | </view> |
| | | </view> |
| | | <!-- 品牌 --> |
| | | <view class="list" style="padding-top: 30rpx; box-sizing: border-box; justify-content: flex-start;" v-if="show === 2"> |
| | | <view class="list" style="padding-top: 30rpx; box-sizing: border-box;" v-if="show === 2"> |
| | | <view :class="item.active ? 'list-cate active' : 'list-cate'" v-for="(item, index) in pingpai" :key="index" @click="getXiLie(item.id, index)">{{item.name}}</view> |
| | | <view style="width: 216rpx; height: 0;"></view> |
| | | </view> |
| | | <!-- 系列 --> |
| | | <view class="list" v-if="show === 3"> |
| | |
| | | </view> |
| | | <view class="commodity-item" v-else v-for="(item, i) in goodsList" :key="i" @click="jumpDetails(item.id)"> |
| | | <view class="commodity-item-image"> |
| | | <image :src="item.imgurl" mode="widthFix"></image> |
| | | <image :src="item.imgurl?item.imgurl:'/static/icon/default2.png'" mode="widthFix"></image> |
| | | </view> |
| | | <view class="commodity-item-box"> |
| | | <view class="commodity-item-box-title"> |
| | |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="cart"> |
| | | <view class="cart" @click="jumpCart"> |
| | | <view class="cart-box"> |
| | | <image src="/static/icon/ic_cart@2x.png" mode="widthFix"></image> |
| | | <text>购物车</text> |
| | | <view class="cart-num">{{cardTotal}}</view> |
| | | <view class="cart-num" v-if="cardTotal>0">{{cardTotal}}</view> |
| | | </view> |
| | | </view> |
| | | <Login ref="login" /> |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | import { |
| | | mapState |
| | | } from 'vuex' |
| | | import Login from '@/components/login/login.vue' |
| | | export default { |
| | | components: { Login }, |
| | | computed: { |
| | | ...mapState(['navHeight', 'statusbarHeight']) |
| | | ...mapState(['navHeight', 'statusbarHeight', 'userInfo']) |
| | | }, |
| | | watch: { |
| | | paixu: { |
| | |
| | | }; |
| | | }, |
| | | onLoad() { |
| | | this.getCartNum() |
| | | this.getLabels() |
| | | this.getGoodsList() |
| | | }, |
| | | async onShow() { |
| | | await this.$onLaunched; |
| | | if (this.userInfo) { |
| | | this.getCartNum() |
| | | } |
| | | }, |
| | | onReachBottom() { |
| | | this.getGoodsList() |
| | | }, |
| | | methods: { |
| | | jumpCart() { |
| | | if (!this.userInfo) { |
| | | this.$refs.login.open() |
| | | return; |
| | | } |
| | | uni.navigateTo({ |
| | | url: '/pages/shopping-cart/shopping-cart' |
| | | }) |
| | | }, |
| | | getCartNum() { |
| | | this.$u.api.cartGoodsTypeNum() |
| | | .then(res => { |
| | |
| | | this.getGoodsList() |
| | | }, |
| | | addCard(e) { |
| | | if (!this.userInfo) { |
| | | this.$refs.login.open() |
| | | return; |
| | | } |
| | | this.$u.api.addCart({ |
| | | goodsId: e.id, |
| | | goodsSkuId: e.skuResponsesList[0].id, |
| | | num: 1 |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | uni.showToast({ title: '添加成功', icon: 'success' }) |
| | | uni.showToast({ title: '添加成功', icon: 'success', mask: true }) |
| | | this.getCartNum() |
| | | } |
| | | }) |
| | |
| | | .head-tabs { |
| | | width: 100%; |
| | | height: 100rpx; |
| | | display: flex; |
| | | align-items: flex-end; |
| | | // display: flex; |
| | | // align-items: flex-end; |
| | | border-bottom: 1rpx solid #E5E5E5; |
| | | } |
| | | } |
| | |
| | | font-size: 28rpx; |
| | | color: #333333; |
| | | margin-bottom: 24rpx; |
| | | margin-right: 20rpx; |
| | | &:last-child { |
| | | margin-right: 0 !important; |
| | | } |
| | | // margin-right: 20rpx; |
| | | // &:last-child { |
| | | // margin-right: 0 !important; |
| | | // } |
| | | } |
| | | .red { |
| | | text { |