yanghao
3 years ago
6 changed files with 262 additions and 11 deletions
@ -0,0 +1,225 @@
|
||||
<template> |
||||
<view class="konwledge-index index"> |
||||
<view class="header header-search acea-row row-center-wrapper"> |
||||
<view @click="goGoodSearch()" class="search acea-row row-middle"> |
||||
<text class="iconfont icon-xiazai5"></text> |
||||
搜索商品 |
||||
</view> |
||||
<!-- #ifndef H5 --> |
||||
<view class="qr" @click="startQr()" v-if="$deviceType !== 'weixin'"> |
||||
<image :src="`${$VUE_APP_RESOURCES_URL}/images/qr.png`" /> |
||||
</view> |
||||
<!-- #endif --> |
||||
</view> |
||||
<view class="content-box"> |
||||
<wuc-tab |
||||
:tab-list="tabList" |
||||
:tabCur.sync="TabCur" |
||||
@change="tabChange" |
||||
tab-class="text-center text-black bg-white" select-class="text-orange text-xl"> |
||||
</wuc-tab> |
||||
<SecondMenu |
||||
:menuList="secondMenu" |
||||
:active.sync="active" |
||||
@secondMenuClick="secondMenuClick"> |
||||
</SecondMenu> |
||||
<view class="knowledge-list"> |
||||
<view class="knowledge-item acea-row" v-for="item in articleList" @click="toDetail(item.id)"> |
||||
<view class="img-box"> |
||||
<image :src="item.imageInput" mode=""></image> |
||||
</view> |
||||
<view class="knowledge-info-box"> |
||||
<view class="title line1">{{item.title}}</view> |
||||
<view class="intro line2">{{item.synopsis}}</view> |
||||
<view class="type-box acea-row"> |
||||
<view class="tip blue">{{item.chargeType == 0 ? '免费' : item.articleCharge}}</view> |
||||
<view class="time">{{item.addTime}}</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</template> |
||||
|
||||
<script> |
||||
import WucTab from '@/components/wuc-tab/wuc-tab.vue'; |
||||
import SecondMenu from '../knowledge/components/secondMenu.vue'; |
||||
import { getCategory,getArticle } from '@/api/knowledge'; |
||||
export default { |
||||
data() { |
||||
return { |
||||
TabCur: null, |
||||
tabList: [{categoryName:'七雅',id:10},{categoryName:'武当',id:12},], |
||||
secondMenu:[], |
||||
active:null, |
||||
articleList:[] |
||||
} |
||||
}, |
||||
components: { WucTab,SecondMenu }, |
||||
onLoad() { |
||||
return false |
||||
getCategory().then((res)=>{ |
||||
this.tabList = res.data |
||||
this.$set(this, 'tabList', res.data) |
||||
this.$set(this, 'secondMenu', res.data[0].categoryList) |
||||
this.$set(this, 'TabCur', res.data[0].id) |
||||
if(res.data[0].categoryList.length > 0){ |
||||
this.$set(this, 'active', res.data[0].categoryList[0].id) |
||||
} |
||||
}).then(()=>{ |
||||
this.getArticle() |
||||
}) |
||||
}, |
||||
methods: { |
||||
toDetail(id){ |
||||
this.$yrouter.push({ |
||||
path: '/pages/knowledge/detail', |
||||
query: { |
||||
id: id, |
||||
}, |
||||
}) |
||||
}, |
||||
getArticle(){ |
||||
var cid = null; |
||||
this.active == null ? cid = this.TabCur : cid = this.active |
||||
getArticle({cid:cid}).then((res)=>{ |
||||
if(res.success){ |
||||
this.articleList = res.data |
||||
} |
||||
}) |
||||
}, |
||||
tabChange(item) { |
||||
if(item.categoryList.length > 0){ |
||||
this.$set(this, 'active', item.categoryList[0].id) |
||||
} |
||||
this.secondMenu = item.categoryList; |
||||
this.TabCur = item.id; |
||||
this.getArticle() |
||||
}, |
||||
secondMenuClick(item){ |
||||
this.active = item.id; |
||||
this.getArticle() |
||||
} |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style scoped lang="less"> |
||||
.header-search { |
||||
transition: all linear 0.3s; |
||||
background: #fff; |
||||
.search{ |
||||
border: 2rpx solid #EA533E; |
||||
background-color: #fff; |
||||
} |
||||
} |
||||
.konwledge-index{ |
||||
background: #fff; |
||||
min-height: 100%; |
||||
.content-box{ |
||||
width: 100%; |
||||
box-sizing: border-box; |
||||
padding: 0 24rpx; |
||||
} |
||||
.introduce-box{ |
||||
width: 100%; |
||||
height: 328rpx; |
||||
box-shadow: 0px 6rpx 14rpx 8rpx rgba(255,234,231,0.2); |
||||
border-radius: 8px; |
||||
overflow: hidden; |
||||
margin: 30rpx 0; |
||||
.left-box{ |
||||
width: 16rpx; |
||||
height: 100%; |
||||
background: #FAEFED; |
||||
} |
||||
.right-box{ |
||||
width: calc(100% - 16rpx); |
||||
padding: 30rpx 50rpx 0 24rpx; |
||||
font-size: 26rpx; |
||||
color: #999; |
||||
.title-txt{ |
||||
font-size: 36rpx; |
||||
font-weight: 500; |
||||
color: #3C464F; |
||||
line-height: 50rpx; |
||||
font-weight: 600; |
||||
margin-bottom: 20rpx; |
||||
} |
||||
.desc{ |
||||
text-indent: 1em; |
||||
} |
||||
} |
||||
} |
||||
|
||||
.knowledge-list{ |
||||
width: 100%; |
||||
.knowledge-item{ |
||||
border-bottom: 1px solid #ECECEC; |
||||
padding-bottom: 20rpx; |
||||
margin-bottom: 20rpx; |
||||
.img-box{ |
||||
width: 204rpx; |
||||
height: 200rpx; |
||||
margin-right: 30rpx; |
||||
image{ |
||||
width: 100%; |
||||
height: 100%; |
||||
} |
||||
} |
||||
.knowledge-info-box{ |
||||
width: calc(100% - 234rpx); |
||||
.title{ |
||||
font-size: 28rpx; |
||||
color: #333; |
||||
font-size: 500; |
||||
line-height: 40rpx; |
||||
} |
||||
.intro{ |
||||
font-size: 28rpx; |
||||
color: #999999; |
||||
line-height: 40rpx; |
||||
margin: 8rpx 0 36rpx; |
||||
} |
||||
.type-box{ |
||||
font-size: 24rpx; |
||||
color: #999; |
||||
.tip{ |
||||
width: 60rpx; |
||||
height: 34rpx; |
||||
line-height: 32rpx; |
||||
text-align: center; |
||||
background: #EDEFF8; |
||||
border-radius: 4rpx; |
||||
border: 1px solid #6E85EB; |
||||
padding: 0 6rpx; |
||||
font-size: 22rpx; |
||||
margin-right: 20rpx; |
||||
box-sizing: border-box; |
||||
} |
||||
.blue{ |
||||
color: #6E85EB; |
||||
background: #EDEFF8; |
||||
border-color: #6E85EB; |
||||
} |
||||
.yellow{ |
||||
color: #F99C10; |
||||
background: #FFEDCC; |
||||
border-color: #F99C10; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
.text-black{ |
||||
font-size: 32rpx; |
||||
} |
||||
.text-orange{ |
||||
color: #EB5744; |
||||
font-size: 40rpx !important; |
||||
border-color: #EB5744; |
||||
} |
||||
|
||||
</style> |
Loading…
Reference in new issue