ZengTao
2025-03-28 f68d3c71819feb59e7a227a5d992b059b900916c
UI-Project/src/router/index.js
@@ -1,4 +1,4 @@
import {createRouter, createWebHashHistory} from 'vue-router'
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'
@@ -19,185 +19,185 @@
    },
    {
      path: '/new-page', // 新增的无需登录的页面  
      name: 'newPage',
      name: 'newPage',
      component: () => import('../views/NewPage.vue')
    },
    {
      path: '/main',
      name: 'main',
      component: () => import('../layout/MainErpView.vue'),
      children:[
      children: [
        {
          path: 'Temperedlayout',
          name: 'Temperedlayout',
          component: () => import('../views/TL/Temperedlayout/Temperedlayout.vue'),
          children:[
          children: [
            {
             path: 'selectLayout',
              path: 'selectLayout',
              name: 'selectLayout',
              component: () => import('../views/TL/Temperedlayout/Temperedlayout.vue'),
            }
         ]
          ]
        },
/*----------- 用户列表 ----------------*/
// {
//   path: 'User',
//   name: 'User',
//   component: () => import('../views/User/userlist.vue'),
//   children:[
//     {
//       path: '/User/userlist',
//       name: 'userlist',
//       component: () => import('../views/User/userlist.vue')
//     },
//   ]
//   },
/*----------- 权限列表 ----------------*/
// {
//   path: 'Permissions',
//   name: 'Permissions',
//   component: () => import('../views/Permissions/permissionslist.vue'),
//   children:[
//     {
//       path: '/Permissions/permissionslist',
//       name: 'permissionslist',
//       component: () => import('../views/Permissions/permissionslist.vue')
//     },
//   ]
//   },
        /*----------- 用户列表 ----------------*/
        // {
        //   path: 'User',
        //   name: 'User',
        //   component: () => import('../views/User/userlist.vue'),
        //   children:[
        //     {
        //       path: '/User/userlist',
        //       name: 'userlist',
        //       component: () => import('../views/User/userlist.vue')
        //     },
        //   ]
        //   },
        /*----------- 权限列表 ----------------*/
        // {
        //   path: 'Permissions',
        //   name: 'Permissions',
        //   component: () => import('../views/Permissions/permissionslist.vue'),
        //   children:[
        //     {
        //       path: '/Permissions/permissionslist',
        //       name: 'permissionslist',
        //       component: () => import('../views/Permissions/permissionslist.vue')
        //     },
        //   ]
        //   },
        /*----------- 上片机 ----------------*/
      {
        path: 'Returns',
        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')
          },
          {
            path: '/Returns/upreturns2',
            name: 'upreturns2',
            component: () => import('../views/Returns/upreturns2.vue')
          },
        ]
      },
      /*----------- 掰片/识别 ----------------*/
    {
      path: 'Identify',
      name: 'ident',
      component: () => import('../views/Identify/ident.vue'),
      children: [
        {
          path: '/Identify/identify',
          name: 'identify',
          component: () => import('../views/Identify/identify.vue')
          path: 'Returns',
          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')
            },
            {
              path: '/Returns/upreturns2',
              name: 'upreturns2',
              component: () => import('../views/Returns/upreturns2.vue')
            },
          ]
        },
        /*----------- 掰片/识别 ----------------*/
        {
          path: '/Identify/identifwu',
          name: 'identifwu',
          component: () => import('../views/Identify/identifwu.vue')
          path: 'Identify',
          name: 'ident',
          component: () => import('../views/Identify/ident.vue'),
          children: [
            {
              path: '/Identify/identify',
              name: 'identify',
              component: () => import('../views/Identify/identify.vue')
            },
            {
              path: '/Identify/identifwu',
              name: 'identifwu',
              component: () => import('../views/Identify/identifwu.vue')
            },
          ]
        },
      ]
    },
    /*----------- 卧式缓存 ----------------*/
  {
    path: 'Caching',
    name: 'Caching',
    component: () => import('../views/Caching/caching.vue'),
    children:[
      {
        path: '/Caching/cachingbefore',
        name: 'cachingbefore',
        component: () => import('../views/Caching/cachingbefore.vue')
      },
      {
        path: '/Caching/cachingun',
        name: 'cachingun',
        component: () => import('../views/Caching/cachingun.vue')
      },
      {
        path: '/Caching/cachingyiwu',
        name: 'cachingyiwu',
        component: () => import('../views/Caching/cachingyiwu.vue')
      },
    ]
  },
  /*----------- 磨边(冷加工) ----------------*/
{
  path: 'StockBasicData',
  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')
    },
    {
      path: '/StockBasicData/stockBasicyiwu',
      name: 'stockBasicyiwu',
      component: () => import('../views/StockBasicData/stockBasicyiwu.vue')
    },
  ]
},
/*----------- 大理片笼 ----------------*/
{
path: 'Slicecage',
name: 'Slicecage',
component: () => import('../views/Slicecage/slicecage.vue'),
children:[
  {
    path: '/Slicecage/slicecage',
    name: 'slicecage',
    component: () => import('../views/Slicecage/slicecage.vue')
  },
]
},
/*----------- 钢化 ----------------*/
{
path: 'PurchaseReturn',
name: 'purchase',
component: () => import('../views/PurchaseReturn/purchase.vue'),
children:[
  {
    path: '/PurchaseReturn/purchaseReturn',
    name: 'purchaseReturn',
    component: () => import('../views/PurchaseReturn/purchaseReturn.vue')
  },
  {
    path: '/PurchaseReturn/purchaseStorage',
    name: 'purchaseStorage',
    component: () => import('../views/PurchaseReturn/purchaseStorage.vue')
  },
  {
    path: '/PurchaseReturn/purchaseprint',
    name: 'purchaseprint',
    component: () => import('../views/PurchaseReturn/purchaseprint.vue')
  },
]
},
          /*----------- 下片台 ----------------*/
        /*----------- 卧式缓存 ----------------*/
        {
          path: 'Caching',
          name: 'Caching',
          component: () => import('../views/Caching/caching.vue'),
          children: [
            {
              path: '/Caching/cachingbefore',
              name: 'cachingbefore',
              component: () => import('../views/Caching/cachingbefore.vue')
            },
            {
              path: '/Caching/cachingun',
              name: 'cachingun',
              component: () => import('../views/Caching/cachingun.vue')
            },
            {
              path: '/Caching/cachingyiwu',
              name: 'cachingyiwu',
              component: () => import('../views/Caching/cachingyiwu.vue')
            },
          ]
        },
        /*----------- 磨边(冷加工) ----------------*/
        {
          path: 'StockBasicData',
          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')
            },
            {
              path: '/StockBasicData/stockBasicyiwu',
              name: 'stockBasicyiwu',
              component: () => import('../views/StockBasicData/stockBasicyiwu.vue')
            },
          ]
        },
        /*----------- 大理片笼 ----------------*/
        {
          path: 'Slicecage',
          name: 'Slicecage',
          component: () => import('../views/Slicecage/slicecage.vue'),
          children: [
            {
              path: '/Slicecage/slicecage',
              name: 'slicecage',
              component: () => import('../views/Slicecage/slicecage.vue')
            },
          ]
        },
        /*----------- 钢化 ----------------*/
        {
          path: 'PurchaseReturn',
          name: 'purchase',
          component: () => import('../views/PurchaseReturn/purchase.vue'),
          children: [
            {
              path: '/PurchaseReturn/purchaseReturn',
              name: 'purchaseReturn',
              component: () => import('../views/PurchaseReturn/purchaseReturn.vue')
            },
            {
              path: '/PurchaseReturn/purchaseStorage',
              name: 'purchaseStorage',
              component: () => import('../views/PurchaseReturn/purchaseStorage.vue')
            },
            {
              path: '/PurchaseReturn/purchaseprint',
              name: 'purchaseprint',
              component: () => import('../views/PurchaseReturn/purchaseprint.vue')
            },
          ]
        },
        /*----------- 下片台 ----------------*/
        {
          path: 'UnLoadGlass',
          name: 'UnLoadGlass',
          component: () => import('../views/UnLoadGlass/UnLoadGlass.vue'),
          children:[
          children: [
            {
              path: '/UnLoadGlass/loadmachinerack',
              name: 'loadmachinerack',
@@ -220,12 +220,12 @@
            }
          ]
        },
         /*----------- 仓储中心 ----------------*/
         {
        /*----------- 仓储中心 ----------------*/
        {
          path: 'GlassStorage',
          name: 'GlassStorage',
          component: () => import('../views/GlassStorage/GlassStorage.vue'),
          children:[
          children: [
            {
              path: '/GlassStorage/MaterialRackManagement',
              name: 'MaterialRackManagement',
@@ -238,13 +238,13 @@
            }
          ]
        },
         /*----------- 可视化系统 ----------------*/
         {
        /*----------- 可视化系统 ----------------*/
        {
          path: 'Visualization',
          name: 'screen',
          component: () => import('../views/Visualization/screen.vue'),
          children:[
          children: [
            {
              path: '/Visualization/screenone',
              name: 'screenone',
@@ -261,69 +261,108 @@
              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: 'reportManage',
    name: 'reportManage',
    component: () => import('../views/Reportmanage/reportmanage.vue'),
    children: [
      {
        path: '/Reportmanage/reportmanage',
        name: 'reportManage',
        component: () => import('../views/Reportmanage/reportmanage.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: 'reportBigFeed',
          name: 'reportBigFeed',
          component: () => import('../views/Reportmanage/reportBigFeed.vue'),
          children: [
            {
              path: '/Reportmanage/reportBigFeed',
              name: 'reportBigFeed',
              component: () => import('../views/Reportmanage/reportBigFeed.vue')
            },
          ]
        },
        /*----------- 大理片出片报表 ----------------*/
        {
          path: 'reportBigOut',
          name: 'reportBigOut',
          component: () => import('../views/Reportmanage/reportBigOut.vue'),
          children: [
            {
              path: '/Reportmanage/reportBigOut',
              name: 'reportBigOut',
              component: () => import('../views/Reportmanage/reportBigOut.vue')
            },
          ]
        },
        /*----------- 磨边卧理片报表 ----------------*/
        {
          path: 'reportEdgCache',
          name: 'reportEdgCache',
          component: () => import('../views/Reportmanage/reportEdgCache.vue'),
          children: [
            {
              path: '/Reportmanage/reportEdgCache',
              name: 'reportEdgCache',
              component: () => import('../views/Reportmanage/reportEdgCache.vue')
            },
          ]
        },
        /*----------- 下片卧理片报表 ----------------*/
        {
          path: 'reportDownCache',
          name: 'reportDownCache',
          component: () => import('../views/Reportmanage/reportDownCache.vue'),
          children: [
            {
              path: '/Reportmanage/reportDownCache',
              name: 'reportDownCache',
              component: () => import('../views/Reportmanage/reportDownCache.vue')
            },
          ]
        },
        /*----------- 中空 ----------------*/
        {
@@ -372,17 +411,17 @@
      name: 'register',
      component: () => import('../views/RegisterView.vue')
    }
  ]
})
// 导航守卫  
router.beforeEach((to, from, next) => {
router.beforeEach((to, from, next) => {
  const isAuthenticated = !!localStorage.getItem('authToken'); // 假设这是你的登录状态检查逻辑  
  if (to.matched.some(record => record.meta.requiresAuth) && !isAuthenticated) {
  if (to.matched.some(record => record.meta.requiresAuth) && !isAuthenticated) {
    next({ name: 'login' }); // 如果需要登录但未登录,则重定向到登录页面  
  } else {
  } else {
    next(); // 否则继续导航  
  }
});
  }
});
export default router