418 lines
15 KiB
JavaScript
418 lines
15 KiB
JavaScript
import { createRouter, createWebHashHistory } from "vue-router";
|
|
import routes from "./modules";
|
|
import ProjectManage from "./router.projectManage";
|
|
import TemplateMarket from "./route.templateMarket"
|
|
import Contact from "./route.contact";
|
|
import DocumentLibrary from "./route.documentLibrary";
|
|
import DataStatistics from "./route.datastatistics";
|
|
|
|
|
|
|
|
const constantRoutes = [
|
|
// {
|
|
// path: '/redirect',
|
|
// component: Layout,
|
|
// hidden: true,
|
|
// children: [
|
|
// {
|
|
// path: '/redirect/:path(.*)',
|
|
// component: () => import('@/views/redirect/index')
|
|
// }
|
|
// ]
|
|
// },
|
|
{
|
|
path: '/:catchAll(.*)',
|
|
redirect: "/error/404",
|
|
meta: { noRedirectLogin: true },
|
|
},
|
|
{
|
|
path: "/",
|
|
redirect: "/home"
|
|
},
|
|
|
|
{
|
|
path: "/heartbeat",
|
|
component: () => import(/* webpackChunkName: 'heartbeat' */ "@views/Heartbeat/Index.vue"),
|
|
},
|
|
{
|
|
path: "/home",
|
|
name: "home",
|
|
redirect: "/home/project",
|
|
component: () => import(/* webpackChunkName: 'home' */ "@views/Home/Index.vue"),
|
|
children: [...ProjectManage, ...TemplateMarket, ...Contact, ...DocumentLibrary,...DataStatistics]
|
|
},
|
|
{
|
|
path: "/luck",
|
|
name: "luck",
|
|
component: () => import(/* webpackChunkName: "planet" */ "../views/planetDesign/redpacket/luck.vue")
|
|
}, {
|
|
path: "/addinfor",
|
|
name: "addinfor",
|
|
component: () => import(/* webpackChunkName: "planet" */ "../views/planetDesign/redpacket/addinfor.vue")
|
|
},
|
|
{
|
|
path: "/prize",
|
|
name: "prize",
|
|
component: () => import(/* webpackChunkName: "planet" */ "../views/planetDesign/redpacket/prize.vue")
|
|
},
|
|
{
|
|
path: "/succeed",
|
|
name: "succeed",
|
|
component: () => import(/* webpackChunkName: "planet" */ "../views/planetDesign/redpacket/succeed.vue")
|
|
},
|
|
{
|
|
path: "/login",
|
|
name: "login",
|
|
component: () => import(/* webpackChunkName: 'login' */ "@views/Login/Login.vue")
|
|
},
|
|
{
|
|
path: "/loginInvite",
|
|
name: "loginInvite",
|
|
component: () => import(/* webpackChunkName: 'login' */ "@views/TeamManage/TeamCenter/teamAdmin/login.vue")
|
|
},
|
|
{
|
|
path: "/answer",
|
|
name: "Answer",
|
|
meta: { noRedirectLogin: true },
|
|
component: () => import(/* webpackChunkName: "answer" */ "../views/Answer/Index.vue")
|
|
},
|
|
{
|
|
path: "/preview",
|
|
name: "Preview",
|
|
component: () => import(/* webpackChunkName: "preview" */ "../views/Answer/Preview.vue")
|
|
},
|
|
{
|
|
path: "/survey",
|
|
name: "Survey",
|
|
redirect: "/survey/planet",
|
|
component: () => import(/* webpackChunkName: "survey" */ "../views/survey/index.vue"),
|
|
children: [
|
|
{
|
|
path: "planet",
|
|
name: "planet",
|
|
redirect: "/survey/planet/design",
|
|
component: () => import(/* webpackChunkName: "planet" */ "../views/planetDesign/Index.vue"),
|
|
children: [
|
|
{
|
|
path: "design",
|
|
name: "design",
|
|
meta: { showPreview: true, showPublish: true, showDownload: true, },
|
|
component: () => import(/* webpackChunkName: "planet" */ "../views/planetDesign/Design/DesignContent.vue")
|
|
},
|
|
{
|
|
path: "logical",
|
|
name: "logical",
|
|
meta: { showPublish: true, showDownload: true, },
|
|
component: () => import(/* webpackChunkName: "planet" */ "../views/planetDesign/Logical/Index.vue")
|
|
},
|
|
{
|
|
path: "test",
|
|
meta: { showPublish: true, showDownload: true, },
|
|
component: () => import(/* webpackChunkName: "planet" */ "../views/planetDesign/PlanetTest.vue")
|
|
},
|
|
{
|
|
path: "answer-setting",
|
|
meta: { showPublish: true, showDownload: true, },
|
|
component: () => import(/* webpackChunkName: "planet" */ "../views/planetDesign/AnswerSetting.vue")
|
|
},
|
|
{
|
|
path: "theme",
|
|
meta: { showPublish: true, showPreview: true, showDownload: true, },
|
|
component: () => import(/* webpackChunkName: "planet" */ "../views/planetDesign/Theme/index.vue")
|
|
},
|
|
{
|
|
path: "redpacket",
|
|
meta: { showPublish: true, showPreview: true, showDownload: true, },
|
|
component: () => import(/* webpackChunkName: "planet" */ "../views/planetDesign/redpacket/index.vue")
|
|
},
|
|
{
|
|
path: "addset",
|
|
meta: { showPublish: true, showPreview: true, showDownload: true, },
|
|
component: () => import(/* webpackChunkName: "planet" */ "../views/planetDesign/redpacket/addset.vue")
|
|
}
|
|
]
|
|
},
|
|
{
|
|
path: "schedule",
|
|
name: "schedule",
|
|
redirect: "/survey/schedule/index",
|
|
component: () => import(/* webpackChunkName: "planet" */ "../views/schedule/index.vue"),
|
|
children: [
|
|
{
|
|
path: "recycle",
|
|
name: "recycle",
|
|
meta: { showPreview: true, showPublish: true, showDownload: true, },
|
|
component: () => import(/* webpackChunkName: "planet" */ "../views/schedule/recycle.vue")
|
|
},]
|
|
},
|
|
{
|
|
path: "analyse",
|
|
name: "analyse",
|
|
redirect: { name: 'Diagram' },
|
|
meta: { keepAlive: false },
|
|
component: () => import(/* webpackChunkName: "analyse" */ "@/views/DataAnalyse/index"),
|
|
children: [
|
|
{
|
|
path: "data-particulars",
|
|
name: "DataParticulars",
|
|
meta: { keepAlive: true },
|
|
meta: { showPublish: false, showPreview: false, showShare: true, showDownload: true },
|
|
component: () => import(/* webpackChunkName: "analyse" */ "@/views/DataAnalyse/particulars/list")
|
|
},
|
|
{
|
|
path: "diagram",
|
|
name: "Diagram",
|
|
meta: { keepAlive: true, showDownload: true },
|
|
|
|
component: () => import(/* webpackChunkName: "analyse" */ "@/views/DataAnalyse/diagram/test")
|
|
},
|
|
{
|
|
path: "test",
|
|
name: "test",
|
|
meta: { keepAlive: true },
|
|
|
|
component: () => import(/* webpackChunkName: "analyse" */ "@/views/DataAnalyse/diagram/test")
|
|
},
|
|
{
|
|
path: "kndiagram",
|
|
name: "knDiagram",
|
|
component: () => import(/* webpackChunkName: "analyse" */ "@/views/DataAnalyse/kndiagram/index"),
|
|
redirect: "index",
|
|
children: [{
|
|
name: "KANO分析",
|
|
path: "index",
|
|
component: () => import(/* webpackChunkName: "analyse" */ "@/views/DataAnalyse/kndiagram/questions/Kano"),
|
|
},
|
|
{
|
|
name: "PSM分析",
|
|
path: "psm",
|
|
component: () => import(/* webpackChunkName: "analyse" */ "@/views/DataAnalyse/kndiagram/questions/psm"),
|
|
},
|
|
{
|
|
name: "MXD分析",
|
|
path: "mxd",
|
|
component: () => import(/* webpackChunkName: "analyse" */ "@/views/DataAnalyse/kndiagram/questions/mxd"),
|
|
},
|
|
{
|
|
name: "3D场景分析",
|
|
path: "q3d",
|
|
component: () => import(/* webpackChunkName: "analyse" */ "@/views/DataAnalyse/kndiagram/questions/q3d"),
|
|
},
|
|
],
|
|
// {
|
|
// name: "分析模型",
|
|
// path: "index",
|
|
// component: () => import(/* webpackChunkName: "analyse" */ "@/views/DataAnalyse/kndiagram/index"),
|
|
// },
|
|
// {
|
|
// name: "市场模拟",
|
|
// path: "index",
|
|
// component: () => import(/* webpackChunkName: "analyse" */ "@/views/DataAnalyse/kndiagram/index"),
|
|
// }
|
|
|
|
},
|
|
{
|
|
path: "bi",
|
|
name: "bi",
|
|
component: () => import(/* webpackChunkName: "publish" */ "@/views/Publish/bi")
|
|
},
|
|
{
|
|
// BPTO模拟
|
|
path: "bptoAnalog",
|
|
name: "bptoAnalog",
|
|
meta: { keepAlive: true },
|
|
component: () => import(/* webpackChunkName: "analyse" */ "@/views/DataAnalyse/bptoAnalog/index")
|
|
},
|
|
{
|
|
path: "crosstabs",
|
|
name: "crosstabs",
|
|
meta: { keepAlive: true, showDownload: true },
|
|
component: () => import(/* webpackChunkName: "analyse" */ "@/views/DataAnalyse/crosstabs/index.vue")
|
|
},
|
|
{
|
|
path: "recycleBin",
|
|
name: "recycleBin",
|
|
component: () => import(/* webpackChunkName: "analyse" */ "@/views/DataAnalyse/recycleBin/index"),
|
|
redirect: "detailData",
|
|
children: [{
|
|
name: "数据明细",
|
|
path: "detailData",
|
|
// meta: {title:"数据明细" },
|
|
component: () => import(/* webpackChunkName: "analyse" */ "@/views/DataAnalyse/recycleBin/binList/detailData"),
|
|
}
|
|
],
|
|
},
|
|
|
|
]
|
|
},
|
|
{
|
|
path: "publish",
|
|
name: "publish",
|
|
redirect: "/survey/publish/link",
|
|
component: () => import(/* webpackChunkName: "publish" */ "@/views/Publish/index"),
|
|
children: [
|
|
{
|
|
path: "link-source",
|
|
name: "link-source",
|
|
meta: { showPreview: false, showPublish: false, keepAlive: true, showShare: true },
|
|
component: () => import(/* webpackChunkName: "publish" */ "@/views/Publish/link")
|
|
},
|
|
{
|
|
path: "link",
|
|
name: "link",
|
|
meta: { showPreview: false, showPublish: false, keepAlive: true, showShare: true },
|
|
component: () => import(/* webpackChunkName: "publish" */ "@/views/Publish/launch-center/launch-task/index")
|
|
},
|
|
{
|
|
path: "create",
|
|
name: "create",
|
|
meta: { showPreview: false, showPublish: false, keepAlive: true, showShare: true },
|
|
component: () => import(/* webpackChunkName: "publish" */ "@/views/Publish/launch-center/launch-task/create")
|
|
},
|
|
// {
|
|
// path: "link",
|
|
// name: "link",
|
|
// meta: { showPreview: false, showPublish: false, keepAlive: true, showShare: true },
|
|
// component: () => import(/* webpackChunkName: "publish" */ "@/views/Publish/link")
|
|
// },
|
|
{
|
|
path: "analyst",
|
|
name: "analyst",
|
|
meta: { showPreview: false, showPublish: false, keepAlive: true, showShare: true },
|
|
component: () => import(/* webpackChunkName: "publish" */ "@/views/Publish/analyse")
|
|
},
|
|
{
|
|
path: "api",
|
|
name: "api",
|
|
component: () => import(/* webpackChunkName: "publish" */ "@/views/Publish/api")
|
|
},
|
|
{
|
|
path: "email",
|
|
name: "email",
|
|
component: () => import(/* webpackChunkName: "publish" */ "@/views/Publish/message/record"),
|
|
},
|
|
{
|
|
path: "census",
|
|
name: "census",
|
|
component: () => import(/* webpackChunkName: "publish" */ "@/views/Publish/census/census"),
|
|
},
|
|
{
|
|
path: "emailRecord",
|
|
name: "emailRecord",
|
|
component: () => import(/* webpackChunkName: "publish" */ "@/views/Publish/email/email")
|
|
},
|
|
{
|
|
path: "message",
|
|
name: "message",
|
|
component: () => import(/* webpackChunkName: "publish" */ "@/views/Publish/message/record")
|
|
},
|
|
{
|
|
path: "messageRecord",
|
|
name: "messageRecord",
|
|
component: () => import(/* webpackChunkName: "publish" */ "@/views/Publish/message/message")
|
|
},
|
|
{
|
|
path: "sample",
|
|
name: "sample",
|
|
component: () => import(/* webpackChunkName: "publish" */ "@/views/Publish/sample/sample")
|
|
},
|
|
{
|
|
path: "activity",
|
|
name: "activity",
|
|
component: () => import(/* webpackChunkName: "publish" */ "@/views/Publish/activity/activity")
|
|
},
|
|
{
|
|
path: "group",
|
|
name: "group",
|
|
component: () => import(/* webpackChunkName: "publish" */ "@/views/Publish/temp")
|
|
},
|
|
|
|
{
|
|
path: "flush",
|
|
name: "flush",
|
|
component: () => import(/* webpackChunkName: "publish" */ "@/views/Publish/flush")
|
|
},
|
|
]
|
|
},
|
|
]
|
|
},
|
|
{
|
|
path: "/InviteLogin",
|
|
name: "InviteLogin",
|
|
component: () => import(/* webpackChunkName: 'InviteLogin' */ "../views/TeamManage/InviteLogin.vue")
|
|
},
|
|
{
|
|
path: "/team-manage",
|
|
name: "TeamManage",
|
|
component: () => import(/* webpackChunkName: 'home' */ "../views/TeamManage/index.vue"),
|
|
children: [
|
|
{
|
|
path: "user-center",
|
|
name: "userCenTer",
|
|
component: () => import(/* webpackChunkName: 'home' */ "../views/TeamManage//UserCenter/index.vue"),
|
|
// children: [
|
|
// {
|
|
// path: "design",
|
|
// name: "design",
|
|
// meta: { showPreview: true, showPublish: true, keepAlive: true },
|
|
// component: () => import(/* webpackChunkName: "planet" */ "../views/planetDesign/DesignContent.vue")
|
|
// },
|
|
// {
|
|
// path: "logical",
|
|
// name: "logical",
|
|
// component: () => import(/* webpackChunkName: "planet" */ "../views/planetDesign/PlanetLogical.vue")
|
|
// },
|
|
// {
|
|
// path: "test",
|
|
// name: "test",
|
|
// component: () => import(/* webpackChunkName: "planet" */ "../views/planetDesign/PlanetTest.vue")
|
|
// },
|
|
// {
|
|
// path: "answer-setting",
|
|
// meta: { showPublish: true },
|
|
// component: () => import(/* webpackChunkName: "planet" */ "../views/planetDesign/AnswerSetting.vue")
|
|
// },
|
|
// {
|
|
// path: "theme",
|
|
// meta: { showPublish: true, showPreview: true },
|
|
// component: () => import(/* webpackChunkName: "planet" */ "../views/planetDesign/Theme/index.vue")
|
|
// }
|
|
// ]
|
|
},
|
|
{
|
|
path: "team-center",
|
|
name: "teamCenter",
|
|
component: () => import(/* webpackChunkName: 'home' */ "../views/TeamManage//TeamCenter/index.vue")
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: "/SceneSurveyViewerPage",
|
|
name: "SceneSurveyViewerPage",
|
|
component: () => import(/* webpackChunkName: 'SceneSurveyViewerPage' */ "../views/planetDesign/SceneSurveyViewerPage/Index.vue")
|
|
},
|
|
|
|
// 下载中心
|
|
// {
|
|
// path: "/downloadCenter",
|
|
// name: "downloadCenter",
|
|
// component: () => import(/* webpackChunkName: "preview" */ "../views/DownloadCenter/index.vue")
|
|
// },
|
|
...routes
|
|
];
|
|
|
|
export const asyncRoutes = [];
|
|
const router = createRouter({
|
|
history: createWebHashHistory(),
|
|
routes: constantRoutes
|
|
});
|
|
router.beforeEach((to, from, next) => {
|
|
if (!to.meta.noRedirectLogin) {
|
|
if (window.self === window.top) {
|
|
// window.parent.location.href = 'https://yip-uat.dctest.digitalyili.com/login';
|
|
}
|
|
}
|
|
next()
|
|
})
|
|
export default router;
|