Commit bf9f259a authored by anxixi's avatar anxixi

活动页面修改及部分功能优化

parent b84c1616
......@@ -30,10 +30,26 @@ export default {
return api.fetchLogin("/base/code/sendCode",Qs.stringify(params))
},
//行业报告前端列表
//活动详情
getActivityDetails (params){
return api.fetchLoadingGet('/business/activityEnter/getActivityDetails?channelId=' +params);
},
//活动详情嘉宾
getActivityGuestList (params){
return api.fetchLoadingGet('/base/activity/getActivityGuestList?' +Qs.stringify(params));
},
//活动详情最近参与
getActivityNewestJoin (params){
return api.fetchLoadingGet('/base/activity/getActivityNewestJoin?' +Qs.stringify(params));
},
//活动详情活动推荐
getRecommendActivity (params){
return api.fetchLoadingGet('/business/index/getRecommendActivity?' +Qs.stringify(params));
},
//活动详情相关内容
getActivityResourcesById (params){
return api.fetchLoadingGet('/base/activity/getActivityResourcesById?channelId=' +params);
},
//报名获取基本信息
getBasicInfoAxios(params){
......
<template>
<div :class="ismyevent==1?'myfoutdiv':'foutdiv'" style="text-align: left;">
<div class="breadcrumb" v-if="ismyevent==1">
<el-breadcrumb separator="/">
<el-breadcrumb-item :to="{ path: publicFun.isgetUserRoleFunc(5)?'/salerequire/list':publicFun.isgetUserRoleFunc(2)?'/projectdynamics':'/litemlist' }">{{$t("releasejson.wrkbench")}}</el-breadcrumb-item>
<el-breadcrumb-item :to="{ path: '/myevent' }">{{$t('activityInfo.myJoin')}}</el-breadcrumb-item>
<el-breadcrumb-item>{{$t('Otherjson.activityview')}}</el-breadcrumb-item>
</el-breadcrumb>
</div>
<div :class="[ismyevent==1?'mydivclasschild':'divclasschild']">
<div :class="positions?'isposition':''" :style="ismyevent==1&&positions?'left: 20px;':''">
<el-image
v-if="eventdata.channelPic"
style="width: 300px;height: 180px;"
:src="eventdata.channelPic"
fit="cover">
</el-image>
<p style="margin-top: 15px;">{{eventdata.channelTitle}}</p>
<p style="margin: 15px 0;">{{$t('activityInfo.timeZone')}}{{eventdata.versionType==0?$t('pubactivities.beijingtime'):eventdata.timeZoneName}}</p>
<p>{{$t('activityInfo.activityTime')}}{{eventdata.channelStartTime}} - {{eventdata.channelEndTime}}</p>
<p v-if="eventdata.channelType!=5" style="margin: 15px 0;">{{$t('activityInfo.applyEnd')}}{{eventdata.activityEndTime}}</p>
<p style="margin: 15px 0;">
<span style="margin-right: 5px;">{{$t('activityInfo.activityCreated')}}{{eventdata.channelOriginateName}} <i></i></span>
<span v-if="eventdata.isOfficial"><img style="height: 15px;" :src="$i18n.locale=='zh-CN'?require('../../assets/img/apply/official@2x.png'):require('../../assets/img/apply/officialEn.png')" alt=""></span>
<span v-else><img style="width: 24px;" src="../../assets/img/vipIcon@2x.png" alt=""></span>
</p>
<div class="gendisplay citystr" v-if="eventdata.channelType == 3">
<p><i class="iconfont icon-dingwei"></i> {{eventdata.channelAddress}}</p>
</div>
<div style="text-align: center;">
<span v-if="eventdata.channelType!=5&&userInfo&&userInfo.empId!=eventdata.createdBy||eventdata.channelType!=5&&!userInfo">
<el-button type="primary" round style="width:130px;" v-if="eventdata.activityState==2&&!eventdata.isApply" @click="handleApply(eventdata)">{{$t('activityInfo.freeApply')}}</el-button>
<el-button type="primary" round style="width:130px;" disabled v-if="eventdata.channelType!=4&&eventdata.activityState==2&&eventdata.isApply">{{$t("activityInfo.hasApply")}}</el-button>
<el-button type="primary" round style="width:130px;" v-if="eventdata.channelType==4&&eventdata.activityState==2&&eventdata.isApply" @click="handleToSuccess">{{$t("commonTitle.vipLookTitle")}}</el-button>
<el-button type="primary" round style="width:130px;"disabled v-if="eventdata.activityState>2">{{eventdata.activityState==4?$t("activityInfo.hasFilled"):eventdata.activityState==3?$t("activityInfo.applyEnd"):eventdata.activityState==5?$t("activityInfo.activityEnd"):""}}</el-button>
<el-button type="primary" round style="width:130px;" v-if="eventdata.activityState==1">{{$t("activityInfo.activityNoBegin")}}</el-button>
</span>
<span style="margin-left: 15px;" v-if="eventdata.hasLive == 1" @click="openeventlive(eventdata)">
<el-button v-if="eventdata.baseLive.liveState==0" type="info" round style="width: 130px;font-size: 14px;">
<i class="iconfont icon-zhibo" style="font-size: 14px;"></i>
{{$t('activityInfo.liveNotStart')}}
</el-button>
<el-button v-if="eventdata.baseLive.liveState==1" type="warning" round style="width: 130px;font-size: 14px;">
<i class="iconfont icon-zhibo" style="font-size: 14px;"></i>
{{$t('activityInfo.watchLive')}}
</el-button>
<el-button v-if="eventdata.baseLive.liveState==2&&eventdata.baseLive.liveBack == 0" type="primary" round style="width: 130px;font-size: 14px;">
<i class="iconfont icon-zhibo" style="font-size: 14px;"></i>
{{$t('activityInfo.liveBack')}}
</el-button>
<el-button v-if="eventdata.baseLive.liveState==2&&eventdata.baseLive.liveBack == 1" type="info" round style="width: 130px;font-size: 14px;">
{{$t('activityInfo.liveHasEnd')}}
</el-button>
</span>
</div>
<div v-if="eventdata.activityState!=5" @click="handleReturn" style="color:#3F3F53;text-align: center;line-height: 60px;cursor: pointer;">
<i class="iconfont icon-fenxiang" style="margin-right: 10px;"></i>{{$t('activityInfo.shareButton')}}
</div>
</div>
<div id="divtop">
<div style="color: #1A1A1E;font-size: 18px;text-align: center;font-weight: bold;">
{{$t('activityInfo.activityIntro')}}
<p style="border-bottom: 2px solid #5D78FF;width: 40px;text-align: center;margin: 0 auto;height: 6px;"> &nbsp;</p>
</div>
<div id="htmldetail" v-html="eventdata.channelIntroduction"></div>
<div class="content_right" v-if="eventdata.guestList">
<p><span>&nbsp;</span>{{$t('activityInfo.activityCustomer')}}</p>
<div class="gendisplay" style="display: flex;flex-wrap: wrap;width: 80%;">
<div v-for="(item,index) in eventdata.guestList" style="width: 150px;text-align: center;position: relative">
<p><img :src="item.guestPic" style="width: 90px;height: 90px;border-radius: 50%"></p>
<p style="margin: 10px 0">{{item.guestName}}</p>
<p>{{item.guestTitle}}</p>
</div>
</div>
</div>
<div v-if="eventdata.channelType==5" style="text-align: center;padding: 0 0 20px 0;margin-top:40px;border: 1px solid #e8e8e8;color: #ff5d5d;">
<p style="margin: 20px 0">{{$t('pubactivities.participate')}}</p>
<div style="width: 120px;margin: 0 auto;">
<VueQRCodeComponent :text="urltext+$route.query.id" :size="120" :margin="0"></VueQRCodeComponent>
</div>
</div>
</div>
</div>
<div v-if="vueQrVisible">
<qrCmpt :url="eventdata.channelType==5?urltext+$route.query.id:url" @sendVisible="isVueQrVisible"></qrCmpt>
</div>
<!-- 快速登录-->
<expertVisible ref="login" :topindex="3" @dataEvent="successlogin" :registerType="64"></expertVisible>
<signupbar :tabName="activeName" :detailInfo="eventdata" :secondStepInfo="secondStepInfo" @getresourcesdata="getresourcesdata" @cancelVisible="cancelVisible" :applyVisible="applyVisible" v-if="applyVisible"></signupbar>
<div>
<oldEventdetail v-if="$route.query.type == 5"></oldEventdetail>
<newEventdetail v-else></newEventdetail>
</div>
</template>
<script>
import api from "./api/api";
import signupbar from "./signupbar";
import qrCmpt from "../../components/common/qrcodeCmpt";
import expertVisible from "../../components/login/quicklogin";
import VueQRCodeComponent from "vue-qrcode-component";
import uertApi from "../mobile/activityApply/api";
import newEventdetail from "./newEventdetail";
import oldEventdetail from "./oldEventdetail";
export default {
name : "eventdetail",
data() {
return {
applyVisible:false,
eventdata:{},
disabledFlag:0,
secondStepInfo:{},
userInfo:this.publicFun.getUserInfoCookieType() ? JSON.parse(this.Base64.decode(this.publicFun.getUserInfoCookieType())) : null,
activeName:"first",
ismyevent:this.$route.query.ismyevent,
vueQrVisible:false,
url:'',
positions:false,
urltext:'',
newuserinfo:{},
}
},
components:{
signupbar,qrCmpt,expertVisible,VueQRCodeComponent
},
beforeRouteEnter(to, from, next) {
next(vm=>{ // 这里的vm指的就是vue实例,可以用来当做this使用
if(from.path == '/myevent'||from.path == '/myeventsuccess'){
vm.ismyevent = 1;
}
})
},
computed: {
newEventdetail,oldEventdetail
},
methods:{
successlogin(){
this.userInfo = this.publicFun.getUserInfoCookieType() ? JSON.parse(this.Base64.decode(this.publicFun.getUserInfoCookieType())) : null;
this.getActivityDetails();
},
getresourcesdata(){
// this.getActivityDetails();
},
//打开直播
openeventlive(row){
var liveUrl = this.Base64.encode(row.baseLive.liveUrl);
this.publicFun.setUserInfoCookie("liveUrl",row.baseLive.liveUrl);
if(row.baseLive.liveState != 0){
if(this.userInfo&&this.userInfo.empId==row.createdBy){
if(row.baseLive.liveState == 1||row.baseLive.liveBack == 0){
window.open(this.publicFun.getCurrentHrefEnv()+"/eventlive?url="+liveUrl+'&id='+row.channelId);
}
}else{
if(row.baseLive.liveState == 2&&row.baseLive.liveBack == 0){
if(!this.publicFun.getUserInfoCookieType()){
this.$refs.login.isexpertVisible();
return
}
window.open(this.publicFun.getCurrentHrefEnv()+"/eventlive?url="+liveUrl+'&id='+row.channelId);
}else{
if(row.baseLive.livePowers == 0&&row.activityState == 2&&!row.isApply){
if(!this.publicFun.getUserInfoCookieType()){
this.$refs.login.isexpertVisible();
return
}
this.$message.error(this.$t('activityInfo.applyFirst'));
}else if(row.baseLive.livePowers == 0&&row.activityState == 5&&!row.isApply||row.baseLive.livePowers == 0&&row.activityState == 3&&!row.isApply){
if(row.baseLive.liveState != 2){
this.$message.error(this.$t('activityInfo.applyEndTitle'));
}
}else{
if(row.baseLive.liveState == 1||row.baseLive.liveState == 2&&row.baseLive.liveBack == 0){
if(!this.publicFun.getUserInfoCookieType()){
this.$refs.login.isexpertVisible();
return
}
window.open(this.publicFun.getCurrentHrefEnv()+"/eventlive?url="+liveUrl+'&id='+row.channelId);
}
}
}
}
}
},
//二维码
isVueQrVisible(data){
this.vueQrVisible = data;
},
handleReturn(){
this.vueQrVisible = true;
api.selectBasicParams().then(response => {
if(response.code == 0) {
this.url = response.result.websitePrefix +"/activitydetail?id="+this.$route.query.id+'&isApply=1&type='+this.$route.query.type;
} else {
this.$toast(response.msgCode);
}
}).catch(error => {
console.log("提交出错");
return false;
});
},
getActivityDetails(){
api.getActivityDetails(this.$route.query.id).then(response => {
if(response.code == 0) {
this.eventdata = response.result;
window.addEventListener('scroll', this.menu);
this.eventdata.channelStartTime = this.eventdata.channelStartTime.split(" ")[0].split("-")[1]+"."+this.eventdata.channelStartTime.split(" ")[0].split("-")[2]+" "+this.eventdata.channelStartTime.split(" ")[1].replace(/-/g,".");
this.eventdata.channelEndTime = this.eventdata.channelEndTime.split(" ")[0].split("-")[1]+"."+this.eventdata.channelEndTime.split(" ")[0].split("-")[2]+" "+this.eventdata.channelEndTime.split(" ")[1].replace(/-/g,".");
} else {
this.$message.error(response.msgCode);
}
})
.catch(error => {
console.log("提交出错");
return false;
});
},
menu(){
let scroll = document.documentElement.scrollTop || document.body.scrollTop;
let divhtmldetail = document.getElementById('divtop')?document.getElementById('divtop').offsetHeight:0;
if( divhtmldetail - scroll < 450){
this.positions = true;
}else{
this.positions = false;
}
},
//去报名成功
handleToSuccess(){
this.$router.push({path:this.ismyevent==1?'/myeventsuccess':"/eventsuccess",query:{id:this.$route.query.id,type:this.eventdata.channelType,ismyevent:this.ismyevent}})
},
handleApply(data){
// this.eventdata = data;
let that = this;
let params= this.$route.query.id?this.$route.query.id:data.channelId,arrVal = [];
api.getActivityDetails(params).then((res)=>{
if(res.code==0){
this.eventdata = res.result;
this.eventdata.channelStartTime = this.eventdata.channelStartTime.split(" ")[0].split("-")[1]+"."+this.eventdata.channelStartTime.split(" ")[0].split("-")[2]+" "+this.eventdata.channelStartTime.split(" ")[1].replace(/-/g,".");
this.eventdata.channelEndTime = this.eventdata.channelEndTime.split(" ")[0].split("-")[1]+"."+this.eventdata.channelEndTime.split(" ")[0].split("-")[2]+" "+this.eventdata.channelEndTime.split(" ")[1].replace(/-/g,".");
if(this.userInfo){
uertApi.getUserInfoAxios(this.userInfo.empId).then((res)=>{
if(res.code==0){
this.newuserinfo = {};
this.newuserinfo = res.result;
}else{
this.$message.error(res.msg)
}
}).catch((err)=>{
this.$message.error(err)
})
api.getBasicInfoAxios(params).then((res) => {
if (res.code == 0) {
if(res.result.length>0){
res.result.forEach((item) => {
if (item.isBase == 0) {
console.log(this.userInfo)
item.fieldList.forEach((data,index) => {
if(data.fieldValue.charAt(0)=='a'){
arrVal.push(item.fieldValue);
}
if(data.fieldValue == 'contactsCompany'&&data.isCheck==1&&this.newuserinfo.contactsCompany==null){
arrVal.push(item.fieldValue);
}
if(data.fieldValue == 'contactsPosition'&&data.isCheck==1&&this.newuserinfo.contactsPosition==null){
arrVal.push(item.fieldValue);
}
// if(data.isCheck==1){
// arrVal.push(item.fieldValue);
// }
if(!this.userInfo.empName&&data.fieldValue == 'contactsName'){
arrVal.push(item.fieldValue);
}
})
}
})
if(this.userInfo&&arrVal.length>0){
this.applyVisible = true;
}else{
this.applyFunc(data);
}
}
}else {
that.$message.error(res.msg)
}
}).catch((err) => {
that.$message.error(err)
})
}else{
this.applyVisible = true;
}
}else{
this.$message.error(res.msg);
}
}).catch((err)=>{
this.$message.error(err);
})
},
//报名
applyFunc(data) {
var resultObj = {
activityId: this.$route.query.id ? this.$route.query.id : this.eventdata.channelId,
createdBy: this.userInfo ? this.userInfo.empId : null,
channelType: this.eventdata.channelType
};
api.applyForFirstStep(resultObj).then((res) => {
if(res.result&&res.result.user){
this.publicFun.setUserInfoCookieType(that.Base64.encode(JSON.stringify(res.result.user)));
globalMsg.$emit("getUserInfo");
}
if(res.code==0){
var query = {isList:this.$route.name=='activitylist'?true:false,aid:this.$route.query.id?this.$route.query.id:this.eventdata.channelId,id:res.result.enterId,type:this.eventdata.channelType,ismyevent:0}
if(this.eventdata.channelType==2) {
this.applyVisible = true;
this.activeName="second";
this.secondStepInfo = query;
}
else {
if(data.baseLive&&data.baseLive.liveState == 1){
var liveUrl = this.Base64.encode(data.baseLive.liveUrl);
window.open(this.publicFun.getCurrentHrefEnv()+"/eventlive?url="+liveUrl+'&id='+data.channelId);
this.getActivityDetails();
}else{
this.$router.replace({path:"/eventsuccess",query:{id:this.$route.query.id?this.$route.query.id:this.eventdata.channelId,type:this.eventdata.channelType,ismyevent:0}})
}
}
}else{
this.$message.error(res.msg)
setTimeout(function () {
that.disabledFlag = 0;
return false;
}, 500)
}
}).catch((err)=>{
this.$message.error(err)
})
},
cancelVisible(){
this.applyVisible = false;
this.getActivityDetails();
},
},
beforeDestroy() { // 在组件生命周期结束的时候销毁。
window.removeEventListener('scroll', this.menu);
globalMsg.$off('loginsuccess');
},
mounted() {
if (this.publicFun.judgeBrandIsWechatOrHtml() != 1) {
if(this.$route.query.type == 5){
this.$router.replace({path:'/redEnvelopeActDetail',query:{id:this.$route.query.id}});
}else{
this.$router.replace({path:'/activitydetail',query:{id:this.$route.query.id,type:this.$route.query.type,isApply:this.$route.query.ismyevent==0?1:3}});
}
}
globalMsg.$on("loginsuccess",(data)=>{
this.userInfo = this.publicFun.getUserInfoCookieType() ? JSON.parse(this.Base64.decode(this.publicFun.getUserInfoCookieType())) : null;
this.getActivityDetails();
});
globalMsg.$emit('topisInit', false);
globalMsg.$emit('sendIndex', 3);
globalMsg.$emit('maidianfunc',({type:'report-channel-read',channelId:this.$route.query.id}));
this.getActivityDetails();
document.getElementsByTagName("body")[0].style.overflow = "auto";
api.selectBasicParams().then(response => {
if(response.code == 0) {
this.urltext = response.result.websitePrefix+'/redEnvelopeActDetail?id=';
} else {
this.$message.error(response.msgCode);
}
})
.catch(error => {
console.log("提交出错");
return false;
});
}
}
</script>
<style scoped lang="scss">
.myfoutdiv{
padding: 20px 30px 0;
min-height: 300px;
text-align: left;
}
.mydivclasschild{
min-height: 600px;
position: relative;
background: #ffffff;
margin-top: 20px;
padding: 20px 20px 50px 20px;
>div:nth-child(1){
width: 320px;
position: fixed;
border: 1px solid #F2F2F2;
padding: 10px;
>p:nth-child(2){
color: #1A1A1E;
font-size: 18px;
font-weight: bold;
}
}
>div:nth-child(2){
padding: 25px 20px 0;
width: calc(100% - 380px);
min-height: 600px;
margin-left: 350px;
margin-bottom: 100px;
}
}
.isposition{
position: absolute!important;
left: 0;
right: 0;
bottom: 30px;
}
.divclasschild{
width: 1200px;
margin: 0 auto;
padding: 25px 0;
height: 100%;
position: relative;
>div:nth-child(1){
width: 320px;
position: fixed;
border: 1px solid #F2F2F2;
padding: 10px;
>p:nth-child(2){
color: #1A1A1E;
font-size: 18px;
font-weight: bold;
}
}
>div:nth-child(2){
width: calc(100% - 380px);
min-height: 600px;
margin-left: 380px;
margin-bottom: 100px;
}
}
.citystr{
font-size: 12px;
margin-bottom: 15px;
}
#htmldetail /deep/ p{
margin: 15px 0;
}
#htmldetail /deep/ img {
max-width: 600px !important;
}
.content_right{
width: 100%;
text-align: left;
>p{
line-height: 38px;
color: #3F3F53;
font-size: 16px;
font-weight: bold;
position: relative;
>span{
border-left: 2px solid #5D78FF;
margin-right: 10px;
}
}
}
#htmldetail /deep/ p{
margin: 15px 0;
color: #1A1A1E;
line-height: 26px;
}
#htmldetail /deep/ img {
max-width: 600px !important;
}
</style>
\ No newline at end of file
<template>
<div class="foutdiv newEventdetail">
<div class="bgimg"></div>
<div class="event_home">
<div class="event_top gendisplay">
<div>
<p class="imgInfo"
:style="{backgroundImage:'url('+(eventdata.channelPic)+')'}">
</p>
</div>
<div>
<p class="eventTitle">
{{eventdata.channelTitle}}
</p>
<div class="information_1">
<span>浏览 {{eventdata.readCountStr}}</span>
<span>{{eventdata.channelLabelList?eventdata.channelLabelList[0]:''}}</span>
<span>直播</span>
<span v-if="eventdata.drawTime">距活动还有 <i style="color: #FFA801;">{{eventdata.drawTime}}</i> {{eventdata.timeType==1?'分钟':eventdata.timeType==2?'小时':eventdata.timeType==3?'天':''}}</span>
</div>
<div class="gendisplay information_2">
<div>
<p>时区:{{eventdata.timeZoneName}}</p>
<p>活动时间:{{eventdata.channelStartTime}} - {{eventdata.channelStartTime}}</p>
<p>报名截止:{{eventdata.activityEndTime}}</p>
<p>发起人:{{eventdata.channelOriginateName}}
<span v-if="eventdata.isOfficial"><img style="height: 15px;" :src="$i18n.locale=='zh-CN'?require('../../assets/img/apply/official@2x.png'):require('../../assets/img/apply/officialEn.png')" alt=""></span>
</p>
</div>
<div>
<span :class="$i18n.locale=='zh-CN'?'':'iszh-CN'" class="btn_margin-right" v-if="eventdata.channelType!=5&&userInfo&&userInfo.empId!=eventdata.createdBy||eventdata.channelType!=5&&!userInfo">
<span class="eventbtn" v-if="eventdata.activityState==2&&!eventdata.isApply" @click="handleApply(eventdata)">{{eventdata.viewDesc?eventdata.viewDesc:$t('activityInfo.freeApply')}}</span>
<span class="eventbtn" v-if="eventdata.channelType!=4&&eventdata.activityState==2&&eventdata.isApply">{{$t("activityInfo.hasApply")}}</span>
<span class="eventbtn" v-if="eventdata.channelType==4&&eventdata.activityState==2&&eventdata.isApply" @click="handleToSuccess">{{$t("commonTitle.vipLookTitle")}}</span>
<span class="eventbtn" v-if="eventdata.activityState>2">{{eventdata.activityState==4?$t("activityInfo.hasFilled"):eventdata.activityState==3?$t("activityInfo.applyEnd"):eventdata.activityState==5?$t("activityInfo.activityEnd"):""}}</span>
<span class="eventbtn" v-if="eventdata.activityState==1">{{$t("activityInfo.activityNoBegin")}}</span>
</span>
<span :class="$i18n.locale=='zh-CN'?'':'iszh-CN'" v-if="eventdata.hasLive == 1" @click="openeventlive(eventdata)">
<span class="eventbtn" v-if="eventdata.baseLive.liveState==0">
<i class="iconfont icon-zhibo"></i> {{$t('activityInfo.liveNotStart')}}
</span>
<span class="eventbtn" v-if="eventdata.baseLive.liveState==1">
<i class="iconfont icon-zhibo"></i> {{$t('activityInfo.watchLive')}}
</span>
<span class="eventbtn" v-if="eventdata.baseLive.liveState==2&&eventdata.baseLive.liveBack == 0">
<i class="iconfont icon-zhibo"></i> {{$t('activityInfo.liveBack')}}
</span>
<span class="eventbtn" v-if="eventdata.baseLive.liveState==2&&eventdata.baseLive.liveBack == 1">
<i class="iconfont icon-zhibo"></i> {{$t('activityInfo.liveHasEnd')}}
</span>
</span>
<p>分享到:<i class="iconfont icon-gongzhonghao"></i></p>
</div>
</div>
</div>
</div>
<div class="gendisplay event_content">
<div>
<div class="p_tabs" v-if="guestList.length != 0">
<div class="gendisplay p_tabs_title">
<p>
<span>活动嘉宾<i></i></span>
</p>
<p @click="isguestchecked = !isguestchecked" v-if="guestList.length>2">
{{isguestchecked?'收起':'展开'}}
<i class="iconfont" :class="isguestchecked?'icon-xiala-copy':'icon-xiala'" style="font-size: 12px;transform: scale(0.6);display: inline-block;"></i>
</p>
</div>
<div class="guestpage gendisplay">
<div class="gendisplay " v-if="isguestchecked||index<2" v-for="(item,index) in guestList" :style="index%2==1?'padding-left:25px;':'padding-right:25px;'">
<span class="userImg">
<img class="userinfo_img" :src="item.guestPic?item.guestPic:require('../../assets/img/defaultlogo.png')" alt="">
<img class="userImg_vip" v-if="item.isProfessor == 1" src="../../assets/img/proFeedBack/vip.png" alt="">
<img class="userImg_vip" v-if="item.isModerator == 1&&item.isProfessor == 0" src="../../assets/img/mobile/moderator.png" alt="">
</span>
<div>
<div class="gendisplay">
<p>
<i class="hover_cursor">{{item.guestName}}</i>
<i style="font-size: 12px;padding-left:10px;font-weight: normal;">
{{item.guestTitle}}
</i>
</p>
<btnbar @successState="successState" :row="item" :index="index" :btnType="1" :eventId="$route.query.id"></btnbar>
</div>
<el-tooltip placement="top-start" effect="light">
<div slot="content" style="width: 200px;">{{item.guestDesc}}</div>
<p class="ellipsisFont1" style="color:#1A1A1E;height: 20px;max-width: 90%;">{{item.guestDesc}}</p>
</el-tooltip>
</div>
</div>
</div>
</div>
<div class="p_tabs">
<div class="gendisplay p_tabs_title">
<p>
<span>活动详情<i></i></span>
</p>
<p @click="isIntroduction = !isIntroduction">
{{isIntroduction?'收起':'展开'}}
<i class="iconfont" :class="isIntroduction?'icon-xiala-copy':'icon-xiala'" style="font-size: 12px;transform: scale(0.6);display: inline-block;"></i>
</p>
</div>
<div id="htmldetail" :style="isIntroduction?'':'height: 400px;overflow: hidden;'" v-html="eventdata.channelIntroduction"></div>
</div>
<div class="p_tabs">
<div class="gendisplay p_tabs_title">
<p>
<span>最近参与<i></i></span>
</p>
</div>
<div class="participate_user gendisplay">
<div v-for="(item,index) in userRelationlist">
<span class="userImg">
<img class="userinfo_img" :src="item.empLogo?item.empLogo:require('../../assets/img/defaultlogo.png')" alt="">
<img class="userImg_vip" v-if="item.isProfessor == 1" src="../../assets/img/proFeedBack/vip.png" alt="">
<img class="userImg_vip" v-if="item.isModerator == 1&&item.isProfessor == 0" src="../../assets/img/mobile/moderator.png" alt="">
</span>
<p>fqfqw</p>
<p>fqwfqw</p>
<btnbar :row="item" :index="index" :btnType="1"></btnbar>
</div>
</div>
</div>
<div class="p_tabs" v-if="resourcesList.length != 0">
<div class="gendisplay p_tabs_title">
<p>
<span>为您推荐<i></i></span>
</p>
</div>
<div>
<div class="gendisplay recommend">
<div v-for="(item,index) in recommendList" @click="newOpen(item,true)" :key="index" class="recommend_content" :style="index%2==1?'padding-left:20px;':'padding-right:20px;'">
<div class="gendisplay recommend_top">
<p class="imgInfo eventCoverimg"
:style="{backgroundImage:'url('+(item.channelPic?item.channelPic:require('../../assets/img/defaultlogo.png'))+')'}">
</p>
<div>
<p class="ellipsisFont1">{{item.channelTitle}}</p>
<div>
<p>{{item.timeZoneName}}</p>
<p>
<span>{{item.channelStartTime}} - {{item.channelEndTime}}</span>
<span>{{item.channelCityStr}}</span>
</p>
</div>
</div>
</div>
<div class="gendisplay signup">
<p class="ellipsisFont1">{{item.channelLabel}}</p>
<div>
<p>免费报名</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="right_module">
<div :style="positions?'position: fixed;top: 40px;z-index: -1;':''">
<div class="btnOperating" v-if="positions">
<span class="eventbtn">立即报名</span>
</div>
<div class="shareIt gendisplay">
<div>
<VueQRCodeComponent :text="urltext" :size="100" :margin="0"></VueQRCodeComponent>
</div>
<div>
<p>微信扫一扫</p>
<span>分享此活动给朋友/朋友圈</span>
</div>
</div>
<div class="right_tabs">
<div class="gendisplay right_tabs_title">
<p>
<span style="font-size: 16px;">{{resourcesList.length == 0?'为您推荐':'相关内容'}}<i></i></span>
</p>
</div>
<div class="recommendType" v-if="resourcesList.length != 0">
<div v-for="(item,index) in resourcesList" @click="newOpen(item,false)" :key="index">
<div class="gendisplay recommendType_content">
<div>
<p class="imgInfo typeCoverimg"
v-if="item.resourceType=='RAT01'||item.resourceType=='RAT02'"
:style="{backgroundImage:'url('+(item.coverUrl)+')'}">
</p>
<p class="imgInfo typeCoverimg"
v-if="item.resourceType=='RAT03'"
:style="{backgroundImage:'url('+(require('../../assets/img/mobile/pdfImg@2x.png'))+')'}">
</p>
<p class="imgInfo typeCoverimg"
v-if="item.resourceType=='RAT04'"
:style="{backgroundImage:'url('+(require('../../assets/img/mobile/activityArticleImg@2x.png'))+')'}">
</p>
<i class="typeCovermark">{{item.resourceType=='RAT01'?'话题':item.resourceType=='RAT02'?'活动':item.resourceType=='RAT03'?'报告':item.resourceType=='RAT04'?'文章':'话题'}}</i>
</div>
<div>
<p class="ellipsisFont1">{{item.resourceTitle}}</p>
<p v-if="item.resourceType=='RAT01'">参与数 {{item.joinStr}} <i>阅读 {{item.browseStr}}</i></p>
<p v-if="item.resourceType=='RAT02'">{{item.activityTimeStr}}</p>
<p v-if="item.resourceType=='RAT03'">{{item.dataName}} <i>下载量 {{item.downloadStr}}</i></p>
<p v-if="item.resourceType=='RAT04'">阅读 {{item.browseStr}} <i>{{item.publishTimeStr}}</i></p>
</div>
</div>
</div>
</div>
<div class="recommendType" v-else>
<div v-for="(item,index) in recommendList" @click="newOpen(item,true)" :key="index">
<div class="gendisplay recommendType_content">
<div>
<p class="imgInfo typeCoverimg"
:style="{backgroundImage:'url('+(item.channelPic)+')'}">
</p>
<i class="typeCovermark">活动</i>
</div>
<div>
<p class="ellipsisFont1">{{item.channelTitle}}</p>
<p>{{item.channelStartTime}} - {{item.channelEndTime}}</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div v-if="vueQrVisible">
<qrCmpt :url="url" @sendVisible="isVueQrVisible"></qrCmpt>
</div>
<!-- 快速登录-->
<expertVisible ref="login" :topindex="3" @dataEvent="successlogin" :registerType="64"></expertVisible>
<signupbar :tabName="activeName" :detailInfo="eventdata" :secondStepInfo="secondStepInfo" @cancelVisible="cancelVisible" :applyVisible="applyVisible" v-if="applyVisible"></signupbar>
</div>
</template>
<script>
import btnbar from "../peoplehomepage/btnbar";
import VueQRCodeComponent from "vue-qrcode-component";
import api from "./api/api";
import uertApi from "../mobile/activityApply/api";
import signupbar from "./signupbar";
import expertVisible from "../../components/login/quicklogin";
import qrCmpt from "../../components/common/qrcodeCmpt";
export default {
name: "newEventdetail",
data() {
return{
userRelationlist:[{},{},{},{},{},{},{},{},{},{},],
urltext:'fqwfwqdfqw',
eventdata:{},
guestList:[],
isguestchecked:false,
resourcesList:[],
recommendList:[],
positions:false,
isIntroduction:false,
vueQrVisible:false,
applyVisible:false,
secondStepInfo:{},
activeName:"first",
url:this.publicFun.getCurrentHrefEnv()+"/activitydetail?id="+this.$route.query.id+'&isApply=1&type='+this.$route.query.type,
userInfo:this.publicFun.getUserInfoCookieType() ? JSON.parse(this.Base64.decode(this.publicFun.getUserInfoCookieType())) : null,
}
},
components:{btnbar,VueQRCodeComponent,signupbar,expertVisible,qrCmpt},
methods:{
successlogin(){
this.userInfo = this.publicFun.getUserInfoCookieType() ? JSON.parse(this.Base64.decode(this.publicFun.getUserInfoCookieType())) : null;
this.getActivityDetails();
},
//二维码
isVueQrVisible(data){
this.vueQrVisible = data;
},
cancelVisible(){
this.applyVisible = false;
this.getActivityDetails();
},
//打开直播
openeventlive(row){
var liveUrl = this.Base64.encode(row.baseLive.liveUrl);
this.publicFun.setUserInfoCookie("liveUrl",row.baseLive.liveUrl);
if(row.baseLive.liveState != 0){
if(this.userInfo&&this.userInfo.empId==row.createdBy){
if(row.baseLive.liveState == 1||row.baseLive.liveBack == 0){
window.open(this.publicFun.getCurrentHrefEnv()+"/eventlive?url="+liveUrl+'&id='+row.channelId);
}
}else{
if(row.baseLive.liveState == 2&&row.baseLive.liveBack == 0){
if(!this.publicFun.getUserInfoCookieType()){
this.$refs.login.isexpertVisible();
return
}
window.open(this.publicFun.getCurrentHrefEnv()+"/eventlive?url="+liveUrl+'&id='+row.channelId);
}else{
if(row.baseLive.livePowers == 0&&row.activityState == 2&&!row.isApply){
if(!this.publicFun.getUserInfoCookieType()){
this.$refs.login.isexpertVisible();
return
}
this.$message.error(this.$t('activityInfo.applyFirst'));
}else if(row.baseLive.livePowers == 0&&row.activityState == 5&&!row.isApply||row.baseLive.livePowers == 0&&row.activityState == 3&&!row.isApply){
if(row.baseLive.liveState != 2){
this.$message.error(this.$t('activityInfo.applyEndTitle'));
}
}else{
if(row.baseLive.liveState == 1||row.baseLive.liveState == 2&&row.baseLive.liveBack == 0){
if(!this.publicFun.getUserInfoCookieType()){
this.$refs.login.isexpertVisible();
return
}
window.open(this.publicFun.getCurrentHrefEnv()+"/eventlive?url="+liveUrl+'&id='+row.channelId);
}
}
}
}
}
},
getActivityDetails(){
api.getActivityDetails(this.$route.query.id).then(response => {
if(response.code == 0) {
this.eventdata = response.result;
window.addEventListener('scroll', this.menu);
this.eventdata.channelStartTime = this.eventdata.channelStartTime.split(" ")[0].split("-")[1]+"."+this.eventdata.channelStartTime.split(" ")[0].split("-")[2]+" "+this.eventdata.channelStartTime.split(" ")[1].replace(/-/g,".");
this.eventdata.channelEndTime = this.eventdata.channelEndTime.split(" ")[0].split("-")[1]+"."+this.eventdata.channelEndTime.split(" ")[0].split("-")[2]+" "+this.eventdata.channelEndTime.split(" ")[1].replace(/-/g,".");
} else {
this.$message.error(response.msgCode);
}
})
.catch(error => {
console.log("提交出错");
return false;
});
},
//交换名片
successState(row,index){
row.baseEmpRelationDTO.isFriend = row.baseEmpRelationDTO.isApplyToGuest==1?0:row.baseEmpRelationDTO.isApplyToGuest==2?1:row.baseEmpRelationDTO.isApplyToGuest==3?2:'';
this.$set(this.guestList, index, row.baseEmpRelationDTO);
},
//嘉宾列表
activityGuestList(){
let params = {
activityId:this.$route.query.id,
pageIndex:1,
pageSize:20,
};
api.getActivityGuestList(params).then(response => {
if(response.code == 0) {
if(response.result.records){
response.result.records.forEach( (item) =>{
item.isFriend = item.isApplyToGuest==1?0:item.isApplyToGuest==2?1:item.isApplyToGuest==3?2:''
});
this.guestList = response.result.records;
}
} else {
this.$toast(response.msgCode);
}
}).catch(error => {
console.log("提交出错");
return false;
});
},
newOpen(item,state){
if(state){
window.open(this.publicFun.getCurrentHrefEnv()+"/eventdetail?id=" + item.channelId + "&ismyevent=0&type=" + item.channelType);
}else{
if(item.resourceType == 'RAT01')window.open(this.publicFun.getCurrentHrefEnv()+"/topicDetails?id=" + item.resourceId+'&newnpen=true');
if(item.resourceType == 'RAT02')window.open(this.publicFun.getCurrentHrefEnv()+"/eventdetail?id=" + item.resourceId + "&ismyevent=0&type=" + item.channelType);
if(item.resourceType == 'RAT03')window.open(this.publicFun.getCurrentHrefEnv()+"/industryReportDetail?id=" + item.resourceId);
if(item.resourceType == 'RAT04')window.open(this.publicFun.getCurrentHrefEnv()+"/articleDetail?id=" + item.resourceId+'&newnpen=true');
}
},
//最近参与
activityNewestJoin(){
let params = {
activityId:this.$route.query.id,
count:7,
};
api.getActivityNewestJoin(params).then(response => {
if(response.code == 0) {
// response.result.records.forEach( (item) =>{
// item.isFriend = item.isApplyToGuest==1?0:item.isApplyToGuest==2?1:item.isApplyToGuest==3?2:''
// });
// this.guestList = response.result.records;
} else {
this.$toast(response.msgCode);
}
}).catch(error => {
console.log("提交出错");
return false;
});
},
//去报名成功
handleToSuccess(){
this.$router.push({path:this.ismyevent==1?'/myeventsuccess':"/eventsuccess",query:{id:this.$route.query.id,type:this.eventdata.channelType,ismyevent:this.ismyevent}})
},
handleApply(data){
// this.eventdata = data;
let that = this;
let params= this.$route.query.id?this.$route.query.id:data.channelId,arrVal = [];
api.getActivityDetails(params).then((res)=>{
if(res.code==0){
this.eventdata = res.result;
this.eventdata.channelStartTime = this.eventdata.channelStartTime.split(" ")[0].split("-")[1]+"."+this.eventdata.channelStartTime.split(" ")[0].split("-")[2]+" "+this.eventdata.channelStartTime.split(" ")[1].replace(/-/g,".");
this.eventdata.channelEndTime = this.eventdata.channelEndTime.split(" ")[0].split("-")[1]+"."+this.eventdata.channelEndTime.split(" ")[0].split("-")[2]+" "+this.eventdata.channelEndTime.split(" ")[1].replace(/-/g,".");
if(this.userInfo){
uertApi.getUserInfoAxios(this.userInfo.empId).then((res)=>{
if(res.code==0){
this.newuserinfo = {};
this.newuserinfo = res.result;
}else{
this.$message.error(res.msg)
}
}).catch((err)=>{
this.$message.error(err)
})
api.getBasicInfoAxios(params).then((res) => {
if (res.code == 0) {
if(res.result.length>0){
res.result.forEach((item) => {
if (item.isBase == 0) {
// console.log(this.userInfo)
item.fieldList.forEach((data,index) => {
if(data.fieldValue.charAt(0)=='a'){
arrVal.push(item.fieldValue);
}
if(data.fieldValue == 'contactsCompany'&&data.isCheck==1&&this.newuserinfo.contactsCompany==null){
arrVal.push(item.fieldValue);
}
if(data.fieldValue == 'contactsPosition'&&data.isCheck==1&&this.newuserinfo.contactsPosition==null){
arrVal.push(item.fieldValue);
}
// if(data.isCheck==1){
// arrVal.push(item.fieldValue);
// }
if(!this.userInfo.empName&&data.fieldValue == 'contactsName'){
arrVal.push(item.fieldValue);
}
})
}
})
if(this.userInfo&&arrVal.length>0){
this.applyVisible = true;
}else{
this.applyFunc(data);
}
}
}else {
that.$message.error(res.msg)
}
}).catch((err) => {
that.$message.error(err)
})
}else{
this.applyVisible = true;
}
}else{
this.$message.error(res.msg);
}
}).catch((err)=>{
this.$message.error(err);
})
},
//报名
applyFunc(data) {
var resultObj = {
activityId: this.$route.query.id ? this.$route.query.id : this.eventdata.channelId,
createdBy: this.userInfo ? this.userInfo.empId : null,
channelType: this.eventdata.channelType
};
api.applyForFirstStep(resultObj).then((res) => {
if(res.result&&res.result.user){
this.publicFun.setUserInfoCookieType(that.Base64.encode(JSON.stringify(res.result.user)));
globalMsg.$emit("getUserInfo");
}
if(res.code==0){
var query = {isList:this.$route.name=='activitylist'?true:false,aid:this.$route.query.id?this.$route.query.id:this.eventdata.channelId,id:res.result.enterId,type:this.eventdata.channelType,ismyevent:0}
if(this.eventdata.channelType==2) {
this.applyVisible = true;
this.activeName="second";
this.secondStepInfo = query;
}
else {
if(data.baseLive&&data.baseLive.liveState == 1){
var liveUrl = this.Base64.encode(data.baseLive.liveUrl);
window.open(this.publicFun.getCurrentHrefEnv()+"/eventlive?url="+liveUrl+'&id='+data.channelId);
this.getActivityDetails();
}else{
this.$router.replace({path:"/eventsuccess",query:{id:this.$route.query.id?this.$route.query.id:this.eventdata.channelId,type:this.eventdata.channelType,ismyevent:0}})
}
}
}else{
this.$message.error(res.msg)
setTimeout(function () {
that.disabledFlag = 0;
return false;
}, 500)
}
}).catch((err)=>{
this.$message.error(err)
})
},
//相关内容
activityResourcesById(){
api.getActivityResourcesById(this.$route.query.id).then(response => {
if(response.code == 0) {
if(response.result)this.resourcesList = response.result;
} else {
this.$toast(response.msgCode);
}
}).catch(error => {
console.log("提交出错");
return false;
});
},
//活动推荐
recommendActivity(){
let params = {
channelId:this.$route.query.id,
count:4,
};
api.getRecommendActivity(params).then(response => {
if(response.code == 0) {
this.recommendList = response.result;
} else {
this.$toast(response.msgCode);
}
}).catch(error => {
console.log("提交出错");
return false;
});
},
menu(){
let scroll = document.documentElement.scrollTop || document.body.scrollTop;
if(scroll>250){
this.positions = true;
}else{
this.positions = false;
}
},
},
beforeDestroy() { // 在组件生命周期结束的时候销毁。
window.removeEventListener('scroll', this.menu);
},
mounted() {
window.addEventListener('scroll', this.menu);
this.getActivityDetails();
this.activityGuestList();
this.activityNewestJoin();
this.activityResourcesById();
this.recommendActivity();
},
}
</script>
<style scoped lang="scss">
.newEventdetail{
text-align: left;
background: #EDEFF2;
padding-bottom: 40px;
}
.bgimg{
width: 100%;
background: url("../../assets/img/eventbgimg.png") no-repeat;
background-size: contain;
height: 300px;
position: absolute;
top: 44px;
left: 0;
}
.event_home{
width: 1200px;
margin: 0 auto;
position: relative;
z-index: 10;
}
.event_content{
margin-top: 20px;
>div:nth-child(1){
width: calc(100% - 340px);
margin-right: 20px;
}
>div:nth-child(2){
width: 320px;
}
}
.right_module{
>div{
>div{
margin-bottom: 15px;
}
}
}
.p_tabs{
background: #ffffff;
padding: 20px;
overflow: hidden;
border-radius: 10px;
margin-bottom: 15px;
& .p_tabs_title{
>p{
line-height: 28px;
}
>p:nth-child(1){
width: 100%;
>span{
color: #1A1A1E;
font-size: 20px;
font-weight: bold;
position: relative;
>i{
position: absolute;
top: 0px;
left: -22px;
display: inline-block;
width: 6px;
height: 26px;
background: #5D78FF;
border-radius: 0px 100px 100px 0px;
}
}
}
>p:nth-child(2){
width: 100px;
text-align: right;
color:#5D78FF;
cursor: pointer;
}
}
}
.event_top{
width: 100%;
background: #ffffff;
border-radius: 10px;
padding: 20px;
margin-top: 20px;
>div:first-child{
>p{
width: 350px;
height: 210px;
border-radius: 3px;
}
}
>div:last-child{
width: calc(100% - 350px);
margin-left: 20px;
.eventTitle{
color: #323232;
font-size: 22px;
font-weight: bold;
}
.information_1{
margin: 30px 0;
>span{
margin-right: 20px;
}
>span:nth-child(1){
color: #7A7A7A;
}
>span:nth-child(2){
color: #5D78FF;
font-size: 12px;
border: 1px solid #5D78FF;
padding: 2px 5px;
}
>span:nth-child(3){
background: #FF5D5D;
color: #ffffff;
font-size: 12px;
padding: 2.5px 5px;
}
>span:nth-child(4){
color: #7A7A7A;
>i{
color: #5D78FF;
}
}
}
.information_2{
color: #1A1A1E;
>div:nth-child(1){
line-height: 24px;
width: calc(100% - 320px);
}
>div:nth-child(2){
width: 320px;
text-align: center;
>p{
color: #7A7A7A;
margin-top: 38px;
>i{
color: #00C800;
}
}
}
}
}
}
.eventbtn{
height: 42px;
padding: 0 25px;
line-height: 42px;
font-size: 16px;
font-weight: bold;
color: #ffffff;
display: inline-block;
border-radius: 26px;
background: #5D78FF;
cursor: pointer;
box-shadow: 0px 3px 10px 1px rgba(93, 120, 255, 0.4);
}
.participate_user{
>div{
text-align: center;
margin-right: 50px;
>span{
.userinfo_img{
width: 70px;
height: 70px;
border-radius: 50%;
border: 1px solid #F2F2F2;
cursor: pointer;
}
}
>p:nth-child(2){
color: #1A1A1E;
line-height: 22px;
}
>p:nth-child(3){
line-height: 22px;
font-size: 12px;
color: #AAAAAA;
}
}
}
.guestpage{
margin-top: 10px;
flex-wrap: wrap;
>div{
padding: 10px 0;
width: 50%;
>span{
display: inline-block;
width: 50px;
height: 50px;
.userinfo_img{
width: 50px;
height: 50px;
border-radius: 50%;
border: 1px solid #F2F2F2;
cursor: pointer;
}
}
>div:nth-child(2){
width: calc(100% - 50px);
padding-left: 15px;
>div{
>p:nth-child(1){
color:#1A1A1E;
font-size: 14px;
font-weight: bold;
width: calc(100% - 65px);
margin-right: 10px;
line-height: 24px;
height: 24px;
overflow: hidden;
}
.operating{
>span{
display: inline-block;
width: 65px;
border-radius: 12px;
text-align: center;
line-height: 22px;
font-size: 12px;
cursor: pointer;
}
}
.btnFriend{
border: 1px solid #FF5D5D;
color: #FF5D5D;
}
.btnFollowed{
border: 1px solid #FF5D5D;
color: #FF5D5D;
}
}
>p{
font-size: 12px;
line-height: 24px;
}
>p:last-child{
line-height: 18px;
}
}
}
}
.recommend{
flex-wrap: wrap;
.recommend_content{
width: 50%;
margin-top: 30px;
cursor: pointer;
.recommend_top{
.eventCoverimg{
height: 70px;
width: 100px;
border-radius: 3px;
}
>div{
padding-left: 15px;
font-size: 12px;
width: calc(100% - 100px);
>p{
color: #1A1A1E;
font-weight: bold;
height: 22px;
}
>div{
color: #69697A;
>p{
}
}
}
}
.signup{
font-size: 12px;
margin-top: 15px;
>p{
width: 60%;
line-height: 25px;
}
>div{
width: 40%;
text-align: right;
>p{
display: inline-block;
color: #5D78FF;
padding: 3px 12px;
border: 1px solid #5D78FF;
border-radius: 13px;
}
}
}
}
}
.btnOperating{
border-radius: 10px;
background: #ffffff;
padding: 20px;
text-align: center;
}
.shareIt{
border-radius: 10px;
background: #ffffff;
padding: 15px 18px;
>div:first-child{
padding: 10px;
border: 1px solid #F2F2F2;
margin-right: 15px;
}
>div:last-child{
>p{
margin: 30px 0 15px;
font-size: 16px;
font-weight: bold;
color: #1A1A1E;
}
>span{
font-size: 12px;
color: #7A7A7A;
}
}
}
.right_tabs{
width: 100%;
background: #ffffff;
padding: 20px;
border-radius: 10px;
}
.right_tabs_title{
>p{
line-height: 28px;
}
>p:nth-child(1){
width: 100%;
>span{
color: #1A1A1E;
font-size: 16px;
font-weight: bold;
position: relative;
>i{
position: absolute;
top: 0px;
left: -20px;
display: inline-block;
width: 3px;
height: 20px;
background: #5D78FF;
border-radius: 0px 100px 100px 0px;
}
}
}
}
.recommendType{
>div:last-child{
padding: 15px 0 0;
border-bottom: none;
}
>div{
padding: 15px 0;
cursor: pointer;
border-bottom: 1px solid #E8EAF3;
}
.recommendType_content{
>div:first-child{
position: relative;
.typeCoverimg{
width: 76px;
height: 52px;
}
.typeCovermark{
border-radius: 1px;
background: rgba(0, 0, 0, 0.6);
position: absolute;
top: 2px;
left: 2px;
transform: scale(0.8);
font-size: 12px;
padding: 2px 5px;
color: #ffffff;
}
}
>div:last-child{
width: calc(100% - 76px);
margin-left: 12px;
font-size: 12px;
>p:first-child{
color: #1A1A1E;
}
>p:last-child{
color: #AAAAAA;
margin-top: 15px;
>i{
margin-left: 10px;
}
}
}
}
}
.iszh-CN{
>span{
font-size: 14px!important;
}
}
.btn_margin-right{
margin-right: 20px;
}
#htmldetail /deep/ p{
margin: 15px 0;
line-height: 26px;
}
#htmldetail /deep/ img {
max-width: 600px !important;
}
</style>
\ No newline at end of file
<template>
<div :class="ismyevent==1?'myfoutdiv':'foutdiv'" style="text-align: left;">
<div class="breadcrumb" v-if="ismyevent==1">
<el-breadcrumb separator="/">
<el-breadcrumb-item :to="{ path: publicFun.isgetUserRoleFunc(5)?'/salerequire/list':publicFun.isgetUserRoleFunc(2)?'/projectdynamics':'/litemlist' }">{{$t("releasejson.wrkbench")}}</el-breadcrumb-item>
<el-breadcrumb-item :to="{ path: '/myevent' }">{{$t('activityInfo.myJoin')}}</el-breadcrumb-item>
<el-breadcrumb-item>{{$t('Otherjson.activityview')}}</el-breadcrumb-item>
</el-breadcrumb>
</div>
<div :class="[ismyevent==1?'mydivclasschild':'divclasschild']">
<div :class="positions?'isposition':''" :style="ismyevent==1&&positions?'left: 20px;':''">
<el-image
v-if="eventdata.channelPic"
style="width: 300px;height: 180px;"
:src="eventdata.channelPic"
fit="cover">
</el-image>
<p style="margin-top: 15px;">{{eventdata.channelTitle}}</p>
<p style="margin: 15px 0;">{{$t('activityInfo.timeZone')}}{{eventdata.versionType==0?$t('pubactivities.beijingtime'):eventdata.timeZoneName}}</p>
<p>{{$t('activityInfo.activityTime')}}{{eventdata.channelStartTime}} - {{eventdata.channelEndTime}}</p>
<p v-if="eventdata.channelType!=5" style="margin: 15px 0;">{{$t('activityInfo.applyEnd')}}{{eventdata.activityEndTime}}</p>
<p style="margin: 15px 0;">
<span style="margin-right: 5px;">{{$t('activityInfo.activityCreated')}}{{eventdata.channelOriginateName}} <i></i></span>
<span v-if="eventdata.isOfficial"><img style="height: 15px;" :src="$i18n.locale=='zh-CN'?require('../../assets/img/apply/official@2x.png'):require('../../assets/img/apply/officialEn.png')" alt=""></span>
<span v-else><img style="width: 24px;" src="../../assets/img/vipIcon@2x.png" alt=""></span>
</p>
<div class="gendisplay citystr" v-if="eventdata.channelType == 3">
<p><i class="iconfont icon-dingwei"></i> {{eventdata.channelAddress}}</p>
</div>
<div style="text-align: center;">
<span v-if="eventdata.channelType!=5&&userInfo&&userInfo.empId!=eventdata.createdBy||eventdata.channelType!=5&&!userInfo">
<el-button type="primary" round style="width:130px;" v-if="eventdata.activityState==2&&!eventdata.isApply" @click="handleApply(eventdata)">{{$t('activityInfo.freeApply')}}</el-button>
<el-button type="primary" round style="width:130px;" disabled v-if="eventdata.channelType!=4&&eventdata.activityState==2&&eventdata.isApply">{{$t("activityInfo.hasApply")}}</el-button>
<el-button type="primary" round style="width:130px;" v-if="eventdata.channelType==4&&eventdata.activityState==2&&eventdata.isApply" @click="handleToSuccess">{{$t("commonTitle.vipLookTitle")}}</el-button>
<el-button type="primary" round style="width:130px;"disabled v-if="eventdata.activityState>2">{{eventdata.activityState==4?$t("activityInfo.hasFilled"):eventdata.activityState==3?$t("activityInfo.applyEnd"):eventdata.activityState==5?$t("activityInfo.activityEnd"):""}}</el-button>
<el-button type="primary" round style="width:130px;" v-if="eventdata.activityState==1">{{$t("activityInfo.activityNoBegin")}}</el-button>
</span>
<span style="margin-left: 15px;" v-if="eventdata.hasLive == 1" @click="openeventlive(eventdata)">
<el-button v-if="eventdata.baseLive.liveState==0" type="info" round style="width: 130px;font-size: 14px;">
<i class="iconfont icon-zhibo" style="font-size: 14px;"></i>
{{$t('activityInfo.liveNotStart')}}
</el-button>
<el-button v-if="eventdata.baseLive.liveState==1" type="warning" round style="width: 130px;font-size: 14px;">
<i class="iconfont icon-zhibo" style="font-size: 14px;"></i>
{{$t('activityInfo.watchLive')}}
</el-button>
<el-button v-if="eventdata.baseLive.liveState==2&&eventdata.baseLive.liveBack == 0" type="primary" round style="width: 130px;font-size: 14px;">
<i class="iconfont icon-zhibo" style="font-size: 14px;"></i>
{{$t('activityInfo.liveBack')}}
</el-button>
<el-button v-if="eventdata.baseLive.liveState==2&&eventdata.baseLive.liveBack == 1" type="info" round style="width: 130px;font-size: 14px;">
{{$t('activityInfo.liveHasEnd')}}
</el-button>
</span>
</div>
<div v-if="eventdata.activityState!=5" @click="handleReturn" style="color:#3F3F53;text-align: center;line-height: 60px;cursor: pointer;">
<i class="iconfont icon-fenxiang" style="margin-right: 10px;"></i>{{$t('activityInfo.shareButton')}}
</div>
</div>
<div id="divtop">
<div style="color: #1A1A1E;font-size: 18px;text-align: center;font-weight: bold;">
{{$t('activityInfo.activityIntro')}}
<p style="border-bottom: 2px solid #5D78FF;width: 40px;text-align: center;margin: 0 auto;height: 6px;"> &nbsp;</p>
</div>
<div id="htmldetail" v-html="eventdata.channelIntroduction"></div>
<div class="content_right" v-if="eventdata.guestList">
<p><span>&nbsp;</span>{{$t('activityInfo.activityCustomer')}}</p>
<div class="gendisplay" style="display: flex;flex-wrap: wrap;width: 80%;">
<div v-for="(item,index) in eventdata.guestList" style="width: 150px;text-align: center;position: relative">
<p><img :src="item.guestPic" style="width: 90px;height: 90px;border-radius: 50%"></p>
<p style="margin: 10px 0">{{item.guestName}}</p>
<p>{{item.guestTitle}}</p>
</div>
</div>
</div>
<div v-if="eventdata.channelType==5" style="text-align: center;padding: 0 0 20px 0;margin-top:40px;border: 1px solid #e8e8e8;color: #ff5d5d;">
<p style="margin: 20px 0">{{$t('pubactivities.participate')}}</p>
<div style="width: 120px;margin: 0 auto;">
<VueQRCodeComponent :text="urltext+$route.query.id" :size="120" :margin="0"></VueQRCodeComponent>
</div>
</div>
</div>
</div>
<div v-if="vueQrVisible">
<qrCmpt :url="eventdata.channelType==5?urltext+$route.query.id:url" @sendVisible="isVueQrVisible"></qrCmpt>
</div>
<!-- 快速登录-->
<expertVisible ref="login" :topindex="3" @dataEvent="successlogin" :registerType="64"></expertVisible>
<signupbar :tabName="activeName" :detailInfo="eventdata" :secondStepInfo="secondStepInfo" @getresourcesdata="getresourcesdata" @cancelVisible="cancelVisible" :applyVisible="applyVisible" v-if="applyVisible"></signupbar>
</div>
</template>
<script>
import api from "./api/api";
import signupbar from "./signupbar";
import qrCmpt from "../../components/common/qrcodeCmpt";
import expertVisible from "../../components/login/quicklogin";
import VueQRCodeComponent from "vue-qrcode-component";
import uertApi from "../mobile/activityApply/api";
export default {
name : "oldEventdetail",
data() {
return {
applyVisible:false,
eventdata:{},
disabledFlag:0,
secondStepInfo:{},
userInfo:this.publicFun.getUserInfoCookieType() ? JSON.parse(this.Base64.decode(this.publicFun.getUserInfoCookieType())) : null,
activeName:"first",
ismyevent:this.$route.query.ismyevent,
vueQrVisible:false,
url:'',
positions:false,
urltext:'',
newuserinfo:{},
}
},
components:{
signupbar,qrCmpt,expertVisible,VueQRCodeComponent
},
beforeRouteEnter(to, from, next) {
next(vm=>{ // 这里的vm指的就是vue实例,可以用来当做this使用
if(from.path == '/myevent'||from.path == '/myeventsuccess'){
vm.ismyevent = 1;
}
})
},
computed: {
},
methods:{
successlogin(){
this.userInfo = this.publicFun.getUserInfoCookieType() ? JSON.parse(this.Base64.decode(this.publicFun.getUserInfoCookieType())) : null;
this.getActivityDetails();
},
getresourcesdata(){
// this.getActivityDetails();
},
//打开直播
openeventlive(row){
var liveUrl = this.Base64.encode(row.baseLive.liveUrl);
this.publicFun.setUserInfoCookie("liveUrl",row.baseLive.liveUrl);
if(row.baseLive.liveState != 0){
if(this.userInfo&&this.userInfo.empId==row.createdBy){
if(row.baseLive.liveState == 1||row.baseLive.liveBack == 0){
window.open(this.publicFun.getCurrentHrefEnv()+"/eventlive?url="+liveUrl+'&id='+row.channelId);
}
}else{
if(row.baseLive.liveState == 2&&row.baseLive.liveBack == 0){
if(!this.publicFun.getUserInfoCookieType()){
this.$refs.login.isexpertVisible();
return
}
window.open(this.publicFun.getCurrentHrefEnv()+"/eventlive?url="+liveUrl+'&id='+row.channelId);
}else{
if(row.baseLive.livePowers == 0&&row.activityState == 2&&!row.isApply){
if(!this.publicFun.getUserInfoCookieType()){
this.$refs.login.isexpertVisible();
return
}
this.$message.error(this.$t('activityInfo.applyFirst'));
}else if(row.baseLive.livePowers == 0&&row.activityState == 5&&!row.isApply||row.baseLive.livePowers == 0&&row.activityState == 3&&!row.isApply){
if(row.baseLive.liveState != 2){
this.$message.error(this.$t('activityInfo.applyEndTitle'));
}
}else{
if(row.baseLive.liveState == 1||row.baseLive.liveState == 2&&row.baseLive.liveBack == 0){
if(!this.publicFun.getUserInfoCookieType()){
this.$refs.login.isexpertVisible();
return
}
window.open(this.publicFun.getCurrentHrefEnv()+"/eventlive?url="+liveUrl+'&id='+row.channelId);
}
}
}
}
}
},
//二维码
isVueQrVisible(data){
this.vueQrVisible = data;
},
handleReturn(){
this.vueQrVisible = true;
api.selectBasicParams().then(response => {
if(response.code == 0) {
this.url = response.result.websitePrefix +"/activitydetail?id="+this.$route.query.id+'&isApply=1&type='+this.$route.query.type;
} else {
this.$toast(response.msgCode);
}
}).catch(error => {
console.log("提交出错");
return false;
});
},
getActivityDetails(){
api.getActivityDetails(this.$route.query.id).then(response => {
if(response.code == 0) {
this.eventdata = response.result;
window.addEventListener('scroll', this.menu);
this.eventdata.channelStartTime = this.eventdata.channelStartTime.split(" ")[0].split("-")[1]+"."+this.eventdata.channelStartTime.split(" ")[0].split("-")[2]+" "+this.eventdata.channelStartTime.split(" ")[1].replace(/-/g,".");
this.eventdata.channelEndTime = this.eventdata.channelEndTime.split(" ")[0].split("-")[1]+"."+this.eventdata.channelEndTime.split(" ")[0].split("-")[2]+" "+this.eventdata.channelEndTime.split(" ")[1].replace(/-/g,".");
} else {
this.$message.error(response.msgCode);
}
})
.catch(error => {
console.log("提交出错");
return false;
});
},
menu(){
let scroll = document.documentElement.scrollTop || document.body.scrollTop;
let divhtmldetail = document.getElementById('divtop')?document.getElementById('divtop').offsetHeight:0;
if( divhtmldetail - scroll < 450){
this.positions = true;
}else{
this.positions = false;
}
},
//去报名成功
handleToSuccess(){
this.$router.push({path:this.ismyevent==1?'/myeventsuccess':"/eventsuccess",query:{id:this.$route.query.id,type:this.eventdata.channelType,ismyevent:this.ismyevent}})
},
handleApply(data){
// this.eventdata = data;
let that = this;
let params= this.$route.query.id?this.$route.query.id:data.channelId,arrVal = [];
api.getActivityDetails(params).then((res)=>{
if(res.code==0){
this.eventdata = res.result;
this.eventdata.channelStartTime = this.eventdata.channelStartTime.split(" ")[0].split("-")[1]+"."+this.eventdata.channelStartTime.split(" ")[0].split("-")[2]+" "+this.eventdata.channelStartTime.split(" ")[1].replace(/-/g,".");
this.eventdata.channelEndTime = this.eventdata.channelEndTime.split(" ")[0].split("-")[1]+"."+this.eventdata.channelEndTime.split(" ")[0].split("-")[2]+" "+this.eventdata.channelEndTime.split(" ")[1].replace(/-/g,".");
if(this.userInfo){
uertApi.getUserInfoAxios(this.userInfo.empId).then((res)=>{
if(res.code==0){
this.newuserinfo = {};
this.newuserinfo = res.result;
}else{
this.$message.error(res.msg)
}
}).catch((err)=>{
this.$message.error(err)
})
api.getBasicInfoAxios(params).then((res) => {
if (res.code == 0) {
if(res.result.length>0){
res.result.forEach((item) => {
if (item.isBase == 0) {
console.log(this.userInfo)
item.fieldList.forEach((data,index) => {
if(data.fieldValue.charAt(0)=='a'){
arrVal.push(item.fieldValue);
}
if(data.fieldValue == 'contactsCompany'&&data.isCheck==1&&this.newuserinfo.contactsCompany==null){
arrVal.push(item.fieldValue);
}
if(data.fieldValue == 'contactsPosition'&&data.isCheck==1&&this.newuserinfo.contactsPosition==null){
arrVal.push(item.fieldValue);
}
// if(data.isCheck==1){
// arrVal.push(item.fieldValue);
// }
if(!this.userInfo.empName&&data.fieldValue == 'contactsName'){
arrVal.push(item.fieldValue);
}
})
}
})
if(this.userInfo&&arrVal.length>0){
this.applyVisible = true;
}else{
this.applyFunc(data);
}
}
}else {
that.$message.error(res.msg)
}
}).catch((err) => {
that.$message.error(err)
})
}else{
this.applyVisible = true;
}
}else{
this.$message.error(res.msg);
}
}).catch((err)=>{
this.$message.error(err);
})
},
//报名
applyFunc(data) {
var resultObj = {
activityId: this.$route.query.id ? this.$route.query.id : this.eventdata.channelId,
createdBy: this.userInfo ? this.userInfo.empId : null,
channelType: this.eventdata.channelType
};
api.applyForFirstStep(resultObj).then((res) => {
if(res.result&&res.result.user){
this.publicFun.setUserInfoCookieType(that.Base64.encode(JSON.stringify(res.result.user)));
globalMsg.$emit("getUserInfo");
}
if(res.code==0){
var query = {isList:this.$route.name=='activitylist'?true:false,aid:this.$route.query.id?this.$route.query.id:this.eventdata.channelId,id:res.result.enterId,type:this.eventdata.channelType,ismyevent:0}
if(this.eventdata.channelType==2) {
this.applyVisible = true;
this.activeName="second";
this.secondStepInfo = query;
}
else {
if(data.baseLive&&data.baseLive.liveState == 1){
var liveUrl = this.Base64.encode(data.baseLive.liveUrl);
window.open(this.publicFun.getCurrentHrefEnv()+"/eventlive?url="+liveUrl+'&id='+data.channelId);
this.getActivityDetails();
}else{
this.$router.replace({path:"/eventsuccess",query:{id:this.$route.query.id?this.$route.query.id:this.eventdata.channelId,type:this.eventdata.channelType,ismyevent:0}})
}
}
}else{
this.$message.error(res.msg)
setTimeout(function () {
that.disabledFlag = 0;
return false;
}, 500)
}
}).catch((err)=>{
this.$message.error(err)
})
},
cancelVisible(){
this.applyVisible = false;
this.getActivityDetails();
},
},
beforeDestroy() { // 在组件生命周期结束的时候销毁。
window.removeEventListener('scroll', this.menu);
globalMsg.$off('loginsuccess');
},
mounted() {
if (this.publicFun.judgeBrandIsWechatOrHtml() != 1) {
if(this.$route.query.type == 5){
this.$router.replace({path:'/redEnvelopeActDetail',query:{id:this.$route.query.id}});
}else{
this.$router.replace({path:'/activitydetail',query:{id:this.$route.query.id,type:this.$route.query.type,isApply:this.$route.query.ismyevent==0?1:3}});
}
}
globalMsg.$on("loginsuccess",(data)=>{
this.userInfo = this.publicFun.getUserInfoCookieType() ? JSON.parse(this.Base64.decode(this.publicFun.getUserInfoCookieType())) : null;
this.getActivityDetails();
});
globalMsg.$emit('topisInit', false);
globalMsg.$emit('sendIndex', 3);
globalMsg.$emit('maidianfunc',({type:'report-channel-read',channelId:this.$route.query.id}));
this.getActivityDetails();
document.getElementsByTagName("body")[0].style.overflow = "auto";
api.selectBasicParams().then(response => {
if(response.code == 0) {
this.urltext = response.result.websitePrefix+'/redEnvelopeActDetail?id=';
} else {
this.$message.error(response.msgCode);
}
})
.catch(error => {
console.log("提交出错");
return false;
});
}
}
</script>
<style scoped lang="scss">
.myfoutdiv{
padding: 20px 30px 0;
min-height: 300px;
text-align: left;
}
.mydivclasschild{
min-height: 600px;
position: relative;
background: #ffffff;
margin-top: 20px;
padding: 20px 20px 50px 20px;
>div:nth-child(1){
width: 320px;
position: fixed;
border: 1px solid #F2F2F2;
padding: 10px;
>p:nth-child(2){
color: #1A1A1E;
font-size: 18px;
font-weight: bold;
}
}
>div:nth-child(2){
padding: 25px 20px 0;
width: calc(100% - 380px);
min-height: 600px;
margin-left: 350px;
margin-bottom: 100px;
}
}
.isposition{
position: absolute!important;
left: 0;
right: 0;
bottom: 30px;
}
.divclasschild{
width: 1200px;
margin: 0 auto;
padding: 25px 0;
height: 100%;
position: relative;
>div:nth-child(1){
width: 320px;
position: fixed;
border: 1px solid #F2F2F2;
padding: 10px;
>p:nth-child(2){
color: #1A1A1E;
font-size: 18px;
font-weight: bold;
}
}
>div:nth-child(2){
width: calc(100% - 380px);
min-height: 600px;
margin-left: 380px;
margin-bottom: 100px;
}
}
.citystr{
font-size: 12px;
margin-bottom: 15px;
}
#htmldetail /deep/ p{
margin: 15px 0;
}
#htmldetail /deep/ img {
max-width: 600px !important;
}
.content_right{
width: 100%;
text-align: left;
>p{
line-height: 38px;
color: #3F3F53;
font-size: 16px;
font-weight: bold;
position: relative;
>span{
border-left: 2px solid #5D78FF;
margin-right: 10px;
}
}
}
#htmldetail /deep/ p{
margin: 15px 0;
color: #1A1A1E;
line-height: 26px;
}
#htmldetail /deep/ img {
max-width: 600px !important;
}
</style>
\ No newline at end of file
......@@ -62,7 +62,7 @@
followed:'已关注',
}
},
props:['row','index','type','btnType','searchType','isempConcern','channelId'],
props:['row','index','type','btnType','searchType','isempConcern','channelId','eventId'],
methods:{
mouseOver(){
this.followed = '取消关注';
......@@ -157,8 +157,9 @@
let params = {
otherEmpId:this.row.empId,
queryType:0,
dataId:this.channelId,
dataType:this.channelId?1:null,
dataId:this.channelId?this.channelId:this.eventId,
guestId:row.id?row.id:null,
dataType:this.channelId?1:this.eventId?1:null,
};
api.addEmpContact(params).then((res)=>{
if(res.code==0){
......
......@@ -200,7 +200,6 @@
<el-table
tooltip-effect="dark"
class="projectTable"
height="400"
:data="guestlist"
style="width: 100%">
<el-table-column type="index" :label="$t('pubactivities.serialnumber')" align="center" width="80">
......@@ -255,7 +254,6 @@
<el-table
tooltip-effect="dark"
class="projectTable"
height="400"
:data="formData.resourceList"
style="width: 100%">
<el-table-column type="index" :label="$t('pubactivities.serialnumber')" align="center" width="80">
......@@ -267,7 +265,7 @@
</el-table-column>
<el-table-column prop="title" label="标题">
<template slot-scope="scope">
<p @click="newOpen(scope.row)">{{scope.row.title}}</p>
<p @click="newOpen(scope.row)">{{scope.row.resourceTitle}}</p>
</template>
</el-table-column>
<el-table-column :label="$t('listjson.action')" width="140" align='center'>
......@@ -547,19 +545,19 @@
<el-input style="width:370px;" maxlength="36" @blur="isempAccountblur" v-model="guestform.guestContact" :placeholder="$t('pubactivities.plguestname')"></el-input>
</el-form-item>
<el-form-item :label="$t('pubactivities.guestname')+':'" prop="guestName">
<el-input :disabled="guestform.empId?true:false" style="width:370px;" maxlength="36" v-model="guestform.guestName" :placeholder="$t('pubactivities.plguestname')"></el-input>
<el-input :disabled="guestform.guestName&&guestform.empId?true:false" style="width:370px;" maxlength="36" v-model="guestform.guestName" :placeholder="$t('pubactivities.plguestname')"></el-input>
</el-form-item>
<el-form-item :label="$t('pubactivities.guestTitle')+':'" prop="guestTitle">
<el-input :disabled="guestform.empId?true:false" style="width:370px;" maxlength="36" v-model="guestform.guestTitle" :placeholder="$t('pubactivities.plguestTitle')"></el-input>
<el-input :disabled="guestform.editTitle == true?false:guestform.editTitle == false?true:false" style="width:370px;" maxlength="36" v-model="guestform.guestTitle" :placeholder="$t('pubactivities.plguestTitle')"></el-input>
</el-form-item>
<el-form-item label="嘉宾介绍:" prop="guestDesc">
<el-input :disabled="guestform.empId?true:false" style="width:370px;"type="textarea" maxlength="200" :rows="2" v-model="guestform.guestDesc" :placeholder="$t('pubactivities.plguestname')"></el-input>
<el-input :disabled="guestform.guestDesc&&guestform.empId?true:false" style="width:370px;"type="textarea" maxlength="200" :rows="2" v-model="guestform.guestDesc" :placeholder="$t('pubactivities.plguestname')"></el-input>
</el-form-item>
<el-form-item :label="$t('pubactivities.guestPhotos')+':'" ref="guestimg" prop="guestPic">
<p class="imgTitle">{{$t('pubactivities.guesttext')}}</p>
<div class="uploadImg">
<el-input v-if="false" v-model="guestform.guestPic"></el-input>
<img v-if="guestform.empId?true:false" :src="guestform.guestPic" style="width: 120px;height: 120px;" alt="">
<img v-if="guestform.guestPic&&guestform.empId?true:false" :src="guestform.guestPic" style="width: 120px;height: 120px;" alt="">
<up-img v-else :actionUrl="'/base/upload/uploadLogo'" :channelPic="guestform.guestPic" @dataEvent="guestimg" :upmax="0.2"></up-img>
</div>
</el-form-item>
......@@ -1049,6 +1047,8 @@
api.addGuestsInfo(urls,this.guestform).then(response => {
if(response.code == 0) {
this.guestform.guestId = response.result;
this.guestlist.push(this.guestform);
this.guestVisible = false;
} else {
this.$message.error(response.msg);
}
......@@ -1057,8 +1057,6 @@
console.log("提交出错");
return false;
});
this.guestlist.push(this.guestform);
this.guestVisible = false;
}
});
},
......
......@@ -128,7 +128,11 @@
<!--新增-->
<el-dialog title="说明文案配置" :visible.sync="expertVisible" :append-to-body="true" :close-on-click-modal="false" class="dialogWrap">
<el-form label-position="right" label-width="120px" :model="expertData" style="margin:0 100px 0 60px">
<el-form label-position="right" label-width="140px" :model="expertData" style="margin:0 100px 0 60px">
<el-form-item label="是否开启说明文案:">
<el-radio v-model="expertData.showDesc" :label="0"></el-radio>
<el-radio v-model="expertData.showDesc" :label="1"></el-radio>
</el-form-item>
<el-form-item label="说明文案:">
<el-input maxlength="50" v-model="expertData.descContent" placeholder="请输入说明文案"></el-input>
</el-form-item>
......@@ -284,7 +288,9 @@
classifyrow:[],
dictrow:[],
expertVisible:false,
expertData:{},
expertData:{
showDesc:0,
},
}
},
beforeRouteEnter(to, from, next) {
......@@ -445,7 +451,8 @@
let params = this.announceData;
api.addTopicNotice(params).then(response => {
if(response.code == 0) {
this.announceVisible = false;
this.$message.success('保存成功');
} else {
this.$message.error(response.msg);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment