|
@@ -3,7 +3,7 @@
|
|
|
<view class="one">
|
|
|
<swiper class="swiper" circular :indicator-dots="true" indicator-color="#F5F5F5"
|
|
|
indicator-active-color="#ffffff" :autoplay="true" :interval="3000" :duration="1000">
|
|
|
- <swiper-item class="list" v-for="(item,index) in imgList" :key="index" @tap="toBanner(item)">
|
|
|
+ <swiper-item class="list" v-for="(item,index) in imgList" :key="index">
|
|
|
<image class="image" :src="item.url" mode="">
|
|
|
</image>
|
|
|
</swiper-item>
|
|
@@ -13,7 +13,7 @@
|
|
|
<swiper class="swiper" circular :indicator-dots="true" indicator-color="#F5F5F5"
|
|
|
indicator-active-color="#007AFF" :autoplay="false">
|
|
|
<swiper-item class="swiper-item" v-for="(item,index) in moduleList" :key="index">
|
|
|
- <view class="list" v-for="(as,index) in item" :key="indexs" @tap="toChange(as)">
|
|
|
+ <view class="list" v-for="(as,indexs) in item" :key="indexs" @tap="toChange(as)">
|
|
|
<image class="image" :src="as.url&&as.url.length>0?as.url[0].url:''" mode="aspectFill">
|
|
|
</image>
|
|
|
<text class="text">{{ as.name }}</text>
|
|
@@ -30,12 +30,31 @@
|
|
|
<view class="tabsList">
|
|
|
<scroll-view scroll-y="true" class="scroll-view" @scrolltolower="toPage" @scroll="toScroll">
|
|
|
<view class="list-scroll-view">
|
|
|
- <view class="list" v-for="(item,index) in list" :key="index" @tap="toInfo(item)">
|
|
|
- 1111
|
|
|
- <view class="is_bottom" v-if="is_bottom">
|
|
|
- <text>{{config.bottom_title}}</text>
|
|
|
+ <!-- 瀑布流布局列表 -->
|
|
|
+ <view class="pubuBox">
|
|
|
+ <view class="pubuItem">
|
|
|
+ <view class="list" v-for="(item, index) in list" :key="index" @tap="toInfo(item)">
|
|
|
+ <image :src="item.file&&item.file.length>0?item.file[0].url:''" mode="widthFix">
|
|
|
+ </image>
|
|
|
+ <view class="title"> <!-- 这是没有高度的父盒子(下半部分) -->
|
|
|
+ <view class="title_1">{{ item.title }}</view>
|
|
|
+ <view class="title_2">
|
|
|
+ <view class="left">
|
|
|
+ {{item.contact_name||'暂无昵称'}}
|
|
|
+ </view>
|
|
|
+ <view class="right" @tap.stop="toLike(item)">
|
|
|
+ <text v-if="item.is_like" class="iconfont icon-aixin1"></text>
|
|
|
+ <text else class="iconfont icon-aixin"></text>
|
|
|
+ {{item.like_num||'0'}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
+ <view class="is_bottom" v-if="is_bottom">
|
|
|
+ <text>{{config.bottom_title}}</text>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</scroll-view>
|
|
|
</view>
|
|
@@ -52,6 +71,7 @@
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
+ config: {},
|
|
|
// 轮播图
|
|
|
imgList: [],
|
|
|
// 模块
|
|
@@ -66,7 +86,7 @@
|
|
|
list: [],
|
|
|
total: 0,
|
|
|
skip: 0,
|
|
|
- limit: 10,
|
|
|
+ limit: 6,
|
|
|
page: 0,
|
|
|
// 数据是否触底
|
|
|
is_bottom: false,
|
|
@@ -94,6 +114,8 @@
|
|
|
let info = {
|
|
|
skip: that.skip,
|
|
|
limit: that.limit,
|
|
|
+ status: '1',
|
|
|
+ type: that.tabs.active
|
|
|
}
|
|
|
let res;
|
|
|
res = await that.$api(`/article`, 'GET', {
|
|
@@ -110,11 +132,6 @@
|
|
|
})
|
|
|
}
|
|
|
},
|
|
|
-
|
|
|
- // 点击轮播图图片
|
|
|
- toBanner(item) {
|
|
|
- console.log(item)
|
|
|
- },
|
|
|
// 点击模块
|
|
|
toChange(item) {
|
|
|
console.log(item)
|
|
@@ -123,6 +140,14 @@
|
|
|
toMore() {
|
|
|
console.log('公告')
|
|
|
},
|
|
|
+ // 查看详情
|
|
|
+ toInfo(item) {
|
|
|
+ console.log(item)
|
|
|
+ },
|
|
|
+ // 点赞/取消点赞
|
|
|
+ toLike(item) {
|
|
|
+ console.log(item)
|
|
|
+ },
|
|
|
// 查询其他信息
|
|
|
async searchOther() {
|
|
|
const that = this;
|
|
@@ -131,6 +156,7 @@
|
|
|
res = await that.$api(`/config`, 'GET', {});
|
|
|
if (res.errcode == '0') {
|
|
|
that.$set(that, `imgList`, res.data.file);
|
|
|
+ that.$set(that, `config`, res.data);
|
|
|
}
|
|
|
//模块
|
|
|
res = await that.$api(`/module`, 'GET', {
|
|
@@ -203,7 +229,7 @@
|
|
|
const that = this;
|
|
|
that.$set(that, `list`, [])
|
|
|
that.$set(that, `skip`, 0)
|
|
|
- that.$set(that, `limit`, 10)
|
|
|
+ that.$set(that, `limit`, 6)
|
|
|
that.$set(that, `page`, 0)
|
|
|
}
|
|
|
},
|
|
@@ -274,16 +300,63 @@
|
|
|
width: 100vw;
|
|
|
height: 80vh;
|
|
|
|
|
|
+ .pubuBox {
|
|
|
+ padding: 2vw;
|
|
|
+ }
|
|
|
+
|
|
|
+ .pubuItem {
|
|
|
+ column-count: 2;
|
|
|
+ column-gap: 2vw;
|
|
|
+ }
|
|
|
+
|
|
|
.list {
|
|
|
+ box-sizing: border-box;
|
|
|
+ border-radius: 2vw;
|
|
|
+ overflow: hidden;
|
|
|
background-color: var(--mainColor);
|
|
|
- border: 1px solid var(--f5Color);
|
|
|
- padding: 2vw;
|
|
|
- margin: 0 2vw 2vw 2vw;
|
|
|
- border-radius: 5px;
|
|
|
+ break-inside: avoid;
|
|
|
+ /*避免在元素内部插入分页符*/
|
|
|
+ box-sizing: border-box;
|
|
|
+ margin-bottom: 2vw;
|
|
|
+ }
|
|
|
+
|
|
|
+ .list image {
|
|
|
+ width: 100%;
|
|
|
}
|
|
|
|
|
|
- .list:first-child {
|
|
|
- margin: 2vw 0 0 0;
|
|
|
+ .title {
|
|
|
+ padding: 2vw;
|
|
|
+
|
|
|
+ .title_1 {
|
|
|
+ font-size: var(--font14Size);
|
|
|
+ line-height: 4vw;
|
|
|
+ text-overflow: -o-ellipsis-lastline;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ display: -webkit-box;
|
|
|
+ -webkit-line-clamp: 2;
|
|
|
+ line-clamp: 2;
|
|
|
+ -webkit-box-orient: vertical;
|
|
|
+ min-height: 6vw;
|
|
|
+ max-height: 20vw;
|
|
|
+ }
|
|
|
+
|
|
|
+ .title_2 {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ font-size: var(--font12Size);
|
|
|
+ color: var(--f69Color);
|
|
|
+ padding: 1vw 0;
|
|
|
+
|
|
|
+ .right {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+
|
|
|
+ text:first-child {
|
|
|
+ padding: 0 1vw 0 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|