| | |
| | | <input type="text" value="flushDom" v-if="false" /> |
| | | <top-bar selectedTitleIndex="shop" textColor="black" @changeTab="topBarChange" class="topBar"></top-bar> |
| | | <view class="search"> |
| | | <u-search class="nav-search" @blur='searchGoods' v-model="searchInfo" placeholder="搜索商品" |
| | | <u-search class="nav-search" @change='searchGoods' v-model="searchInfo" placeholder="搜索商品" |
| | | :show-action="false"></u-search> |
| | | </view> |
| | | <view style="display: flex;padding: 32rpx;box-sizing: border-box;height: 100%;"> |
| | |
| | | </scroll-view> |
| | | |
| | | </view> |
| | | <view class="goodsInfos" > |
| | | <scroll-view :scroll-y="true" :show-scrollbar="false" style="height: 100%;"> |
| | | <view class="goodsInfos" style="position: relative;"> |
| | | <scroll-view :scroll-y="true" :show-scrollbar="false" style="height: 100%;" @scrolltolower="loadMoreData()"> |
| | | |
| | | <view class="goodsItem" v-for="item in goodsList" :key="item.id" |
| | | @click.prevent="goToGoodsInfo(item.id)" |
| | |
| | | </view> |
| | | </view> |
| | | </scroll-view> |
| | | </view> |
| | | <view @click="gotoCardList()" style="position: absolute;bottom: 120rpx; right: 32rpx;"> |
| | | <div class="settlement" >去购物车结算</div> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | canGoToCarList:false, |
| | | nums:10, |
| | | searchInfo: '', |
| | | //商品列表 |
| | | goodsList: [], |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | gotoCardList(){ |
| | | uni.navigateTo({ |
| | | url:'/pages/cusbar/cart/cartList' |
| | | }) |
| | | }, |
| | | addCardNum(e, id) { |
| | | this.goodsList.forEach(item => { |
| | | if (item.id === id) { |
| | |
| | | this.getGoodsParam.keyword = keyWard |
| | | this.getGoodsParam.pageNumber = 1 |
| | | this.getGoodsParam.categoryId = '' |
| | | this.goodsList = []; |
| | | await this.getgoodsData(); |
| | | }, |
| | | confirm() {}, |
| | |
| | | }, |
| | | goToGoodsInfo(id) { |
| | | const item = this.goodsList.find(item => id === item.id); |
| | | console.log(item) |
| | | uni.navigateTo({ |
| | | url: `/pages/product/goods?id=${item.id}&goodsId=${item.goodsId}` |
| | | }); |
| | | }, |
| | | //触底获取数据 |
| | | async loadMoreData() { |
| | | console.log("触底加载------------》",this.maxPages) |
| | | if (this.getGoodsParam.pageNumber < this.maxPages) { |
| | | this.getGoodsParam.pageNumber++; |
| | | await this.getgoodsData() |
| | |
| | | const cardInfos = await getCarts(); |
| | | // 处理购物车信息 |
| | | let cardMap = new Map(); |
| | | this.canGoToCarList = cardInfos.data.result.cartList.length>0 |
| | | cardInfos.data.result.cartList.forEach(item => { |
| | | |
| | | item.skuList.forEach(sku => { |
| | |
| | | item.cardNum = cardItem.num; |
| | | } |
| | | }) |
| | | this.goodsList = goodsList.data.result.records; |
| | | console.log('this.goodsList----------------------->',JSON.stringify(this.goodsList)) |
| | | this.goodsList = [...this.goodsList,...goodsList.data.result.records]; |
| | | this.maxPages = goodsList.data.result.pages |
| | | console.log('this.goodsList----------------------->',JSON.stringify(goodsList.data.result)) |
| | | |
| | | }, |
| | | async chooseCategory(id) { |
| | |
| | | overflow: hidden; |
| | | |
| | | } |
| | | |
| | | .settlement { |
| | | width: 180rpx; |
| | | height: 70rpx; |
| | | line-height: 70rpx; |
| | | background: linear-gradient(91deg, $light-color 1%, $aider-light-color 99%); |
| | | border-radius: 900rpx; |
| | | text-align: center; |
| | | color: #fff; |
| | | margin-right: 10rpx; |
| | | } |
| | | |
| | | .navigatorMenue { |
| | | margin-left: -32rpx; |