wangfei
2024-10-12 928eb04bd1de73d63bf55bbeff6b9645c9516124
UI-Project/src/router/index.js
@@ -1,5 +1,8 @@
import {createRouter, createWebHashHistory} from 'vue-router'
// import i18n from '@/utils/lang'
// import User from '../views/sys/User.vue'
// import Role from '../views/sys/Role.vue'
// import Menu from '../views/sys/Menu.vue'
const router = createRouter({
  history: createWebHashHistory(),
  routes: [
@@ -13,6 +16,11 @@
      path: '/login',
      name: 'login',
      component: () => import('../views/LoginView.vue')
    },
    {
      path: '/new-page', // 新增的无需登录的页面
      name: 'newPage',
      component: () => import('../views/NewPage.vue')
    },
    {
      path: '/main',
@@ -64,13 +72,18 @@
        /*----------- 上片机 ----------------*/
      {
        path: 'Returns',
        name: 'Returns',
        component: () => import('../views/Returns/returns.vue'),
        name: 'return',
        component: () => import('../views/Returns/return.vue'),
        children:[
          {
            path: '/Returns/returns',
            name: 'returns',
            component: () => import('../views/Returns/returns.vue')
          },
          {
            path: '/Returns/upreturns',
            name: 'upreturns',
            component: () => import('../views/Returns/upreturns.vue')
          },
        ]
      },
@@ -108,13 +121,18 @@
  /*----------- 磨边(冷加工) ----------------*/
{
  path: 'StockBasicData',
  name: 'StockBasicData',
  component: () => import('../views/StockBasicData/stockBasicData.vue'),
  name: 'Select',
  component: () => import('../views/StockBasicData/Select.vue'),
  children:[
    {
      path: '/StockBasicData/stockBasicData',
      name: 'stockBasicData',
      component: () => import('../views/StockBasicData/stockBasicData.vue')
    },
    {
      path: '/StockBasicData/stockBasicDatatwo',
      name: 'stockBasicDatatwo',
      component: () => import('../views/StockBasicData/stockBasicDatatwo.vue')
    },
  ]
},
@@ -177,6 +195,24 @@
            }
          ]
        },
         /*----------- 仓储中心 ----------------*/
         {
          path: 'GlassStorage',
          name: 'GlassStorage',
          component: () => import('../views/GlassStorage/GlassStorage.vue'),
          children:[
            {
              path: '/GlassStorage/MaterialRackManagement',
              name: 'MaterialRackManagement',
              component: () => import('../views/GlassStorage/MaterialRackManagement.vue')
            },
            {
              path: '/GlassStorage/rawfilmstorage',
              name: 'rawfilmstorage',
              component: () => import('../views/GlassStorage/rawfilmstorage.vue')
            }
          ]
        },
         /*----------- 可视化系统 ----------------*/
         {
@@ -200,10 +236,82 @@
              component: () => import('../views/Visualization/screenthree.vue')
            }
          ]
         },
/*----------- 系统管理 ----------------*/
{
  path: 'User',
  name: 'user',
  component: () => import('../views/User/user.vue'),
  children:[
    {
      path: '/User/userlist',
      name: 'userlist',
      component: () => import('../views/User/userlist.vue')
    },
    {
      path: '/User/rolelist',
      name: 'rolelist',
      component: () => import('../views/User/rolelist.vue')
    },
    {
      path: '/User/permissions',
      name: 'permissions',
      component: () => import('../views/User/permissions.vue')
    }
  ]
 },
  /*----------- 大屏显示 ----------------*/
  {
    path: 'largescreen',
    name: 'largescreen',
    component: () => import('../views/largescreen/largescreen.vue'),
    children:[
      {
        path: '/largescreen/largescreen',
        name: 'largescreen',
        component: () => import('../views/largescreen/largescreen.vue')
      },
    ]
  },
  /*----------- 报工管理 ----------------*/
  {
    path: 'reportWork',
    name: 'reportWork',
    component: () => import('../views/ReportWork/reportWork.vue'),
    children:[
      {
        path: '/ReportWork/reportWork',
        name: 'reportWork',
        component: () => import('../views/ReportWork/reportWork.vue')
      },
    ]
  },
        /*----------- 管理系统 ----------------*/
        {
          path: 'sys',
          name: 'screen',
          component: () => import('../views/Visualization/screen.vue'),
          children: [
            // {
            //   path: '/sys/users',
            //   name: 'SysUser',
            //   component: User
            // },
            // {
            //   path: '/sys/roles',
            //   name: 'SysRole',
            //   component: Role
            // },
            // {
            //   path: '/sys/menus',
            //   name: 'SysMenu',
            //   component: Menu
            // },
          ]
        },
        {
          path: '',
          redirect:'/Slicecage/slicecage'
          redirect: '/Returns/returns'
        }
      ]
    },
@@ -216,4 +324,13 @@
  ]
})
// 导航守卫
router.beforeEach((to, from, next) => {
  const isAuthenticated = !!localStorage.getItem('authToken'); // 假设这是你的登录状态检查逻辑
  if (to.matched.some(record => record.meta.requiresAuth) && !isAuthenticated) {
    next({ name: 'login' }); // 如果需要登录但未登录,则重定向到登录页面
  } else {
    next(); // 否则继续导航
  }
});
export default router