Commit d2f73d6f authored by anxixi's avatar anxixi

直播

parent 97e7e429
......@@ -2020,6 +2020,23 @@ module.exports = {
activearea:'Active area',
},
//直播
livedata:{
setlive:"Live broadcast settings",
islive:"Live broadcast or not",
viewrights:"Viewing rights",
required:'Registration required',
norequired:'No registration is required',
on:'on',
off:'off',
plcustomer:'Please contact customer service for live address',
plvhall:'Please enter the vhall key or live address link',
pushinformation:'Push information',
start:'Start',
finish:'Finish',
register:'Please register first',
},
//行业报告
industryjson:{
share1:'Share to WeChat Moments',
......
......@@ -2120,6 +2120,23 @@ module.exports = {
activearea:'活动区域',
},
//直播
livedata:{
setlive:"直播设置",
islive:"是否开放直播",
viewrights:"观看权限",
required:'需报名',
norequired:'不需要报名',
on:'支持',
off:'不支持',
plcustomer:'直播地址请联系客服获取',
plvhall:'请输入微吼key或直播地址链接',
pushinformation:'开播提醒',
start:'开播',
finish:'关闭直播',
register:'请先报名',
},
//行业报告
industryjson:{
share1:'分享到微信朋友圈',
......
......@@ -27,12 +27,31 @@
<div class="gendisplay citystr" v-if="eventdata.channelType == 3">
<p><i class="iconfont icon-dingwei"></i> {{eventdata.channelAddress}}</p>
</div>
<div v-if="userInfo&&userInfo.empId!=eventdata.createdBy||!userInfo" style="text-align: center;">
<el-button type="primary" round style="width:240px;" v-if="eventdata.activityState==2&&!eventdata.isApply" @click="handleApply(eventdata)">{{$t('activityInfo.freeApply')}}</el-button>
<el-button type="primary" round style="width:240px;" disabled v-if="eventdata.channelType!=4&&eventdata.activityState==2&&eventdata.isApply">{{$t("activityInfo.hasApply")}}</el-button>
<el-button type="primary" round style="width:240px;" v-if="eventdata.channelType==4&&eventdata.activityState==2&&eventdata.isApply" @click="handleToSuccess">{{$t("commonTitle.vipLookTitle")}}</el-button>
<el-button type="primary" round style="width:240px;"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:240px;" v-if="eventdata.activityState==1">{{$t("activityInfo.activityNoBegin")}}</el-button>
<div style="text-align: center;">
<span v-if="userInfo&&userInfo.empId!=eventdata.createdBy||!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:160px;"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:160px;" 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="primary" 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.living')}}
</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')}}
......@@ -62,6 +81,10 @@
<qrCmpt :url="url" @sendVisible="isVueQrVisible"></qrCmpt>
</div>
<!-- 快速登录-->
<expertVisible ref="login" :registerType="64"></expertVisible>
<signupbar :tabName="activeName" :detailInfo="eventdata" :secondStepInfo="secondStepInfo" @cancelVisible="cancelVisible" :applyVisible="applyVisible" v-if="applyVisible"></signupbar>
</div>
</template>
......@@ -70,6 +93,7 @@
import api from "./api/api";
import signupbar from "./signupbar";
import qrCmpt from "../../components/common/qrcodeCmpt";
import expertVisible from "../../components/login/quicklogin";
export default {
name : "eventdetail",
data() {
......@@ -88,7 +112,7 @@
}
},
components:{
signupbar,qrCmpt
signupbar,qrCmpt,expertVisible
},
beforeRouteEnter(to, from, next) {
next(vm=>{ // 这里的vm指的就是vue实例,可以用来当做this使用
......@@ -101,6 +125,31 @@
},
methods:{
//打开直播
openeventlive(row){
if(row.baseLive.liveState != 0){
if(!this.publicFun.getCookie("userInfo")){
this.$refs.login.isexpertVisible();
return
}
let liveUrl = row.baseLive.liveUrl.substring(row.baseLive.liveUrl.lastIndexOf('/') + 1);
if(this.userInfo&&this.userInfo.empId==row.createdBy){
if(row.baseLive.liveState == 1||row.baseLive.liveBack == 0){
window.open(this.publicFun.getCurrentHrefEnv()+"#/eventlive?id="+liveUrl);
}
}else{
if(row.baseLive.livePowers == 0&&row.activityState == 2&&!row.isApply){
this.$message.error(this.$t('activityInfo.applyFirst'));
}else if(row.baseLive.livePowers == 0&&row.activityState == 5&&!row.isApply){
this.$message.error(this.$t('activityInfo.applyEndTitle'));
}else{
if(row.baseLive.liveState == 1||row.baseLive.liveState == 2&&row.baseLive.liveBack == 0){
window.open(this.publicFun.getCurrentHrefEnv()+"#/eventlive?id="+liveUrl);
}
}
}
}
},
//二维码
isVueQrVisible(data){
this.vueQrVisible = data;
......
......@@ -8,7 +8,7 @@
window.onload = function(){
var _iftameBody = document.getElementById('child').contentWindow.document.getElementsByTagName("body")[0];
var _iframe = document.getElementById('child').contentWindow.document.getElementsByTagName("iframe")[0]; //get iframe下的id
_iframe.src = "live.html?id=528253505";
_iframe.src = "live.html?id="+this.$route.query.disId;
_iframe.style.width= "100%"; //修改样式
_iframe.style.height= "calc(100vh - 30px)"; //修改样式
_iftameBody.style.margin = 0;
......
......@@ -13,7 +13,7 @@
<p class="ellipsisFont2" style="height: 40px;">
<span v-if="item.hasLive == 1" @click="openeventlive(item)" style="display: inline-block;background: #5d78ff;padding: 0 10px 0 30px;color: #FFFFFF;font-size: 12px;position: relative;border-radius: 3px;">
<i class="iconfont icon-zhibo" style="font-size: 16px;position: absolute;left: 8px;top: 0px;"></i>
{{item.baseLive.liveState == 0?'直播':item.baseLive.liveState == 1?'直播中':'直播'}}
{{item.baseLive.liveState == 0?$t('activityInfo.liveTitle'):item.baseLive.liveState == 1?$t('activityInfo.living'):$t('activityInfo.liveTitle')}}
</span>
<span @click="$router.push({path:'/eventdetail',query:{id:item.channelId,ismyevent:0}})">
{{item.channelTitle}}
......@@ -109,26 +109,28 @@
},
//打开直播
openeventlive(row){
if(!this.publicFun.getCookie("userInfo")){
this.$refs.login.isexpertVisible();
return
}
if(this.userInfo&&this.userInfo.empId==row.createdBy){
if(row.baseLive.livePowers == 0&&row.activityState == 2&&row.isJoin==2){
this.$message.error('请先报名');
}else if(row.baseLive.livePowers == 0&&row.activityState == 5&&row.isJoin==2){
this.$message.error('对不起您未报名该活动');
}else{
if(row.baseLive.liveState != 0){
if(!this.publicFun.getCookie("userInfo")){
this.$refs.login.isexpertVisible();
return
}
let liveUrl = row.baseLive.liveUrl.substring(row.baseLive.liveUrl.lastIndexOf('/') + 1);
if(this.userInfo&&this.userInfo.empId==row.createdBy){
if(row.baseLive.liveState == 1||row.baseLive.liveBack == 0){
window.open(this.publicFun.getCurrentHrefEnv()+"#/eventlive");
window.open(this.publicFun.getCurrentHrefEnv()+"#/eventlive?id="+liveUrl);
}
}else{
if(row.baseLive.livePowers == 0&&row.activityState == 2&&row.isJoin==2){
this.$message.error(this.$t('activityInfo.applyFirst'));
}else if(row.baseLive.livePowers == 0&&row.activityState == 5&&row.isJoin==2){
this.$message.error(this.$t('activityInfo.applyEndTitle'));
}else{
if(row.baseLive.liveState == 1){
window.open(this.publicFun.getCurrentHrefEnv()+"#/eventlive?id="+liveUrl);
}
}
}
}else{
if(row.baseLive.liveState == 1||row.baseLive.liveBack == 0){
window.open(this.publicFun.getCurrentHrefEnv()+"#/eventlive");
}
}
},
resourcesdata(){
let keyName = '&keyName='+this.searchs.keyName;
......
......@@ -183,6 +183,12 @@
<span v-if="item.activityState == 3">{{$t('activityInfo.applyEnd')}}</span>
<span style="color: #FF5D5D" v-if="item.activityState == 4&&item.isJoin==2">{{$t('activityInfo.hasFilled')}}</span>
<span style="color: #9197B4" v-if="item.activityState == 5&&item.isJoin==2">{{$t('activityInfo.activityEnd')}}</span>
<span style="margin-left: 15px;" v-if="item.hasLive == 1" @click="openeventlive(item)">
<el-button type="primary" round size="mini" style="width: 110px;font-size: 14px;">
<i class="iconfont icon-zhibo" style="font-size: 14px;"></i>
{{item.baseLive.liveState == 0?$t('activityInfo.liveTitle'):item.baseLive.liveState == 1?$t('activityInfo.living'):$t('activityInfo.liveTitle')}}
</el-button>
</span>
</p>
</div>
</div>
......@@ -593,6 +599,30 @@
};
},
methods: {
//打开直播
openeventlive(row){
if(row.baseLive.liveState != 0){
if(!this.publicFun.getCookie("userInfo")){
this.$refs.login.isexpertVisible();
return
}
if(this.userInfo&&this.userInfo.empId==row.createdBy){
if(row.baseLive.liveState == 1||row.baseLive.liveBack == 0){
window.open(this.publicFun.getCurrentHrefEnv()+"#/eventlive?id="+liveUrl);
}
}else{
if(row.baseLive.livePowers == 0&&row.activityState == 2&&row.isJoin==2){
this.$message.error(this.$t('activityInfo.applyFirst'));
}else if(row.baseLive.livePowers == 0&&row.activityState == 5&&row.isJoin==2){
this.$message.error(this.$t('activityInfo.applyEndTitle'));
}else{
if(row.baseLive.liveState == 1||row.baseLive.liveBack == 0){
window.open(this.publicFun.getCurrentHrefEnv()+"#/eventlive?id="+liveUrl);
}
}
}
}
},
//文章详情
gocontentdetail(row) {
globalMsg.$emit('maiDianFunc', ({type: 'report-article-index', articleId: row.contentId}));
......
......@@ -147,25 +147,25 @@
</div>
</div>
<div class="btodiv">
<p>直播设置</p>
<p>{{$t('livedata.setlive')}}</p>
<div style="margin-top: 20px">
<el-form :inline="true" label-width="180px" :model="formData" :rules="rulesInfo" ref="formData" class="contnetform180">
<el-form-item label="是否开放直播:" style="width: 100%;">
<el-form-item :label="$t('livedata.islive')+':'" style="width: 100%;">
<el-radio @change="ishasLive(formData.hasLive)" v-model="formData.hasLive" :label="0"></el-radio>
<el-radio @change="ishasLive(formData.hasLive)" v-model="formData.hasLive" :label="1"></el-radio>
</el-form-item>
<div v-if="formData.hasLive == 1">
<el-form-item label="观看权限:" style="width: 100%;">
<el-radio v-model="formData.baseLive.livePowers" :label="0">需报名</el-radio>
<el-radio v-model="formData.baseLive.livePowers" :label="1">不需要报名</el-radio>
<el-form-item :label="$t('livedata.viewrights')+':'" style="width: 100%;">
<el-radio v-model="formData.baseLive.livePowers" :label="0">{{$t('livedata.required')}}</el-radio>
<el-radio v-model="formData.baseLive.livePowers" :label="1">{{$t('livedata.norequired')}}</el-radio>
</el-form-item>
<el-form-item label="回放:" style="width: 100%;">
<el-radio v-model="formData.baseLive.liveBack" :label="0">支持</el-radio>
<el-radio v-model="formData.baseLive.liveBack" :label="1">不支持</el-radio>
<el-form-item :label="$t('activityInfo.liveBack')+':'" style="width: 100%;">
<el-radio v-model="formData.baseLive.liveBack" :label="0">{{$t('livedata.on')}}</el-radio>
<el-radio v-model="formData.baseLive.liveBack" :label="1">{{$t('livedata.off')}}</el-radio>
</el-form-item>
<el-form-item :label="$t('Otherjson.activitytitle')+':'" prop="baseLive.liveUrl" style="width: 100%;">
<p>直播地址请联系客服获取</p>
<el-input v-model="formData.baseLive.liveUrl" maxlength="100" :placeholder="$t('Otherjson.plactivitytitle')" style="width: 450px;height: 40px"></el-input>
<p>{{$t('livedata.plcustomer')}}</p>
<el-input v-model="formData.baseLive.liveUrl" maxlength="100" :placeholder="$t('livedata.plvhall')" style="width: 450px;height: 40px"></el-input>
</el-form-item>
</div>
</el-form>
......
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