1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
| import { createRouter, createWebHistory, createWebHashHistory } from 'vue-router'
| // import form from './form'
| // import formsMulti from './formsMulti'
| // import tables from './tables'
| import viewgird from './viewGird'
| import store from '../store/index'
| import redirect from './redirect'
| import charts from './charts'
| const routes = [
| {
| path: '/',
| name: 'Index',
| component: () => import('@/views/Index'),
| redirect: '/home',
| children: [
| // ...form,//Demo表单路由
| // ...formsMulti,
| // ...tables,//tables
| ...viewgird,
| ...redirect,
| ...charts,
| {
| path: '/home',
| name: 'home',
| component: () => import('@/views/Home.vue')
| }, {
| path: '/UserInfo',
| name: 'UserInfo',
| component: () => import('@/views/system/UserInfo.vue')
| },
| {
| path: '/sysMenu',
| name: 'sysMenu',
| component: () => import('@/views/system/Sys_Menu.vue')
| }, {
| path: '/coder',
| name: 'coder',
| component: () => import('@/views/builder/coder.vue')
| },
| {
| path: '/formDraggable', //表单设计
| name: 'formDraggable',
| component: () => import('@/views/formDraggable/formDraggable.vue')
| },
| {
| path: '/formSubmit', //表单提交页面
| name: 'formSubmit',
| component: () => import('@/views/formDraggable/FormSubmit.vue'),
| meta:{
| keepAlive:false
| }
| },
| {
| path: '/formCollectionResultTree', //显示收集的数据表单
| name: 'formCollectionResultTree',
| component: () => import('@/views/formDraggable/FormCollectionResultTree.vue'),
| meta:{
| keepAlive:false
| }
| }
| ]
| },
| {
| path: '/login',
| name: 'login',
| component: () => import('@/views/Login.vue')
| },
| {
| path: '/bigdata',
| name: 'bigdata',
| component: () => import('@/views/charts/bigdata.vue'),
| meta: {
| keepAlive: false
| }
| }
| ]
|
| const router = createRouter({
| history: createWebHashHistory(), //createWebHistory(process.env.BASE_URL),
| routes
| })
|
|
| router.beforeEach((to, from, next) => {
| if (to.matched.length == 0) return next({ path: '/404' });
| //2020.06.03增加路由切换时加载提示
| store.dispatch("onLoading", true);
| if ((to.hasOwnProperty('meta') && to.meta.anonymous) || store.getters.isLogin() || to.path == '/login') {
| return next();
| }
|
| next({ path: '/login', query: { redirect: Math.random() } });
| })
| router.afterEach((to, from) => {
| store.dispatch("onLoading", false);
| })
| router.onError((error) => {
| // const targetPath = router.currentRoute.value.matched;
| try {
| console.log(error.message);
| if (process.env.NODE_ENV == 'development') {
| alert(error.message)
| }
| localStorage.setItem("route_error", error.message)
| } catch (e) {
|
| }
| window.location.href = '/'
| });
| export default router
|
|