Zlpt_Portal/src/router/index.ts

726 lines
23 KiB
TypeScript
Raw Normal View History

2024-11-26 09:11:25 +08:00
import { createRouter, RouteRecordRaw, createWebHistory } from 'vue-router'
2023-11-30 10:49:45 +08:00
import test from './module/test'
import myInfo from './module/myInfo'
2023-12-04 13:10:38 +08:00
2023-12-10 01:43:50 +08:00
import { mainStore } from 'store/main'
2023-12-04 13:10:38 +08:00
2023-11-30 10:49:45 +08:00
const routes: Array<RouteRecordRaw> = [
{
path: '/index',
name: 'index',
component: () => import('views/Index.vue'),
meta: {
title: '目录页',
keepAlive: true,
AuthFlag: false
}
},
2023-12-09 17:00:58 +08:00
/* 登录页 */
2023-12-04 09:12:38 +08:00
{
path: '/login',
name: 'login',
component: () => import('views/Login.vue'),
meta: {
title: '登录页',
keepAlive: true,
AuthFlag: false
}
},
2023-12-09 17:00:58 +08:00
/* 注册页 */
{
path: '/register',
name: 'register',
component: () => import('views/register.vue'),
meta: {
title: '注册页',
keepAlive: true,
2023-12-10 15:45:09 +08:00
AuthFlag: true,
2023-12-09 17:00:58 +08:00
}
},
2023-11-30 10:49:45 +08:00
{
path: '/test', // 主路由地址
name: 'testIndex',
component: () => import('views/test/Index.vue'), // 组件加载
meta: {
title: '测试',
keepAlive: true,
AuthFlag: false
},
children: [...test]
},
{
path: '/myInfo', // 主路由地址
name: 'myInfo',
component: () => import('views/myInfo/Index.vue'), // 组件加载
meta: {
title: '我的',
keepAlive: true,
AuthFlag: false
},
children: [...myInfo]
2023-12-01 11:22:09 +08:00
},
2023-12-01 14:48:58 +08:00
2023-12-02 14:18:00 +08:00
2023-12-04 09:12:38 +08:00
// 首页
2023-12-01 11:22:09 +08:00
{
2023-12-04 09:12:38 +08:00
path: '/',
component: () => import('views/AppMain.vue'),
2023-12-09 17:00:58 +08:00
redirect: '/home',
2023-12-01 11:22:09 +08:00
meta: {
2023-12-04 09:12:38 +08:00
title: '首页',
2024-11-23 16:31:54 +08:00
keepAlive: false,
2023-12-01 11:22:09 +08:00
AuthFlag: false
},
2023-12-04 09:12:38 +08:00
2023-12-01 11:22:09 +08:00
children: [
2023-12-04 09:12:38 +08:00
// 首页
2023-12-01 11:22:09 +08:00
{
2023-12-04 09:12:38 +08:00
path: 'home',
name: 'home',
component: () => import('views/home/index.vue'),
2023-12-01 11:22:09 +08:00
meta: {
2023-12-04 09:12:38 +08:00
title: '首页',
keepAlive: true,
AuthFlag: false,
activeName: 'home',
2023-12-01 11:22:09 +08:00
},
},
2023-12-04 09:12:38 +08:00
// 自选直租
2023-12-01 11:22:09 +08:00
{
2023-12-04 10:19:21 +08:00
path: '/equipList',
name: 'equipList',
2023-12-08 17:38:59 +08:00
component: () => import('views/equip/list.vue'),
2023-12-04 10:19:21 +08:00
meta: {
2024-11-26 15:38:36 +08:00
title: '装备共享大厅',
activeName: 'equipList',
2023-12-04 10:19:21 +08:00
}
},
//装备详情
{
2024-12-01 16:21:35 +08:00
path: '/equipDetail',
2023-12-04 10:19:21 +08:00
name: 'equipDetail',
component: () => import('views/equip/detail.vue'),
meta: {
2024-12-03 16:00:10 +08:00
title: '装备详情',
2024-11-23 16:31:54 +08:00
keepAlive: false,
AuthFlag: false,
2023-12-04 10:19:21 +08:00
}
2023-12-01 11:22:09 +08:00
},
2023-12-04 09:12:38 +08:00
// 资讯详情
2023-12-01 11:22:09 +08:00
{
2023-12-09 15:37:20 +08:00
path: '/consultationDetails/:id',
2023-12-04 09:12:38 +08:00
name: 'consultationDetails',
component: () => (import('views/consultationDetails/index.vue'))
2023-12-01 11:22:09 +08:00
},
2023-12-04 09:12:38 +08:00
// 收藏夹页面
2023-12-01 11:22:09 +08:00
{
2023-12-04 09:12:38 +08:00
path: '/collect',
name: 'collect',
2023-12-09 18:34:56 +08:00
meta: {
2023-12-10 01:43:50 +08:00
title: '我的收藏',
isLogin: true
2023-12-09 18:34:56 +08:00
},
2023-12-04 09:12:38 +08:00
component: () => import('views/collect/index.vue')
2023-12-01 11:22:09 +08:00
},
2023-12-12 09:23:09 +08:00
// 寻源比价页面
{
path: '/parity',
name: 'parity',
meta: {
2024-11-28 15:11:08 +08:00
title: '租赁需求大厅',
2023-12-12 09:23:09 +08:00
isLogin: true,
AuthFlag: false,
activeName: 'parity',
2023-12-12 09:23:09 +08:00
},
2024-11-28 15:11:08 +08:00
// redirect: '/parity/hall',
component: () => import('views/parity/index.vue'),
children: [
{
path: 'hall',
name: 'hall',
meta: {
2024-11-28 15:11:08 +08:00
title: '租赁需求大厅',
isLogin: true,
AuthFlag: false,
activeName: 'parity',
},
component: () => import('views/parity/parityCom/hall.vue'),
},
{
path: 'notice',
name: 'notice',
meta: {
title: '寻源结果公示公告',
isLogin: true,
AuthFlag: false,
activeName: 'parity',
},
component: () => import('views/parity/parityCom/notice.vue'),
}
]
},
// 寻源比价 (报价)
{
path: '/quotation',
name: 'quotation',
meta: {
title: '企业专区',
isLogin: true,
AuthFlag: false,
},
component: () => import('views/parity/parityCom/quotation.vue')
2023-12-12 09:23:09 +08:00
},
// 企业专区页面
{
path: '/enterpriseZone',
name: 'enterpriseZone',
meta: {
title: '企业专区',
isLogin: true,
AuthFlag: false,
activeName: 'enterpriseZone',
2023-12-12 09:23:09 +08:00
},
component: () => import('views/enterpriseZone/index.vue')
},
2024-11-27 15:16:53 +08:00
],
},
// 个人中心
{
path: '/my-user', // 主路由地址
name: 'my-user',
component: () => import('views/user/index.vue'), // 组件加载
meta: {
title: '个人中心',
keepAlive: false,
AuthFlag: false
},
children: [
{
2024-12-02 15:33:53 +08:00
path: '/orderManagementCz',
2024-11-27 15:16:53 +08:00
name: 'orderManagementCz',
component: () => import('views/user/orderManagementCz/index.vue'),
meta: {
2024-12-02 14:06:16 +08:00
title: '订单管理(出租方)',
2024-11-27 15:16:53 +08:00
keepAlive: true,
AuthFlag: false,
isLogin: true
},
},
{
2024-12-02 15:33:53 +08:00
path: '/goodsManagement',
2024-11-27 15:16:53 +08:00
name: 'goodsManagement',
component: () => import('views/user/goodsManagement/index.vue'),
meta: {
2024-12-02 14:06:16 +08:00
title: '商品管理',
2024-11-27 15:16:53 +08:00
keepAlive: true,
AuthFlag: false,
isLogin: true
},
},
{
2024-12-02 15:33:53 +08:00
path: '/accept-orders',
2024-12-02 14:06:16 +08:00
name: 'accept-orders',
component: () => import('views/user/accept-orders/index.vue'),
2024-11-27 15:16:53 +08:00
meta: {
2024-12-02 14:06:16 +08:00
title: '接单管理',
2024-11-27 15:16:53 +08:00
keepAlive: true,
AuthFlag: false,
isLogin: true
},
},
2024-12-10 17:01:47 +08:00
{
path: '/contract-manage',
name: 'contract-manage',
component: () => import('views/user/contract-manage/index.vue'),
meta: {
title: '合同管理',
keepAlive: true,
AuthFlag: false,
isLogin: true
},
},
2024-11-27 15:16:53 +08:00
{
2024-12-03 13:51:08 +08:00
path: '/rent-termination',
name: 'rent-termination',
component: () => import('views/user/lessor/rent-termination/index.vue'),
meta: {
title: '退租管理',
keepAlive: true,
AuthFlag: false,
isLogin: true
},
},
2024-12-10 17:01:47 +08:00
2024-12-03 13:51:08 +08:00
{
path: '/settlement-manage',
name: 'settlement-manage',
component: () => import('views/user/lessor/settlement/index.vue'),
meta: {
title: '结算管理',
keepAlive: true,
AuthFlag: false,
isLogin: true
},
2024-12-09 17:21:46 +08:00
},
{
path: '/quality-manage',
name: 'quality-manage',
component: () => import('views/user/lessor/quality-manage/index.vue'),
meta: {
title: '质检管理',
keepAlive: true,
AuthFlag: false,
isLogin: true
},
2024-12-10 14:02:33 +08:00
},
{
path: '/security-certificate',
name: 'security-certificate',
component: () => import('views/user/lessor/security-certificate/index.vue'),
meta: {
title: '安全证书管理',
keepAlive: true,
AuthFlag: false,
isLogin: true
},
2024-12-11 09:55:14 +08:00
},
{
path: '/tag-manage',
name: 'tag-manage',
component: () => import('views/user/lessor/tag-manage/index.vue'),
meta: {
title: '标签',
keepAlive: true,
AuthFlag: false,
isLogin: true
},
2024-12-03 13:51:08 +08:00
},
{
2024-12-02 15:33:53 +08:00
path: '/sourcingNeed',
2024-12-02 14:06:16 +08:00
name: 'sourcingNeed',
component: () => import('views/user/sourcingNeed/index.vue'),
2024-11-27 15:16:53 +08:00
meta: {
2024-12-02 14:06:16 +08:00
title: '需求管理',
2024-11-27 15:16:53 +08:00
keepAlive: true,
AuthFlag: false,
isLogin: true
},
},
{
2024-12-02 15:33:53 +08:00
path: '/orderManagement',
2024-12-02 14:06:16 +08:00
name: 'orderManagement',
component: () => import('views/user/orderManagement/index.vue'),
2024-11-27 15:16:53 +08:00
meta: {
2024-12-02 14:06:16 +08:00
title: '订单管理',
2024-11-27 15:16:53 +08:00
keepAlive: true,
AuthFlag: false,
isLogin: true
},
2023-12-01 11:22:09 +08:00
},
2024-12-02 14:06:16 +08:00
// /* 基础信息 */
// {
// path: 'baseInfo',
// name: 'baseInfo',
// component: () => import('views/user/baseInfo/index.vue'),
// meta: {
// title: '基础信息',
// keepAlive: true,
// AuthFlag: false,
// isLogin: true
// },
// },
// /* 订单管理(承租方) */
// {
// path: 'orderManagement',
// name: 'orderManagement',
// component: () => import('@/views/user/orderManagement/index.vue'),
// meta: {
// title: '订单管理(求租)',
// keepAlive: true,
// AuthFlag: false,
// isLogin: true
// },
// },
// /* 订单管理(出租方) */
// {
// path: 'orderManagementBuy',
// name: 'orderManagementBuy',
// component: () => import('@/views/user/orderManagementCz/index.vue'),
// meta: {
// title: '订单管理(求租)',
// keepAlive: true,
// AuthFlag: false,
// isLogin: true
// },
// },
2024-12-02 16:31:39 +08:00
/* 订单管理(订单详情出租) */
{
path: '/orderManagementInfoBuy',
name: 'orderManagementInfoBuy',
component: () => import('@/views/user/orderManagementCz/detail.vue'),
meta: {
title: '订单详情',
keepAlive: true,
AuthFlag: false,
isLogin: false
},
},
2024-12-02 14:06:16 +08:00
// /* 订单管理(订单详情承租) */
2024-12-02 15:50:38 +08:00
{
2024-12-02 16:31:39 +08:00
path: '/orderManagementInfo',
2024-12-02 15:50:38 +08:00
name: 'orderManagementInfo',
component: () => import('@/views/user/orderManagement/detail.vue'),
meta: {
title: '订单详情',
keepAlive: true,
AuthFlag: false,
isLogin: false
},
},
2024-12-02 14:06:16 +08:00
// /* 订单管理(退租) */
2024-12-02 15:50:38 +08:00
{
2024-12-02 16:31:39 +08:00
path: '/rentinTermination',
2024-12-02 15:50:38 +08:00
name: 'rentinTermination',
component: () => import('views/user/orderManagement/orderCom/rentinTermination.vue'),
meta: {
title: '订单管理(退租)',
keepAlive: true,
AuthFlag: false,
isLogin: true
},
},
2024-12-02 14:06:16 +08:00
// /* 订单管理(续租) */
// {
// path: 'renewalOfLease',
// name: 'renewalOfLease',
// component: () => import('views/user/orderManagement/orderCom/renewalOfLease.vue'),
// meta: {
// title: '订单管理(续租)',
// keepAlive: true,
// AuthFlag: false,
// isLogin: true
// },
// },
// {
// path: 'subAccount',
// name: 'subAccount',
// component: () => import('views/user/subAccount/index.vue'),
// meta: {
// title: '子账号管理',
// keepAlive: true,
// AuthFlag: false,
// isLogin: true
// },
// },
// {
// path: 'business',
// name: 'business',
// component: () => import('views/user/business/index.vue'),
// meta: {
// title: '业务开通',
// keepAlive: true,
// AuthFlag: false,
// isLogin: true
// },
// },
// /* 寻源需求 */
// {
// path: 'sourcingNeed',
// name: 'sourcingNeed',
// component: () => import('views/user/sourcingNeed/index.vue'),
// meta: {
// title: '需求管理',
// keepAlive: true,
// AuthFlag: false,
// isLogin: true
// },
// },
// {
// path: 'orderManagementCz',
// name: 'orderManagementCz',
// component: () => import('views/user/orderManagementCz/index.vue'),
// meta: {
// title: '订单管理(承租)',
// keepAlive: true,
// AuthFlag: false,
// isLogin: true
// },
// },
// /* 订单管理(结算) */
// {
// path: 'settlement',
// name: 'settlement',
// component: () => import('views/user/orderManagementCz/settlement/index.vue'),
// meta: {
// title: '订单管理(结算)',
// keepAlive: true,
// AuthFlag: false,
// isLogin: true
// },
// },
// {
// path: 'goodsManagement',
// name: 'goodsManagement',
// component: () => import('views/user/goodsManagement/index.vue'),
// meta: {
// title: '基础信息',
// keepAlive: true,
// AuthFlag: false,
// isLogin: true
// },
// },
// {
// path: 'goodsUpdown',
// name: 'goodsUpdown',
// component: () => import('views/user/goodsUpdown/index.vue'),
// meta: {
// title: '基础信息',
// keepAlive: true,
// AuthFlag: false,
// isLogin: true
// },
// },
// {
// path: 'operatorManagement',
// name: 'operatorManagement',
// component: () => import('views/user/operatorManagement/index.vue'),
// meta: {
// title: '基础信息',
// keepAlive: true,
// AuthFlag: false,
// isLogin: true
// },
// },
// {
// path: 'orderDetails',
// name: 'orderDetails',
// component: () => import('views/user/orderManagement/orderCom/orderDetails.vue'),
// meta: {
// title: '订单详情',
// keepAlive: true,
// AuthFlag: false,
// isLogin: true
// },
// },
// {
// path: 'orderConfirm',
// name: 'orderConfirm',
// component: () => import('views/user/orderManagement/orderCom/orderConfirm.vue'),
// meta: {
// title: '订单确认',
// keepAlive: true,
// AuthFlag: false,
// isLogin: true
// },
// },
// {
// path: 'sourcingBidding',
// name: 'sourcingBidding',
// component: () => import('views/user/sourcingBidding/index.vue'),
// meta: {
// title: '寻源竞价',
// keepAlive: true,
// AuthFlag: false,
// isLogin: true
// },
// },
// /* 专区管理 */
// {
// path: 'zoneManag',
// name: 'zoneManag',
// component: () => import('views/user/zoneManag/index.vue'),
// meta: {
// title: '专区管理',
// keepAlive: true,
// AuthFlag: false,
// isLogin: true
// },
// },
// /* 申请加入专区页面 */
// {
// path: 'joinZone',
// name: 'joinZone',
// component: () => import('views/user/zoneManag/zoneCom/joinZone.vue'),
// meta: {
// title: '请加入专区',
// keepAlive: true,
// AuthFlag: false,
// isLogin: true
// },
// },
2023-12-01 11:22:09 +08:00
]
2023-12-01 16:57:11 +08:00
},
2024-11-28 15:11:08 +08:00
// 预约车页面
2024-11-23 16:31:54 +08:00
{
path: '/cart',
name: 'cart',
component: () => import('views/cart/index.vue'),
meta: {
title: '预约车',
keepAlive: false,
AuthFlag: false
},
2024-11-26 18:30:19 +08:00
},
// 订单确认页面
{
2024-12-02 14:06:16 +08:00
path: '/order-confirm',
name: 'order-confirm',
2024-11-26 18:30:19 +08:00
component: () => import('views/order/index.vue'),
meta: {
title: '订单提交',
keepAlive: false,
AuthFlag: false
},
2024-11-28 15:11:08 +08:00
},
// 需求详情页面
{
path: '/demand-details',
name: 'demand-details',
component: () => import('views/demand-details/index.vue'),
meta: {
title: '需求详情',
keepAlive: false,
AuthFlag: false
},
2024-11-29 09:27:46 +08:00
},
// 个人中心改造路由
/**
* 1.
*/
2024-12-02 14:06:16 +08:00
// {
// path: '/my-lease', // 主路由地址
// name: 'my-lease',
// component: () => import('views/user/index.vue'), // 组件加载
// meta: {
// title: '个人中心',
// keepAlive: false,
// AuthFlag: false
// },
// redirect: '/my-lease/goodsManagement',
// children: [
// {
// path: 'orderManagementCz',
// name: 'orderManagementCz',
// component: () => import('views/user/orderManagementCz/index.vue'),
// meta: {
// title: '订单管理(出租方)',
// keepAlive: true,
// AuthFlag: false,
// isLogin: true
// },
// },
// {
// path: 'goodsManagement',
// name: 'goodsManagement',
// component: () => import('views/user/goodsManagement/index.vue'),
// meta: {
// title: '商品管理',
// keepAlive: true,
// AuthFlag: false,
// isLogin: true
// },
// },
// {
// path: 'accept-orders',
// name: 'accept-orders',
// component: () => import('views/user/accept-orders/index.vue'),
// meta: {
// title: '接单管理',
// keepAlive: true,
// AuthFlag: false,
// isLogin: true
// },
// },
2024-11-29 09:27:46 +08:00
2024-12-02 14:06:16 +08:00
// ]
// },
// /**
// * 2. 承租方
// */
// {
// path: '/my-lessee', // 主路由地址
// name: 'my-lessee',
// component: () => import('views/user/index.vue'), // 组件加载
// meta: {
// title: '个人中心',
// keepAlive: false,
// AuthFlag: false
// },
// redirect: '/my-lessee/sourcingNeed',
// children: [
// {
// path: 'sourcingNeed',
// name: 'sourcingNeed',
// component: () => import('views/user/sourcingNeed/index.vue'),
// meta: {
// title: '需求管理',
// keepAlive: true,
// AuthFlag: false,
// isLogin: true
// },
// },
// {
// path: 'orderManagement',
// name: 'orderManagement',
// component: () => import('views/user/orderManagement/index.vue'),
// meta: {
// title: '订单管理',
// keepAlive: true,
// AuthFlag: false,
// isLogin: true
// },
// },
// ]
// }
2023-12-04 09:12:38 +08:00
2024-11-29 09:27:46 +08:00
2023-11-30 10:49:45 +08:00
]
2023-12-04 13:10:38 +08:00
2023-11-30 10:49:45 +08:00
const router = createRouter({
// 路由模式
2024-11-26 09:11:25 +08:00
history: createWebHistory(),
2023-11-30 10:49:45 +08:00
routes
})
2024-12-02 14:06:16 +08:00
2023-12-04 13:10:38 +08:00
// 使页面跳转后滚动条恢复至顶部
router.beforeEach((to, from, next) => {
2024-11-29 09:27:46 +08:00
2023-12-10 01:43:50 +08:00
const store = mainStore()
2023-12-10 15:45:09 +08:00
if (to.meta.isLogin && !to.meta.AuthFlag) {
2023-12-10 01:43:50 +08:00
if (store.token) {
2023-12-09 18:34:56 +08:00
next()
2023-12-10 01:43:50 +08:00
} else {
2023-12-09 18:34:56 +08:00
next(`/login?redirect=${encodeURIComponent(to.fullPath)}`)
}
2023-12-10 01:43:50 +08:00
} else {
2023-12-09 18:34:56 +08:00
next()
}
2023-12-09 17:00:58 +08:00
// if (store.token || to.path == '/login' || to.path == '/' || to.path == '/home' || to.path == '/register' || to.path == '/equipList' || to.path == '/equipDetail') {
2023-12-04 13:10:38 +08:00
2023-12-09 17:00:58 +08:00
// } else {
// next('/login')
// }
2023-12-04 13:10:38 +08:00
// chrome
document.body.scrollTop = 0;
// firefox 兼容火狐
document.documentElement.scrollTop = 0;
})
2023-11-30 10:49:45 +08:00
export default router