
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
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;