index.ts 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. import Vue from "vue";
  2. import Router from "vue-router";
  3. import Layout from "@/layout/index.vue";
  4. Vue.use(Router);
  5. /*
  6. redirect: 如果设置为“noredirect”,则单击面包屑时不会触发重定向操作
  7. meta: {
  8. title: 'title' 子菜单和面包屑中显示的名称(推荐)
  9. icon: 'svg-name' 侧边栏中显示的图标
  10. breadcrumb: false 如果为false,则项目将隐藏在breadcrumb中(默认值为true)
  11. hidden: true 如果为true,此路由将不会显示在侧边栏中(默认为false)
  12. }
  13. */
  14. export default new Router({
  15. mode: "history",
  16. scrollBehavior: (to, from, savedPosition) => {
  17. if (savedPosition) {
  18. return savedPosition;
  19. } else {
  20. return { x: 0, y: 0 };
  21. }
  22. },
  23. base: process.env.BASE_URL,
  24. routes: [
  25. {
  26. path: "/login",
  27. component: () =>
  28. import(/* webpackChunkName: "login" */ "@/views/login/index.vue"),
  29. meta: { hidden: true }
  30. },
  31. {
  32. path: "/404",
  33. component: () => import(/* webpackChunkName: "404" */ "@/views/404.vue"),
  34. meta: { hidden: true }
  35. },
  36. {
  37. path: "/",
  38. redirect: "/project/index",
  39. component: Layout,
  40. children: [
  41. {
  42. path: "project/index",
  43. component: () =>
  44. import(
  45. /* webpackChunkName: "project" */ "@/views/project/index.vue"
  46. ),
  47. meta: {
  48. title: "项目管理",
  49. icon: "form"
  50. }
  51. }
  52. ]
  53. },
  54. {
  55. path: "/manage",
  56. component: Layout,
  57. meta: {
  58. title: "文件管理",
  59. icon: "example"
  60. },
  61. children: [
  62. {
  63. path: "build",
  64. component: () =>
  65. import(
  66. /* webpackChunkName: "build" */ "@/views/manage/build/index.vue"
  67. ),
  68. meta: {
  69. title: "建筑楼层管理",
  70. icon: "tree"
  71. }
  72. },
  73. {
  74. path: "model",
  75. component: () =>
  76. import(
  77. /* webpackChunkName: "model" */ "@/views/manage/model/index.vue"
  78. ),
  79. meta: {
  80. title: "模型修改任务",
  81. icon: "table"
  82. }
  83. }
  84. ]
  85. },
  86. {
  87. path: "/maintain",
  88. component: Layout,
  89. redirect: "/maintain/device",
  90. meta: {
  91. title: "数据维护",
  92. icon: "nested"
  93. },
  94. children: [
  95. {
  96. path: "device",
  97. component: () =>
  98. import(
  99. /* webpackChunkName: "device" */ "@/views/maintain/device/index.vue"
  100. ),
  101. meta: { title: "设备" }
  102. },
  103. {
  104. path: "space",
  105. component: () =>
  106. import(
  107. /* webpackChunkName: "space" */ "@/views/maintain/space/index.vue"
  108. ),
  109. meta: { title: "空间" }
  110. },
  111. {
  112. path: "system",
  113. component: () =>
  114. import(
  115. /* webpackChunkName: "system" */ "@/views/maintain/system/index.vue"
  116. ),
  117. meta: { title: "系统" }
  118. },
  119. {
  120. path: "relationship",
  121. component: () =>
  122. import(
  123. /* webpackChunkName: "relationship" */ "@/views/maintain/relationship/index.vue"
  124. ),
  125. meta: { title: "关系" }
  126. }
  127. ]
  128. },
  129. {
  130. path: "/scene",
  131. component: Layout,
  132. redirect: "/scene/tiepoint",
  133. meta: {
  134. title: "现场实施",
  135. icon: "nested"
  136. },
  137. children: [
  138. {
  139. path: "tiepoint",
  140. component: () =>
  141. import(
  142. /* webpackChunkName: "tiepoint" */ "@/views/scene/tiepoint/index.vue"
  143. ),
  144. meta: { title: "绑点" }
  145. },
  146. {
  147. path: "system",
  148. component: () =>
  149. import(
  150. /* webpackChunkName: "system" */ "@/views/scene/system/index.vue"
  151. ),
  152. meta: { title: "系统图" }
  153. },
  154. {
  155. path: "plane",
  156. component: () =>
  157. import(
  158. /* webpackChunkName: "plane" */ "@/views/scene/plane/index.vue"
  159. ),
  160. meta: { title: "平面图" }
  161. }
  162. ]
  163. },
  164. {
  165. path: "/tools",
  166. component: Layout,
  167. meta: {
  168. title: "一致性检查工具",
  169. icon: "nested"
  170. }
  171. },
  172. {
  173. path: "/model-tool",
  174. component: Layout,
  175. meta: {
  176. title: "模型检查工具",
  177. icon: "nested"
  178. }
  179. },
  180. {
  181. path: "*",
  182. redirect: "/404",
  183. meta: { hidden: true }
  184. }
  185. ]
  186. });