|
|
|
@ -137,6 +137,7 @@
|
|
|
|
:key="k"
|
|
|
|
:key="k"
|
|
|
|
class="notice-feed__item"
|
|
|
|
class="notice-feed__item"
|
|
|
|
:class="{ 'is-unread': !m.read }"
|
|
|
|
:class="{ 'is-unread': !m.read }"
|
|
|
|
|
|
|
|
@click="onMessageClick(k)"
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<span v-if="!m.read" class="notice-feed__dot" />
|
|
|
|
<span v-if="!m.read" class="notice-feed__dot" />
|
|
|
|
<span class="notice-feed__title">{{ m.message }}</span>
|
|
|
|
<span class="notice-feed__title">{{ m.message }}</span>
|
|
|
|
@ -506,6 +507,13 @@ const focusMessages = () => {
|
|
|
|
noticeTab.value = 'message';
|
|
|
|
noticeTab.value = 'message';
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const onMessageClick = (index: number) => {
|
|
|
|
|
|
|
|
const notices = noticeStore.state.notices;
|
|
|
|
|
|
|
|
if (notices[index] && !notices[index].read) {
|
|
|
|
|
|
|
|
notices[index].read = true;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
const onSummaryClick = (card: { menuComponent?: string }) => {
|
|
|
|
const onSummaryClick = (card: { menuComponent?: string }) => {
|
|
|
|
if (card.menuComponent) {
|
|
|
|
if (card.menuComponent) {
|
|
|
|
openMenu(card.menuComponent);
|
|
|
|
openMenu(card.menuComponent);
|
|
|
|
@ -558,6 +566,8 @@ onMounted(() => {
|
|
|
|
|
|
|
|
|
|
|
|
/* A. 欢迎区 */
|
|
|
|
/* A. 欢迎区 */
|
|
|
|
.welcome-banner {
|
|
|
|
.welcome-banner {
|
|
|
|
|
|
|
|
position: relative;
|
|
|
|
|
|
|
|
overflow: hidden;
|
|
|
|
display: flex;
|
|
|
|
display: flex;
|
|
|
|
flex-wrap: wrap;
|
|
|
|
flex-wrap: wrap;
|
|
|
|
align-items: flex-start;
|
|
|
|
align-items: flex-start;
|
|
|
|
@ -566,9 +576,17 @@ onMounted(() => {
|
|
|
|
padding: 20px 24px;
|
|
|
|
padding: 20px 24px;
|
|
|
|
margin-bottom: 16px;
|
|
|
|
margin-bottom: 16px;
|
|
|
|
border-radius: 8px;
|
|
|
|
border-radius: 8px;
|
|
|
|
background: linear-gradient(120deg, var(--el-color-primary) 0%, #53a8ff 45%, #79bbff 100%);
|
|
|
|
background: linear-gradient(to right, #0047ab 0%, #1e90ff 100%);
|
|
|
|
color: #fff;
|
|
|
|
color: #fff;
|
|
|
|
box-shadow: 0 4px 12px rgba(64, 158, 255, 0.25);
|
|
|
|
box-shadow:
|
|
|
|
|
|
|
|
0 4px 20px rgba(0, 71, 171, 0.22),
|
|
|
|
|
|
|
|
0 1px 4px rgba(30, 144, 255, 0.12);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
&__main,
|
|
|
|
|
|
|
|
&__actions {
|
|
|
|
|
|
|
|
position: relative;
|
|
|
|
|
|
|
|
z-index: 1;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
&__greet {
|
|
|
|
&__greet {
|
|
|
|
font-size: 22px;
|
|
|
|
font-size: 22px;
|
|
|
|
|