157 lines
4.0 KiB
Vue
157 lines
4.0 KiB
Vue
import xss from "xss"
|
||
<template>
|
||
<j-modal
|
||
:title="title"
|
||
:width="modelStyle.width"
|
||
:visible="visible"
|
||
:bodyStyle ="bodyStyle"
|
||
:switchFullscreen="switchFullscreen"
|
||
@cancel="handleCancel"
|
||
>
|
||
<template slot="footer">
|
||
<a-button key="back" @click="handleCancel">关闭</a-button>
|
||
<a-button v-if="record.openType==='url'" type="primary" @click="toHandle">去处理</a-button>
|
||
</template>
|
||
<a-card class="daily-article" :loading="loading">
|
||
<a-card-meta
|
||
:title="record.titile"
|
||
:description="'发布人:'+record.sender + ' 发布时间: ' + record.sendTime">
|
||
</a-card-meta>
|
||
<a-divider />
|
||
<span v-html="record.msgContent" class="article-content"></span>
|
||
</a-card>
|
||
</j-modal>
|
||
</template>
|
||
|
||
<script>
|
||
import {getUserList} from '@/api/api'
|
||
import xss from 'xss'
|
||
export default {
|
||
name: "SysAnnouncementModal",
|
||
components: {
|
||
},
|
||
data () {
|
||
return {
|
||
title:"通知消息",
|
||
record: {},
|
||
labelCol: {
|
||
xs: { span: 24 },
|
||
sm: { span: 5 },
|
||
},
|
||
wrapperCol: {
|
||
xs: { span: 24 },
|
||
sm: { span: 16 },
|
||
},
|
||
visible: false,
|
||
switchFullscreen: true,
|
||
loading: false,
|
||
bodyStyle:{
|
||
padding: "0",
|
||
height:(window.innerHeight*0.8)+"px",
|
||
"overflow-y":"auto",
|
||
|
||
},
|
||
modelStyle:{
|
||
width: '60%',
|
||
style: { top: '20px' },
|
||
fullScreen: false
|
||
}
|
||
}
|
||
},
|
||
created () {
|
||
},
|
||
methods: {
|
||
detail (record) {
|
||
//update-begin---author:wangshuai ---date:20220107 for:将其它页面传递过来的用户名改成用户真实姓名
|
||
if(record.sender){
|
||
getUserList({"username":record.sender}).then((res) =>{
|
||
if(res.success && res.result.records.length>0){
|
||
record.sender = res.result.records[0].realname
|
||
}
|
||
})
|
||
}
|
||
//update-end---author:wangshuai ---date:20220107 for:将其它页面传递过来的用户名改成用户真实姓名
|
||
this.visible = true;
|
||
//update-begin-author:taoyan date:2022-7-14 for: VUEN-1702 【禁止问题】sql注入漏洞
|
||
if(record.msgContent){
|
||
record.msgContent = xss(record.msgContent)
|
||
}
|
||
//update-end-author:taoyan date:2022-7-14 for: VUEN-1702 【禁止问题】sql注入漏洞
|
||
this.record = record;
|
||
},
|
||
handleCancel () {
|
||
this.visible = false;
|
||
},
|
||
/** 切换全屏显示 */
|
||
handleClickToggleFullScreen() {
|
||
let mode = !this.modelStyle.fullScreen
|
||
if (mode) {
|
||
this.modelStyle.width = '100%'
|
||
this.modelStyle.style.top = '20px'
|
||
} else {
|
||
this.modelStyle.width = '60%'
|
||
this.modelStyle.style.top = '50px'
|
||
}
|
||
this.modelStyle.fullScreen = mode
|
||
},
|
||
toHandle(){
|
||
if(this.record.openType==='url'){
|
||
this.visible = false;
|
||
//链接跳转
|
||
this.$router.push({path: this.record.openPage})
|
||
}
|
||
},
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="less">
|
||
.announcementCustomModal{
|
||
.ant-modal-header {
|
||
border: none;
|
||
display: inline-block;
|
||
position: absolute;
|
||
z-index: 1;
|
||
right: 56px;
|
||
padding: 0;
|
||
.ant-modal-title{
|
||
.custom-btn{
|
||
width: 56px;
|
||
height: 56px;
|
||
border: none;
|
||
box-shadow: none;
|
||
}
|
||
}
|
||
}
|
||
.daily-article{
|
||
border-bottom: 0;
|
||
}
|
||
}
|
||
</style>
|
||
<style scoped lang="less">
|
||
.daily-article {
|
||
.article-button {
|
||
font-size: 1.2rem !important;
|
||
}
|
||
.ant-card-body {
|
||
padding: 18px !important;
|
||
}
|
||
.ant-card-head {
|
||
padding: 0 1rem;
|
||
}
|
||
.ant-card-meta {
|
||
margin-bottom: 1rem;
|
||
}
|
||
.article-content {
|
||
p {
|
||
word-wrap: break-word;
|
||
word-break: break-all;
|
||
text-overflow: initial;
|
||
white-space: normal;
|
||
font-size: .9rem !important;
|
||
margin-bottom: .8rem;
|
||
}
|
||
}
|
||
}
|
||
</style>
|