121 lines
2.6 KiB
JavaScript
121 lines
2.6 KiB
JavaScript
/*
|
|
* @Author: Kane
|
|
* @Date: 2023-02-28 01:22:48
|
|
* @LastEditors: Kane
|
|
* @FilePath: /task_schedule/src/router/index.js
|
|
* @Description:
|
|
*
|
|
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
|
*/
|
|
|
|
import { createRouter, createWebHashHistory } from "vue-router";
|
|
|
|
const routes = [
|
|
{
|
|
path: "/",
|
|
name: "Root",
|
|
redirect: "Login",
|
|
hidden: true,
|
|
},
|
|
{
|
|
path: "/login",
|
|
name: "Login",
|
|
hidden: true,
|
|
component: async () => await import( "@/views/Login.vue" ),
|
|
},
|
|
// 桌面霸屏
|
|
{
|
|
path: "/desktop_archievement",
|
|
name: "DesktopArchievement",
|
|
hidden: true,
|
|
component: async () => await import( "@/views/DesktopArchievement.vue" ),
|
|
},
|
|
// 工作台
|
|
{
|
|
path:"/console",
|
|
name:"Console",
|
|
meta: {
|
|
title: "总览",
|
|
icon: "house",
|
|
},
|
|
component: ()=> import( "../layout/Index.vue" ),
|
|
children:[
|
|
{
|
|
path:"/desktop",
|
|
name:"Desktop",
|
|
meta: {
|
|
title:"工作台",
|
|
icon: "house",
|
|
},
|
|
component: ()=> import( "../views/Desktop.vue" ),
|
|
},
|
|
],
|
|
},
|
|
//数据管理
|
|
{
|
|
path:"/data",
|
|
name:"Data",
|
|
meta:{
|
|
title:"数据管理",
|
|
icon: "document",
|
|
},
|
|
component: ()=> import( "../layout/Index.vue" ),
|
|
children:[
|
|
{
|
|
path:"/staff_data",
|
|
name:"StaffDataManagement",
|
|
meta: {
|
|
title:"坐席管理",
|
|
icon: "user",
|
|
},
|
|
component: ()=> import( "../views/StaffManagement.vue" ),
|
|
},
|
|
{
|
|
path:"/reward_management",
|
|
name:"RewardManagement",
|
|
meta: {
|
|
title:"奖励管理",
|
|
icon: "document",
|
|
},
|
|
component: ()=> import( "../views/RewardManagement.vue" ),
|
|
},
|
|
],
|
|
},
|
|
];
|
|
|
|
const router = createRouter(
|
|
{
|
|
history: createWebHashHistory(),
|
|
routes,
|
|
}
|
|
);
|
|
|
|
// 路由守卫
|
|
// router.beforeEach((to) =>
|
|
// {
|
|
|
|
// });
|
|
|
|
// 工具函数
|
|
function hasOnlyChild( children )
|
|
{
|
|
if ( !children )
|
|
{
|
|
return false;
|
|
}
|
|
|
|
const routes = children.filter(( item )=>
|
|
{
|
|
return !item.hidden;
|
|
});
|
|
|
|
if ( routes.length === 1 )
|
|
{
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
export { router, hasOnlyChild };
|