|
|
- <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>
|