提交 cc64117b authored 作者: 翟畅's avatar 翟畅

zc新需求

上级 fdf6ca73
src/assets/groupProfile/info-pic.png

259.0 KB | W: | H:

src/assets/groupProfile/info-pic.png

219.7 KB | W: | H:

src/assets/groupProfile/info-pic.png
src/assets/groupProfile/info-pic.png
src/assets/groupProfile/info-pic.png
src/assets/groupProfile/info-pic.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -16,8 +16,8 @@
<img src="@/assets/home/ico-qr.png" alt="">
<div class="qrContent">
<div class="qrCell" v-for="(item,index) in qrImgList" :key="'qr'+index">
<img :src="item.url" alt="" class="qrImg">
<span class="txt">{{item.txt}}</span>
<img :src="coverUrl(item.cover)" alt="" class="qrImg">
<span class="txt" v-html="item.synopsis"></span>
</div>
</div>
</div>
......@@ -79,7 +79,7 @@
</div>
</template>
<script>
import { keywordAPI } from "@/api/home/index"
import { keywordAPI, getAdsignAPI } from "@/api/home/index"
import { resourceLink } from "@/utils/global.js"
import { getMemberInfoAPI, } from '@/api/personal/index'
import { messageAPI, } from '@/api/common'
......@@ -183,6 +183,7 @@ export default {
this.currentIndex = 0
this.selectList = this.selectProduceList
this.getHotList()
this.getAdsign()
},
mounted() {
window.addEventListener('scroll',this.scrollEvent) // 监听滚动事件,然后⽤scrollEvent这个⽅法进⾏相应的处
......@@ -191,6 +192,14 @@ export default {
},
methods: {
//联系我们--二维码--广告位
getAdsign(){
getAdsignAPI({code:'lxwm'}).then((res) => {
if(res.data.code == 0){
this.qrImgList = res.data.data
}
})
},
getHotList(){
keywordAPI({num:8}).then((res) => {
if(res.data.code == 0){
......
<template>
<div class="left">
<!-- <div class="top" v-if="userType == 0">
<div class="cover">
<img v-if="infoForm.cover" :src="coverUrl(infoForm.cover)" class="header" @click="editInfo">
<img v-if="!infoForm.cover && !loading" src="@/assets/person/cover.png" class="header" @click="editInfo">
<img v-if="infoForm.vip == 1" src="@/assets/person/king.png" class="king">
</div>
<div class="name" v-if="infoForm.account" @click="editInfo">{{infoForm.account}}</div>
<div class="phone" v-if="infoForm.phone">{{infoForm.phone}}</div>
<div class="date" v-if="infoForm.vip == 1">{{infoForm.vipEndTime}}到期</div>
<div class="editInfo">
<div class="editMess" @click="editInfo">
<img src="@/assets/person/edit.png" class="edit_ico">
<div class="edit_text">编辑信息</div>
</div>
<div class="mem" @click="member('member')">
<img src="@/assets/person/member.png" class="edit_ico">
<div class="mem_text">会员服务</div>
</div>
</div>
</div> -->
<div class="bottom">
<div class="main" v-if="userType != 2" @click="homePage()"><img src="@/assets/person/home.png" alt=""><p>我的首页</p></div>
<div class="main" v-else @click="homePage()"><img src="@/assets/person/home.png" alt="">机构首页</div>
......
......@@ -2,11 +2,11 @@ import Vue from 'vue'
//图片地址
Vue.prototype.coverUrl = function(cover) {
if(cover && cover.indexOf('http') == -1){
return process.env.VUE_APP_URL + '/file/file/?fileName=' + cover
}else{
return cover
}
return process.env.VUE_APP_URL + '/file/file/?fileName=' + cover
}
Vue.prototype.coverUrlLink = function(cover) {
return cover
}
//图片地址
Vue.prototype.fileUrl = function(cover) {
......@@ -53,6 +53,21 @@ Vue.prototype.errImg = function(type) {
img.onerror = null; //防止闪图
}
//默认封面--碎图
Vue.prototype.errDownImg = function(type) {
let typeList = {
'book': require('@/assets/productsWorld/ebook.png'),
'video': require('@/assets/productsWorld/video.png'),
'audio': require('@/assets/productsWorld/audio.png'),
'pic': require('@/assets/productsWorld/pic.png'),
'pdf': require('@/assets/productsWorld/pdf.png'),
'fj': require('@/assets/productsWorld/fj.png'),
}
let img = event.srcElement;
img.src = typeList[type]
img.onerror = null; //防止闪图
}
//跳转页面
Vue.prototype.navigationFuc = function(name, query) {
this.$router.push({ name, query })
......
......@@ -17,7 +17,7 @@
</div>
<div class="bottomProduceDetail">
<div class="infoLeft">
<img src="@/assets/groupProfile/info-pic1.jpg" alt="">
<img src="@/assets/groupProfile/info-pic.png" alt="">
</div>
<div class="infoRight">
<div class="infoContent" v-html="groupIntroduction"></div>
......
......@@ -83,7 +83,7 @@
<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide" v-for="(item,index) in newArrivalsList" :key="'na'+index" @click="toDetailBook(item)">
<img :src="item.cover?coverUrl(item.cover):''" alt="">
<img :src="item.cover && item.cover.indexOf('http://') != -1?coverUrlLink(item.cover):coverUrl(item.cover)" alt="" @error="errImg('book')">
<div class="shadeBookName">{{item.name}}</div>
</div>
</div>
......@@ -206,6 +206,17 @@
<levitate class="levitate"></levitate>
<sidebar class="sidebarBox" :currentNum="0" :currentHash="hash"></sidebar>
<com-foot></com-foot>
<!-- 首页遮罩弹窗 -->
<el-dialog :visible.sync="shadeDialogVisible" width="1280px" :close-on-click-modal="false" class="shadeDialogContent">
<div class="shadeBox">
<img :src="coverUrl(shadeDetail.cover)" alt="" class="shadePic">
<div class="rightTip">
<span class="countDown">{{currentNumShade}}&nbsp;秒之后关闭</span>
<span class="closeBtn" @click="shadeDialogVisible = false"><i class="el-icon-close"></i></span>
</div>
</div>
</el-dialog>
</div>
</template>
......@@ -260,6 +271,9 @@ export default {
mySwiper:null,
slideIndex:0,
swiperPages:1,
shadeDetail:{},
shadeDialogVisible:false,
currentNumShade:12,
};
},
watch:{
......@@ -365,9 +379,15 @@ export default {
homeNewsList(){
if(this.currentNewsIndex == 0){
this.bulletinColumnName = '人社要闻'
homeNewsListAPI({bulletinColumnName:this.bulletinColumnName,num:8}).then((res) => {
this.newsDetailList = []
homeNewsListAPI({bulletinColumnName:this.bulletinColumnName,num:4}).then((res) => {
if(res.data.code == 0){
this.newsDetailList = res.data.data
this.newsDetailList = this.newsDetailList.concat(res.data.data)
}
})
homeNewsListAPI({bulletinColumnName:'集团动态',num:4}).then((res) => {
if(res.data.code == 0){
this.newsDetailList = this.newsDetailList.concat(res.data.data)
}
})
}else if(this.currentNewsIndex == 1){
......@@ -507,8 +527,25 @@ export default {
this.$linkToRsResource('/digital/annexDetail?id=' + item.resourceId)
},
//资源平台列表
//资源平台列表、首页登录遮罩
getAdsign(){
getAdsignAPI({code:'zzxct'}).then((res) => {
if(res.data.code == 0){
if(res.data.data && res.data.data.length > 0){
this.shadeDetail = res.data.data[0]
this.shadeDialogVisible = true
this.currentNumShade = 12
setInterval(() => {
if(this.currentNumShade > 0){
this.currentNumShade --
}else if(this.currentNumShade <= 0){
this.shadeDialogVisible = false
}
},1000)
}
}
})
getAdsignAPI({code:'gwsyzypt'}).then((res) => {
if(res.data.code == 0){
this.resourcePlatformList = res.data.data.slice(0,3)
......@@ -561,6 +598,38 @@ export default {
</script>
<style lang="less" scoped>
.shadeDialogContent{
/deep/.el-dialog__header{
display: none;
}
/deep/.el-dialog__body{
padding: 0;
height: 347px;
}
.shadeBox{
width: 100%;
height: 347px;
position: relative;
.shadePic{
width: 100%;
}
.rightTip{
width: 160px;
height: auto;
display: inline-block;
position: absolute;
right: 10px;
top: 10px;
color: #fff;
font-size: 16px;
.closeBtn{
font-size: 32px;
padding-left: 15px;
cursor: pointer;
}
}
}
}
.levitate{
position: fixed;
right: 30px;
......
......@@ -7,31 +7,6 @@
<img src="@/assets/marketingService/banner1.png" alt="">
</div>
<!-- 营销中心 -->
<div class="bookProduce" id="marketing1">
<div class="bookProduceContent" v-if="resourcePlatformList[0]">
<div class="bookProduceTop">
<div class="topTitleContent">
<div class="titleBg">MARKETING CENTER</div>
<div class="titleName">
<div class="name">营销中心</div>
<div class="line"></div>
</div>
</div>
</div>
<div class="bottomProduceDetail">
<div class="third" @click="skipUrl(resourcePlatformList[0].url)">
<img :src="coverUrl(resourcePlatformList[0].cover)" alt="" class="bgImg">
<div class="bottomInner">
<img src="@/assets/home/yanjing9_03.png" alt="">
<span>{{resourcePlatformList[0].synopsis}}</span>
</div>
</div>
</div>
</div>
<div class="book_bottom_bg"></div>
</div>
<!-- 下载服务 -->
<div class="digitalProducts" id="marketing2">
<div class="digitalProductsContent">
......@@ -60,6 +35,31 @@
</div>
</div>
<!-- 营销中心 -->
<div class="bookProduce" id="marketing1">
<div class="bookProduceContent" v-if="resourcePlatformList[0]">
<div class="bookProduceTop">
<div class="topTitleContent">
<div class="titleBg">MARKETING CENTER</div>
<div class="titleName">
<div class="name">营销中心</div>
<div class="line"></div>
</div>
</div>
</div>
<div class="bottomProduceDetail">
<div class="third" @click="skipUrl(resourcePlatformList[0].url)">
<img :src="coverUrl(resourcePlatformList[0].cover)" alt="" class="bgImg">
<div class="bottomInner">
<img src="@/assets/home/yanjing9_03.png" alt="">
<span>{{resourcePlatformList[0].synopsis}}</span>
</div>
</div>
</div>
</div>
<!-- <div class="book_bottom_bg"></div> -->
</div>
<!-- 联系我们 -->
<div class="periodical" id="marketing3">
<div class="periodicalContent">
......
......@@ -45,13 +45,9 @@
</div>
<div class="digitalProduceBottom" v-if="recruitmentList && recruitmentList.length>0">
<div class="recruitmentCell" v-for="(item,index) in recruitmentList" :key="'re'+index" @click="toDetailPress(item)">
<div class="cellLeft">
<span class="bot"></span>
<span class="name">{{item.name}}</span>
</div>
<div class="cellRight">
<span>{{item.releaserTime?item.releaserTime.substring(0,10):''}}</span>
</div>
<img :src="coverUrl(item.cover)" alt="" class="bgImg" v-if="item.cover">
<img :src="postPicList[index].cover" alt="" class="bgImg" v-else>
<div class="recruitInfo">{{item.name}}</div>
</div>
</div>
<div class="digitalProduceBottom" v-else>
......@@ -85,7 +81,7 @@
<!-- banner -->
<div class="bannerContent1">
<img src="@/assets/mine/guanggaowei.png" alt="">
<img :src="coverUrl(ywtxDetail.cover)" alt="">
</div>
<!-- 联系我们 -->
......@@ -196,7 +192,7 @@
</template>
<script>
import { profileListAPI, profileDetailAPI, homeNewsListAPI } from "@/api/home/index"
import { profileListAPI, profileDetailAPI, homeNewsListAPI, getAdsignAPI } from "@/api/home/index"
import { resourceLink, fileUrl } from "@/utils/global.js"
import comHeader from "@/components/comHeader.vue"
import comFooter from "@/components/comFooter.vue"
......@@ -244,6 +240,12 @@ export default {
{ pic:require("@/assets/mine/pic2.png") },
{ pic:require("@/assets/mine/pic3.png") },
],
postPicList:[
{ cover: require("@/assets/mine/zp-pic1.png") },
{ cover: require("@/assets/mine/zp-pic2.png") },
{ cover: require("@/assets/mine/zp-pic3.png") },
{ cover: require("@/assets/mine/zp-pic4.png") },
],
contactDetailList:[
{ iconUrl:require('@/assets/mine/ico-tel.png'), text:'联系电话:010-64929196(办公室) 010-64961644(网上书店、邮购) 010-64961731(门市)010-84626437 64921644 64961644(批发团购业务)'},
{ iconUrl:require('@/assets/mine/ico-email.png'), text:'E-mail:info@class.com.cn'},
......@@ -251,6 +253,7 @@ export default {
],
currentNewArrivalsIndex:0,
hash:null,
ywtxDetail:{},
// iframeUrl:'http://www.class.com.cn/baiduMap.html',
};
},
......@@ -325,6 +328,13 @@ export default {
this.recruitmentList = res.data.data
}
})
getAdsignAPI({code:'ywtx'}).then((res) => {
if(res.data.code == 0){
if(res.data.data && res.data.data.length > 0){
this.ywtxDetail = res.data.data[0]
}
}
})
},
//员工发展/用人理念
......@@ -557,53 +567,41 @@ export default {
width: 1200px;
height: auto;
margin: 40px auto 0;
display: flex;
justify-content: space-between;
align-items: flex-start;
.recruitmentCell{
width: 100%;
height: 45px;
border: 1px solid #6B94CC;
width: 280px;
height: 290px;
display: flex;
justify-content: space-between;
justify-content: center;
align-items: center;
padding: 0 17px;
box-sizing: border-box;
margin-bottom: 16px;
position: relative;
border-radius: 5px;
cursor: pointer;
transition: all 0.5s;
&:hover{
border: 0;
background-color: #fff;
.cellLeft{
.bot{
background-color: #1764DF;
}
.name{
color: #1764DF;
}
}
.cellRight{
color: #1764DF;
}
}
.cellLeft{
height: 100%;
line-height: 45px;
.bot{
width: 7px;
height: 7px;
display: inline-block;
margin-right: 15px;
background: #FFFFFF;
}
.name{
font-size: 15px;
color: #FFFFFF;
}
.bgImg{
width: 280px;
height: 290px;
border-radius: 5px;
position: absolute;
top: 0;
left: 0;
z-index: 0;
}
.cellRight{
height: 100%;
font-size: 15px;
.recruitInfo{
width: 209px;
height: 55px;
position: relative;
z-index: 2;
text-align: center;
line-height: 55px;
background-image: url('~@/assets/mine/line.png');
background-repeat: no-repeat;
background-size: 100% 100%;
font-size: 24px;
font-family: PingFang SC;
font-weight: 500;
color: #FFFFFF;
line-height: 45px;
}
}
}
......
......@@ -30,12 +30,7 @@
<div class="bottomPressCell" v-for="(item,index) in downResourceList" :key="'pd'+index">
<div class="cellLeft">
<div class="typeImg" @click="downOrLook(item)">
<img src="@/assets/productsWorld/ebook.png" alt="" v-if="item.resourceType == '2'">
<img src="@/assets/productsWorld/video.png" alt="" v-if="item.resourceType == '5'">
<img src="@/assets/productsWorld/audio.png" alt="" v-if="item.resourceType == '6'">
<img src="@/assets/productsWorld/pic.png" alt="" v-if="item.resourceType == '9'">
<img src="@/assets/productsWorld/pdf.png" alt="" v-if="item.resourceType == '8'">
<img src="@/assets/productsWorld/fj.png" alt="" v-if="item.resourceType == '12'">
<img :src="item.cover && item.cover.indexOf('http://') != -1?coverUrlLink(item.cover):coverUrl(item.cover)" alt="" @error="item.resourceType == '2'?errDownImg('book'):item.resourceType == '5'?errDownImg('video'):item.resourceType == '6'?errDownImg('audio'):item.resourceType == '9'?errDownImg('pic'):item.resourceType == '8'?errDownImg('pdf'):item.resourceType == '12'?errDownImg('fj'):''">
</div>
<div class="typeBtn" @click="downOrLook(item)">详细</div>
</div>
......
......@@ -37,7 +37,7 @@
<div class="recommendBottom" v-if="currentTabIndex == 1">
<div class="recommendCell" v-for="(item,index) in recommendList1" :key="'book1'+index" @click="toDetailBook(item)">
<div class="cellContent">
<img :src="item.cover?coverUrl(item.cover):''" alt="">
<img :src="item.cover && item.cover.indexOf('http://') != -1?coverUrlLink(item.cover):coverUrl(item.cover)" alt="" @error="errImg('book')">
<div class="bottomBox">
<span class="bookName">{{item.name}}</span>
<span class="bookAuthor" v-if="item.author">{{item.author}}</span>
......@@ -48,7 +48,7 @@
<div class="recommendBottom" v-if="currentTabIndex == 2">
<div class="recommendCell" v-for="(item,index) in recommendList2" :key="'book2'+index" @click="toDetailBook(item)">
<div class="cellContent">
<img :src="item.cover?coverUrl(item.cover):''" alt="">
<img :src="item.cover && item.cover.indexOf('http://') != -1?coverUrlLink(item.cover):coverUrl(item.cover)" alt="" @error="errImg('book')">
<div class="bottomBox">
<span class="bookName">{{item.name}}</span>
<span class="bookAuthor" v-if="item.author">{{item.author}}</span>
......@@ -164,6 +164,7 @@
<!-- banner -->
<div class="bannerBox">
<img :src="coverUrl(cpsjzbDetail.cover)" alt="" class="bannerBgImg">
<div class="bannerContent">
<div class="bannerItem" @click="openUrl('/fg/book/toValidationPage.html')">
<div class="itemTop">
......@@ -205,7 +206,7 @@
</div>
<div class="rpRight">
<div class="platformItem" v-for="(item,index) in platformList.slice(1,3)" :key="'pf'+index" @click="toResourcePlat(item.url)">
<img :src="item.cover?coverUrl(item.cover):''" alt="">
<img :src="item.cover && item.cover.indexOf('http://') != -1?coverUrlLink(item.cover):coverUrl(item.cover)" alt="">
<div class="bottomLine">
<img src="@/assets/productsWorld/icon-eyes.png" alt="">
<span>{{item.synopsis}}</span>
......@@ -309,7 +310,7 @@
</template>
<script>
import { getRecommendAPI, homeBookClassListAPI, getAdsignAPI, worldNewBookAPI, } from "@/api/home/index"
import { getRecommendAPI, homeBookClassListAPI, getAdsignAPI, worldNewBookAPI } from "@/api/home/index"
import { resourceLink } from "@/utils/global.js"
import comHeader from "@/components/comHeader.vue"
import comFooter from "@/components/comFooter.vue"
......@@ -354,6 +355,7 @@ export default {
currentNewsDetail:null,
classAllList:[],
platformList:[],
cpsjzbDetail:{},
digitalDetailList:[],
otherDigitalList:[],
hash:null,
......@@ -551,6 +553,13 @@ export default {
//资源平台列表
getAdsign(){
getAdsignAPI({code:'cpsjzb'}).then((res) => {
if(res.data.code == 0){
if(res.data.data && res.data.data.length > 0){
this.cpsjzbDetail = res.data.data[0]
}
}
})
getAdsignAPI({code:'gwcpzypt'}).then((res) => {
if(res.data.code == 0){
this.platformList = res.data.data.slice(0,3)
......@@ -1284,6 +1293,15 @@ export default {
background-position: 0 0;
background-size: 100% 100%;
background-repeat: no-repeat;
position: relative;
.bannerBgImg{
width: 100%;
height: 250px;
position: absolute;
top: 0;
left: 0;
z-index: 0;
}
.bannerContent{
width: 1200px;
height: 100%;
......@@ -1292,6 +1310,8 @@ export default {
box-sizing: border-box;
display: flex;
justify-content: space-between;
position: relative;
z-index: 2;
.bannerItem{
width: 350px;
height: 135px;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论