useProject.ts 676 B

1234567891011121314151617181920212223
  1. import { computed } from 'vue';
  2. import { useStore } from '@/store';
  3. import { WorkspaceDispatcher } from '@/store/dispatchers';
  4. import { useRouter } from 'vue-router';
  5. export const useProjectList = () => {
  6. const store = useStore();
  7. const router = useRouter();
  8. const projectList = computed(() => store.state.workspace.projectList);
  9. const selectedProject = computed(() => store.getters.currentProjectInfo);
  10. const handleProjectChange = (projectId: number) => {
  11. WorkspaceDispatcher.changeProject(projectId);
  12. router.push(`/project/${projectId}/schedule`);
  13. router.go(0);
  14. };
  15. return {
  16. projectList,
  17. selectedProject,
  18. handleProjectChange,
  19. };
  20. };