123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701 |
- import { Layout } from '@/utils/routerHelper'
- const { t } = useI18n()
- /**
- * redirect: noredirect 当设置 noredirect 的时候该路由在面包屑导航中不可被点击
- * name:'router-name' 设定路由的名字,一定要填写不然使用<keep-alive>时会出现各种问题
- * meta : {
- hidden: true 当设置 true 的时候该路由不会再侧边栏出现 如404,login等页面(默认 false)
- alwaysShow: true 当你一个路由下面的 children 声明的路由大于1个时,自动会变成嵌套的模式,
- 只有一个时,会将那个子路由当做根路由显示在侧边栏,
- 若你想不管路由下面的 children 声明的个数都显示你的根路由,
- 你可以设置 alwaysShow: true,这样它就会忽略之前定义的规则,
- 一直显示根路由(默认 false)
- title: 'title' 设置该路由在侧边栏和面包屑中展示的名字
- icon: 'svg-name' 设置该路由的图标
- noCache: true 如果设置为true,则不会被 <keep-alive> 缓存(默认 false)
- breadcrumb: false 如果设置为false,则不会在breadcrumb面包屑中显示(默认 true)
- affix: true 如果设置为true,则会一直固定在tag项中(默认 false)
- noTagsView: true 如果设置为true,则不会出现在tag中(默认 false)
- activeMenu: '/dashboard' 显示高亮的路由路径
- followAuth: '/dashboard' 跟随哪个路由进行权限过滤
- canTo: true 设置为true即使hidden为true,也依然可以进行路由跳转(默认 false)
- }
- **/
- const remainingRouter: AppRouteRecordRaw[] = [
- {
- path: '/redirect',
- component: Layout,
- name: 'Redirect',
- children: [
- {
- path: '/redirect/:path(.*)',
- name: 'Redirect',
- component: () => import('@/views/Redirect/Redirect.vue'),
- meta: {}
- }
- ],
- meta: {
- hidden: true,
- noTagsView: true
- }
- },
- {
- path: '/',
- component: Layout,
- redirect: '/index',
- name: 'Home',
- meta: {},
- children: [
- {
- path: 'index',
- component: () => import('@/views/Home/Index.vue'),
- name: 'Index',
- meta: {
- title: t('router.workplace'),
- icon: 'ep:home-filled',
- noCache: false,
- affix: true
- }
- }
- ]
- },
- {
- path: '/user',
- component: Layout,
- name: 'UserInfo',
- meta: {
- hidden: true
- },
- children: [
- {
- path: 'profile',
- component: () => import('@/views/Profile/Index.vue'),
- name: 'Profile',
- meta: {
- canTo: true,
- hidden: true,
- noTagsView: false,
- icon: 'ep:user',
- title: t('common.profile')
- }
- },
- {
- path: 'notify-message',
- component: () => import('@/views/system/notify/my/index.vue'),
- name: 'MyNotifyMessage',
- meta: {
- canTo: true,
- hidden: true,
- noTagsView: false,
- icon: 'ep:message',
- title: '我的站内信'
- }
- }
- ]
- },
- {
- path: '/dict',
- component: Layout,
- name: 'dict',
- meta: {
- hidden: true
- },
- children: [
- {
- path: 'type/data/:dictType',
- component: () => import('@/views/system/dict/data/index.vue'),
- name: 'SystemDictData',
- meta: {
- title: '字典数据',
- noCache: true,
- hidden: true,
- canTo: true,
- icon: '',
- activeMenu: '/system/dict'
- }
- }
- ]
- },
- {
- path: '/codegen',
- component: Layout,
- name: 'CodegenEdit',
- meta: {
- hidden: true
- },
- children: [
- {
- path: 'edit',
- component: () => import('@/views/infra/codegen/EditTable.vue'),
- name: 'InfraCodegenEditTable',
- meta: {
- noCache: true,
- hidden: true,
- canTo: true,
- icon: 'ep:edit',
- title: '修改生成配置',
- activeMenu: 'infra/codegen/index'
- }
- }
- ]
- },
- {
- path: '/job',
- component: Layout,
- name: 'JobL',
- meta: {
- hidden: true
- },
- children: [
- {
- path: 'job-log',
- component: () => import('@/views/infra/job/logger/index.vue'),
- name: 'InfraJobLog',
- meta: {
- noCache: true,
- hidden: true,
- canTo: true,
- icon: 'ep:edit',
- title: '调度日志',
- activeMenu: 'infra/job/index'
- }
- }
- ]
- },
- {
- path: '/login',
- component: () => import('@/views/Login/Login.vue'),
- name: 'Login',
- meta: {
- hidden: true,
- title: t('router.login'),
- noTagsView: true
- }
- },
- {
- path: '/sso',
- component: () => import('@/views/Login/Login.vue'),
- name: 'SSOLogin',
- meta: {
- hidden: true,
- title: t('router.login'),
- noTagsView: true
- }
- },
- {
- path: '/social-login',
- component: () => import('@/views/Login/SocialLogin.vue'),
- name: 'SocialLogin',
- meta: {
- hidden: true,
- title: t('router.socialLogin'),
- noTagsView: true
- }
- },
- {
- path: '/403',
- component: () => import('@/views/Error/403.vue'),
- name: 'NoAccess',
- meta: {
- hidden: true,
- title: '403',
- noTagsView: true
- }
- },
- {
- path: '/404',
- component: () => import('@/views/Error/404.vue'),
- name: 'NoFound',
- meta: {
- hidden: true,
- title: '404',
- noTagsView: true
- }
- },
- {
- path: '/500',
- component: () => import('@/views/Error/500.vue'),
- name: 'Error',
- meta: {
- hidden: true,
- title: '500',
- noTagsView: true
- }
- },
- {
- path: '/bpm',
- component: Layout,
- name: 'bpm',
- meta: {
- hidden: true
- },
- children: [
- {
- path: 'manager/form/edit',
- component: () => import('@/views/bpm/form/editor/index.vue'),
- name: 'BpmFormEditor',
- meta: {
- noCache: true,
- hidden: true,
- canTo: true,
- title: '设计流程表单',
- activeMenu: '/bpm/manager/form'
- }
- },
- {
- path: 'manager/model/edit',
- component: () => import('@/views/bpm/model/editor/index.vue'),
- name: 'BpmModelEditor',
- meta: {
- noCache: true,
- hidden: true,
- canTo: true,
- title: '设计流程',
- activeMenu: '/bpm/manager/model'
- }
- },
- {
- path: 'manager/simple/workflow/model/edit',
- component: () => import('@/views/bpm/simpleWorkflow/index.vue'),
- name: 'SimpleWorkflowDesignEditor',
- meta: {
- noCache: true,
- hidden: true,
- canTo: true,
- title: '仿钉钉设计流程',
- activeMenu: '/bpm/manager/model'
- }
- },
- {
- path: 'manager/definition',
- component: () => import('@/views/bpm/definition/index.vue'),
- name: 'BpmProcessDefinition',
- meta: {
- noCache: true,
- hidden: true,
- canTo: true,
- title: '流程定义',
- activeMenu: '/bpm/manager/model'
- }
- },
- {
- path: 'process-instance/detail',
- component: () => import('@/views/bpm/processInstance/detail/index.vue'),
- name: 'BpmProcessInstanceDetail',
- meta: {
- noCache: true,
- hidden: true,
- canTo: true,
- title: '流程详情',
- activeMenu: '/bpm/task/my'
- }
- },
- {
- path: 'oa/leave/create',
- component: () => import('@/views/bpm/oa/leave/create.vue'),
- name: 'OALeaveCreate',
- meta: {
- noCache: true,
- hidden: true,
- canTo: true,
- title: '发起 OA 请假',
- activeMenu: '/bpm/oa/leave'
- }
- },
- {
- path: 'oa/leave/detail',
- component: () => import('@/views/bpm/oa/leave/detail.vue'),
- name: 'OALeaveDetail',
- meta: {
- noCache: true,
- hidden: true,
- canTo: true,
- title: '查看 OA 请假',
- activeMenu: '/bpm/oa/leave'
- }
- }
- ]
- },
- {
- path: '/mall/product', // 商品中心
- component: Layout,
- name: 'ProductCenter',
- meta: {
- hidden: true
- },
- children: [
- {
- path: 'spu/add',
- component: () => import('@/views/mall/product/spu/form/index.vue'),
- name: 'ProductSpuAdd',
- meta: {
- noCache: false, // 需要缓存
- hidden: true,
- canTo: true,
- icon: 'ep:edit',
- title: '商品添加',
- activeMenu: '/mall/product/spu'
- }
- },
- {
- path: 'spu/edit/:id(\\d+)',
- component: () => import('@/views/mall/product/spu/form/index.vue'),
- name: 'ProductSpuEdit',
- meta: {
- noCache: true,
- hidden: true,
- canTo: true,
- icon: 'ep:edit',
- title: '商品编辑',
- activeMenu: '/mall/product/spu'
- }
- },
- {
- path: 'spu/detail/:id(\\d+)',
- component: () => import('@/views/mall/product/spu/form/index.vue'),
- name: 'ProductSpuDetail',
- meta: {
- noCache: true,
- hidden: true,
- canTo: true,
- icon: 'ep:view',
- title: '商品详情',
- activeMenu: '/mall/product/spu'
- }
- },
- {
- path: 'property/value/:propertyId(\\d+)',
- component: () => import('@/views/mall/product/property/value/index.vue'),
- name: 'ProductPropertyValue',
- meta: {
- noCache: true,
- hidden: true,
- canTo: true,
- icon: 'ep:view',
- title: '商品属性值',
- activeMenu: '/product/property'
- }
- }
- ]
- },
- {
- path: '/mall/trade', // 交易中心
- component: Layout,
- name: 'TradeCenter',
- meta: {
- hidden: true
- },
- children: [
- {
- path: 'order/detail/:id(\\d+)',
- component: () => import('@/views/mall/trade/order/detail/index.vue'),
- name: 'TradeOrderDetail',
- meta: { title: '订单详情', icon: 'ep:view', activeMenu: '/mall/trade/order' }
- },
- {
- path: 'after-sale/detail/:id(\\d+)',
- component: () => import('@/views/mall/trade/afterSale/detail/index.vue'),
- name: 'TradeAfterSaleDetail',
- meta: { title: '退款详情', icon: 'ep:view', activeMenu: '/mall/trade/after-sale' }
- }
- ]
- },
- {
- path: '/member',
- component: Layout,
- name: 'MemberCenter',
- meta: { hidden: true },
- children: [
- {
- path: 'user/detail/:id',
- name: 'MemberUserDetail',
- meta: {
- title: '会员详情',
- noCache: true,
- hidden: true
- },
- component: () => import('@/views/member/user/detail/index.vue')
- }
- ]
- },
- {
- path: '/pay',
- component: Layout,
- name: 'pay',
- meta: { hidden: true },
- children: [
- {
- path: 'cashier',
- name: 'PayCashier',
- meta: {
- title: '收银台',
- noCache: true,
- hidden: true
- },
- component: () => import('@/views/pay/cashier/index.vue')
- }
- ]
- },
- {
- path: '/museums',
- name: 'museums',
- meta: { hidden: true },
- component: Layout,
- children: [
- {
- path: '/museums/specimen-info',
- name: 'SpecimenInfo',
- meta: {
- title: '信息',
- noCache: true,
- hidden: true,
- activeMenu: '/museums/specimeninfo'
- },
- component: () => import('@/views/museums/specimeninfo/index.vue')
- },
- {
- path: '/photogroup/index',
- name: 'PhotoGroup',
- meta: {
- title: '照片组管理',
- noCache: true,
- hidden: true,
- activeMenu: '/photogroup/index'
- },
- component: () => import('@/views/museums/photogroup/index.vue')
- }
- ]
- },
- {
- path: '/diy',
- name: 'DiyCenter',
- meta: { hidden: true },
- component: Layout,
- children: [
- {
- path: 'template/decorate/:id',
- name: 'DiyTemplateDecorate',
- meta: {
- title: '模板装修',
- noCache: true,
- hidden: true,
- activeMenu: '/mall/promotion/diy/template'
- },
- component: () => import('@/views/mall/promotion/diy/template/decorate.vue')
- },
- {
- path: 'page/decorate/:id',
- name: 'DiyPageDecorate',
- meta: {
- title: '页面装修',
- noCache: true,
- hidden: true,
- activeMenu: '/mall/promotion/diy/page'
- },
- component: () => import('@/views/mall/promotion/diy/page/decorate.vue')
- }
- ]
- },
- {
- path: '/crm',
- component: Layout,
- name: 'CrmCenter',
- meta: { hidden: true },
- children: [
- {
- path: 'clue/detail/:id',
- name: 'CrmClueDetail',
- meta: {
- title: '线索详情',
- noCache: true,
- hidden: true,
- activeMenu: '/crm/clue'
- },
- component: () => import('@/views/crm/clue/detail/index.vue')
- },
- {
- path: 'customer/detail/:id',
- name: 'CrmCustomerDetail',
- meta: {
- title: '客户详情',
- noCache: true,
- hidden: true,
- activeMenu: '/crm/customer'
- },
- component: () => import('@/views/crm/customer/detail/index.vue')
- },
- {
- path: 'business/detail/:id',
- name: 'CrmBusinessDetail',
- meta: {
- title: '商机详情',
- noCache: true,
- hidden: true,
- activeMenu: '/crm/business'
- },
- component: () => import('@/views/crm/business/detail/index.vue')
- },
- {
- path: 'contract/detail/:id',
- name: 'CrmContractDetail',
- meta: {
- title: '合同详情',
- noCache: true,
- hidden: true,
- activeMenu: '/crm/contract'
- },
- component: () => import('@/views/crm/contract/detail/index.vue')
- },
- {
- path: 'receivable-plan/detail/:id',
- name: 'CrmReceivablePlanDetail',
- meta: {
- title: '回款计划详情',
- noCache: true,
- hidden: true,
- activeMenu: '/crm/receivable-plan'
- },
- component: () => import('@/views/crm/receivable/plan/detail/index.vue')
- },
- {
- path: 'receivable/detail/:id',
- name: 'CrmReceivableDetail',
- meta: {
- title: '回款详情',
- noCache: true,
- hidden: true,
- activeMenu: '/crm/receivable'
- },
- component: () => import('@/views/crm/receivable/detail/index.vue')
- },
- {
- path: 'contact/detail/:id',
- name: 'CrmContactDetail',
- meta: {
- title: '联系人详情',
- noCache: true,
- hidden: true,
- activeMenu: '/crm/contact'
- },
- component: () => import('@/views/crm/contact/detail/index.vue')
- },
- {
- path: 'product/detail/:id',
- name: 'CrmProductDetail',
- meta: {
- title: '产品详情',
- noCache: true,
- hidden: true,
- activeMenu: '/crm/product'
- },
- component: () => import('@/views/crm/product/detail/index.vue')
- },
- //
- // {
- // path: '/specimeninfo',
- // component: Layout,
- // name: 'specimeninfo',
- // meta: {
- // hidden: true
- // },
- // children: [
- // {
- // path: '/museums/specimeninfo/specimenDetails.vue',
- // component: () => import('@/views/museums/specimeninfo/specimenDetails.vue'),
- // name: 'SystemDictData',
- // meta: {
- // title: '查看标本详情',
- // noCache: true,
- // hidden: true,
- // canTo: true,
- // icon: '',
- // activeMenu: '/crm/specimeninfo'
- // }
- // }
- // ]
- // },
- {
- path: '/museums/specimeninfo/specimenDetails.vue',
- component: () => import('@/views/museums/specimeninfo/specimenDetails.vue'),
- name: 'specimenDetails',
- meta: {
- noCache: true,
- hidden: true,
- canTo: true,
- title: '查看标本详情',
- activeMenu: '/museums/specimen-info'
- }
- },
- {
- path: '/museums/photos/index.vue',
- component: () => import('@/views/museums/photos/index.vue'),
- name: 'ImageDetails',
- meta: {
- noCache: true,
- hidden: true,
- canTo: true,
- title: '查看标本图片详情',
- activeMenu: '/crm/photo'
- }
- },
- {
- path: '/museums/specimenoutbound/OutboundForm/outboundDetail.vue',
- component: () => import('@/views/museums/specimenoutbound/OutboundForm/outboundDetail.vue'),
- name: 'OutboundDetail',
- meta: {
- noCache: true,
- hidden: true,
- canTo: true,
- title: '查看标本出库详情',
- activeMenu: '/crm/outbound'
- }
- },
- ]
- },
- {
- path: '/ai',
- component: Layout,
- name: 'Ai',
- meta: {
- hidden: true
- },
- children: [
- {
- path: 'image/square',
- component: () => import('@/views/ai/image/square/index.vue'),
- name: 'AiImageSquare',
- meta: {
- title: '绘图作品',
- icon: 'ep:home-filled',
- noCache: false
- }
- }
- ]
- },
- {
- path: '/:pathMatch(.*)*',
- component: () => import('@/views/Error/404.vue'),
- name: '',
- meta: {
- title: '404',
- hidden: true,
- breadcrumb: false
- }
- },
- ]
- export default remainingRouter
|