// eslint-disable-next-line no-unused-vars import { createRouter, createWebHistory, createWebHashHistory } from 'vue-router' import pinia from '../stores/index' import { useLoadingStore } from '../stores/loadingStore' import { useActiveCheck } from '@/stores/activeCheck'; import { useUserStore } from '@/stores/userToken'; import loginUtil from '../utils/loginUtil'; const routes = [ // { // //整改审核 // name: 'changecheck', // path: '/changecheck', // component: () => import('@/views/check/ChangeCheck.vue') // }, /**********************************飞羽监管***********************************************/ { //问题动态跟踪 name: 'profollow', path: '/fysp/data-product/profollow', component: () => import('@/views/fysp/data-product/ProdProFollow.vue') }, { //问题整改分析 name: 'proanalysis', path: '/fysp/data-product/proanalysis', component: () => import('@/views/fysp/data-product/ProdProAnalysis.vue') }, { //规范性评估 name: 'standardjudge', path: '/fysp/data-product/standardjudge', component: () => import('@/views/fysp/data-product/ProdStandardJudge.vue') }, { //日报管理 name: 'dailyreport', path: '/fysp/data-product/dailyreport', component: () => import('@/views/fysp/data-product/ProdDailyReport.vue') }, { //场景报告 name: 'scenereport', path: '/fysp/data-product/scenereport', component: () => import('@/views/fysp/data-product/ProdSceneReport.vue') }, // { // //场景报告-工地 // name: 'construction', // path: '/scenereport/construction', // component: () => import('@/views/fysp/scenereport/ConstructionReport.vue') // }, // { // //场景报告-码头 // name: 'wharf', // path: '/scenereport/wharf', // component: () => import('@/views/fysp/scenereport/WharfReport.vue') // }, // { // //场景报告-搅拌站 // name: 'mixing', // path: '/scenereport/mixing', // component: () => import('@/views/fysp/scenereport/MixingReport.vue') // }, // { // //场景报告-堆场 // name: 'storage', // path: '/scenereport/storage', // component: () => import('@/views/fysp/scenereport/StorageReport.vue') // }, { //监管任务 name: 'taskmanage', path: '/fysp/task/manage', component: () => import('@/views/fysp/task/TaskManage.vue'), meta: { keepAlive: true } }, { //监管任务场景编辑 name: 'monitorObjEdit', path: '/fysp/task/edit', component: () => import('@/views/fysp/task/MonitorObjEdit.vue') }, { //监管任务计划编辑 name: 'monitorPlanEdit', path: '/fysp/task/plan/edit', component: () => import('@/views/fysp/task/MonitorPlanEdit.vue') }, { //监管任务计划编辑 name: 'monitorTaskCreate', path: '/fysp/task/create', component: () => import('@/views/fysp/task/MonitorTaskCreate.vue') }, { //问题审核 name: 'procheck', path: '/fysp/procheck', component: () => import('@/views/fysp/check/ProCheck.vue') }, // { // //账户管理 // name: 'fyspUser', // path: '/fysp/userInfo', // component: () => import('@/views/baseinfo/fysp/user/UserInfo.vue') // }, { //监管问题 name: 'fyspProblemType', path: '/fysp/config/problemType', component: () => import('@/views/fysp/config/ProblemType.vue') }, { //设备匹配 name: 'fyspDeviceMatch', path: '/fysp/config/deviceMatch', component: () => import('@/views/fysp/config/DeviceMatch.vue') }, { //评估规则管理 name: 'fyspEvalutationRule', path: '/fysp/config/evalutationRule', component: () => import('@/views/fysp/config/EvalutationRule.vue') }, { //评估数据源 name: 'fyspEvalutationTask', path: '/fysp/evaluation/evalutationTask', component: () => import('@/views/fysp/evaluation/EvalutationTask.vue'), meta: { keepAlive: false } }, { //评估管理 name: 'fyspEvalutationRecord', path: '/fysp/evaluation/evalutationRecord', component: () => import('@/views/fysp/evaluation/EvalutationRecord.vue'), meta: { keepAlive: true } }, { //评估结果详情 name: 'fyspEvalutationEdit', path: '/fysp/evaluation/evalutationEdit/:subTaskId', component: () => import('@/views/fysp/evaluation/EvalutationEdit.vue'), }, { //场景信息 name: 'fyspSceneInfo', path: '/fysp/sceneInfo', component: () => import('@/views/fysp/scene/SceneInfo.vue'), meta: { keepAlive: true } }, { //场景编辑 name: 'fyspSceneEdit', path: '/fysp/sceneEdit/:sid', component: () => import('@/views/fysp/scene/SceneEdit.vue'), meta: { transition: 'slide-left' } }, { //对外支持 name: 'fyspSupport', path: '/fysp/support', component: () => import('@/views/fysp/support/JingAnSupport.vue'), }, /**********************************飞羽环境***********************************************/ { //台账审核 name: 'ledger', path: '/fytz/ledger', component: () => import('@/views/fytz/ledger/LedgerManage.vue') }, { //通知管理 name: 'notice', path: '/fytz/notice', component: () => import('@/views/fytz/notice/NoticeManage.vue') }, { //账户管理 name: 'fytzUser', path: '/fytz/userInfo', component: () => import('@/views/fytz/user/UserInfo.vue'), meta: { keepAlive: true } }, { //账户编辑 name: 'fytzUserEdit', path: '/fytz/userEdit/:userId', component: () => import('@/views/fytz/user/UserEdit.vue'), meta: { transition: 'slide-left' } }, { //环保督察案例 name: 'enforceCase', path: '/fytz/enforceCase', component: () => import('@/views/fytz/enforce-case/EnforceCase.vue') }, /**********************************通用模块***********************************************/ { //账户匹配 name: 'userMatch', path: '/common/userMatch', component: () => import('@/views/common/UserMatch.vue') }, { //文档生成测试 name: 'docTest', path: '/common/docTest', component: () => import('@/views/DocTest.vue') }, { //登陆 name: 'loginView', path: '/common/loginView', component: () => import('@/views/LoginView.vue') } ]; const router = createRouter({ // history: createWebHistory(import.meta.env.BASE_URL) history: createWebHashHistory(), routes: routes }); const loadingStore = useLoadingStore(pinia); const activeCheck = useActiveCheck(pinia); const userStore = useUserStore(pinia); // eslint-disable-next-line no-unused-vars router.afterEach((to, from) => { loadingStore.clearLoading(); }); function loginJudge() { // 如果是未登录 尝试从cookie登录 if (!userStore.isLoggedIn()) { loginUtil.loginFromCookie(); } // 如果登录超时 跳转到登录页面 if (!activeCheck.isActive()) { router.push('/common/loginView'); } } router.beforeEach((to, from) => { // 添加登录验证 if (to.fullPath !== '/common/loginView') { loginJudge(); } }); export { router, routes };