useProject.ts 621 B

12345678910111213141516171819202122232425
  1. import { computed, reactive } from 'vue';
  2. import { useRouter } from 'vue-router';
  3. import { useStore } from 'vuex';
  4. export const useProject = () => {
  5. const store = useStore();
  6. const router = useRouter();
  7. const projectList = computed(() => store.state.projectList);
  8. let selectedProject = reactive({});
  9. const handleProjectChange = (id: number) => {
  10. projectList.value.forEach((item: Project) => {
  11. if (item.id === id) {
  12. selectedProject = item;
  13. router.push(`/project/${id}/schedule`);
  14. }
  15. });
  16. };
  17. return {
  18. projectList,
  19. selectedProject,
  20. handleProjectChange,
  21. };
  22. };