多租户商城-商户小程序端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

155 lines
3.0 KiB

<template>
<view class="content">
<view class="Box">
<view class="productBox" v-for="(item,index) in productList" :key="index"
@click="goodsDateils(item.shopId,item.productId,item.skuId)">
<view class="proImg">
<image :src="item.image" mode=""></image>
</view>
<view class="rightBox">
<view class="proTitle">
{{item.productName}}
</view>
<view class="price">
<text class="fs36 font-color-red">
¥{{item.price}}
</text>
<text class="mar-left-10 fs26">
{{item.users}}{{$t('common.payticktip')}}
</text>
</view>
<view class="flex-sp-between flex-display mar-top-20" @click.stop="goStore(item.shopId)">
<view>
{{item.shopName}}
</view>
<view>
<image class="rightIcon" src="https://ceres.zkthink.com/images/arrowRight.png" mode="aspectFill"></image>
</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
const NET = require('@/utils/request')
const API = require('@/config/api')
export default {
data() {
return {
list: [],
pageSize: 1,
productList:[]
}
},
onPullDownRefresh() { //上拉触底函数
this.pageSize = this.pageSize + 1
this.GetremenList()
},
onLoad() {
this.GetremenList()
},
methods: {
// 获取列表数据
GetremenList() {
let timestamp = new Date().getTime()
NET.request(API.GetremenList, {
page: this.pageSize,
pageSize: 5,
timestamp: timestamp
}, 'get').then(res => {
uni.stopPullDownRefresh();
if (res.code == 200) {
this.productList = res.data.list
} else {
uni.showToast({
title: res.message,
icon: 'none'
})
}
})
},
// 跳转店铺
goStore(shopId) {
uni.navigateTo({
url: './store/index?storeId=' + shopId
})
},
//商品详情
goodsDateils(shopId, productId, skuId) {
uni.navigateTo({
url: './goodsModule/goodsDetails?shopId=' + shopId + '&productId=' + productId + '&skuId=' +
skuId
})
}
}
}
</script>
<style lang="scss" scoped>
page {
background-color: #FBE7E0;
}
.content {
.Box {
padding: 30upx;
.productBox {
background-color: #FFFFFF;
height: 280upx;
margin-bottom: 20upx;
border-radius: 20upx;
padding: 20upx;
display: flex;
justify-content: space-between;
.proImg {
width: 240upx;
height: 240upx;
image {
width: 100%;
height: 100%;
border-radius: 20upx;
}
}
.rightBox {
width: 60%;
.proTitle {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
}
.biao {
margin-top: 20upx;
text {
margin-right: 10upx;
border-radius: 5upx;
color: #C5AA7B;
padding: 5upx 10upx 5upx;
background-color: #FBE7E0;
}
}
.price {
margin-top: 55upx;
}
.rightIcon {
width: 24upx;
height: 24upx;
}
}
}
}
}
</style>