| | |
| | | </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 class="head-list"> |
| | | <view class="head-list-item" @click="openSearch(1)"> |
| | | <text :style="form.sortInfo ? 'color: #222222; font-weight: 500;' : ''">{{form.sortName}}</text> |
| | | <u-icon name="arrow-down" color="#222222" size="13" v-if="form.sortInfo && !show"></u-icon> |
| | | <u-icon name="arrow-up" color="#222222" size="13" v-else-if="form.sortInfo && show === 1"></u-icon> |
| | | <text :style="String(form.sortInfo) ? 'color: #222222; font-weight: 500;' : ''">{{form.sortName}}</text> |
| | | <u-icon name="arrow-down" color="#222222" size="13" v-if="String(form.sortInfo) && !show"></u-icon> |
| | | <u-icon name="arrow-up" color="#222222" size="13" v-else-if="String(form.sortInfo) && show === 1"></u-icon> |
| | | <u-icon name="arrow-down" color="#777777" size="13" v-else></u-icon> |
| | | </view> |
| | | <view class="head-list-item" @click="openSearch(2)"> |
| | |
| | | </view> |
| | | <view class="commodity"> |
| | | <view class="commodity-wu" v-if="goodsList.length === 0"> |
| | | <image src="/static/images/default_search@2x.png" mode="widthFix"></image> |
| | | <image src="/static/images/default_nodata_white.png" mode="widthFix"></image> |
| | | </view> |
| | | <view class="commodity-item" v-else v-for="(item, i) in goodsList" :key="i" @click="jumpDetails(item.id)"> |
| | | <view class="commodity-item-image"> |
| | |
| | | </view> |
| | | </view> |
| | | <view class="commodity-item-shou"> |
| | | <text>已售{{item.saleNum + item.realSaleNum}}</text> |
| | | <text>已售{{item.shou}}</text> |
| | | <view class="commodity-item-shou-add" @click.stop="addCard(item)">+</view> |
| | | </view> |
| | | </view> |
| | |
| | | <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', 'userInfo']) |
| | | }, |
| | |
| | | }, |
| | | methods: { |
| | | jumpCart() { |
| | | if (!this.userInfo) { |
| | | this.$refs.login.open() |
| | | return; |
| | | } |
| | | uni.navigateTo({ |
| | | url: '/pages/shopping-cart/shopping-cart' |
| | | }) |
| | |
| | | this.getGoodsList() |
| | | }, |
| | | addCard(e) { |
| | | if (!this.userInfo) { |
| | | this.$refs.login.open() |
| | | return; |
| | | } |
| | | this.$u.api.addCart({ |
| | | goodsId: e.id, |
| | | goodsSkuId: e.skuResponsesList[0].id, |
| | | goodsSkuId: e.goodsSkuResponseList[0].id, |
| | | num: 1 |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | uni.showToast({ title: '添加成功', icon: 'success' }) |
| | | uni.showToast({ title: '添加成功', icon: 'success', mask: true }) |
| | | this.getCartNum() |
| | | } |
| | | }) |
| | |
| | | if (res.code === 200) { |
| | | res.data.records.forEach(item => { |
| | | item.minPrice = item.minPrice.toFixed(2).split('.') |
| | | item.shou = (item.salenum || 0) + (item.realSaleNum || 0) |
| | | }) |
| | | this.goodsList.push(...res.data.records) |
| | | this.page++ |
| | |
| | | }, |
| | | // 系列 |
| | | getXiLie(parentId, i) { |
| | | this.form.seriesBrandId = '' |
| | | this.form.seriesBrandName = '' |
| | | this.xilie = [] |
| | | this.pingpai.forEach((item, index) => { |
| | | item.active = index === i |
| | |
| | | .commodity-item-image { |
| | | width: 100%; |
| | | height: 336rpx; |
| | | overflow: hidden; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | |
| | | padding: 20rpx; |
| | | box-sizing: border-box; |
| | | .commodity-item-box-title { |
| | | width: 100%; |
| | | display: -webkit-box; |
| | | -webkit-box-orient: vertical; |
| | | -webkit-line-clamp: 2; |
| | | overflow: hidden; |
| | | font-weight: 600; |
| | | font-size: 30rpx; |
| | | color: #222222; |
| | |
| | | .head-tabs { |
| | | width: 100%; |
| | | height: 100rpx; |
| | | display: flex; |
| | | align-items: flex-end; |
| | | // display: flex; |
| | | // align-items: flex-end; |
| | | border-bottom: 1rpx solid #E5E5E5; |
| | | } |
| | | } |