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 Main2 from '../pages/main/Main2.vue'; // import HomeView from "../pages/HomeView.vue"; // import AboutView from "../pages/AboutView.vue"; // 직원 import ChuljangList from '../pages/Employee/ChuljangList.vue'; import HyugaList from '../pages/Employee/HyugaList.vue'; import HyugaOk from '../pages/Employee/HyugaOk.vue'; // 관리자 import approval from '../pages/Manager/approval/approval.vue'; import approvalList from '../pages/Manager/approval/approvalList.vue'; import approvalRequest from '../pages/Manager/approval/approvalRequest.vue'; import HyugaInsert from '../pages/Manager/approval/HyugaInsert.vue'; import HyugaDetail from '../pages/Manager/approval/HyugaDetail.vue'; import ChuljangInsert from '../pages/Manager/approval/ChuljangInsert.vue'; import ChuljangDetail from '../pages/Manager/approval/ChuljangDetail.vue'; import ChuljangPumui from '../pages/Manager/approval/ChuljangPumui.vue'; import ChuljangPumuiDetail from '../pages/Manager/attendance/ChuljangPumuiDetail.vue'; import ChuljangBokmyeong from '../pages/Manager/approval/ChuljangBokmyeong.vue'; import ChuljangBokmyeongDetail from '../pages/Manager/attendance/ChuljangBokmyeongDetail.vue'; import ChuljangDetailAll from '../pages/Manager/attendance/ChuljangDetailAll.vue'; import attendance from '../pages/Manager/attendance/attendance.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 ChuljangStatue from '../pages/Manager/attendance/ChuljangStatue.vue'; import task from '../pages/Manager/task/task.vue'; import financial from '../pages/Manager/financial/financial.vue'; import asset from '../pages/Manager/asset/asset.vue'; import hr from '../pages/Manager/hr/hr.vue'; import system from '../pages/Manager/system/system.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: '/ChuljangList.page', name: 'ChuljangList', component: ChuljangList }, { path: '/HyugaList.page', name: 'HyugaList', component: HyugaList }, { path: '/HyugaOk.page', name: 'HyugaOk', component: HyugaOk }, { path: '/approval-management.page', name: 'approval', component: approval, children: [ { path: '/approvalRequest.page', // => /approval-management.page/list name: 'approvalRequest', component: approvalRequest, children: [ ] }, { path: '/approvalList.page', // => /approval-management.page/detail/123 name: 'approvalList', component: approvalList }, { path: '/ChuljangPumui.page', name: 'ChuljangPumui', component: ChuljangPumui }, { path: '/ChuljangBokmyeong.page', name: 'ChuljangBokmyeong', component: ChuljangBokmyeong }, ] }, //결재관리 { path: '/attendance-management.page', name: 'attendance', component: attendance, 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: '/ChuljangStatue.page', name: 'ChuljangStatue', component: ChuljangStatue }, { path: '/ChuljangDetail.page', name: 'ChuljangDetail', component: ChuljangDetail }, { path: '/ChuljangInsert.page', name: 'ChuljangInsert', component: ChuljangInsert }, { path: '/ChuljangPumuiDetail.page', name: 'ChuljangPumuiDetail', component: ChuljangPumuiDetail }, { path: '/ChuljangBokmyeongDetail.page', name: 'ChuljangBokmyeongDetail', component: ChuljangBokmyeongDetail }, { path: '/ChuljangDetailAll.page', name: 'ChuljangDetailAll', component: ChuljangDetailAll }, ] }, //근태관리 { path: '/task-management.page', name: 'task', component: task }, //업무관리 { path: '/financial-management.page', name: 'financial', component: financial }, //재무관리 { path: '/asset-management.page', name: 'asset', component: asset }, //자산관리 { path: '/hr-management.page', name: 'hr', component: hr }, //인사관리 { path: '/system-management.page', name: 'system', component: system }, //시스템관리 ]; const AppRouter = createRouter({ history: createWebHistory(), routes, }); // Add navigation guard AppRouter.beforeEach((to, from, next) => { // Check login status const isLoggedIn = localStorage.getItem('isLoggedIn') === 'true'; // If not logged in and trying to access any page other than login, redirect to login page if (!isLoggedIn && to.path !== '/login.page') { next('/login.page'); } // If logged in and trying to access login page, redirect to main page else if (isLoggedIn && to.path === '/login.page') { next('/'); } else { next(); // Proceed to requested route } }); export default AppRouter;