| | |
| | | <view class="box"> |
| | | <view class="search"> |
| | | <u-search placeholder="请输入商品名称搜索" height="36" searchIconColor="#999999" borderColor="#EEEEEE" |
| | | bgColor="#F9F9FB" :showAction="false" v-model="goodsName" @search="search" /> |
| | | bgColor="#F9F9FB" :showAction="false" v-model="goodsName" @search="search" @clear="goodsList = []" /> |
| | | </view> |
| | | <view class="history" v-if="historyList && historyList.length > 0"> |
| | | <view class="history-title">历史搜索</view> |
| | |
| | | <template v-if="isSearch"> |
| | | <view class="list"> |
| | | <image class="list-notfund" v-if="goodsList.length === 0" src="/static/images/default_search@2x.png" mode="widthFix"></image> |
| | | <view class="commodity-item" v-for="(item, i) in goodsList" :key="i" v-else> |
| | | <view class="commodity-item" v-for="(item, i) in goodsList" :key="i" v-else @click="jumpDetails(item.id)"> |
| | | <view class="commodity-item-image"> |
| | | <image :src="item.imgurl" mode="widthFix"></image> |
| | | </view> |
| | |
| | | </view> |
| | | <view class="commodity-item-shou"> |
| | | <text>已售{{item.saleNum + item.realSaleNum}}</text> |
| | | <view class="commodity-item-shou-add">+</view> |
| | | <view class="commodity-item-shou-add" @click.stop="addCard(item)">+</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | <Login ref="login" /> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { mapState } from 'vuex' |
| | | import Login from '@/components/login/login.vue' |
| | | export default { |
| | | components: { Login }, |
| | | computed: { |
| | | ...mapState(['userInfo']) |
| | | }, |
| | |
| | | this.getGoodsList() |
| | | }, |
| | | methods: { |
| | | addCard(e) { |
| | | if (!this.userInfo) { |
| | | this.$refs.login.open() |
| | | return |
| | | } |
| | | this.$u.api.addCart({ |
| | | goodsId: e.id, |
| | | goodsSkuId: e.goodsSkuResponseList[0].id, |
| | | num: 1 |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | uni.showToast({ title: '添加成功', icon: 'success' }) |
| | | } |
| | | }) |
| | | }, |
| | | jumpDetails(id) { |
| | | uni.navigateTo({ |
| | | url: '/pages/details/details?id=' + id |
| | | }) |
| | | }, |
| | | seleContent(val) { |
| | | this.goodsName = val |
| | | this.search() |
| | |
| | | }) |
| | | }, |
| | | search() { |
| | | if (!this.goodsName) return; |
| | | if (!this.isSearch) { |
| | | this.isSearch = true |
| | | } |
| | |
| | | .commodity-item-image { |
| | | width: 100%; |
| | | height: 336rpx; |
| | | overflow: hidden; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |