2021-12-14 18:36:19 +08:00
|
|
|
|
<template>
|
|
|
|
|
|
<ai-list isTabs>
|
|
|
|
|
|
<template #content>
|
|
|
|
|
|
<ai-search-bar>
|
|
|
|
|
|
<template #left>
|
|
|
|
|
|
<ai-select
|
|
|
|
|
|
v-model="search.readStatus"
|
|
|
|
|
|
@change="getList()"
|
|
|
|
|
|
placeholder="查阅状态"
|
|
|
|
|
|
:selectList="dict.getDict('announcementReadStatus')"
|
|
|
|
|
|
></ai-select>
|
|
|
|
|
|
<el-date-picker
|
|
|
|
|
|
v-model="date"
|
|
|
|
|
|
@change="search.current = 1,getList()"
|
|
|
|
|
|
type="daterange"
|
|
|
|
|
|
size="small"
|
|
|
|
|
|
value-format="yyyy-MM-dd"
|
|
|
|
|
|
range-separator="至"
|
|
|
|
|
|
start-placeholder="开始日期"
|
|
|
|
|
|
end-placeholder="结束日期">
|
|
|
|
|
|
</el-date-picker>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
<template #right>
|
|
|
|
|
|
<el-input v-model="search.title" @keyup.enter.native="getList()" placeholder="标题"
|
|
|
|
|
|
size="small" suffix-icon="iconfont iconSearch" clearable
|
|
|
|
|
|
@clear="search.current=1,getList()"></el-input>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
</ai-search-bar>
|
|
|
|
|
|
<div class="body">
|
|
|
|
|
|
<ul v-if="tableData.length">
|
|
|
|
|
|
<li v-for="(item,index) in tableData" :key="index" @click="goDetail(item)">
|
|
|
|
|
|
<label>
|
|
|
|
|
|
<!-- <em v-if="item.readStatus==0"></em>-->
|
|
|
|
|
|
<div class="status" v-if="item.readStatus==0">未读</div>
|
|
|
|
|
|
<div class="status read" v-else>已读</div>
|
|
|
|
|
|
{{item.title}}</label>
|
|
|
|
|
|
<el-row type="flex" justify="space-between" class="row">
|
|
|
|
|
|
<span style="display:flex">
|
|
|
|
|
|
<b>发布人:</b>
|
|
|
|
|
|
<ai-open-data type="userName" :openid="item.releaseUserName"></ai-open-data>
|
|
|
|
|
|
</span>
|
|
|
|
|
|
<span style="display:flex;width:33%;">
|
|
|
|
|
|
<b>发布部门:</b>
|
|
|
|
|
|
<ai-open-data type="departmentName" :openid="item.unitName"></ai-open-data>
|
|
|
|
|
|
</span>
|
|
|
|
|
|
<span>
|
|
|
|
|
|
<b>发布日期:</b>
|
|
|
|
|
|
{{item.releaseTime}}</span>
|
|
|
|
|
|
</el-row>
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
|
|
<div class="no-data" style="height:160px;" v-else></div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="pagination" v-if="tableData.length>0">
|
|
|
|
|
|
<el-pagination
|
|
|
|
|
|
@current-change="handleCurrentChange"
|
|
|
|
|
|
@size-change="handleSizeChange"
|
|
|
|
|
|
background
|
|
|
|
|
|
:current-page.sync="search.current"
|
|
|
|
|
|
:page-sizes="[5, 10, 50, 100,200]"
|
|
|
|
|
|
:page-size="search.size"
|
|
|
|
|
|
layout="slot,->,prev, pager, next,sizes,jumper"
|
|
|
|
|
|
:total="total">
|
|
|
|
|
|
<div class="page" style="text-align: left">共
|
|
|
|
|
|
<em>{{total}}</em>
|
|
|
|
|
|
条记录
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</el-pagination>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
</ai-list>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
|
export default {
|
|
|
|
|
|
name: "recentNotice",
|
|
|
|
|
|
props: {
|
|
|
|
|
|
instance: Function,
|
|
|
|
|
|
dict: Object,
|
|
|
|
|
|
},
|
|
|
|
|
|
data() {
|
|
|
|
|
|
return {
|
|
|
|
|
|
search: {
|
|
|
|
|
|
readStatus: "",
|
|
|
|
|
|
title: "",
|
|
|
|
|
|
current: 1,
|
|
|
|
|
|
size: 10,
|
|
|
|
|
|
},
|
|
|
|
|
|
date: [],
|
|
|
|
|
|
tableData: [],
|
|
|
|
|
|
total: 0,
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
methods: {
|
|
|
|
|
|
pickerChange(e) {
|
|
|
|
|
|
console.log(e);
|
|
|
|
|
|
},
|
|
|
|
|
|
goDetail(item) {
|
|
|
|
|
|
this.$emit('goPage', {
|
|
|
|
|
|
row: item,
|
|
|
|
|
|
comp: 'detail'
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
getList() {
|
|
|
|
|
|
this.instance.post(`/app/appannouncement/list-latest`, null, {
|
|
|
|
|
|
params: {
|
|
|
|
|
|
...this.search,
|
|
|
|
|
|
startTime: this.date?.length ? this.date[0] : null,
|
|
|
|
|
|
endTime: this.date?.length ? this.date[1] : null,
|
|
|
|
|
|
}
|
|
|
|
|
|
}).then(res => {
|
|
|
|
|
|
if (res && res.data) {
|
|
|
|
|
|
this.tableData = res.data.records;
|
|
|
|
|
|
this.total = res.data.total;
|
2022-07-19 14:55:51 +08:00
|
|
|
|
this.$store.dispatch('initOpenData')
|
2021-12-14 18:36:19 +08:00
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
handleCurrentChange(val) {
|
|
|
|
|
|
this.search.current = val;
|
|
|
|
|
|
this.getList();
|
|
|
|
|
|
},
|
|
|
|
|
|
handleSizeChange(val) {
|
|
|
|
|
|
this.search.size = val;
|
|
|
|
|
|
this.getList();
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
created() {
|
|
|
|
|
|
this.dict.load("announcementReadStatus").then(_ => this.getList())
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
|
.body {
|
|
|
|
|
|
|
|
|
|
|
|
ul {
|
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
|
padding: 0;
|
|
|
|
|
|
margin: 0;
|
|
|
|
|
|
|
|
|
|
|
|
li {
|
|
|
|
|
|
height: 86px;
|
|
|
|
|
|
background: #FFFFFF;
|
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
|
padding: 16px 215px 16px 32px;
|
|
|
|
|
|
margin-top: 10px;
|
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
|
|
|
|
|
|
|
label {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
position: relative;
|
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
|
color: #222222;
|
|
|
|
|
|
|
|
|
|
|
|
.status {
|
|
|
|
|
|
width: 40px;
|
|
|
|
|
|
height: 20px;
|
|
|
|
|
|
background: #FEF4E5;
|
|
|
|
|
|
color: #F79300;
|
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
justify-content: center;
|
|
|
|
|
|
margin-right: 4px;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.read{
|
|
|
|
|
|
background: #EEEEEE;
|
|
|
|
|
|
color: #999999;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
em {
|
|
|
|
|
|
width: 8px;
|
|
|
|
|
|
height: 8px;
|
|
|
|
|
|
background: #ff4422;
|
|
|
|
|
|
border-radius: 50%;
|
|
|
|
|
|
position: absolute;
|
|
|
|
|
|
left: -16px;
|
|
|
|
|
|
top: 4px;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2022-12-01 09:35:20 +08:00
|
|
|
|
:deep( .row ){
|
2021-12-14 18:36:19 +08:00
|
|
|
|
margin-top: 10px;
|
|
|
|
|
|
|
|
|
|
|
|
span {
|
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
|
color: #222222;
|
|
|
|
|
|
|
|
|
|
|
|
b {
|
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
|
color: #888888;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2022-12-01 09:35:20 +08:00
|
|
|
|
:deep( .page ){
|
2021-12-14 18:36:19 +08:00
|
|
|
|
font-size: 12px;
|
|
|
|
|
|
color: #555555;
|
|
|
|
|
|
|
|
|
|
|
|
em {
|
|
|
|
|
|
font-style: normal;
|
|
|
|
|
|
color: rgb(34, 102, 255);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
</style>
|