Kaynağa Gözat

commit

master
Soleilw 1 yıl önce
ebeveyn
işleme
51505bbf0e

+ 1
- 1
src/components/job/swiper/index.vue Dosyayı Görüntüle

<script setup lang="ts"> <script setup lang="ts">
import { ref, computed } from 'vue'; import { ref, computed } from 'vue';
import { store } from '@/store/index'; import { store } from '@/store/index';
import { router } from '@/router/index';
const showLoginBox = computed(() => { const showLoginBox = computed(() => {
return store.state.showLoginBox return store.state.showLoginBox
store.commit('getRoleName', { store.commit('getRoleName', {
roleName: 'company' roleName: 'company'
}) })
sessionStorage.setItem('role', 'company') sessionStorage.setItem('role', 'company')
sessionStorage.setItem('token', 'admin') sessionStorage.setItem('token', 'admin')
} }

+ 0
- 1
src/components/layout/index.vue Dosyayı Görüntüle

import { ref, computed } from 'vue'; import { ref, computed } from 'vue';
import AFooter from './footer/index.vue'; import AFooter from './footer/index.vue';
import AHeader from './header/aHeader.vue'; import AHeader from './header/aHeader.vue';
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
::-webkit-scrollbar { ::-webkit-scrollbar {

+ 3
- 3
src/components/layout/menu/aMenu.vue Dosyayı Görüntüle

<template> <template>
<a-menu mode="horizontal" v-model:openKeys="openSubMenu" @openChange="onOpenChange" <a-menu mode="horizontal" v-model:openKeys="openSubMenu" @openChange="onOpenChange"
v-model:selectedKeys="selectedMenu" style="background: #0a130d; height: '90vh';color: #fff;"> 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"> <template v-if="!item.children">
<a-menu-item :key="item.path" @click="onMenu(item.path)"> <a-menu-item :key="item.path" @click="onMenu(item.path)">
<span>{{item.meta.title}}</span> <span>{{item.meta.title}}</span>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref, onMounted, computed } from 'vue'; import { ref, onMounted, computed } from 'vue';
import { LayoutRoute } from '@/router/routes';
import { store } from '@/store/index'; import { store } from '@/store/index';
import { useMenu } from '@/hooks/useMenu'; import { useMenu } from '@/hooks/useMenu';
let { onMenu, routerCur, routerArrayCur, routerArrayParentChildCur } = useMenu(); let { onMenu, routerCur, routerArrayCur, routerArrayParentChildCur } = useMenu();
let menuList = ref(store.state.permissions.menuList)
console.log(store.state.permissions.menuList)
let selectedMenu = computed(() => { let selectedMenu = computed(() => {
console.log(131,routerCur()) console.log(131,routerCur())
let newSelectedMenu = [routerCur()]; let newSelectedMenu = [routerCur()];

+ 27
- 27
src/main.ts Dosyayı Görüntüle

import { createApp } from 'vue';
import { createApp, watch } from 'vue';
import './style.css'; import './style.css';
import App from './App.vue'; import App from './App.vue';
import { router } from './router' import { router } from './router'
import Antd from 'ant-design-vue'; import Antd from 'ant-design-vue';
import 'ant-design-vue/dist/reset.css'; import 'ant-design-vue/dist/reset.css';
import CommonLeftSider from '@/components/common/left-sider.vue'; 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); const app = createApp(App);
app.component('common-left-sider', CommonLeftSider); app.component('common-left-sider', CommonLeftSider);

+ 106
- 4
src/router/dynamic.ts Dosyayı Görüntüle

icon: HomeOutlined icon: HomeOutlined
}, },
}; };
//求职 //求职
const JobRoute : AppRouteRecordRaw = { const JobRoute : AppRouteRecordRaw = {
path: '/job', path: '/job',
}, },
}; };


// 法律咨询 // 法律咨询
const LawRoute : AppRouteRecordRaw = { const LawRoute : AppRouteRecordRaw = {
path: '/law', path: '/law',
}, },
}; };


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];

+ 28
- 14
src/router/manageDynamic.ts Dosyayı Görüntüle



