<template>
|
|
<view class="page">
|
|
<navbar/>
|
|
|
|
<view class="category">
|
|
<uv-vtabs
|
|
:chain="chain"
|
|
:list="category"
|
|
:barItemBadgeStyle="{right:'20px',top:'12px'}"
|
|
@change="change">
|
|
<uv-vtabs-item>
|
|
<view class="category-title">
|
|
租赁
|
|
</view>
|
|
<view class="list">
|
|
<view class="item" v-for="(item,index) in productList" :key="index"
|
|
@click="$utils.navigateTo('/pages_order/product/productDetail?id=' + item.id)">
|
|
<view class="item-image">
|
|
<image
|
|
:src="item.pic"
|
|
mode="aspectFill"></image>
|
|
</view>
|
|
<view class="item-unit">
|
|
<text class="text">{{item.name}}</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</uv-vtabs-item>
|
|
</uv-vtabs>
|
|
</view>
|
|
|
|
<tabber select="1" />
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import tabber from '@/components/base/tabbar.vue'
|
|
import { mapState } from 'vuex'
|
|
export default {
|
|
components: {
|
|
tabber,
|
|
},
|
|
data() {
|
|
return {
|
|
// category: [],
|
|
queryParams: {
|
|
pageNo: 1,
|
|
pageSize: 10,
|
|
},
|
|
list : {
|
|
records : [],
|
|
total : 0,
|
|
},
|
|
chain: false,
|
|
categoryIndex: 0
|
|
}
|
|
},
|
|
computed: {
|
|
productList(){
|
|
return this.category.length ? this.category[this.categoryIndex].hotelGoodsList || [] : []
|
|
},
|
|
...mapState(['category']),
|
|
},
|
|
onShow() {
|
|
// this.categoryList()
|
|
},
|
|
//滚动到屏幕底部
|
|
// onReachBottom() {
|
|
// if(this.queryParams.pageSize < this.list.total){
|
|
// this.queryParams.pageSize += 10
|
|
// this.getGoodsPage()
|
|
// }
|
|
// },
|
|
onReady() {
|
|
|
|
},
|
|
methods: {
|
|
categoryList(){
|
|
this.$api('categoryList', res => {
|
|
if(res.code == 200){
|
|
this.category = res.result
|
|
this.getGoodsPage()
|
|
}
|
|
})
|
|
},
|
|
// getGoodsPage(){
|
|
// this.$api('goodsPage', {
|
|
// ...this.queryParams,
|
|
// categoryId : this.category[this.categoryIndex].id
|
|
// }, res => {
|
|
// if(res.code == 200){
|
|
// this.list = res.result
|
|
// }
|
|
// })
|
|
// },
|
|
change(index) {
|
|
this.categoryIndex = index;
|
|
// this.queryParams.pageSize = 10
|
|
// this.getGoodsPage()
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
.page{
|
|
/deep/ .uv-vtabs{
|
|
height: calc(100vh - 360rpx) !important;
|
|
}
|
|
/deep/ .uv-vtabs__bar{
|
|
height: calc(100vh - 360rpx) !important;
|
|
}
|
|
/deep/ .uv-vtabs__content{
|
|
height: calc(100vh - 360rpx) !important;
|
|
}
|
|
}
|
|
.category {
|
|
font-size: 30rpx;
|
|
color: #333;
|
|
.category-title{
|
|
position: relative;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
height: 120rpx;
|
|
|
|
&::before,
|
|
&::after {
|
|
position: absolute;
|
|
top: 50%;
|
|
content: '';
|
|
width: 10%;
|
|
border-top: 2rpx solid black;
|
|
}
|
|
|
|
&::before {
|
|
left: 25%;
|
|
}
|
|
|
|
&::after {
|
|
right: 25%;
|
|
}
|
|
}
|
|
.list{
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
margin: 0 auto;
|
|
width: 490rpx;
|
|
.item {
|
|
padding: 10rpx 20rpx;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
align-items: center;
|
|
margin-bottom: 20rpx;
|
|
.item-image {
|
|
width: 120rpx;
|
|
height: 120rpx;
|
|
image{
|
|
height: 100%;
|
|
width: 100%;
|
|
border-radius: 50%;
|
|
}
|
|
}
|
|
|
|
.item-unit {
|
|
font-size: 24rpx;
|
|
margin-top: 15rpx;
|
|
color: #555;
|
|
}
|
|
}
|
|
|
|
.gap {
|
|
padding: 0 30rpx;
|
|
}
|
|
}
|
|
|
|
}
|
|
</style>
|