普兆健康管家前端代码仓库
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.
 
 
 

135 lines
3.3 KiB

<template>
<view class="page__view">
<navbar bgColor="#FFFFFF" >
<view>
<uv-tabs
:current="current"
:list="tabs"
:activeStyle="{
'font-family': 'PingFang SC',
'font-weight': 600,
'font-size': '40rpx',
'line-height': 1.2,
'color': '#252545',
}"
:inactiveStyle="{
'font-family': 'PingFang SC',
'font-weight': 400,
'font-size': '32rpx',
'line-height': 1.5,
'color': '#A8A8A8',
}"
lineWidth="22rpx"
lineHeight="4rpx"
lineColor="#252545"
@change="onTabChange"
></uv-tabs>
</view>
</navbar>
<!-- 营养素 -->
<tab-nutrient v-if="current == 0">
<template #custom>
<product-custom-view :type="0" :list="list" @categoryChange="onCategoryChange"></product-custom-view>
</template>
</tab-nutrient>
<!-- 检测 -->
<tab-detect v-else-if="current == 1">
<template #custom>
<product-custom-view :type="1" :list="list" @categoryChange="onCategoryChange"></product-custom-view>
</template>
</tab-detect>
<!-- 课程 -->
<tab-course v-else-if="current == 2">
<!-- <template #custom>
<product-custom-view :type="2" :list="list" @categoryChange="onCategoryChange"></product-custom-view>
</template> -->
</tab-course>
<tabber select="product" />
</view>
</template>
<script>
import mixinsList from '@/mixins/list.js'
import tabber from '@/components/base/tabbar.vue'
import tabNutrient from '@/pages_order/product/tabNutrient/index.vue'
import tabDetect from '@/pages_order/product/tabDetect/index.vue'
import tabCourse from '@/pages_order/product/tabCourse/index.vue'
import productCustomView from '@/pages_order/product/productCustomView.vue'
export default {
mixins: [mixinsList],
components: {
tabNutrient,
tabDetect,
tabCourse,
productCustomView,
tabber,
},
data() {
return {
tabs: [
{ name: '营养素' },
{ name: '检测' },
{ name: '课程' },
],
current: 0,
mixinsListApi: 'getProductList',
queryParams: {
pageNo: 1,
pageSize: 10,
type: 0, // 产品类型(0营养剂,1预约,2课程)
},
}
},
onLoad() {
if(uni.getStorageSync('token')){
this.$store.commit('getUserInfo')
}
},
methods: {
onTabChange(e) {
console.log('current', e.index)
this.current = e.index
this.queryParams.pageNo = 1
this.queryParams.pageSize = 10
this.queryParams.type = this.current
this.getData()
},
onCategoryChange(e) {
const { classId } = e || {}
if (classId) {
this.queryParams.classId = classId
} else {
delete this.queryParams.classId
}
this.queryParams.pageNo = 1
this.queryParams.pageSize = 10
this.getData()
},
},
}
</script>
<style scoped lang="scss">
.page__view {
width: 100vw;
min-height: 100vh;
background-image: linear-gradient(#EAE5FF, #F3F2F7, #F3F2F7);
position: relative;
/deep/ .uv-tabs__wrapper__nav__line {
border-radius: 2rpx;
}
}
</style>