<script lang="ts" setup>
|
import { useGo } from '@jnpf/hooks';
|
import { useModal } from '@jnpf/ui/modal';
|
import { toDateText } from '@jnpf/utils';
|
|
import Detail from '#/views/msgCenter/notice/Detail.vue';
|
|
defineProps({
|
list: {
|
default: () => [],
|
type: Array as any,
|
},
|
});
|
|
const go = useGo();
|
const [registerDetail, { openModal: openDetailModal }] = useModal();
|
|
function readInfo(item) {
|
openDetailModal(true, { type: 1, id: item.id });
|
}
|
function handleMore() {
|
go('/messageRecord');
|
}
|
</script>
|
<template>
|
<div class="msg-pane dashboard-pane">
|
<div class="dashboard-header">
|
<div class="dashboard-header-title">公告</div>
|
<div class="dashboard-header-more" @click="handleMore">更多<i class="icon-ym icon-ym-right"></i></div>
|
</div>
|
<div class="msg-list">
|
<div class="msg-item" v-for="item in list" :key="item.id">
|
<div class="item-type">{{ item.category || '公告' }}</div>
|
<div class="item-title" :title="item.fullName" @click="readInfo(item)">{{ item.fullName }}</div>
|
<div class="item-time">{{ toDateText(item.releaseTime) }}</div>
|
</div>
|
<jnpf-empty v-if="!list.length" />
|
</div>
|
<Detail @register="registerDetail" />
|
</div>
|
</template>
|