<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>