// 企业招聘 // 企业招聘
const ManageInviteRoute : AppRouteRecordRaw = { const ManageInviteRoute : AppRouteRecordRaw = {
path: '/manage/invite',
path: '/manageInvite',
name: 'manageInvite', name: 'manageInvite',
component: routerList.ManageInvite, component: routerList.ManageInvite,
meta: { meta: {


// 简历管理 // 简历管理
const ManageResumeRoute : AppRouteRecordRaw = { const ManageResumeRoute : AppRouteRecordRaw = {
path: '/manage/resume',
path: '/manageResume',
name: 'resume', name: 'resume',
component: routerList.ManageResume, component: routerList.ManageResume,
meta: { meta: {


// 搜索简历 // 搜索简历
const ManageSearchRoute : AppRouteRecordRaw = { const ManageSearchRoute : AppRouteRecordRaw = {
path: '/manage/search',
path: '/manageSearch',
name: 'search', name: 'search',
component: routerList.ManageSearch, component: routerList.ManageSearch,
meta: { meta: {


// 招聘会管理 // 招聘会管理
const ManageMeetRoute : AppRouteRecordRaw = { const ManageMeetRoute : AppRouteRecordRaw = {
path: '/manage/meet',
path: '/manageMeet',
name: 'meet', name: 'meet',
component: routerList.ManageMeet, component: routerList.ManageMeet,
meta: { meta: {


// 消息中心 // 消息中心
const ManageMessageRoute : AppRouteRecordRaw = { const ManageMessageRoute : AppRouteRecordRaw = {
path: '/manage/message',
path: '/manageMessage',
name: 'message', name: 'message',
component: routerList.ManageMessage, component: routerList.ManageMessage,
meta: { meta: {


// 用户管理 // 用户管理
const ManageUserRoute : AppRouteRecordRaw = { const ManageUserRoute : AppRouteRecordRaw = {
path: '/manage/user',
path: '/manageUser',
name: 'user', name: 'user',
component: routerList.ManageUser, component: routerList.ManageUser,
meta: { meta: {
}, },
}; };


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[] = [ export const routesManageModuleList : AppRouteModule[] = [
ManageHomeRoute,
ManageBasicRoute,
ManageInviteRoute,
ManageResumeRoute,
ManageSearchRoute,
ManageMeetRoute,
ManageMessageRoute,
ManageUserRoute
ManageRoute
]; ];

+ 0
- 13
src/router/routes.ts Dosyayı Görüntüle



} }


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 = [ export const basicRoutes = [
LayoutRoute LayoutRoute
] ]

+ 17
- 10
src/store/usePermissionStore.ts Dosyayı Görüntüle

import { Module } from 'vuex'; import { Module } from 'vuex';
import { useAsRouter } from '@/hooks/useAsRouter'; import { useAsRouter } from '@/hooks/useAsRouter';
import { routesModuleList } from '@/router/dynamic'; import { routesModuleList } from '@/router/dynamic';
import { routesManageModuleList } from '@/router/manageDynamic'; // 企业管理
import { LayoutRoute } from '@/router/routes'; import { LayoutRoute } from '@/router/routes';


const { routerDynamic, routerAdd, routerInit } = useAsRouter(); const { routerDynamic, routerAdd, routerInit } = useAsRouter();
state.permissionList = routes state.permissionList = routes
}, },
SET_MENU(state, menu) { SET_MENU(state, menu) {
console.log(menu)
state.menuList = menu state.menuList = menu
} }
}; };
commit commit
}) { }) {
try { 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 { } catch {


} }

+ 1
- 0
src/views/manage/basic/index.vue Dosyayı Görüntüle

const changeKey = (data) => { const changeKey = (data) => {
curKey.value = data.key; curKey.value = data.key;
} }
console.log(1233232)
</script> </script>


<style> <style>

+ 1
- 0
src/views/manage/home/index.vue Dosyayı Görüntüle

import { ref, computed, onMounted } from 'vue'; import { ref, computed, onMounted } from 'vue';
import JobTalents from '@/components/job/talents/index.vue' import JobTalents from '@/components/job/talents/index.vue'
let companyList = ref<object[]>([{}, {}, {}, {}, {}, {}]) let companyList = ref<object[]>([{}, {}, {}, {}, {}, {}])
console.log(1233232)
</script> </script>


<style> <style>

Loading…
İptal
Kaydet