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