mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-portal.git
synced 2025-12-12 04:16:45 +08:00
提交弹出窗口配置
This commit is contained in:
@@ -1,17 +1,15 @@
|
||||
<template>
|
||||
<!--弹出窗口设置-->
|
||||
<div>
|
||||
<div>
|
||||
<el-dialog :close-on-press-escape="false" :close-on-click-modal="false" class="medalbox" :visible.sync="showGonggao" :append-to-body="true" >
|
||||
<div class="dlg-box" :style="`width:${config.width};height:${config.height}; background: url(${webBaseUrl}/images/gonggao/${config.bgImage}.png) no-repeat;`">
|
||||
<span class="dlg-close" @click="showGonggao = false"><i style="font-size: 28px;color: #999;" class="el-icon-close"></i></span>
|
||||
<div style="text-align:left;">
|
||||
<div class="dlg-title" v-html="config.title"></div>
|
||||
<div class="dlg-content" v-html="config.content"></div>
|
||||
</div>
|
||||
<div v-if="config.btnText"><a :href="config.pcUrl" @click="showGonggao = false" target="_blank" :style="{'background-color':config.btnColor}" class="dlg-button">{{config.btnText}}</a> </div>
|
||||
<div v-if="config.author" style="text-align: right;padding-top: 20px;"><span>{{config.author}}</span> </div>
|
||||
<div v-for="pop in popupList" :key="pop.id">wwww
|
||||
<el-dialog :close-on-press-escape="false" :close-on-click-modal="false" class="medalbox" :visible.sync="pop.show" :append-to-body="true" >
|
||||
<div style="text-align: center;">
|
||||
<el-image :src="baseUrl+pop.bgImage"></el-image>
|
||||
<div>
|
||||
<span v-if="pop.closeable" class="dlg-close" @click="pop.show = false"><i style="font-size: 28px;color: #999;" class="el-icon-close"></i></span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</div>
|
||||
@@ -20,30 +18,15 @@
|
||||
import apiPopup from '@/api/modules/popup.js';
|
||||
export default{
|
||||
props:{
|
||||
config: {
|
||||
type:Object,
|
||||
default(){
|
||||
return{
|
||||
id:'',//数据id
|
||||
closeable:false,//不可以关闭
|
||||
width:'500px',//宽度
|
||||
height:'500px',
|
||||
title:'公告',//标题
|
||||
content:'',//文字内容
|
||||
bgImage:'dlg_bg',//背景图
|
||||
pcUrl:'',//点击后打开的地址,最好是使用相对地址
|
||||
h5Url:'',
|
||||
btnText:'立即参与',//
|
||||
btnColor:'#008BFF',
|
||||
author:'',
|
||||
type:0,//0表不控制,
|
||||
}
|
||||
}
|
||||
},
|
||||
page: {
|
||||
type:String,
|
||||
default:''
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
showGonggao:false,
|
||||
showGonggao:true,
|
||||
baseUrl:process.env.VUE_APP_FILE_BASE_URL,
|
||||
popupList:[],//需要弹出的窗口
|
||||
sessionKey:'alertpopup',
|
||||
};
|
||||
@@ -51,22 +34,26 @@
|
||||
mounted() {
|
||||
//获取用户需要弱出的窗口信息,放在状态中
|
||||
let has = sessionStorage.getItem(this.sessionKey);
|
||||
//has=false;
|
||||
if(!has){
|
||||
apiPopup.userList().then(rs=>{
|
||||
apiPopup.findByNoDevice(2).then(rs=>{
|
||||
if(rs.status==200){
|
||||
rs.result.forEach(item=>{
|
||||
item.show=true;
|
||||
})
|
||||
this.popupList=rs.result;
|
||||
if(rs.result.length>0){
|
||||
sessionStorage.setItem(this.sessionKey,JSON.stringify(rs.result));
|
||||
sessionStorage.setItem(this.sessionKey,"1");
|
||||
this.countPopup();
|
||||
}else{
|
||||
sessionStorage.setItem(this.sessionKey,'[]');
|
||||
sessionStorage.removeItem(this.sessionKey);
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
}else{
|
||||
this.popupList=JSON.parse(has);
|
||||
this.countPopup();
|
||||
//this.popupList=JSON.parse(has);
|
||||
//this.countPopup();
|
||||
}
|
||||
|
||||
|
||||
@@ -97,13 +84,12 @@
|
||||
},
|
||||
methods:{
|
||||
countPopup(){
|
||||
let newLogin = localStorage.getItem(this.$xpage.constants.newLoginKey);
|
||||
this.popupList.forEach(item=>{
|
||||
if(item.loginEd && newLogin && newLogin==1){
|
||||
|
||||
}
|
||||
})
|
||||
// let newLogin = localStorage.getItem(this.$xpage.constants.newLoginKey);
|
||||
// this.popupList.forEach(item=>{
|
||||
// if(item.loginEd && newLogin && newLogin==1){
|
||||
|
||||
// }
|
||||
// })
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -139,8 +125,11 @@
|
||||
|
||||
}
|
||||
.dlg-close{
|
||||
float: right;
|
||||
margin-top: -90px;
|
||||
//float: right;
|
||||
//margin-top: -90px;
|
||||
border: 1px solid #cccccc;
|
||||
border-radius: 50%;
|
||||
padding: 20px 10px 10px 10px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.medalbox {
|
||||
|
||||
Reference in New Issue
Block a user