商品分类:second-one 样式接入完成

This commit is contained in:
YunaiV
2023-12-10 20:46:11 +08:00
parent 3d4f7e9a09
commit e971e09593
3 changed files with 23 additions and 116 deletions
+10 -13
View File
@@ -1,7 +1,9 @@
<!-- 分类列表 -->
<template>
<s-layout title="分类" tabbar="/pages/index/category" :bgStyle="{ color: '#fff' }">
<view class="s-category">
<view class="three-level-wrap ss-flex ss-col-top" :style="[{ height: pageHeight + 'px' }]">
<!-- 商品分类 -->
<scroll-view class="side-menu-wrap" scroll-y :style="[{ height: pageHeight + 'px' }]">
<view class="menu-item ss-flex" v-for="(item, index) in state.categoryList?.children" :key="item.id"
:class="[{ 'menu-item-active': index == state.activeMenu }]" @tap="onMenu(index)">
@@ -10,7 +12,8 @@
</view>
</view>
</scroll-view>
<scroll-view class="goods-list-box" scroll-y :style="[{ height: pageHeight + 'px' }]"
<!-- 商品分类 -->
<scroll-view class="goods-list-box" scroll-y :style="[{ height: pageHeight + 'px' }]"
v-if="state.categoryList?.children?.length">
<image v-if="state.categoryList.children[state.activeMenu].image" class="banner-img"
:src="sheep.$url.cdn(state.categoryList.children[state.activeMenu].image)" mode="widthFix">
@@ -21,8 +24,6 @@
:activeMenu="state.activeMenu" :pagination="state.pagination" />
<second-one v-if="state.categoryList.style === 'second_one'" :data="state.categoryList"
:activeMenu="state.activeMenu" :pagination="state.pagination" />
<third-one v-if="state.categoryList.style === 'third_one'" :data="state.categoryList"
:activeMenu="state.activeMenu" :pagination="state.pagination" />
<uni-load-more v-if="
(state.categoryList.style === 'first_one' ||
state.categoryList.style === 'first_two') &&
@@ -38,7 +39,6 @@
<script setup>
import secondOne from './components/second-one.vue';
import thirdOne from './components/third-one.vue';
import firstOne from './components/first-one.vue';
import firstTwo from './components/first-two.vue';
import sheep from '@/sheep';
@@ -52,8 +52,10 @@
reactive
} from 'vue';
import _ from 'lodash';
import { handleTree } from '@/sheep/util';
const state = reactive({
categoryList: [],
style: 'second_one', // first_one(一级 - 样式一), first_two(二级 - 样式二), second_one(二级)
categoryList: [], // 商品分类树
activeMenu: '0',
pagination: {
@@ -65,12 +67,7 @@
loadStatus: '',
});
const {
screenHeight,
safeAreaInsets,
screenWidth,
safeArea
} = sheep.$platform.device;
const { safeArea } = sheep.$platform.device;
const pageHeight = computed(() => safeArea.height - 44 - 50);
async function getList(options) {
@@ -82,8 +79,8 @@
});
if (code === 0) {
state.categoryList = {
children: data,
style: 'first_one'
children: handleTree(data),
style: 'second_one'
};
}
}