123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561 |
- import { RouteRecordRaw } from 'vue-router';
- /**
- * * 建议:路由 path 路径与文件夹名称相同,找文件可浏览器地址找,方便定位文件位置
- *
- * 路由meta对象参数说明
- * meta: {
- * title: 菜单栏及 tagsView 栏、菜单搜索名称(国际化)
- * isLink: 是否超链接菜单,开启外链条件,`1、isLink: 链接地址不为空`
- * isHide: 是否隐藏此路由
- * isKeepAlive: 是否缓存组件状态
- * isAffix: 是否固定在 tagsView 栏上
- * isIframe: 是否内嵌窗口,开启条件,`1、isIframe:true 2、isLink:链接地址不为空`
- * roles: 当前路由权限标识,取角色管理。控制路由显示、隐藏。超级管理员:admin 普通角色:common
- * icon: 菜单、tagsView 图标,阿里:加 `iconfont xxx`,fontawesome:加 `fa xxx`
- * }
- */
- // 扩展 RouteMeta 接口
- declare module 'vue-router' {
- interface RouteMeta {
- title?: string;
- isLink?: string;
- isHide?: boolean;
- isKeepAlive?: boolean;
- isAffix?: boolean;
- isIframe?: boolean;
- roles?: string[];
- icon?: string;
- }
- }
- /**
- * 定义动态路由
- * 前端添加路由,请在顶级节点的 `children 数组` 里添加
- * @description 未开启 isRequestRoutes 为 true 时使用(前端控制路由),开启时第一个顶级 children 的路由将被替换成接口请求回来的路由数据
- * @description 各字段请查看 `@/views/system/menu/components/Menu-add.vue 下的 ruleForm`
- * @returns 返回路由菜单数据
- */
- export const dynamicRoutes: Array<RouteRecordRaw> = [
- {
- path: '/',
- name: '/',
- component: () => import('@/layout/index.vue'),
- redirect: '/home',
- meta: {
- isKeepAlive: true,
- },
- children: [
- {
- path: '/home',
- name: 'home',
- component: () => import('@/views/home/index.vue'),
- meta: {
- title: '首页',
- isLink: '',
- isHide: false,
- isKeepAlive: true,
- isAffix: true,
- isIframe: false,
- icon: 'iconfont icon-shouye',
- },
- },
- ],
- },
- {
- path: '/todo/seats/accept',
- name: 'orderAccept',
- component: () => import('@/views/todo/seats/accept/index.vue'),
- meta: {
- title: '工单受理',
- isKeepAlive: true,
- },
- },
- {
- path: '/knowledge/index/edit/:tagsViewName/:id?',
- name: 'knowledgeEdit',
- component: () => import('@/views/knowledge/index/edit.vue'),
- meta: {
- title: '知识库新增/编辑',
- isKeepAlive: true,
- isDynamic: true,
- },
- },
- {
- path: '/knowledge/index/preview/:tagsViewName/:id/:isAddPv?',
- name: 'knowledgePreview',
- component: () => import('@/views/knowledge/index/preview.vue'),
- meta: {
- title: '知识查看',
- isKeepAlive: true,
- isDynamic: true,
- },
- },
- {
- path: '/system/roles/dataAuth',
- name: 'systemDataAuth',
- component: () => import('@/views/system/dataAuth/index.vue'),
- meta: {
- title: '数据权限',
- isKeepAlive: true,
- },
- },
- {
- path: '/system/config/workflow/edit/:tagsViewName/:id?',
- name: 'workflowAddEdit',
- component: () => import('@/views/system/config/workflow/components/workflowEdit.vue'),
- meta: {
- title: '流程编辑',
- isKeepAlive: true,
- isDynamic: true,
- },
- },
- {
- path: '/auxiliary/notice/detail/:tagsViewName/:id',
- name: 'auxiliaryNoticeDetail',
- component: () => import('@/views/auxiliary/notice/detail.vue'),
- meta: {
- title: '通知详情',
- isKeepAlive: false,
- isDynamic: true,
- },
- },
- {
- path: '/public/notice/:tagsViewName/:id/:isRead',
- name: 'auxiliaryNoticeRead',
- component: () => import('@/views/public/notice/index.vue'),
- meta: {
- title: '通知阅读',
- isKeepAlive: false,
- isDynamic: true,
- },
- },
- {
- path: '/statistics/order/detailVisitDiscontent',
- name: 'statisticsOrderDetailVisitDiscontent',
- component: () => import('@/views/statistics/order/detailVisitDiscontent.vue'),
- meta: {
- title: '回访不满意原因统计明细',
- isKeepAlive: true,
- },
- },
- {
- path: '/statistics/order/specialTable',
- name: 'statisticsOrderSpecialTable',
- component: () => import('@/views/statistics/order/specialTable.vue'),
- meta: {
- title: '特提统计明细',
- isKeepAlive: true,
- },
- },
- {
- path: '/statistics/department/DepartmentSatisfiedDetail',
- name: 'statisticsDepartmentSatisfiedDetail',
- component: () => import('@/views/statistics/department/detailSatisfied.vue'),
- meta: {
- title: '部门满意度统计明细',
- isKeepAlive: true,
- },
- },
- {
- path: '/statistics/detailSatisfiedOrg/org',
- name: 'statisticsDepartmentSatisfiedOrg',
- component: () => import('@/views/statistics/department/detailSatisfiedOrg.vue'),
- meta: {
- title: '部门满意度统计明细',
- isKeepAlive: true,
- },
- },
- {
- path: '/statistics/center/detailEventFrequently',
- name: 'eventFrequentlyDetail',
- component: () => import('@/views/statistics/center/detailEventFrequently.vue'),
- meta: {
- title: '高频统计明细',
- isKeepAlive: true,
- },
- },
- {
- path: '/judicial/statistics/detailEventClass',
- name: 'judicialDetailEventClass',
- component: () => import('@/views/judicial/statistics/detailEventClass.vue'),
- meta: {
- title: '事项分类统计明细',
- isKeepAlive: true,
- },
- },
- {
- path: '/judicial/statistics/detailDepartment', //工单
- name: 'judicialDetailDepartment',
- component: () => import('@/views/judicial/statistics/detailDepartment.vue'),
- meta: {
- title: '执法部门办件统计明细',
- isKeepAlive: true,
- },
- },
- {
- path: '/judicial/statistics/detailArea',
- name: 'judicialDetailArea',
- component: () => import('@/views/judicial/statistics/detailArea.vue'),
- meta: {
- title: '区域分类统计明细',
- isKeepAlive: true,
- },
- },
- {
- path: '/judicial/statistics/detailSatisfied',
- name: 'judicialStatisticsDetailSatisfied',
- component: () => import('@/views/judicial/statistics/detailSatisfied.vue'),
- meta: {
- title: '部门满意度统计明细',
- isKeepAlive: true,
- },
- },
- {
- path: '/statistics/center/detailWrongItem',
- name: 'statisticsCenterDetailWrongItem',
- component: () => import('@/views/statistics/center/detailWrongItem.vue'),
- meta: {
- title: '回退错件统计明细',
- isKeepAlive: true,
- },
- },
- {
- path: '/statistics/order/departmentDetailAcceptType',
- name: 'statisticsDepartmentDetailAcceptType',
- component: () => import('@/views/statistics/order/departmentDetailAcceptType.vue'),
- meta: {
- title: '部门受理类型统计周期明细',
- isKeepAlive: true,
- },
- },
- {
- path: '/statistics/order/detailDispatch',
- name: 'statisticsOrderDetailDispatch',
- component: () => import('@/views/statistics/order/detailDispatch.vue'),
- meta: {
- title: '派单量统计明细',
- isKeepAlive: true,
- },
- },
- {
- path: '/statistics/department/detailHandleOrg',
- name: 'statisticsDepartmentDetailHandleOrg',
- component: () => import('@/views/statistics/department/detailHandleOrg.vue'),
- meta: {
- title: '部门办件统计表明细',
- isKeepAlive: true,
- },
- },
- {
- path: '/statistics/department/detailHandle',
- name: 'statisticsDepartmentDetailHandle',
- component: () => import('@/views/statistics/department/detailHandle.vue'),
- meta: {
- title: '部门办件统计表明细',
- isKeepAlive: true,
- },
- },
- {
- path: '/statistics/call/detailTalkTime',
- name: 'statisticsCallDetailTalkTime',
- component: () => import('@/views/statistics/call/detailTalkTime.vue'),
- meta: {
- title: '通话时段明细表',
- isKeepAlive: true,
- },
- },
- {
- path: '/statistics/department/detailOverdue',
- name: 'statisticsDepartmentDetailOverdue',
- component: () => import('@/views/statistics/department/detailOverdue.vue'),
- meta: {
- title: '部门超期统计明细',
- isKeepAlive: true,
- },
- },
- {
- path: '/statistics/department/detailDelay',
- name: 'statisticsDepartmentDetailDelay',
- component: () => import('@/views/statistics/department/detailDelay.vue'),
- meta: {
- title: '部门延期统计明细',
- isKeepAlive: true,
- },
- },
- {
- path: '/statistics/department/detailSh',
- name: 'statisticsDepartmentDetailSh',
- component: () => import('@/views/statistics/department/detailSh.vue'),
- meta: {
- title: '二次办理统计明细',
- isKeepAlive: true,
- },
- },
- {
- path: '/statistics/department/detailShSatisfied',
- name: 'statisticsDepartmentDetailShSatisfied',
- component: () => import('@/views/statistics/department/detailShSatisfied.vue'),
- meta: {
- title: '二次办理满意度统计明细',
- isKeepAlive: true,
- },
- },
- {
- path: '/dataShare/taskDetail/:id',
- name: 'dataShareTaskDetail',
- component: () => import('@/views/dataShare/taskDetail.vue'),
- meta: {
- title: '推送任务明细',
- isKeepAlive: true,
- isDynamic: true,
- },
- },
- {
- path: '/statistics/order/detailSource',
- name: 'statisticsOrderDetailSource',
- component: () => import('@/views/statistics/order/detailSource.vue'),
- meta: {
- title: '信件来源列表',
- isKeepAlive: true,
- },
- },
- {
- path: '/statistics/order/detailSourceOrder',
- name: 'statisticsDetailSourceOrder',
- component: () => import('@/views/statistics/order/detailSourceOrder.vue'),
- meta: {
- title: '信件来源列表明细',
- isKeepAlive: true,
- },
- },
- {
- path: '/statistics/order/detailSourceTime',
- name: 'statisticsOrderDetailSourceTime',
- component: () => import('@/views/statistics/order/detailSourceTime.vue'),
- meta: {
- title: '信件来源分时列表',
- isKeepAlive: true,
- },
- },
- {
- path: '/statistics/call/detailIndex',
- name: 'statisticsCallDetailIndex',
- component: () => import('@/views/statistics/call/detailIndex.vue'),
- meta: {
- title: '话务日期明细',
- isKeepAlive: true,
- },
- },
- {
- path: '/statistics/order/detailAcceptTime',
- name: 'statisticsOrderDetailAcceptTime',
- component: () => import('@/views/statistics/order/detailAcceptTime.vue'),
- meta: {
- title: '受理类型分时统计列表',
- isKeepAlive: true,
- },
- },
- {
- path: '/statistics/order/detailHotSpotTime',
- name: 'statisticsOrderDetailHotspotTime',
- component: () => import('@/views/statistics/order/detailHotSpotTime.vue'),
- meta: {
- title: '热点类型分时统计列表',
- isKeepAlive: true,
- },
- },
- {
- path: '/statistics/order/detailAreaTime',
- name: 'statisticsOrderDetailAreaTime',
- component: () => import('@/views/statistics/order/detailAreaTime.vue'),
- meta: {
- title: '区域分时统计列表',
- isKeepAlive: true,
- },
- },
- {
- path: '/statistics/department/detailSatisfiedList',
- name: 'statisticsDepartmentSatisfiedDetailList',
- component: () => import('@/views/statistics/department/detailSatisfiedList.vue'),
- meta: {
- title: '部门满意度列表明细',
- isKeepAlive: true,
- },
- },
- {
- path: '/statistics/department/detailHandleList',
- name: 'statisticsDepartmentDetailHandleList',
- component: () => import('@/views/statistics/department/detailHandleList.vue'),
- meta: {
- title: '部门办件列表明细',
- isKeepAlive: true,
- },
- },
- {
- path: '/statistics/department/detailOverdueList',
- name: 'statisticsDepartmentDetailOverdueList',
- component: () => import('@/views/statistics/department/detailOverdueList.vue'),
- meta: {
- title: '部门超期列表明细',
- isKeepAlive: true,
- },
- },
- {
- path: '/statistics/order/detailHotspotArea',
- name: 'statisticsOrderDetailHotspotArea',
- component: () => import('@/views/statistics/order/detailHotspotArea.vue'),
- meta: {
- title: '热点统计明细',
- isKeepAlive: true,
- },
- },
- {
- path: '/judicial/order/add',
- name: 'judgeOrderAdd',
- component: () => import('@/views/judicial/order/components/orderAdd.vue'),
- meta: {
- title: '新建工单',
- isKeepAlive: true,
- },
- },{
- path: '/statistics/order/detailAcceptTypeList',
- name: 'statisticsOrderDetailAcceptTypeList',
- component: () => import('@/views/statistics/order/detailAcceptTypeList.vue'),
- meta: {
- title: '受理类型统计列表',
- isKeepAlive: true,
- },
- },{
- path: '/statistics/order/detailAcceptType',
- name: 'statisticsDetailAcceptType',
- component: () => import('@/views/statistics/order/detailAcceptType.vue'),
- meta: {
- title: '受理类型统计明细',
- isKeepAlive: true,
- },
- },{
- path: '/statistics/order/detailHotspotSatisfied',
- name: 'statisticsOrderDetailHotspotSatisfied',
- component: () => import('@/views/statistics/order/detailHotspotSatisfied.vue'),
- meta: {
- title: '热点满意度统计明细',
- isKeepAlive: true,
- },
- },{
- path: '/statistics/call/detailIndexTime',
- name: 'statisticsCallDetailIndexTime',
- component: () => import('@/views/statistics/call/detailIndexTime.vue'),
- meta: {
- title: '话务时段分析日期',
- isKeepAlive: true,
- },
- },{
- path: '/statistics/call/detailIndexCall',
- name: 'statisticsCallDetailIndexCall',
- component: () => import('@/views/statistics/call/detailIndexCall.vue'),
- meta: {
- title: '话务时段分析明细',
- isKeepAlive: true,
- },
- },{
- path: '/statistics/center/detailReport/:id/:tagsViewName?',
- name: 'statisticsCenterDetailReport',
- component: () => import('@/views/statistics/center/detail-report.vue'),
- meta: {
- title: '查看分析报告',
- isKeepAlive: true,
- isDynamic: true,
- },
- },{
- path: '/statistics/center/detailCorporateSpecial',
- name: 'statisticsCenterDetailCorporateSpecial',
- component: () => import('@/views/statistics/center/detailCorporateSpecial.vue'),
- meta: {
- title: '企业专席明细',
- isKeepAlive: true,
- },
- },{
- path: '/statistics/center/detailAcceptCenter',
- name: 'statisticsCenterDetailAcceptCenter',
- component: () => import('@/views/statistics/center/detailAcceptCenter.vue'),
- meta: {
- title: '企业专席明细',
- isKeepAlive: true,
- },
- },{
- path: '/statistics/center/detailTwist',
- name: 'statisticsCenterDetailTwist',
- component: () => import('@/views/statistics/center/detailTwist.vue'),
- meta: {
- title: '扭转明细列表',
- isKeepAlive: true,
- },
- },{
- path: '/todo/edit/record',
- name: 'todoEditRecord',
- component: () => import('@/views/todo/edit/record.vue'),
- meta: {
- title: '修改记录',
- isKeepAlive: true,
- },
- },{
- path: '/statistics/call/detailSeatDate',
- name: 'statisticsCallDetailSeatsDate',
- component: () => import('@/views/statistics/call/detailSeatDate.vue'),
- meta: {
- title: '话务时段明细',
- isKeepAlive: true,
- },
- },
- ];
- /**
- * 定义404、401界面
- * @link 参考:https://next.router.vuejs.org/zh/guide/essentials/history-mode.html#netlify
- */
- export const notFoundAndNoPower = [
- {
- path: '/401',
- name: 'noPower',
- component: () => import('@/views/error/401.vue'),
- meta: {
- title: '无权限',
- isHide: true,
- },
- },
- {
- path: '/:pathMatch(.*)',
- name: 'notFound',
- component: () => import('@/views/error/404.vue'),
- meta: {
- title: '404',
- isHide: true,
- },
- },
- ];
- /**
- * 定义静态路由(默认路由)
- * 此路由不要动,前端添加路由的话,请在 `dynamicRoutes 数组` 中添加
- * @description 前端控制直接改 dynamicRoutes 中的路由,后端控制不需要修改,请求接口路由数据时,会覆盖 dynamicRoutes 第一个顶级 children 的内容(全屏,不包含 layout 中的路由出口)
- * @returns 返回路由菜单数据
- */
- export const staticRoutes: Array<RouteRecordRaw> = [
- {
- path: '/login',
- name: 'login',
- component: () => import('@/views/login/index.vue'),
- meta: {
- title: '登录',
- },
- },
- {
- path: '/resetPwd',
- name: 'resetPwd',
- component: () => import('@/views/resetPwd/index.vue'),
- meta: {
- title: '重置密码',
- },
- },
- ];
|