Commit a6c3f7470789ebe502136753e8edd81c3e267da9
1 parent
9755a048
fix(web): 顶部导航改为 SPA 内跳转,不再打开新标签页
System Agents/Task Logs/Quota/Dream 及公司上下文的 Overview/Team/Workspace/ SOP/任务看板/Files/Messages 共 11 处导航链接原是 <a target="_blank">,改成 router-link 保持在当前页跳转。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013aQrCrnXcYEz5GdQ6fnPZm
Showing
1 changed file
with
22 additions
and
22 deletions
web/src/components/AppNav.vue
| @@ -5,21 +5,21 @@ | @@ -5,21 +5,21 @@ | ||
| 5 | <span class="nav-title">LemonBoss</span> | 5 | <span class="nav-title">LemonBoss</span> |
| 6 | </div> | 6 | </div> |
| 7 | <div class="nav-links"> | 7 | <div class="nav-links"> |
| 8 | - <a href="/agent/master" target="_blank" class="nav-link" :class="{ active: $route.path.startsWith('/agent') }"> | 8 | + <router-link to="/agent/master" class="nav-link" :class="{ active: $route.path.startsWith('/agent') }"> |
| 9 | <span>🤖</span> System Agents | 9 | <span>🤖</span> System Agents |
| 10 | - </a> | 10 | + </router-link> |
| 11 | 11 | ||
| 12 | - <a href="/tasks" target="_blank" class="nav-link" :class="{ active: $route.path.startsWith('/tasks') }"> | 12 | + <router-link to="/tasks" class="nav-link" :class="{ active: $route.path.startsWith('/tasks') }"> |
| 13 | <span>📜</span> Task Logs | 13 | <span>📜</span> Task Logs |
| 14 | - </a> | 14 | + </router-link> |
| 15 | 15 | ||
| 16 | - <a href="/quota" target="_blank" class="nav-link" :class="{ active: $route.path === '/quota' }"> | 16 | + <router-link to="/quota" class="nav-link" :class="{ active: $route.path === '/quota' }"> |
| 17 | <span>📊</span> Quota | 17 | <span>📊</span> Quota |
| 18 | - </a> | 18 | + </router-link> |
| 19 | 19 | ||
| 20 | - <a href="/dream" target="_blank" class="nav-link" :class="{ active: $route.path === '/dream' }"> | 20 | + <router-link to="/dream" class="nav-link" :class="{ active: $route.path === '/dream' }"> |
| 21 | <span>🌙</span> Dream | 21 | <span>🌙</span> Dream |
| 22 | - </a> | 22 | + </router-link> |
| 23 | 23 | ||
| 24 | <div class="nav-divider"></div> | 24 | <div class="nav-divider"></div> |
| 25 | 25 | ||
| @@ -49,27 +49,27 @@ | @@ -49,27 +49,27 @@ | ||
| 49 | 49 | ||
| 50 | <!-- Contextual Company Navigation --> | 50 | <!-- Contextual Company Navigation --> |
| 51 | <template v-if="currentCompany"> | 51 | <template v-if="currentCompany"> |
| 52 | - <a :href="`/${currentCompany.id}/overview`" target="_blank" class="nav-link" :class="{ active: $route.params.tab === 'overview' }"> | 52 | + <router-link :to="`/${currentCompany.id}/overview`" class="nav-link" :class="{ active: $route.params.tab === 'overview' }"> |
| 53 | 📊 Overview | 53 | 📊 Overview |
| 54 | - </a> | ||
| 55 | - <a :href="`/${currentCompany.id}/agents`" target="_blank" class="nav-link" :class="{ active: $route.params.tab === 'agents' }"> | 54 | + </router-link> |
| 55 | + <router-link :to="`/${currentCompany.id}/agents`" class="nav-link" :class="{ active: $route.params.tab === 'agents' }"> | ||
| 56 | 👥 Team | 56 | 👥 Team |
| 57 | - </a> | ||
| 58 | - <a :href="`/${currentCompany.id}/workspace`" target="_blank" class="nav-link" :class="{ active: $route.params.tab === 'workspace' }"> | 57 | + </router-link> |
| 58 | + <router-link :to="`/${currentCompany.id}/workspace`" class="nav-link" :class="{ active: $route.params.tab === 'workspace' }"> | ||
| 59 | 💼 Workspace | 59 | 💼 Workspace |
| 60 | - </a> | ||
| 61 | - <a :href="`/${currentCompany.id}/pipelines`" target="_blank" class="nav-link" :class="{ active: $route.params.tab === 'pipelines' || $route.params.tab === 'sop' }"> | 60 | + </router-link> |
| 61 | + <router-link :to="`/${currentCompany.id}/pipelines`" class="nav-link" :class="{ active: $route.params.tab === 'pipelines' || $route.params.tab === 'sop' }"> | ||
| 62 | ⚙️ SOP | 62 | ⚙️ SOP |
| 63 | - </a> | ||
| 64 | - <a :href="`/${currentCompany.id}/task-board`" target="_blank" class="nav-link" :class="{ active: $route.path.endsWith('/task-board') }"> | 63 | + </router-link> |
| 64 | + <router-link :to="`/${currentCompany.id}/task-board`" class="nav-link" :class="{ active: $route.path.endsWith('/task-board') }"> | ||
| 65 | 🗂️ 任务看板 | 65 | 🗂️ 任务看板 |
| 66 | - </a> | ||
| 67 | - <a :href="`/${currentCompany.id}/files`" target="_blank" class="nav-link" :class="{ active: $route.params.tab === 'files' }"> | 66 | + </router-link> |
| 67 | + <router-link :to="`/${currentCompany.id}/files`" class="nav-link" :class="{ active: $route.params.tab === 'files' }"> | ||
| 68 | 📁 Files | 68 | 📁 Files |
| 69 | - </a> | ||
| 70 | - <a :href="`/${currentCompany.id}/messages`" target="_blank" class="nav-link" :class="{ active: $route.params.tab === 'messages' }"> | 69 | + </router-link> |
| 70 | + <router-link :to="`/${currentCompany.id}/messages`" class="nav-link" :class="{ active: $route.params.tab === 'messages' }"> | ||
| 71 | 💬 Messages | 71 | 💬 Messages |
| 72 | - </a> | 72 | + </router-link> |
| 73 | </template> | 73 | </template> |
| 74 | </div> | 74 | </div> |
| 75 | 75 |