2026-01-10 17:31:22 +08:00
|
|
|
<template>
|
|
|
|
|
<div class="sidebar-view">
|
2026-01-12 19:55:51 +08:00
|
|
|
<ProjectSelector
|
|
|
|
|
:selected-project-id="selectedId"
|
|
|
|
|
@project-selected="handleProjectSelected"
|
|
|
|
|
/>
|
2026-01-10 17:31:22 +08:00
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script setup>
|
2026-01-12 19:55:51 +08:00
|
|
|
import { computed } from 'vue';
|
2026-01-10 17:31:22 +08:00
|
|
|
import ProjectSelector from '../components/ProjectSelector.vue';
|
2026-01-13 19:45:05 +08:00
|
|
|
import {
|
|
|
|
|
selectedProjectId,
|
|
|
|
|
setSelectedProject,
|
|
|
|
|
} from '../store/projectStore.js';
|
2026-01-10 17:31:22 +08:00
|
|
|
|
2026-01-12 19:55:51 +08:00
|
|
|
const selectedId = computed(() => selectedProjectId.value);
|
2026-01-10 17:31:22 +08:00
|
|
|
|
|
|
|
|
// 项目选择事件
|
|
|
|
|
const handleProjectSelected = (project) => {
|
2026-01-12 19:55:51 +08:00
|
|
|
setSelectedProject(project);
|
2026-01-10 17:31:22 +08:00
|
|
|
console.log('选中项目:', project);
|
|
|
|
|
// 这里可以通过事件总线或状态管理工具将选中的项目传递给其他组件
|
|
|
|
|
};
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style scoped>
|
|
|
|
|
.sidebar-view {
|
|
|
|
|
height: 100%;
|
|
|
|
|
overflow-y: auto;
|
|
|
|
|
}
|
2026-01-13 19:45:05 +08:00
|
|
|
</style>
|