| | |
| | | <template> |
| | | <div class="top_text flex justify-between px-6 items-center"> |
| | | <div class="top_text flex justify-between px-6 items-center" :class="sidebarIsShow ? 'px-6' : 'pl-[unset] pr-6'"> |
| | | <div class="flex-items-center"> |
| | | <div |
| | | class="flex-items-center space-x-3 mr-4 pr-4 border border-solid border-r-1 border-l-0 border-y-0 border-gray-300" |
| | | v-if="!sidebarIsShow" |
| | | > |
| | | <el-tooltip content="展开侧栏" placement="right" effect="dark"> |
| | | <span |
| | | class="ywifont ywicon-cebianlan text-gray-700 active:text-gray-800 !text-[20px] cursor-pointer" |
| | | @click="emit('toggleSidebar', true)" |
| | | ></span> |
| | | </el-tooltip> |
| | | <!-- <div |
| | | class="flex-items-center rounded-full border border-solid px-2 py-1 space-x-1 cursor-pointer border-blue-400 text-blue-500 hover:bg-blue-500 hover:text-white" |
| | | @click="newChatClick" |
| | | > |
| | | <span class="ywifont ywicon-jia"></span> |
| | | <span>新对话</span> |
| | | </div> --> |
| | | </div> |
| | | ></div> |
| | | <div v-if="routerMeta.showTitle" class="font-bold flex items-center"> |
| | | <span class="flex-center cursor-pointer" v-if="routerMeta.showBack" @click="goBack"> |
| | | <SvgIcon name="ele-ArrowLeft" /> |
| | | </span> |
| | | <span class="text-sm"> |
| | | <span class=""> |
| | | {{ routerMeta.title }} |
| | | </span> |
| | | </div> |
| | |
| | | |
| | | <script setup lang="ts"> |
| | | import { onClickOutside } from '@vueuse/core'; |
| | | import { computed, onMounted, onUnmounted, reactive, ref, triggerRef } from 'vue'; |
| | | import { computed, onMounted, onUnmounted, reactive, ref } from 'vue'; |
| | | import { systemNotifyList } from '/@/api/ai/chat'; |
| | | import router from '/@/router'; |
| | | import { isSharePage, newChatRoomClick } from '/@/stores/chatRoom'; |
| | | import emitter from '/@/utils/mitt'; |
| | | const emit = defineEmits(['toggleSidebar']); |
| | | import { storeToRefs } from 'pinia'; |
| | | import pinia from '/@/stores'; |
| | | import { useThemeConfig } from '/@/stores/themeConfig'; |
| | | const props = defineProps(['sidebarIsShow']); |
| | | let state = reactive({ |
| | | isShowAnnouncement: false, |
| | |
| | | state.announcementList = res.messages?.sort(sortData).slice(0, 5) ?? []; |
| | | }; |
| | | const routerMeta = computed(() => router.currentRoute.value.meta); |
| | | const stores = useThemeConfig(pinia); |
| | | const { themeConfig } = storeToRefs(stores); |
| | | const globalTitle = computed(() => themeConfig.value.globalTitle); |
| | | |
| | | const setHeaderTitle = (title: string) => { |
| | | routerMeta.value.title = title; |
| | | triggerRef(routerMeta); |
| | | // routerMeta.value.title = title; |
| | | // triggerRef(routerMeta); |
| | | |
| | | document.title = `${title} - ${globalTitle.value}`; |
| | | }; |
| | | |
| | | const handleAnnouncementClick = () => { |