|
@@ -1,5 +1,5 @@
|
|
|
<template>
|
|
|
- <el-popover placement="bottom" :width="320" popper-style="padding: 12px;" trigger="click">
|
|
|
+ <el-popover placement="bottom" :width="320" popper-style="padding: 0px;" trigger="click">
|
|
|
<template #reference>
|
|
|
<div class="menu--message-trigger">
|
|
|
<el-tooltip :content="$t('le.message.txt')" effect="dark" placement="bottom">
|
|
@@ -12,12 +12,32 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
- <el-tabs v-model="activeTab" class="message-tabs">
|
|
|
- <el-tab-pane v-for="v of tabsConfig" :key="v.name" :name="v.name">
|
|
|
- <template #label> {{ v.label }}({{ v.list.length }}) </template>
|
|
|
- <template v-if="v.list.length">
|
|
|
+ <el-card :body-style="{ padding: '12px' }">
|
|
|
+ <template #header>
|
|
|
+ <div class="flex flex-pack-justify">
|
|
|
+ <div>
|
|
|
+ <span>消息中心</span>
|
|
|
+ <span class="ml-2 cursor-pointer">
|
|
|
+ <el-popconfirm title="确定全部已读吗?" @confirm="handleReadAll" :width="'200'">
|
|
|
+ <template #reference>
|
|
|
+ <LeIcon class="text-rose-700" icon-class="icon-processInfo-broom-light" />
|
|
|
+ </template>
|
|
|
+ </el-popconfirm>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ <div><el-link type="primary" @click.stop="jumpMessageInfo"> 查看更多 >> </el-link></div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <div class="flex flex-align-pack-center">
|
|
|
+ <el-radio-group v-model="activeTab">
|
|
|
+ <el-radio-button v-for="v of tabsConfig" :key="v.name" :label="v.name">{{ v.label }}({{ v.list.length }})</el-radio-button>
|
|
|
+ </el-radio-group>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="mt-2">
|
|
|
+ <template v-if="tabsConfig[activeTab].list.length">
|
|
|
<div class="message-list">
|
|
|
- <div v-for="item of v.list" :key="item.id" class="message-item" @click="jumpMessageDetail(item.id)">
|
|
|
+ <div v-for="item of tabsConfig[activeTab].list" :key="item.id" class="message-item" @click="jumpMessageDetail(item.id)">
|
|
|
<div>
|
|
|
<el-avatar :style="{ backgroundColor: 'var(--el-color-primary)', color: 'var(--el-color-white)' }">
|
|
|
<span style="transform: scale(0.8)">
|
|
@@ -37,14 +57,13 @@
|
|
|
</el-tooltip>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="message-fix-item" @click="jumpMessageInfo">查看更多</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
<template v-else>
|
|
|
<LeNoData />
|
|
|
</template>
|
|
|
- </el-tab-pane>
|
|
|
- </el-tabs>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
</el-popover>
|
|
|
</template>
|
|
|
|
|
@@ -65,17 +84,17 @@ let eventSource: EventSourcePolyfill | null = null
|
|
|
const tabsConfig = reactive({
|
|
|
noticeList: {
|
|
|
name: 'noticeList',
|
|
|
- label: '通知',
|
|
|
+ label: '通 知',
|
|
|
list: []
|
|
|
},
|
|
|
messageList: {
|
|
|
name: 'messageList',
|
|
|
- label: '消息',
|
|
|
+ label: '消 息',
|
|
|
list: []
|
|
|
},
|
|
|
todoList: {
|
|
|
name: 'todoList',
|
|
|
- label: '待办',
|
|
|
+ label: '待 办',
|
|
|
list: []
|
|
|
}
|
|
|
})
|
|
@@ -105,6 +124,15 @@ const jumpMessageDetail = (id: any) => {
|
|
|
router.push('/message/list?id=' + id)
|
|
|
}
|
|
|
|
|
|
+const handleReadAll = async () => {
|
|
|
+ try {
|
|
|
+ await message.readMessageApi({})
|
|
|
+ getMessage()
|
|
|
+ } catch (e) {
|
|
|
+ console.log(e)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
getMessage()
|
|
|
|
|
|
onMounted(() => {
|