Merge pull request 'feature/linzhijun_扣子智能体_0710' (#24) from feature/linzhijun_扣子智能体_0710 into main

Reviewed-on: ai-team/lingji-work-fe#24
This commit is contained in:
2025-08-14 03:39:22 +00:00
51 changed files with 11831 additions and 165 deletions

View File

@ -1,6 +1,10 @@
<template>
<div class="right-wrap">
<div class="relative mr-12px" @click="setUnread">
<!-- 灵机空间入口 -->
<div class="agent-entry" :class="isAgentRoute ? 'agent' : ''" @click="handleAgentClick"></div>
<!-- 任务中心 -->
<div class="relative mx-16px" @click="setUnread">
<SvgIcon
name="svg-taskCenter"
size="16"
@ -10,6 +14,7 @@
<div class="w-4px h-4px rounded-50% bg-#F64B31 absolute top-1px right-1px" v-if="hasUnreadInfo"></div>
</div>
<!-- 头像设置 -->
<a-dropdown trigger="click" class="layout-avatar-dropdown">
<a-avatar class="cursor-pointer" :size="32">
<img alt="avatar" src="@/assets/avatar.svg" />
@ -83,9 +88,17 @@ import icon1 from '@/assets/option.svg';
import icon2 from '@/assets/exit.svg';
import icon3 from '@/assets/change.svg';
const props = defineProps({
isAgentRoute: {
type: Boolean,
default: false,
},
});
const enterpriseStore = useEnterpriseStore();
const userStore = useUserStore();
const sideBarStore = useSidebarStore();
const route = useRoute();
const hasUnreadInfo = computed(() => sideBarStore.unreadInfo.length);
@ -117,15 +130,13 @@ const setUnread = () => {
sideBarStore.removeTaskUnreadInfo();
}
};
const handleAgentClick = () => {
router.push({ name: props.isAgentRoute ? 'Home' : 'AgentIndex' });
};
</script>
<style scoped lang="scss">
.right-wrap {
display: flex;
padding-right: 20px;
list-style: none;
align-items: center;
}
@import './style.scss';
</style>
<style lang="scss">
.layout-avatar-dropdown,

View File

@ -0,0 +1,27 @@
.right-wrap {
display: flex;
padding-right: 20px;
list-style: none;
align-items: center;
.agent-entry {
width: 100px;
height: 32px;
background: url('@/assets/img/agent/icon-entry.png') 100% 100%;
background-size: cover;
transition: all 0.3s;
cursor: pointer;
&:hover {
background: url('@/assets/img/agent/icon-entry-hover.png') 100% 100%;
background-size: cover;
}
&.agent {
background: url('@/assets/img/agent/icon-home.png') 100% 100%;
background-size: cover;
cursor: pointer;
&:hover {
background: url('@/assets/img/agent/icon-home-hover.png') 100% 100%;
background-size: cover;
}
}
}
}

View File

@ -6,9 +6,9 @@
</a-space>
</div>
<div class="flex-1">
<NavbarMenu />
<NavbarMenu v-if="!isAgentRoute"/>
</div>
<RightSide />
<RightSide :isAgentRoute="isAgentRoute" />
</div>
</template>
@ -17,6 +17,12 @@ import NavbarMenu from './components/navbar-menu';
import RightSide from './components/right-side';
import router from '@/router';
const route = useRoute();
const isAgentRoute = computed(() => {
return route.meta?.isAgentRoute;
});
</script>
<style scoped lang="scss">
.navbar-wrap {