yunshangxie/pages/index/knowledge_list.vue

106 lines
2.8 KiB
Vue

<template>
<view style="background-color: #EBF4F7;letter-spacing: 1rpx;height: 100vh">
<tn-nav-bar :isBack="false" backTitle="" :bottomShadow="true" backgroundColor="#FFFFFF">
<view class="custom-nav tn-flex tn-flex-col-center tn-flex-row-left">
<view style="padding-left: 15rpx;" @click="goBack()">
<text class="tn-icon-left" style="font-size: 40rpx;"></text>
</view>
<view class="tn-margin-top"
style="text-shadow: 1rpx 0 0 #FFF, 0 1rpx 0 #FFF, -1rpx 0 0 #FFF , 0 -1rpx 0 #FFF;">
<tn-tabs :list="[{name:'商学院'}]" :current="topCurrent" activeColor="#000" :bold="false"
:fontSize="36"></tn-tabs>
</view>
</view>
</tn-nav-bar>
<view :style="{paddingTop: vuex_custom_bar_height + 'px'}">
<view style="padding:10px 30rpx;">
<view v-for="(item,index) in news_list" class="tn-flex tn-flex-row-between"
@click="openUrl('/pages/index/new_info?id='+item.news_id)"
style="background-color: #ffffff;padding: 20rpx;border-radius: 10rpx;margin-bottom: 10rpx;">
<view style="position:relative;">
<view class="tn-text-ellipsis-2" style="font-size: 28rpx;">{{item.news_title}}</view>
<view class="tn-flex tn-flex-row-between"
style="position: absolute;bottom: 0rpx;width: 100%;color: #808080;">
<view>
<text class="tn-icon-eye"></text>
<text>568</text>
</view>
</view>
</view>
<view style="margin-left: 20rpx;">
<image :src="apiImgUrl+item.news_image" style="width: 200rpx;height: 135rpx;;border-radius: 10rpx;">
</image>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import {newsList} from "@/util/api";
import store from "@/store";
export default {
data() {
return {
topCurrent: 0,
gory_id:53,
news_list:[],
apiImgUrl:this.$store.state.imgUrl,
page:1,
size:10
}
},
onLoad() {
this.getNewsList();
},
onReachBottom() {
this.page = this.page + 1;
this.getNewsList();
},
methods: {
getNewsList() {
newsList({
association_id: store.state.Gid,
gory_id: this.gory_id,
page: this.page,
size: this.size
})
.then(res => {
console.log(res);
if (res.code == 1) {
this.news_list.push(...res.data.ret);
}
})
.catch(error => {
uni.showToast({
title: error,
icon: 'none',
duration: 2000
});
})
},
openUrl(url) {
uni.navigateTo({
url: url
})
},
goBack() {
if (getCurrentPages().length > 1) {
uni.navigateBack()
} else {
uni.redirectTo({
url: '/pages/index/index'
})
}
}
}
}
</script>
<style>
</style>