|
@@ -30,6 +30,20 @@
|
|
</div>
|
|
</div>
|
|
<div class="word-file-name">{{ item.title }}</div>
|
|
<div class="word-file-name">{{ item.title }}</div>
|
|
</div>
|
|
</div>
|
|
|
|
+ </div>
|
|
|
|
+ <!-- 文库会员广告位 -->
|
|
|
|
+ <div class="word-file-ad">
|
|
|
|
+ <el-carousel height="80px">
|
|
|
|
+ <el-carousel-item @click="onDocLink(item)" v-for="(item, index) in jyPcDocMember" :key="index">
|
|
|
|
+ <img :src="item.s_pic" :alt="item.s_remark">
|
|
|
|
+ </el-carousel-item>
|
|
|
|
+ </el-carousel>
|
|
|
|
+ </div>
|
|
|
|
+ <!-- 文库推荐广告位 -->
|
|
|
|
+ <div class="word-recommend-ad">
|
|
|
|
+ <div class="word-recommend-ad-list" @click="onDocLink(item)" v-for="(item, index) in jyPcDocRecommend" :key="index">
|
|
|
|
+ <img :src="item.s_pic" :alt="item.s_remark">
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
<!-- <div class="flex flex-c-c">
|
|
<!-- <div class="flex flex-c-c">
|
|
<div class="list-item flex-r-c" v-for="item in newList1" :key="item.id" @click="goContent(item)">
|
|
<div class="list-item flex-r-c" v-for="item in newList1" :key="item.id" @click="goContent(item)">
|
|
@@ -80,8 +94,8 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="right-info flex-r-c center right">
|
|
<div class="right-info flex-r-c center right">
|
|
- <i class="el-icon-jy-iconJianYu" />
|
|
|
|
- <span>{{item.money}}</span>
|
|
|
|
|
|
+ <!-- <i class="el-icon-jy-iconJianYu" />
|
|
|
|
+ <span>{{item.money}}</span> -->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -94,8 +108,8 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="right-info flex-r-c center right">
|
|
<div class="right-info flex-r-c center right">
|
|
- <i class="el-icon-jy-iconJianYu" />
|
|
|
|
- <span>{{item.money}}</span>
|
|
|
|
|
|
+ <!-- <i class="el-icon-jy-iconJianYu" />
|
|
|
|
+ <span>{{item.money}}</span> -->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -118,6 +132,10 @@
|
|
<div class="flex">
|
|
<div class="flex">
|
|
<div class="title-text van-multi-ellipsis--l2">{{item.title}}</div>
|
|
<div class="title-text van-multi-ellipsis--l2">{{item.title}}</div>
|
|
</div>
|
|
</div>
|
|
|
|
+ <div class="money-group flex-r-c center left">
|
|
|
|
+ <!-- <i class="el-icon-jy-iconJianYu s20" />
|
|
|
|
+ <span class="red-text">{{item.money}}</span> -->
|
|
|
|
+ </div>
|
|
<div class="flex-c-c info-text">
|
|
<div class="flex-c-c info-text">
|
|
<span v-if="item.contribution">贡献者: {{item.contribution}}</span>
|
|
<span v-if="item.contribution">贡献者: {{item.contribution}}</span>
|
|
<div class="info-text-group flex-r-c center left">
|
|
<div class="info-text-group flex-r-c center left">
|
|
@@ -126,10 +144,6 @@
|
|
<span v-if="item.size">{{item.size | sizeFormatter}}</span>
|
|
<span v-if="item.size">{{item.size | sizeFormatter}}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="money-group flex-r-c center left">
|
|
|
|
- <i class="el-icon-jy-iconJianYu s20" />
|
|
|
|
- <span class="red-text">{{item.money}}</span>
|
|
|
|
- </div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -138,9 +152,10 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
-import { Button } from 'element-ui'
|
|
|
|
|
|
+import { Button, Carousel, CarouselItem } from 'element-ui'
|
|
import SearchInput from '../components/Search'
|
|
import SearchInput from '../components/Search'
|
|
import { getHomeActivity, getHomeHot, getSearchTag } from '../api/modules/home'
|
|
import { getHomeActivity, getHomeHot, getSearchTag } from '../api/modules/home'
|
|
|
|
+import { getJyAdListApi } from '../api/modules/publicapply'
|
|
import { getSearch } from '../api/modules/search'
|
|
import { getSearch } from '../api/modules/search'
|
|
import { recoveryPageData } from '../utils'
|
|
import { recoveryPageData } from '../utils'
|
|
|
|
|
|
@@ -194,14 +209,18 @@ export default {
|
|
name: 'home',
|
|
name: 'home',
|
|
components: {
|
|
components: {
|
|
SearchInput,
|
|
SearchInput,
|
|
- [Button.name]: Button
|
|
|
|
|
|
+ [Button.name]: Button,
|
|
|
|
+ [Carousel.name]: Carousel,
|
|
|
|
+ [CarouselItem.name]: CarouselItem
|
|
},
|
|
},
|
|
data () {
|
|
data () {
|
|
return {
|
|
return {
|
|
fullscreenLoading: false,
|
|
fullscreenLoading: false,
|
|
pageData: {},
|
|
pageData: {},
|
|
wordModel: [],
|
|
wordModel: [],
|
|
- wordFileList: []
|
|
|
|
|
|
+ wordFileList: [],
|
|
|
|
+ jyPcDocRecommend: [], // 文库推荐广告位
|
|
|
|
+ jyPcDocMember: [] // 文库会员广告位
|
|
}
|
|
}
|
|
},
|
|
},
|
|
created () {
|
|
created () {
|
|
@@ -244,7 +263,9 @@ export default {
|
|
v.active = false
|
|
v.active = false
|
|
});
|
|
});
|
|
data.active = true;
|
|
data.active = true;
|
|
- this.getSearchEvent(data.value)
|
|
|
|
|
|
+ this.getSearchEvent(data.value, (res) => {
|
|
|
|
+ this.wordFileList = res.data.map((v) => formatData(v))
|
|
|
|
+ })
|
|
// if(isHover) {
|
|
// if(isHover) {
|
|
// data.active = true;
|
|
// data.active = true;
|
|
// this.getSearchEvent(data.value)
|
|
// this.getSearchEvent(data.value)
|
|
@@ -260,12 +281,25 @@ export default {
|
|
// }
|
|
// }
|
|
},
|
|
},
|
|
// 获取文件列表
|
|
// 获取文件列表
|
|
- async getSearchEvent (type) {
|
|
|
|
- const _this = this
|
|
|
|
- getSearch({tag: type, sort: 'vSort', num: 1, size: 8}).then(data => {
|
|
|
|
|
|
+ async getSearchEvent (type, callBack) {
|
|
|
|
+ let params = {
|
|
|
|
+ tag: type,
|
|
|
|
+ sort: 'vSort',
|
|
|
|
+ num: 1,
|
|
|
|
+ size: 8
|
|
|
|
+ }
|
|
|
|
+ if(!type) {
|
|
|
|
+ params = {
|
|
|
|
+ productType: 2,
|
|
|
|
+ sort: 'vSort',
|
|
|
|
+ num: 1,
|
|
|
|
+ size: 8
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ getSearch(params).then(data => {
|
|
const res = data.data
|
|
const res = data.data
|
|
if(res && res.error_code === 0) {
|
|
if(res && res.error_code === 0) {
|
|
- _this.wordFileList = res.data.map((v) => formatData(v))
|
|
|
|
|
|
+ callBack && callBack(res)
|
|
}
|
|
}
|
|
})
|
|
})
|
|
},
|
|
},
|
|
@@ -280,19 +314,37 @@ export default {
|
|
this.$set(this.pageData, 'hot', res.data.data.map((v) => formatData(v)))
|
|
this.$set(this.pageData, 'hot', res.data.data.map((v) => formatData(v)))
|
|
}
|
|
}
|
|
})
|
|
})
|
|
- getHomeActivity({ code: 3, size: 6, num: 1 }).then(res => {
|
|
|
|
- if (!res.data.error_msg.length) {
|
|
|
|
- this.$set(this.pageData, 'keep', res.data.data.map((v) => formatData(v)))
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
|
|
+ // getHomeActivity({ code: 3, size: 6, num: 1 }).then(res => {
|
|
|
|
+ // if (!res.data.error_msg.length) {
|
|
|
|
+ // this.$set(this.pageData, 'keep', res.data.data.map((v) => formatData(v)))
|
|
|
|
+ // }
|
|
|
|
+ // })
|
|
// 获取文件分类
|
|
// 获取文件分类
|
|
getSearchTag().then(data => {
|
|
getSearchTag().then(data => {
|
|
const res = data.data
|
|
const res = data.data
|
|
if(res && res.error_code === 0) {
|
|
if(res && res.error_code === 0) {
|
|
this.wordModel = res.data.map((item, index) => ({ value: item, active: index === 0 ? true : false }))
|
|
this.wordModel = res.data.map((item, index) => ({ value: item, active: index === 0 ? true : false }))
|
|
- this.getSearchEvent(this.wordModel[0].value)
|
|
|
|
|
|
+ this.getSearchEvent(this.wordModel[0].value, (res) => {
|
|
|
|
+ this.wordFileList = res.data.map((v) => formatData(v))
|
|
|
|
+ })
|
|
}
|
|
}
|
|
})
|
|
})
|
|
|
|
+ // 获取广告信息
|
|
|
|
+ getJyAdListApi({ codes: ['jy-pc-docmember', 'jy-pc-doc-recommend'] }).then(res => {
|
|
|
|
+ const resData = res.data
|
|
|
|
+ if(resData && resData.error_code === 0) {
|
|
|
|
+ console.log(resData.data, 'resData')
|
|
|
|
+ this.jyPcDocRecommend = resData.data['jy-pc-doc-recommend']
|
|
|
|
+ this.jyPcDocMember = resData.data['jy-pc-docmember']
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ this.getSearchEvent('', (res) => {
|
|
|
|
+ console.log(res, 'res')
|
|
|
|
+ this.$set(this.pageData, 'keep', res.data.list.map((v) => formatData(v)))
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ onDocLink (item) {
|
|
|
|
+ window.open(item.s_link, '_blank')
|
|
},
|
|
},
|
|
goSubmit (search) {
|
|
goSubmit (search) {
|
|
if (!search.text.replace(/\s+/g, '')) {
|
|
if (!search.text.replace(/\s+/g, '')) {
|
|
@@ -457,7 +509,7 @@ export default {
|
|
|
|
|
|
.hot-keep-group {
|
|
.hot-keep-group {
|
|
.card-item {
|
|
.card-item {
|
|
- width: 33.33%;
|
|
|
|
|
|
+ width: 279px;
|
|
overflow: hidden;
|
|
overflow: hidden;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -591,6 +643,33 @@ export default {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ .word-file-ad {
|
|
|
|
+ margin-top: 20px;
|
|
|
|
+ height: 80px;
|
|
|
|
+ cursor: pointer;
|
|
|
|
+ .el-carousel{
|
|
|
|
+ img{
|
|
|
|
+ width: 100%;
|
|
|
|
+ height: 100%;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .word-recommend-ad{
|
|
|
|
+ display: flex;
|
|
|
|
+ justify-content: space-between;
|
|
|
|
+ align-items: center;
|
|
|
|
+ margin-top: 20px;
|
|
|
|
+ height: 160px;
|
|
|
|
+ .word-recommend-ad-list{
|
|
|
|
+ width: 285px;
|
|
|
|
+ height: 100%;
|
|
|
|
+ cursor: pointer;
|
|
|
|
+ &>img{
|
|
|
|
+ width: 100%;
|
|
|
|
+ height: 100%;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
.word-model {
|
|
.word-model {
|
|
.word-model-content {
|
|
.word-model-content {
|
|
display: flex;
|
|
display: flex;
|