@@ -42,6 +42,7 @@ | |||
<script setup lang="ts"> | |||
import { ref, computed } from 'vue'; | |||
import { store } from '@/store/index'; | |||
import { router } from '@/router/index'; | |||
const showLoginBox = computed(() => { | |||
return store.state.showLoginBox | |||
@@ -57,7 +58,6 @@ | |||
store.commit('getRoleName', { | |||
roleName: 'company' | |||
}) | |||
sessionStorage.setItem('role', 'company') | |||
sessionStorage.setItem('token', 'admin') | |||
} |
@@ -18,7 +18,6 @@ | |||
import { ref, computed } from 'vue'; | |||
import AFooter from './footer/index.vue'; | |||
import AHeader from './header/aHeader.vue'; | |||
</script> | |||
<style lang="less" scoped> | |||
::-webkit-scrollbar { |
@@ -1,7 +1,7 @@ | |||
<template> | |||
<a-menu mode="horizontal" v-model:openKeys="openSubMenu" @openChange="onOpenChange" | |||
v-model:selectedKeys="selectedMenu" style="background: #0a130d; height: '90vh';color: #fff;"> | |||
<template v-for="(item,index) in LayoutRoute.children"> | |||
<template v-for="(item,index) in menuList"> | |||
<template v-if="!item.children"> | |||
<a-menu-item :key="item.path" @click="onMenu(item.path)"> | |||
<span>{{item.meta.title}}</span> | |||
@@ -29,11 +29,11 @@ | |||
</template> | |||
<script setup lang="ts"> | |||
import { ref, onMounted, computed } from 'vue'; | |||
import { LayoutRoute } from '@/router/routes'; | |||
import { store } from '@/store/index'; | |||
import { useMenu } from '@/hooks/useMenu'; | |||
let { onMenu, routerCur, routerArrayCur, routerArrayParentChildCur } = useMenu(); | |||
let menuList = ref(store.state.permissions.menuList) | |||
console.log(store.state.permissions.menuList) | |||
let selectedMenu = computed(() => { | |||
console.log(131,routerCur()) | |||
let newSelectedMenu = [routerCur()]; |
@@ -1,4 +1,4 @@ | |||
import { createApp } from 'vue'; | |||
import { createApp, watch } from 'vue'; | |||
import './style.css'; | |||
import App from './App.vue'; | |||
import { router } from './router' | |||
@@ -6,32 +6,32 @@ import { store } from './store'; | |||
import Antd from 'ant-design-vue'; | |||
import 'ant-design-vue/dist/reset.css'; | |||
import CommonLeftSider from '@/components/common/left-sider.vue'; | |||
// router.beforeEach((to, from, next) => { | |||
// document.title = `${to.meta.title} - 菊城人才市场后台管理`; | |||
// if (!sessionStorage.getItem('token')) { | |||
// if (to.matched.length > 0 && !to.matched.some(record => record.meta.requiresAuth)) { | |||
// next() | |||
// } else { | |||
// next({ | |||
// path: '/login' | |||
// }) | |||
// } | |||
// } else { | |||
// if (store.state.permissions.permissionList == null) { | |||
// store.dispatch('permissions/FETCH_PERMISSION').then(() => { | |||
// next({ | |||
// path: to.path | |||
// }) | |||
// }) | |||
// } else { | |||
// if (to.path !== '/login') { | |||
// next() | |||
// } else { | |||
// next(from.fullPath) | |||
// } | |||
// } | |||
// } | |||
// }) | |||
import { routesModuleList } from '@/router/dynamic'; | |||
import { routesManageModuleList } from '@/router/manageDynamic'; | |||
router.beforeEach((to, from, next) => { | |||
document.title = `菊城人才市场后台管理`; | |||
if (sessionStorage.getItem('token')) { | |||
if (to.matched.length > 0 && !to.matched.some(record => record.meta.requiresAuth)) { | |||
next() | |||
} else { | |||
next({ | |||
path: '/job/home' | |||
}) | |||
} | |||
} else { | |||
console.log(store.state.permissions.permissionList) | |||
if (store.state.permissions.permissionList == null) { | |||
store.dispatch('permissions/FETCH_PERMISSION').then(() => { | |||
next({ | |||
path: to.path | |||
}) | |||
}) | |||
} else { | |||
next() | |||
} | |||
} | |||
}) | |||
const app = createApp(App); | |||
app.component('common-left-sider', CommonLeftSider); |
@@ -12,7 +12,7 @@ const HomeRoute : AppRouteRecordRaw = { | |||
icon: HomeOutlined | |||
}, | |||
}; | |||
//求职 | |||
const JobRoute : AppRouteRecordRaw = { | |||
path: '/job', | |||
@@ -100,8 +100,8 @@ const AboutRoute : AppRouteRecordRaw = { | |||
}, | |||
}; | |||
// 法律咨询 | |||
const LawRoute : AppRouteRecordRaw = { | |||
path: '/law', | |||
@@ -169,4 +169,106 @@ const NewsRoute : AppRouteRecordRaw = { | |||
}, | |||
}; | |||
export const routesModuleList : AppRouteModule[] = [HomeRoute, JobRoute, AboutRoute, LawRoute, MentorRoute, ExpertRoute, TrainRoute, RelationshipRoute, NewsRoute]; | |||
// 首页 | |||
const ManageHomeRoute : AppRouteRecordRaw = { | |||
path: '/manage/home', | |||
name: 'manageHome', | |||
component: routerList.ManageHome, | |||
meta: { | |||
title: '管理中心首页', | |||
icon: HomeOutlined | |||
}, | |||
}; | |||
// 企业资料 | |||
const ManageBasicRoute : AppRouteRecordRaw = { | |||
path: '/manage/basic', | |||
name: 'basic', | |||
component: routerList.ManageBasic, | |||
meta: { | |||
title: '企业资料', | |||
icon: HomeOutlined | |||
}, | |||
}; | |||
// 企业招聘 | |||
const ManageInviteRoute : AppRouteRecordRaw = { | |||
path: '/manageInvite', | |||
name: 'manageInvite', | |||
component: routerList.ManageInvite, | |||
meta: { | |||
title: '企业招聘', | |||
icon: HomeOutlined | |||
}, | |||
}; | |||
// 简历管理 | |||
const ManageResumeRoute : AppRouteRecordRaw = { | |||
path: '/manageResume', | |||
name: 'resume', | |||
component: routerList.ManageResume, | |||
meta: { | |||
title: '简历管理', | |||
icon: HomeOutlined | |||
}, | |||
}; | |||
// 搜索简历 | |||
const ManageSearchRoute : AppRouteRecordRaw = { | |||
path: '/manageSearch', | |||
name: 'search', | |||
component: routerList.ManageSearch, | |||
meta: { | |||
title: '搜索简历', | |||
icon: HomeOutlined | |||
}, | |||
}; | |||
// 招聘会管理 | |||
const ManageMeetRoute : AppRouteRecordRaw = { | |||
path: '/manageMeet', | |||
name: 'meet', | |||
component: routerList.ManageMeet, | |||
meta: { | |||
title: '招聘会管理', | |||
icon: HomeOutlined | |||
}, | |||
}; | |||
// 消息中心 | |||
const ManageMessageRoute : AppRouteRecordRaw = { | |||
path: '/manageMessage', | |||
name: 'message', | |||
component: routerList.ManageMessage, | |||
meta: { | |||
title: '消息中心', | |||
icon: HomeOutlined | |||
}, | |||
}; | |||
// 用户管理 | |||
const ManageUserRoute : AppRouteRecordRaw = { | |||
path: '/manageUser', | |||
name: 'user', | |||
component: routerList.ManageUser, | |||
meta: { | |||
title: '用户管理', | |||
icon: HomeOutlined | |||
}, | |||
}; | |||
export const routesModuleList : AppRouteModule[] = [HomeRoute, JobRoute, AboutRoute, LawRoute, MentorRoute, ExpertRoute, TrainRoute, RelationshipRoute, NewsRoute, ManageHomeRoute, | |||
ManageBasicRoute, | |||
ManageInviteRoute, | |||
ManageResumeRoute, | |||
ManageSearchRoute, | |||
ManageMeetRoute, | |||
ManageMessageRoute, | |||
ManageUserRoute]; |
@@ -29,7 +29,7 @@ const ManageBasicRoute : AppRouteRecordRaw = { | |||
// 企业招聘 | |||
const ManageInviteRoute : AppRouteRecordRaw = { | |||
path: '/manage/invite', | |||
path: '/manageInvite', | |||
name: 'manageInvite', | |||
component: routerList.ManageInvite, | |||
meta: { | |||
@@ -40,7 +40,7 @@ const ManageInviteRoute : AppRouteRecordRaw = { | |||
// 简历管理 | |||
const ManageResumeRoute : AppRouteRecordRaw = { | |||
path: '/manage/resume', | |||
path: '/manageResume', | |||
name: 'resume', | |||
component: routerList.ManageResume, | |||
meta: { | |||
@@ -52,7 +52,7 @@ const ManageResumeRoute : AppRouteRecordRaw = { | |||
// 搜索简历 | |||
const ManageSearchRoute : AppRouteRecordRaw = { | |||
path: '/manage/search', | |||
path: '/manageSearch', | |||
name: 'search', | |||
component: routerList.ManageSearch, | |||
meta: { | |||
@@ -63,7 +63,7 @@ const ManageSearchRoute : AppRouteRecordRaw = { | |||
// 招聘会管理 | |||
const ManageMeetRoute : AppRouteRecordRaw = { | |||
path: '/manage/meet', | |||
path: '/manageMeet', | |||
name: 'meet', | |||
component: routerList.ManageMeet, | |||
meta: { | |||
@@ -74,7 +74,7 @@ const ManageMeetRoute : AppRouteRecordRaw = { | |||
// 消息中心 | |||
const ManageMessageRoute : AppRouteRecordRaw = { | |||
path: '/manage/message', | |||
path: '/manageMessage', | |||
name: 'message', | |||
component: routerList.ManageMessage, | |||
meta: { | |||
@@ -85,7 +85,7 @@ const ManageMessageRoute : AppRouteRecordRaw = { | |||
// 用户管理 | |||
const ManageUserRoute : AppRouteRecordRaw = { | |||
path: '/manage/user', | |||
path: '/manageUser', | |||
name: 'user', | |||
component: routerList.ManageUser, | |||
meta: { | |||
@@ -94,13 +94,27 @@ const ManageUserRoute : AppRouteRecordRaw = { | |||
}, | |||
}; | |||
const ManageRoute : AppRouteRecordRaw = { | |||
path: '/manage', | |||
name: 'manage', | |||
component: routerList.Job, | |||
meta: { | |||
title: '企业管理', | |||
icon: HomeOutlined | |||
}, | |||
children: [ | |||
ManageHomeRoute, | |||
ManageBasicRoute, | |||
ManageInviteRoute, | |||
ManageResumeRoute, | |||
ManageSearchRoute, | |||
ManageMeetRoute, | |||
ManageMessageRoute, | |||
ManageUserRoute | |||
] | |||
}; | |||
export const routesManageModuleList : AppRouteModule[] = [ | |||
ManageHomeRoute, | |||
ManageBasicRoute, | |||
ManageInviteRoute, | |||
ManageResumeRoute, | |||
ManageSearchRoute, | |||
ManageMeetRoute, | |||
ManageMessageRoute, | |||
ManageUserRoute | |||
ManageRoute | |||
]; |
@@ -35,20 +35,7 @@ export const LayoutRoute : AppRouteRecordRaw = { | |||
} | |||
let roleName = ref<String>(store.state.roleName) | |||
console.log(roleName) | |||
watch(() => roleName, (newVal) => { | |||
if(roleName == newVal) { | |||
LayoutRoute.children = [...routesModuleList]; | |||
LayoutRoute.redirect = '/job/home'; | |||
} else { | |||
LayoutRoute.children = [...routesManageModuleList] | |||
LayoutRoute.redirect = '/manage/home'; | |||
} | |||
}) | |||
console.log(LayoutRoute) | |||
export const basicRoutes = [ | |||
LayoutRoute | |||
] |
@@ -1,7 +1,6 @@ | |||
import { Module } from 'vuex'; | |||
import { useAsRouter } from '@/hooks/useAsRouter'; | |||
import { routesModuleList } from '@/router/dynamic'; | |||
import { routesManageModuleList } from '@/router/manageDynamic'; // 企业管理 | |||
import { LayoutRoute } from '@/router/routes'; | |||
const { routerDynamic, routerAdd, routerInit } = useAsRouter(); | |||
@@ -24,6 +23,7 @@ const mutations = { | |||
state.permissionList = routes | |||
}, | |||
SET_MENU(state, menu) { | |||
console.log(menu) | |||
state.menuList = menu | |||
} | |||
}; | |||
@@ -33,15 +33,22 @@ const actions = { | |||
commit | |||
}) { | |||
try { | |||
if(sessionStorage.getItem('role') == "company") { | |||
LayoutRoute.redirect = '/manage/home' | |||
LayoutRoute.children = routesManageModuleList | |||
routerAdd(LayoutRoute); | |||
} else { | |||
LayoutRoute.children = routesModuleList | |||
routerAdd(LayoutRoute); | |||
} | |||
// let res = await LOGIN.permissions(); | |||
// let arr = res.data.data; | |||
let arr = ['home','job','jobhome','personal' ,'company','homemake','inviteMeet','information','download']; | |||
debugger | |||
let routes = routerDynamic(arr, routesModuleList); | |||
debugger | |||
LayoutRoute.children.push(...routes); | |||
debugger | |||
LayoutRoute.redirect= '/job/home'; | |||
debugger | |||
commit('SET_MENU', LayoutRoute.children); | |||
debugger | |||
console.log(LayoutRoute.children) | |||
routerAdd(LayoutRoute); | |||
let initialRoutes = routerInit(); | |||
commit('SET_PERMISSION', [...initialRoutes]); | |||
} catch { | |||
} |
@@ -32,6 +32,7 @@ | |||
const changeKey = (data) => { | |||
curKey.value = data.key; | |||
} | |||
console.log(1233232) | |||
</script> | |||
<style> |
@@ -57,6 +57,7 @@ | |||
import { ref, computed, onMounted } from 'vue'; | |||
import JobTalents from '@/components/job/talents/index.vue' | |||
let companyList = ref<object[]>([{}, {}, {}, {}, {}, {}]) | |||
console.log(1233232) | |||
</script> | |||
<style> |