| | |
| | | </p> |
| | | </template> |
| | | </el-dialog> |
| | | </div> |
| | | <div class="notice" v-if="!isSharePage"> |
| | | <el-badge :value="`${state.announcementList.length}`" :hidden="announcementIsRead || state.announcementList?.length === 0"> |
| | | <el-button link size="small" icon="ele-Message" class="set-notice" @click="handleAnnouncementClick">系统公告</el-button> |
| | | </el-badge> |
| | | <div class="notice_box notice_box_show" v-show="state.isShowAnnouncement" ref="noticeRef"> |
| | | <div class="notice_box_header"> |
| | | <span>最新公告</span> |
| | | </div> |
| | | <div class="notice_box_body"> |
| | | <div class="notice_item" v-for="item in state.announcementList" :key="item.notify_id" @click="announcementContentClick(item)"> |
| | | <div class="flex items-center"> |
| | | <p class="set-circle"></p> |
| | | <p>{{ item.notify_message }}</p> |
| | | </div> |
| | | |
| | | <p class="text-right mr-[19px]"> |
| | | <span>{{ item.notify_time }}</span> |
| | | </p> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <el-tooltip content="最小化" placement="bottom"> |
| | | <span class="cursor-pointer ywifont ywicon-tuichuquanping" size="15px" @click="smallScreenClick" /> |
| | | </el-tooltip> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | import { systemNotifyList } from '/@/api/ai/chat'; |
| | | import router from '/@/router'; |
| | | import pinia from '/@/stores'; |
| | | import { activeChatRoom, activeRoomId, activeTopMenuStyle, isSharePage, newChatRoomClick, TopMenuStyle } from '/@/stores/chatRoom'; |
| | | import { |
| | | activeChatRoom, |
| | | activeRoomId, |
| | | activeTopMenuStyle, |
| | | isSharePage, |
| | | newChatRoomClick, |
| | | TopMenuStyle, |
| | | sidebarIsShow, |
| | | } from '/@/stores/chatRoom'; |
| | | import { useThemeConfig } from '/@/stores/themeConfig'; |
| | | import { ParentRegister } from '/@/stores/global'; |
| | | |
| | | import emitter from '/@/utils/mitt'; |
| | | import { userInfoKey } from '/@/utils/request'; |
| | | import { Local } from '/@/utils/storage'; |
| | |
| | | label: 'GIS系统', |
| | | }; |
| | | |
| | | return [smartAssistant]; |
| | | |
| | | switch (activeTopMenuStyle.value) { |
| | | case TopMenuStyle.Normal: |
| | | return [smartAssistant, personalWorkbench]; |
| | |
| | | return [smartAssistant]; |
| | | } |
| | | }); |
| | | |
| | | const smallScreenClick = () => { |
| | | const pathname = window.location.pathname; |
| | | const basePath = pathname.replace(/\/web\/index\.html$/, '/index.html/'); |
| | | window.location.href = basePath || '/'; |
| | | ParentRegister.notify?.({ |
| | | type: 'fullScreen', |
| | | value: false, |
| | | }); |
| | | }; |
| | | const firstToPath = computed(() => { |
| | | if (!activeChatRoom.value) |
| | | return { |