192 lines
5.7 KiB
Vue
192 lines
5.7 KiB
Vue
|
<template>
|
||
|
<a-card :bordered="false">
|
||
|
<!-- 查询区域 -->
|
||
|
<div class="table-page-search-wrapper">
|
||
|
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||
|
<a-row :gutter="24">
|
||
|
|
||
|
<a-col :span="6">
|
||
|
<a-form-item label="标题">
|
||
|
<a-input placeholder="请输入标题" v-model="queryParam.titile"></a-input>
|
||
|
</a-form-item>
|
||
|
</a-col>
|
||
|
<a-col :span="6">
|
||
|
<a-form-item label="发布人">
|
||
|
<a-input placeholder="请输入发布人" v-model="queryParam.sender"></a-input>
|
||
|
</a-form-item>
|
||
|
</a-col>
|
||
|
|
||
|
<a-col :span="8" >
|
||
|
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||
|
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||
|
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||
|
</span>
|
||
|
</a-col>
|
||
|
|
||
|
</a-row>
|
||
|
</a-form>
|
||
|
</div>
|
||
|
|
||
|
<div class="table-operator">
|
||
|
<a-button type="primary" @click="readAll" icon="book">全部标注已读</a-button>
|
||
|
</div>
|
||
|
|
||
|
<a-table
|
||
|
ref="table"
|
||
|
size="default"
|
||
|
bordered
|
||
|
rowKey="id"
|
||
|
:columns="columns"
|
||
|
:dataSource="dataSource"
|
||
|
:pagination="ipagination"
|
||
|
:loading="loading"
|
||
|
@change="handleTableChange">
|
||
|
<span slot="action" slot-scope="text, record">
|
||
|
<a @click="showAnnouncement(record)">查看</a>
|
||
|
</span>
|
||
|
</a-table>
|
||
|
<show-announcement ref="ShowAnnouncement"></show-announcement>
|
||
|
<dynamic-notice ref="showDynamNotice" :path="openPath" :formData="formData"/>
|
||
|
</a-card>
|
||
|
</template>
|
||
|
|
||
|
<script>
|
||
|
import { filterObj } from '@/utils/util'
|
||
|
import { getAction,putAction } from '@/api/manage'
|
||
|
import ShowAnnouncement from '@/components/tools/ShowAnnouncement'
|
||
|
import {JeecgListMixin} from '@/mixins/JeecgListMixin'
|
||
|
import DynamicNotice from '../../components/tools/DynamicNotice'
|
||
|
|
||
|
export default {
|
||
|
name: "UserAnnouncementList",
|
||
|
mixins: [JeecgListMixin],
|
||
|
components: {
|
||
|
DynamicNotice,
|
||
|
ShowAnnouncement
|
||
|
},
|
||
|
data () {
|
||
|
return {
|
||
|
description: '系统通告表管理页面',
|
||
|
queryParam: {},
|
||
|
columns: [{
|
||
|
title: '标题',
|
||
|
align:"center",
|
||
|
dataIndex: 'titile'
|
||
|
},{
|
||
|
title: '消息类型',
|
||
|
align: "center",
|
||
|
dataIndex: 'msgCategory',
|
||
|
customRender: function (text) {
|
||
|
if (text == '1') {
|
||
|
return "通知公告";
|
||
|
} else if (text == "2") {
|
||
|
return "系统消息";
|
||
|
} else {
|
||
|
return text;
|
||
|
}
|
||
|
}
|
||
|
},{
|
||
|
title: '发布人',
|
||
|
align:"center",
|
||
|
dataIndex: 'sender'
|
||
|
},{
|
||
|
title: '发布时间',
|
||
|
align:"center",
|
||
|
dataIndex: 'sendTime'
|
||
|
},{
|
||
|
title: '优先级',
|
||
|
align:"center",
|
||
|
dataIndex: 'priority',
|
||
|
customRender:function (text) {
|
||
|
if(text=='L'){
|
||
|
return "低";
|
||
|
}else if(text=="M"){
|
||
|
return "中";
|
||
|
}else if(text=="H"){
|
||
|
return "高";
|
||
|
} else {
|
||
|
return text;
|
||
|
}
|
||
|
}
|
||
|
},{
|
||
|
title: '阅读状态',
|
||
|
align:"center",
|
||
|
dataIndex: 'readFlag',
|
||
|
customRender:function (text) {
|
||
|
if(text=='0'){
|
||
|
return "未读";
|
||
|
}else if(text=="1"){
|
||
|
return "已读";
|
||
|
} else {
|
||
|
return text;
|
||
|
}
|
||
|
}
|
||
|
},{
|
||
|
title: '操作',
|
||
|
dataIndex: 'action',
|
||
|
align:"center",
|
||
|
scopedSlots: { customRender: 'action' },
|
||
|
}],
|
||
|
url: {
|
||
|
list: "/sys/sysAnnouncementSend/getMyAnnouncementSend",
|
||
|
editCementSend:"sys/sysAnnouncementSend/editByAnntIdAndUserId",
|
||
|
readAllMsg:"sys/sysAnnouncementSend/readAll",
|
||
|
},
|
||
|
loading:false,
|
||
|
openPath:'',
|
||
|
formData:''
|
||
|
}
|
||
|
},
|
||
|
methods: {
|
||
|
handleDetail: function(record){
|
||
|
this.$refs.sysAnnouncementModal.detail(record);
|
||
|
this.$refs.sysAnnouncementModal.title="查看";
|
||
|
},
|
||
|
showAnnouncement(record){
|
||
|
putAction(this.url.editCementSend,{anntId:record.anntId}).then((res)=>{
|
||
|
if(res.success){
|
||
|
this.loadData();
|
||
|
this.syncHeadNotic(record.anntId)
|
||
|
}
|
||
|
});
|
||
|
if(record.openType==='component'){
|
||
|
this.openPath = record.openPage;
|
||
|
this.formData = {id:record.busId};
|
||
|
this.$refs.showDynamNotice.detail();
|
||
|
}else{
|
||
|
this.$refs.ShowAnnouncement.detail(record);
|
||
|
}
|
||
|
},
|
||
|
syncHeadNotic(anntId){
|
||
|
getAction("sys/annountCement/syncNotic",{anntId:anntId})
|
||
|
},
|
||
|
readAll(){
|
||
|
var that = this;
|
||
|
that.$confirm({
|
||
|
title:"确认操作",
|
||
|
content:"是否全部标注已读?",
|
||
|
onOk: function(){
|
||
|
putAction(that.url.readAllMsg).then((res)=>{
|
||
|
if(res.success){
|
||
|
that.$message.success(res.message);
|
||
|
that.loadData();
|
||
|
that.syncHeadNotic();
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
}
|
||
|
}
|
||
|
</script>
|
||
|
<style scoped>
|
||
|
.ant-card-body .table-operator{
|
||
|
margin-bottom: 18px;
|
||
|
}
|
||
|
.anty-row-operator button{margin: 0 5px}
|
||
|
.ant-btn-danger{background-color: #ffffff}z
|
||
|
|
||
|
.ant-modal-cust-warp{height: 100%}
|
||
|
.ant-modal-cust-warp .ant-modal-body{height:calc(100% - 110px) !important;overflow-y: auto}
|
||
|
.ant-modal-cust-warp .ant-modal-content{height:90% !important;overflow-y: hidden}
|
||
|
</style>
|