Files
cattleTransportation/pc-cattle-transportation/src/router/index.ts
2025-12-08 15:24:43 +08:00

368 lines
11 KiB
TypeScript

import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router';
import LayoutIndex from '@/components/layout/index.vue';
export const constantRoutes: Array<RouteRecordRaw> = [
{
path: '',
redirect: '/login',
},
{
path: '/login',
name: 'Login',
meta: {
title: '登录',
keepAlive: true,
requireAuth: false,
},
component: () => import('~/views/login.vue'),
},
{
path: '/entry',
component: LayoutIndex,
meta: {
title: '入境检疫',
keepAlive: true,
requireAuth: true,
},
children: [
{
path: 'details', // ✅ 修复:使用相对路径
name: 'details',
meta: {
title: '详情',
keepAlive: true,
requireAuth: false,
},
component: () => import('~/views/entry/details.vue'),
},
{
path: 'devices', // ✅ 修复:使用相对路径
name: 'devices',
meta: {
title: '设备管理',
keepAlive: true,
requireAuth: true,
},
component: () => import('~/views/entry/devices.vue'),
},
],
},
// 系统管理路由
{
path: '/system',
component: LayoutIndex,
meta: {
title: '系统管理',
keepAlive: true,
requireAuth: true,
},
children: [
{
path: 'post', // ✅ 修复:使用相对路径
name: 'Post',
meta: {
title: '岗位管理',
keepAlive: true,
requireAuth: true,
},
component: () => import('~/views/system/post.vue'),
},
{
path: 'staff', // ✅ 修复:使用相对路径
name: 'Staff',
meta: {
title: '员工管理',
keepAlive: true,
requireAuth: true,
},
component: () => import('~/views/system/staff.vue'),
},
{
path: 'tenant', // ✅ 修复:使用相对路径
name: 'Tenant',
meta: {
title: '租户管理',
keepAlive: true,
requireAuth: true,
},
component: () => import('~/views/system/tenant.vue'),
},
],
},
// 权限管理路由
{
path: '/permission',
component: LayoutIndex,
meta: {
title: '权限管理',
keepAlive: true,
requireAuth: true,
},
children: [
{
path: 'menu', // ✅ 修复:使用相对路径
name: 'MenuPermission',
meta: {
title: '菜单权限管理',
keepAlive: true,
requireAuth: true,
},
component: () => import('~/views/permission/menuPermission.vue'),
},
{
path: 'operation', // ✅ 修复:使用相对路径
name: 'OperationPermission',
meta: {
title: '操作权限管理',
keepAlive: true,
requireAuth: true,
},
component: () => import('~/views/permission/operationPermission.vue'),
},
],
},
// 智能硬件路由
{
path: '/hardware',
component: LayoutIndex,
meta: {
title: '智能硬件',
keepAlive: true,
requireAuth: true,
},
children: [
{
path: 'collar', // ✅ 修复:使用相对路径
name: 'Collar',
meta: {
title: '智能项圈',
keepAlive: true,
requireAuth: true,
},
component: () => import('~/views/hardware/collar.vue'),
},
{
path: 'eartag', // ✅ 修复:使用相对路径
name: 'Eartag',
meta: {
title: '智能耳标',
keepAlive: true,
requireAuth: true,
},
component: () => import('~/views/hardware/eartag.vue'),
},
{
path: 'host', // ✅ 修复:使用相对路径
name: 'Host',
meta: {
title: '智能主机',
keepAlive: true,
requireAuth: true,
},
component: () => import('~/views/hardware/host.vue'),
},
],
},
// 用户管理路由
{
path: '/userManage',
component: LayoutIndex,
meta: {
title: '用户管理',
keepAlive: true,
requireAuth: true,
},
children: [
{
path: 'user', // ✅ 修复:使用相对路径
name: 'UserManage',
meta: {
title: '用户管理',
keepAlive: true,
requireAuth: true,
},
component: () => import('~/views/userManage/user.vue'),
},
{
path: 'driver', // ✅ 修复:使用相对路径
name: 'DriverManage',
meta: {
title: '司机管理',
keepAlive: true,
requireAuth: true,
},
component: () => import('~/views/userManage/driver.vue'),
},
{
path: 'vehicle', // ✅ 修复:使用相对路径
name: 'VehicleManage',
meta: {
title: '车辆管理',
keepAlive: true,
requireAuth: true,
},
component: () => import('~/views/userManage/vehicle.vue'),
},
],
},
// 早期预警路由
{
path: '/earlywarning',
component: LayoutIndex,
meta: {
title: '早期预警',
keepAlive: true,
requireAuth: true,
},
children: [
{
path: 'earlywarninglist', // ✅ 修复:使用相对路径
name: 'EarlyWarningList',
meta: {
title: '早期预警列表',
keepAlive: true,
requireAuth: true,
},
component: () => import('~/views/earlywarning/list.vue'),
},
],
},
// 运送清单路由
{
path: '/shipping',
component: LayoutIndex,
meta: {
title: '运送清单',
keepAlive: true,
requireAuth: true,
},
children: [
{
path: 'shippinglist', // ✅ 修复:使用相对路径
name: 'ShippingList',
meta: {
title: '运送清单',
keepAlive: true,
requireAuth: true,
},
component: () => import('~/views/entry/attestation.vue'),
},
{
path: 'loadingOrder', // ✅ 修复:使用相对路径
name: 'LoadingOrder',
meta: {
title: '订单信息',
keepAlive: true,
requireAuth: true,
},
component: () => import('~/views/shipping/loadingOrder.vue'),
},
],
},
// 销售概览路由
{
path: '/salesOverview',
component: LayoutIndex,
meta: {
title: '销售概览',
keepAlive: true,
requireAuth: true,
},
children: [
{
path: 'list', // ✅ 修复:使用相对路径
name: 'SalesOverviewList',
meta: {
title: '销售概览',
keepAlive: true,
requireAuth: true,
},
component: () => import('~/views/salesOverview/list.vue'),
},
],
},
// 中转仓管理路由
{
path: '/warehouse',
component: LayoutIndex,
meta: {
title: '中转仓管理',
keepAlive: true,
requireAuth: true,
},
children: [
{
path: 'warehouseList', // ✅ 修复:使用相对路径
name: 'WarehouseList',
meta: {
title: '中转仓管理',
keepAlive: true,
requireAuth: true,
},
component: () => import('~/views/warehouse/warehouse.vue'),
},
{
path: 'warehouseIn', // ✅ 修复:使用相对路径
name: 'WarehouseIn',
meta: {
title: '进仓管理',
keepAlive: true,
requireAuth: true,
},
component: () => import('~/views/warehouse/warehouseIn.vue'),
},
{
path: 'warehouseOut', // ✅ 修复:使用相对路径
name: 'WarehouseOut',
meta: {
title: '出仓管理',
keepAlive: true,
requireAuth: true,
},
component: () => import('~/views/warehouse/warehouseOut.vue'),
},
],
},
{
path: '/datav',
name: 'DataV',
meta: {
title: '数据大屏',
keepAlive: true,
requireAuth: false,
},
component: () => import('~/views/datav/ChinaMapParticle.vue'),
},
];
export const dynamicRoutes = [
{
path: '/menu',
name: 'Menu',
meta: {
title: '首页',
keepAlive: true,
requireAuth: false,
},
component: () => import('~/views/system/menu.vue'),
},
];
const router = createRouter({
history: createWebHistory(),
routes: constantRoutes,
scrollBehavior(to, from, savedPosition) {
// 如果有保存的位置(浏览器前进/后退),使用保存的位置
if (savedPosition) {
return savedPosition;
}
// 否则滚动到顶部
return { top: 0 };
},
});
export default router;