import { createWebHistory, createRouter } from "vue-router"; import Main from '../pages/main/Main.vue'; import Login from '../pages/User/Login.vue'; import Join from '../pages/User/Join.vue'; import MyPage from '../pages/User/MyPage.vue'; // 결재관리 import MyApprovalRequestListComp from '../pages/Manager/sanctn/MyApprovalRequestList.vue'; import PendingApprovalListComp from '../pages/Manager/sanctn/PendingApprovalList.vue'; //근태관리 import myAttendance from '../pages/Manager/attendance/myAttendance.vue'; import buseoAttendance from '../pages/Manager/attendance/buseoAttendance.vue'; import AttendanceDetail from '../pages/Manager/attendance/AttendanceDetail.vue'; import hyugaStatue from '../pages/Manager/attendance/hyugaStatue.vue'; import HyugaInsert from '../pages/Manager/attendance/HyugaInsert.vue'; import HyugaDetail from '../pages/Manager/attendance/HyugaDetail.vue'; import BsrpListComp from '../pages/Manager/attendance/BsrpList.vue'; import BsrpInsertComp from '../pages/Manager/attendance/BsrpInsert.vue'; import BsrpViewComp from './Manager/attendance/BsrpView.vue'; import BsrpRportInsertComp from '../pages/Manager/attendance/BsrpRportInsert.vue'; //업무관리 import projectStatue from '../pages/Manager/task/projectStatue.vue'; import projectDetail from '../pages/Manager/task/projectDetail.vue'; import meetingInsert from '../pages/Manager/task/meetingInsert.vue'; import meetingDetail from '../pages/Manager/task/meetingDetail.vue'; import projectInsert from '../pages/Manager/task/projectInsert.vue'; import projectTuib from '../pages/Manager/task/projectTuib.vue'; import projectTuibDetail from '../pages/Manager/task/projectTuibDetail.vue'; //재무관리 import salaryList from '../pages/Manager/financial/salaryList.vue'; import employeeSalaryList from '../pages/Manager/financial/employeeSalaryList.vue'; import employeeSalaryDetail from '../pages/Manager/financial/employeeSalaryDetail.vue'; import employeeSalaryInsert from '../pages/Manager/financial/employeeSalaryInsert.vue'; import ChuljangCostList from '../pages/Manager/financial/ChuljangCostList.vue'; import MeetingCostList from '../pages/Manager/financial/MeetingCostList.vue'; //자산관리 import VhcleList from '../pages/Manager/asset/VhcleList.vue'; import CardList from '../pages/Manager/asset/CardList.vue'; import VhcleInfoManagement from '../pages/Manager/asset/VhcleInfoManagement.vue'; import CardInfoManagement from '../pages/Manager/asset/CardInfoManagement.vue'; //인사관리 import HrmSearch from '../pages/Manager/hrm/HrmSearch.vue'; import HrmManagement from '../pages/Manager/hrm/HrmManagement.vue'; import HrmDetail from '../pages/Manager/hrm/HrmDetail.vue'; import HrmInsert from '../pages/Manager/hrm/HrmInsert.vue'; import TeamManagement from '../pages/Manager/hrm/TeamManagement.vue'; //시스템관리 import AuthorManagementComp from '../pages/Manager/system/AuthorManagement.vue'; import MenuAuthorManagementComp from './Manager/system/MenuAuthorManagement.vue'; import CodeManagementListComp from '../pages/Manager/system/CodeManagementList.vue'; import CodeManagementInsertComp from '../pages/Manager/system/CodeManagementInsert.vue'; import CodeManagementViewComp from '../pages/Manager/system/CodeManagementView.vue'; const routes = [ { path: '/', name: '/', component: Main }, { path: '/login.page', name: 'Login', component: Login }, { path: '/join.page', name: 'Join', component: Join }, { path: '/MyPage.page', name: 'MyPage', component: MyPage }, // 결재관리 { path: '/sanctn-management', name: 'sanctn', redirect: { name: 'MyApprovalRequestListPage' }, children: [ { path: 'MyApprovalRequestList.page', name: 'MyApprovalRequestListPage', component: MyApprovalRequestListComp, }, { path: 'PendingApprovalList.page', name: 'PendingApprovalListPage', component: PendingApprovalListComp, }, ] }, // 근태관리 { path: '/attendance-management', name: 'attendance', redirect: '/attendance-management/myAttendance.page', children: [ { path: 'myAttendance.page', name: 'myAttendance', component: myAttendance }, { path: 'buseoAttendance.page', name: 'buseoAttendance', component: buseoAttendance }, { path: 'AttendanceDetail.page', name: 'AttendanceDetail', component: AttendanceDetail }, { path: 'hyugaStatue.page', name: 'hyugaStatue', component: hyugaStatue }, { path: 'HyugaDetail.page', name: 'HyugaDetail', component: HyugaDetail }, { path: 'hyugaInsert.page', name: 'hyugaInsert', component: HyugaInsert }, { path: 'BsrpList.page', name: 'BsrpListPage', component: BsrpListComp }, { path: 'BsrpView.page', name: 'BsrpViewPage', component: BsrpViewComp }, { path: 'BsrpInsert.page', name: 'BsrpInsertPage', component: BsrpInsertComp }, { path: 'BsrpRportInsert.page', name: 'BsrpRportInsertPage', component: BsrpRportInsertComp }, ] }, // 업무관리 { path: '/task-management', name: 'task', redirect: '/task-management/projectStatue.page', children: [ { path: 'projectStatue.page', name: 'projectStatue', component: projectStatue }, { path: 'projectDetail.page', name: 'projectDetail', component: projectDetail }, { path: 'meetingInsert.page', name: 'meetingInsert', component: meetingInsert }, { path: 'meetingDetail.page', name: 'meetingDetail', component: meetingDetail }, { path: 'projectInsert.page', name: 'projectInsert', component: projectInsert }, { path: 'projectTuib.page', name: 'projectTuib', component: projectTuib }, { path: 'projectTuibDetail.page', name: 'projectTuibDetail', component: projectTuibDetail }, ] }, // 재무관리 { path: '/financial-management', name: 'financial', redirect: '/financial-management/salaryList.page', children: [ { path: 'salaryList.page', name: 'salaryList', component: salaryList }, { path: 'employeeSalaryList.page', name: 'employeeSalaryList', component: employeeSalaryList }, { path: 'employeeSalaryDetail.page', name: 'employeeSalaryDetail', component: employeeSalaryDetail }, { path: 'employeeSalaryInsert.page', name: 'employeeSalaryInsert', component: employeeSalaryInsert }, { path: 'ChuljangCostList.page', name: 'ChuljangCostList', component: ChuljangCostList }, { path: 'MeetingCostList.page', name: 'MeetingCostList', component: MeetingCostList }, ] }, // 자산관리 { path: '/asset-management', name: 'asset', redirect: '/asset-management/VhcleList.page', children: [ { path: 'VhcleList.page', name: 'VhcleList', component: VhcleList }, { path: 'VhcleInfoManagement.page', name: 'VhcleInfoManagement', component: VhcleInfoManagement }, { path: 'CardList.page', name: 'CardList', component: CardList }, { path: 'CardInfoManagement.page', name: 'CardInfoManagement', component: CardInfoManagement }, ] }, // 인사관리 { path: '/hrm-management', name: 'hrm', redirect: '/Hrm-management.page/HrmSearch.page', children: [ { path: 'HrmSearch.page', name: 'HrmSearch', component: HrmSearch }, { path: 'HrmManagement.page', name: 'HrmManagement', component: HrmManagement }, { path: 'HrmDetail.page', name: 'HrmDetail', component: HrmDetail }, { path: 'HrmInsert.page', name: 'HrmInsert', component: HrmInsert }, { path: 'TeamManagement.page', name: 'TeamManagement', component: TeamManagement }, ] }, // 시스템관리 { path: '/system-management', name: 'system', redirect: { name: 'AuthorManagementPage' }, children: [ { path: 'AuthorManagement.page', name: 'AuthorManagementPage', component: AuthorManagementComp }, { path: 'MenuAuthorManagement.page', name: 'MenuAuthorManagementPage', component: MenuAuthorManagementComp }, { path: 'CodeManagementList.page', name: 'CodeManagementListPage', component: CodeManagementListComp }, { path: 'CodeManagementInsert.page', name: 'CodeManagementInsertPage', component: CodeManagementInsertComp }, { path: 'CodeManagementView.page', name: 'CodeManagementViewPage', component: CodeManagementViewComp }, ] }, ]; const AppRouter = createRouter({ history: createWebHistory(), routes, }); AppRouter.beforeEach((to, from, next) => { const isLoggedIn = localStorage.getItem('isLoggedIn') === 'true'; if (!isLoggedIn && to.path !== '/login.page') { next('/login.page'); } else if (isLoggedIn && to.path === '/login.page') { next('/'); } else { next(); } }); export default AppRouter;