remaining.ts 59 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326
  1. import { Layout } from '@/utils/routerHelper'
  2. const { t } = useI18n()
  3. /**
  4. * redirect: noredirect 当设置 noredirect 的时候该路由在面包屑导航中不可被点击
  5. * name:'router-name' 设定路由的名字,一定要填写不然使用<keep-alive>时会出现各种问题
  6. * meta : {
  7. hidden: true 当设置 true 的时候该路由不会再侧边栏出现 如404,login等页面(默认 false)
  8. alwaysShow: true 当你一个路由下面的 children 声明的路由大于1个时,自动会变成嵌套的模式,
  9. 只有一个时,会将那个子路由当做根路由显示在侧边栏,
  10. 若你想不管路由下面的 children 声明的个数都显示你的根路由,
  11. 你可以设置 alwaysShow: true,这样它就会忽略之前定义的规则,
  12. 一直显示根路由(默认 false)
  13. title: 'title' 设置该路由在侧边栏和面包屑中展示的名字
  14. icon: 'svg-name' 设置该路由的图标
  15. noCache: true 如果设置为true,则不会被 <keep-alive> 缓存(默认 false)
  16. breadcrumb: false 如果设置为false,则不会在breadcrumb面包屑中显示(默认 true)
  17. affix: true 如果设置为true,则会一直固定在tag项中(默认 false)
  18. noTagsView: true 如果设置为true,则不会出现在tag中(默认 false)
  19. activeMenu: '/dashboard' 显示高亮的路由路径
  20. followAuth: '/dashboard' 跟随哪个路由进行权限过滤
  21. canTo: true 设置为true即使hidden为true,也依然可以进行路由跳转(默认 false)
  22. }
  23. **/
  24. const remainingRouter: AppRouteRecordRaw[] = [
  25. {
  26. path: '/redirect',
  27. component: Layout,
  28. name: 'Redirect',
  29. children: [
  30. {
  31. path: '/redirect/:path(.*)',
  32. name: 'Redirect',
  33. component: () => import('@/views/Redirect/Redirect.vue'),
  34. meta: {}
  35. }
  36. ],
  37. meta: {
  38. hidden: true,
  39. noTagsView: true
  40. }
  41. },
  42. {
  43. path: '/',
  44. component: Layout,
  45. redirect: '/index',
  46. name: 'Home',
  47. meta: {},
  48. children: [
  49. {
  50. path: 'index',
  51. component: () => import('@/views/Home/Index.vue'),
  52. name: 'Index',
  53. meta: {
  54. title: t('router.home'),
  55. icon: 'ep:home-filled',
  56. noCache: false,
  57. affix: true
  58. }
  59. }
  60. ]
  61. },
  62. {
  63. path: '/dingding',
  64. name: 'dingtalk',
  65. component: () => import('@/views/pms/dingding.vue'),
  66. meta: {
  67. hidden: true
  68. }
  69. },
  70. {
  71. path: '/maotu',
  72. redirect: '/maotu/list',
  73. name: 'Maotu',
  74. meta: {
  75. hidden: true
  76. },
  77. children: [
  78. {
  79. path: 'edit/:id?',
  80. component: () => import('@/views/maotu/edit.vue'),
  81. name: 'MaotuEdit',
  82. meta: {
  83. title: '拓扑编辑器',
  84. noCache: true,
  85. hidden: true,
  86. canTo: true
  87. }
  88. },
  89. {
  90. path: 'preview/:id?',
  91. component: () => import('@/views/maotu/preview.vue'),
  92. name: 'MaotuPreview',
  93. meta: {
  94. title: '拓扑预览',
  95. noCache: true,
  96. hidden: true,
  97. canTo: true
  98. }
  99. }
  100. ]
  101. },
  102. {
  103. path: '/deviceattrstemplate',
  104. component: Layout,
  105. name: 'DeviceAttrsCenter',
  106. meta: {
  107. hidden: true,
  108. keepAlive: true
  109. },
  110. children: [
  111. {
  112. path: 'template/detail/:id/:templateName/:categoryName',
  113. component: () => import('@/views/pms/devicetemplate/detail/attrsModel/index.vue'),
  114. name: 'DeviceAttrTemplateModel',
  115. meta: {
  116. keepAlive: true,
  117. title: t('rem.DeviceAttrTemplateModel'),
  118. noCache: false,
  119. hidden: true,
  120. canTo: true,
  121. activeMenu: '/template/info'
  122. }
  123. },
  124. {
  125. path: 'templates',
  126. component: () => import('@/views/pms/devicetemplate/index.vue'),
  127. name: 'DeviceAttrsTemplate',
  128. meta: {
  129. keepAlive: true,
  130. title: t('rem.AttrTemplates'),
  131. noCache: false,
  132. hidden: true,
  133. canTo: true,
  134. activeMenu: '/templates'
  135. }
  136. }
  137. ]
  138. },
  139. {
  140. path: '/projectTaskAttrsTemplate',
  141. component: Layout,
  142. name: 'TaskAttrsTemplateCenter',
  143. meta: {
  144. hidden: true,
  145. keepAlive: true
  146. },
  147. children: [
  148. {
  149. path: 'template/attrs/:deptId/:templateName/:deptName',
  150. component: () => import('@/views/pms/iotprojecttasktemplate/detail/index.vue'),
  151. name: 'ProjectTaskTemplateAttrs',
  152. meta: {
  153. keepAlive: true,
  154. title: t('project.taskAttrDetail'),
  155. noCache: false,
  156. hidden: true,
  157. canTo: true,
  158. activeMenu: '/template/info'
  159. }
  160. }
  161. ]
  162. },
  163. {
  164. path: '/devicecategoryboms',
  165. component: Layout,
  166. name: 'DeviceCategoryBomCenter',
  167. meta: {
  168. hidden: true,
  169. keepAlive: true
  170. },
  171. children: [
  172. {
  173. path: 'boms',
  174. component: () => import('@/views/pms/bom/index.vue'),
  175. name: 'Bom',
  176. meta: {
  177. keepAlive: true,
  178. title: t('rem.AttrTemplates'),
  179. noCache: false,
  180. hidden: true,
  181. canTo: true,
  182. activeMenu: '/boms'
  183. }
  184. }
  185. ]
  186. },
  187. {
  188. path: '/devicetrends',
  189. component: Layout,
  190. name: 'DeviceTrendsCenter',
  191. meta: {
  192. hidden: true,
  193. keepAlive: true
  194. },
  195. children: [
  196. {
  197. path: 'devicepersons',
  198. component: () => import('@/views/pms/device/personlog/DevicePerson.vue'),
  199. name: 'IotDevicePerson',
  200. meta: {
  201. keepAlive: true,
  202. title: t('rem.EquipmentResponsiblePerson'),
  203. noCache: false,
  204. hidden: true,
  205. canTo: true,
  206. activeMenu: '/devicepersons'
  207. }
  208. },
  209. {
  210. path: 'allotlogs',
  211. component: () => import('@/views/pms/device/allotlog/DeviceAllot.vue'),
  212. name: 'IotDeviceAllot',
  213. meta: {
  214. keepAlive: true,
  215. title: t('rem.EquipmentAllocation'),
  216. noCache: false,
  217. hidden: true,
  218. canTo: true,
  219. activeMenu: '/allotlogs'
  220. }
  221. },
  222. {
  223. path: 'statuslogs',
  224. component: () => import('@/views/pms/device/statuslog/DeviceStatus.vue'),
  225. name: 'IotDeviceStatus',
  226. meta: {
  227. keepAlive: true,
  228. title: t('devicePerson.status'),
  229. noCache: false,
  230. hidden: true,
  231. canTo: true,
  232. activeMenu: '/statuslogs'
  233. }
  234. }
  235. ]
  236. },
  237. {
  238. path: '/materials',
  239. component: Layout,
  240. name: 'MaterialsCenter',
  241. meta: {
  242. hidden: true,
  243. keepAlive: true
  244. },
  245. children: [
  246. {
  247. path: 'materials',
  248. component: () => import('@/views/pms/material/index.vue'),
  249. name: 'Material',
  250. meta: {
  251. keepAlive: true,
  252. title: t('rem.MaterialManagement'),
  253. noCache: false,
  254. hidden: true,
  255. canTo: true,
  256. activeMenu: '/materials'
  257. }
  258. }
  259. ]
  260. },
  261. {
  262. path: '/modelattrstemplate',
  263. component: Layout,
  264. name: 'ModelAttrsCenter',
  265. meta: {
  266. hidden: true
  267. },
  268. children: [
  269. {
  270. path: 'template/detail/:id',
  271. component: () => import('@/views/pms/modeltemplate/detail/attrsModel/index.vue'),
  272. name: 'ModelAttrTemplate',
  273. meta: {
  274. title: t('rem.AttributeInformationDetails'),
  275. noCache: false,
  276. hidden: true,
  277. canTo: true,
  278. activeMenu: '/template/info'
  279. }
  280. }
  281. ]
  282. },
  283. {
  284. path: '/iotProjectInfo',
  285. component: Layout,
  286. name: 'IotProjectInfo',
  287. meta: {
  288. hidden: true
  289. },
  290. children: [
  291. {
  292. path: 'project/info/:type/:id?(\\d+)',
  293. component: () => import('@/views/pms/iotprojectinfo/IotProjectInfoForm.vue'),
  294. name: 'IotProjectInfo',
  295. meta: {
  296. title: t('rem.AddProjectInformation'),
  297. noCache: false,
  298. hidden: true,
  299. canTo: true,
  300. activeMenu: '/project/info'
  301. }
  302. }
  303. ]
  304. },
  305. {
  306. path: '/iotProjectTask',
  307. component: Layout,
  308. name: 'IotProjectTaskInfo',
  309. meta: {
  310. hidden: true
  311. },
  312. children: [
  313. {
  314. path: 'project/task/:type/:id?(\\d+)/:projectId?',
  315. component: () => import('@/views/pms/iotprojecttask/IotProjectTaskForm.vue'),
  316. name: 'IotProjectTaskInfo',
  317. meta: {
  318. title: t('action.edit'),
  319. noCache: false,
  320. hidden: true,
  321. canTo: true,
  322. activeMenu: '/project/task'
  323. }
  324. }
  325. ]
  326. },
  327. {
  328. path: '/iotProjectInfoDetail',
  329. component: Layout,
  330. name: 'IotProjectInfoDetail',
  331. meta: {
  332. hidden: true
  333. },
  334. children: [
  335. {
  336. path: 'project/info/detail/:id(\\d+)',
  337. component: () => import('@/views/pms/iotprojectinfo/IotProjectInfoDetail.vue'),
  338. name: 'IotProjectInfoDetail',
  339. meta: {
  340. title: t('rem.detail'),
  341. noCache: false,
  342. hidden: true,
  343. canTo: true,
  344. activeMenu: '/project/detail'
  345. }
  346. }
  347. ]
  348. },
  349. {
  350. path: '/FillOrderInfo2',
  351. component: Layout,
  352. name: 'FillOrderInfo2',
  353. meta: {
  354. hidden: true
  355. },
  356. children: [
  357. {
  358. path: 'template/detail/:deptId/:isFill/:createTime*',
  359. component: () => import('@/views/pms/iotopeationfill/StatisticsForm.vue' + ''),
  360. name: 'FillOrderInfo2',
  361. meta: {
  362. title: t('rem.FillInInformation'),
  363. noCache: false,
  364. hidden: true,
  365. canTo: true,
  366. activeMenu: '/template/info'
  367. }
  368. }
  369. ]
  370. },
  371. {
  372. path: '/FillOrderInfo',
  373. component: Layout,
  374. name: 'FillOrderInfo',
  375. meta: {
  376. hidden: true,
  377. keepAlive: true
  378. },
  379. children: [
  380. {
  381. path: 'template/detail/:id',
  382. component: () => import('@/views/pms/iotopeationfill/index1.vue' + ''),
  383. name: 'FillOrderInfo',
  384. meta: {
  385. title: t('rem.FillInInformation'),
  386. noCache: false,
  387. hidden: true,
  388. canTo: true,
  389. keepAlive: true,
  390. activeMenu: '/template/info'
  391. }
  392. }
  393. ]
  394. },
  395. {
  396. path: '/IotOpeationFill1',
  397. component: Layout,
  398. name: 'IotOpeationFill1',
  399. meta: {
  400. hidden: true
  401. },
  402. children: [
  403. {
  404. path: 'template/detail',
  405. component: () => import('@/views/pms/iotopeationfill/index.vue'),
  406. name: 'IotOpeationFill1',
  407. meta: {
  408. title: t('rem.FillInInformation'),
  409. noCache: false,
  410. hidden: true,
  411. canTo: true,
  412. keepAlive: true,
  413. activeMenu: '/template/info'
  414. }
  415. }
  416. ]
  417. },
  418. {
  419. path: '/iotOperationPlan',
  420. component: Layout,
  421. name: 'iotOperationPlan',
  422. meta: {
  423. hidden: true
  424. },
  425. children: [
  426. {
  427. path: 'template/detail',
  428. component: () => import('@/views/pms/iotopeationfill/plan/index.vue'),
  429. name: 'iotOperationPlan',
  430. meta: {
  431. title: t('rem.FillInInformation'),
  432. noCache: false,
  433. hidden: true,
  434. canTo: true,
  435. keepAlive: true,
  436. activeMenu: '/template/info'
  437. }
  438. },
  439. {
  440. path: 'iotopeationfill/plan/add',
  441. component: () => import('@/views/pms/iotopeationfill/plan/IotOperationPlan.vue'),
  442. name: 'OperationPlanAdd',
  443. meta: {
  444. noCache: false,
  445. hidden: true,
  446. canTo: true,
  447. icon: 'ep:add',
  448. title: t('rem.OperationPlanAdd'),
  449. activeMenu: '/iotopeationfill/plan/add'
  450. }
  451. },
  452. {
  453. path: 'iotopeationfill/plan/add/:id(\\\\d+)',
  454. component: () => import('@/views/pms/iotopeationfill/plan/IotOperationPlan.vue'),
  455. name: 'OperationPlanEdit',
  456. meta: {
  457. noCache: false,
  458. hidden: true,
  459. canTo: true,
  460. icon: 'ep:add',
  461. title: t('rem.OperationPlanEdit'),
  462. activeMenu: '/iotopeationfill/plan/add'
  463. }
  464. }
  465. ]
  466. },
  467. {
  468. path: '/FillOrderInfoS',
  469. component: Layout,
  470. name: 'FillOrderInfoS',
  471. meta: {
  472. hidden: true,
  473. keepAlive: true
  474. },
  475. children: [
  476. {
  477. path: 'template/detail/:id/:deviceid/:status/:deptid/:createtime',
  478. component: () => import('@/views/pms/device/record/RecordInfo.vue'),
  479. name: 'FillOrderInfoDevice',
  480. meta: {
  481. title: t('rem.detail'),
  482. noCache: false,
  483. hidden: true,
  484. canTo: true,
  485. activeMenu: '/template/info'
  486. }
  487. }
  488. ]
  489. },
  490. {
  491. path: '/iotpms/iotdevicepms', // 商品中心
  492. component: Layout,
  493. name: 'PmsDeviceCenter',
  494. meta: {
  495. hidden: true
  496. },
  497. children: [
  498. {
  499. path: 'device/detail/add/:type/:deptId',
  500. component: () => import('@/views/pms/device/IotDeviceForm.vue'),
  501. name: 'DeviceDetailAdd',
  502. meta: {
  503. noCache: false,
  504. hidden: true,
  505. canTo: true,
  506. icon: 'ep:add',
  507. title: t('rem.AddEquipment'),
  508. activeMenu: '/device/base'
  509. }
  510. },
  511. {
  512. path: 'device/detail/add',
  513. component: () => import('@/views/pms/device/IotDeviceFormAdd.vue'),
  514. name: 'DeviceDetailAddd',
  515. meta: {
  516. noCache: false,
  517. hidden: true,
  518. canTo: true,
  519. icon: 'ep:add',
  520. title: t('rem.AddEquipment'),
  521. activeMenu: '/device/base'
  522. }
  523. },
  524. {
  525. path: 'device/detail/edit/:type/:id(\\d+)',
  526. component: () => import('@/views/pms/device/IotDeviceForm.vue'),
  527. name: 'DeviceDetailEdit',
  528. meta: {
  529. noCache: true,
  530. hidden: true,
  531. canTo: true,
  532. icon: 'ep:edit',
  533. title: t('rem.EquipmentEditing'),
  534. activeMenu: '/device/base'
  535. }
  536. },
  537. {
  538. path: 'device/detail/:id',
  539. component: () => import('@/views/pms/device/DeviceInfo.vue'),
  540. name: 'DeviceDetailInfo',
  541. meta: {
  542. noCache: false,
  543. hidden: true,
  544. canTo: true,
  545. icon: 'ep:info',
  546. title: t('rem.EquipmentDetails'),
  547. activeMenu: '/device/info'
  548. }
  549. },
  550. {
  551. path: 'tddevice/detail',
  552. component: () => import('@/views/pms/device/monitor/TdDeviceInfo.vue'),
  553. name: 'TdDeviceDetail',
  554. meta: {
  555. noCache: true,
  556. hidden: true,
  557. canTo: true,
  558. icon: 'ep:info',
  559. title: t('rem.MonitoringDetails'),
  560. activeMenu: '/device/info'
  561. }
  562. },
  563. {
  564. path: '/oli-connection/monitoring/detail',
  565. component: () => import('@/views/oli-connection/monitoring/detail.vue'),
  566. name: 'MonitoringDetail',
  567. meta: {
  568. noCache: true,
  569. hidden: true,
  570. canTo: true,
  571. icon: 'fa:area-chart',
  572. title: t('rem.MonitoringDetails'),
  573. activeMenu: '/oli-connection/monitoring'
  574. }
  575. },
  576. {
  577. path: 'device/upload/:id',
  578. component: () => import('@/views/pms/device/DeviceUpload.vue'),
  579. name: 'DeviceUpload',
  580. meta: {
  581. noCache: false,
  582. hidden: true,
  583. canTo: true,
  584. icon: 'ep:info',
  585. title: t('rem.UploadFile'),
  586. activeMenu: '/device/upload'
  587. }
  588. },
  589. {
  590. path: 'device/bom/:id',
  591. component: () => import('@/views/pms/device/bom/BomInfo.vue'),
  592. name: 'DeviceBom',
  593. meta: {
  594. noCache: false,
  595. hidden: true,
  596. canTo: true,
  597. icon: 'ep:info',
  598. title: t('rem.EquipmentBOM'),
  599. activeMenu: '/device/bom'
  600. }
  601. },
  602. {
  603. path: 'device/person',
  604. component: () => import('@/views/pms/device/personlog/ConfigDevicePerson.vue'),
  605. name: 'ConfigDevicePerson',
  606. meta: {
  607. noCache: false,
  608. hidden: true,
  609. canTo: true,
  610. icon: 'ep:add',
  611. title: t('rem.EquipmentResponsiblePerson'),
  612. activeMenu: '/device/person'
  613. }
  614. },
  615. {
  616. path: 'device/status',
  617. component: () => import('@/views/pms/device/statuslog/ConfigDeviceStatus.vue'),
  618. name: 'ConfigDeviceStatus',
  619. meta: {
  620. noCache: false,
  621. hidden: true,
  622. canTo: true,
  623. icon: 'ep:add',
  624. title: t('rem.EquipmentStatusAdjustment'),
  625. activeMenu: '/device/status'
  626. }
  627. },
  628. {
  629. path: 'device/allot',
  630. component: () => import('@/views/pms/device/allotlog/ConfigDeviceAllot.vue'),
  631. name: 'ConfigDeviceAllot',
  632. meta: {
  633. noCache: false,
  634. hidden: true,
  635. canTo: true,
  636. icon: 'ep:add',
  637. title: t('rem.EquipmentAllocation'),
  638. activeMenu: '/device/allot'
  639. }
  640. }
  641. ]
  642. },
  643. {
  644. path: '/iotpms/iotvideopms', // 视频中心
  645. component: Layout,
  646. name: 'PmsVideoCenter',
  647. meta: {
  648. hidden: true
  649. },
  650. children: [
  651. {
  652. path: 'video/product/add',
  653. component: () => import('@/views/pms/video_center/product/product-edit.vue'),
  654. name: 'VideoCenterProductEdit',
  655. meta: {
  656. noCache: false,
  657. hidden: true,
  658. canTo: true,
  659. icon: 'ep:add',
  660. title: t('rem.AddEquipment'),
  661. activeMenu: '/video/produvt/add'
  662. }
  663. },
  664. {
  665. path: 'video/device/add',
  666. component: () => import('@/views/pms/video_center/device/device-edit.vue'),
  667. name: 'VideoCenterDeviceEdit',
  668. meta: {
  669. noCache: false,
  670. hidden: true,
  671. canTo: true,
  672. icon: 'ep:add',
  673. title: t('rem.AddEquipment'),
  674. activeMenu: '/video/device/add'
  675. }
  676. }
  677. ]
  678. },
  679. {
  680. path: '/iotpms/iotlockstock',
  681. component: Layout,
  682. name: 'PmsLockStockCenter',
  683. meta: {
  684. hidden: true,
  685. keepAlive: true
  686. },
  687. children: [
  688. {
  689. path: 'lockstock',
  690. component: () => import('@/views/pms/iotlockstock/index.vue'),
  691. name: 'IotLockStock',
  692. meta: {
  693. keepAlive: true,
  694. noCache: false,
  695. hidden: true,
  696. canTo: true,
  697. icon: 'ep:menu',
  698. title: t('rem.LocalStock'),
  699. activeMenu: '/lockstock/index'
  700. }
  701. },
  702. {
  703. path: 'lockstock/add',
  704. component: () => import('@/views/pms/iotlockstock/IotAddToStock.vue'),
  705. name: 'LockStockAdd',
  706. meta: {
  707. noCache: false,
  708. hidden: true,
  709. canTo: true,
  710. icon: 'ep:add',
  711. title: t('rem.ManualWarehousing'),
  712. activeMenu: '/lockstock/add'
  713. }
  714. },
  715. {
  716. path: 'lockstock/edit/:id(\\d+)',
  717. component: () => import('@/views/pms/iotlockstock/IotAddToStock.vue'),
  718. name: 'LockStockEdit',
  719. meta: {
  720. noCache: true,
  721. hidden: true,
  722. canTo: true,
  723. icon: 'ep:edit',
  724. title: t('rem.EditingWarehousing'),
  725. activeMenu: '/lockstock/edit'
  726. }
  727. }
  728. ]
  729. },
  730. {
  731. path: '/iotpms/iotsapstock',
  732. component: Layout,
  733. name: 'PmsSapStockCenter',
  734. meta: {
  735. hidden: true,
  736. keepAlive: true
  737. },
  738. children: [
  739. {
  740. path: 'sapstock',
  741. component: () => import('@/views/pms/iotsapstock/index.vue'),
  742. name: 'IotSapStock',
  743. meta: {
  744. keepAlive: true,
  745. noCache: false,
  746. hidden: true,
  747. canTo: true,
  748. icon: 'ep:menu',
  749. title: t('rem.SAPStock'),
  750. activeMenu: '/sapstock/index'
  751. }
  752. },
  753. {
  754. path: 'sapstock/config',
  755. component: () => import('@/views/pms/iotsapstock/IotSapStockConfig.vue'),
  756. name: 'IotSapStockConfig',
  757. meta: {
  758. noCache: false,
  759. hidden: true,
  760. canTo: true,
  761. icon: 'ep:add',
  762. title: t('rem.ConfigureSafetyStock'),
  763. activeMenu: '/sapstock/config'
  764. }
  765. },
  766. {
  767. path: 'sapstock/safe',
  768. component: () => import('@/views/pms/iotsapstock/IotConfigSafeStock.vue'),
  769. name: 'IotConfigSafeStock',
  770. meta: {
  771. noCache: false,
  772. hidden: true,
  773. canTo: true,
  774. icon: 'ep:add',
  775. title: t('rem.ConfigureSafetyStock'),
  776. activeMenu: '/sapstock/safe'
  777. }
  778. }
  779. ]
  780. },
  781. {
  782. path: '/iotpms/iotmaintenanceplan',
  783. component: Layout,
  784. name: 'PmsMaintenanceCenter',
  785. meta: {
  786. hidden: true,
  787. keepAlive: true
  788. },
  789. children: [
  790. {
  791. path: 'maintenanceplan',
  792. component: () => import('@/views/pms/maintenance/index.vue'),
  793. name: 'IotMaintenancePlan',
  794. meta: {
  795. keepAlive: true,
  796. noCache: false,
  797. hidden: true,
  798. canTo: true,
  799. icon: 'ep:menu',
  800. title: t('rem.MaintenancePlan'),
  801. activeMenu: '/maintenanceplan/index'
  802. }
  803. },
  804. {
  805. path: 'maintenanceplan/add',
  806. component: () => import('@/views/pms/maintenance/IotMaintenancePlan.vue'),
  807. name: 'IotAddMainPlan',
  808. meta: {
  809. keepAlive: true,
  810. noCache: false,
  811. hidden: true,
  812. canTo: true,
  813. icon: 'ep:add',
  814. title: t('rem.AddMaintenancePlan'),
  815. activeMenu: '/maintenanceplan/add'
  816. }
  817. },
  818. {
  819. path: 'maintenanceplan/edit/:id(\\d+)',
  820. component: () => import('@/views/pms/maintenance/IotMaintenancePlanEdit.vue'),
  821. name: 'IotMainPlanEdit',
  822. meta: {
  823. keepAlive: true,
  824. noCache: true,
  825. hidden: true,
  826. canTo: true,
  827. icon: 'ep:edit',
  828. title: t('rem.EditMaintenancePlan'),
  829. activeMenu: '/maintenanceplan/edit'
  830. }
  831. },
  832. {
  833. path: 'maintenanceplan/detail/:id(\\d+)',
  834. component: () => import('@/views/pms/maintenance/IotMaintenancePlanDetail.vue'),
  835. name: 'IotMaintenancePlanDetail',
  836. meta: {
  837. noCache: true,
  838. hidden: true,
  839. canTo: true,
  840. icon: 'ep:edit',
  841. title: t('rem.MaintenancePlanDetail'),
  842. activeMenu: '/maintenanceplan/detail'
  843. }
  844. }
  845. ]
  846. },
  847. {
  848. path: '/iotpms/iotmainworkorder',
  849. component: Layout,
  850. name: 'PmsMainWorkOrderCenter',
  851. meta: {
  852. hidden: true,
  853. keepAlive: true
  854. },
  855. children: [
  856. {
  857. path: 'mainworkorder',
  858. component: () => import('@/views/pms/iotmainworkorder/index.vue'),
  859. name: 'IotMainWorkOrder',
  860. meta: {
  861. keepAlive: true,
  862. noCache: false,
  863. hidden: true,
  864. canTo: true,
  865. icon: 'ep:menu',
  866. title: t('rem.MaintenanceOrder'),
  867. activeMenu: '/mainworkorder/index'
  868. }
  869. },
  870. {
  871. path: 'workorderalarm',
  872. component: () => import('@/views/pms/iotmainworkorder/IotDeviceMainAlarm.vue'),
  873. name: 'IotDeviceMainAlarm',
  874. meta: {
  875. keepAlive: true,
  876. noCache: false,
  877. hidden: true,
  878. canTo: true,
  879. icon: 'ep:menu',
  880. title: t('mainPlan.maintenanceQuery'),
  881. activeMenu: '/mainworkorder/alarm'
  882. }
  883. },
  884. {
  885. path: 'maintenancesearch',
  886. component: () => import('@/views/pms/iotmainworkorder/IotMaintenanceSearch.vue'),
  887. name: 'IotMaintenanceSearch',
  888. meta: {
  889. keepAlive: true,
  890. noCache: false,
  891. hidden: true,
  892. canTo: true,
  893. icon: 'ep:menu',
  894. title: t('mainPlan.maintenanceQuery'),
  895. activeMenu: '/mainworkorder/search'
  896. }
  897. },
  898. {
  899. path: 'mainworkorder/bom/:id(\\d+)',
  900. component: () => import('@/views/pms/iotmainworkorder/IotMainWorkOrderOptimize.vue'),
  901. name: 'IotMainWorkOrderOptimize',
  902. meta: {
  903. noCache: false,
  904. hidden: true,
  905. canTo: true,
  906. icon: 'ep:add',
  907. title: t('rem.FillMaintenanceOrder'),
  908. activeMenu: '/mainworkorder/bom'
  909. }
  910. },
  911. {
  912. path: 'mainworkorder/modify/:id(\\d+)',
  913. component: () => import('@/views/pms/iotmainworkorder/IotMainWorkOrderModify.vue'),
  914. name: 'IotMainWorkOrderModify',
  915. meta: {
  916. noCache: false,
  917. hidden: true,
  918. canTo: true,
  919. icon: 'ep:add',
  920. title: t('rem.modifyOrder'),
  921. activeMenu: '/mainworkorder/modify'
  922. }
  923. },
  924. {
  925. path: 'mainworkorder/add',
  926. component: () => import('@/views/pms/iotmainworkorder/IotMainWorkOrderAdd.vue'),
  927. name: 'IotMainWorkOrderAdd',
  928. meta: {
  929. noCache: false,
  930. hidden: true,
  931. canTo: true,
  932. icon: 'ep:add',
  933. title: t('rem.AddMaintenanceOrder'),
  934. activeMenu: '/mainworkorder/add'
  935. }
  936. },
  937. {
  938. path: 'mainworkorder/detail/:id(\\d+)',
  939. component: () => import('@/views/pms/iotmainworkorder/IotMainWorkOrderDetail.vue'),
  940. name: 'IotMainWorkOrderDetail',
  941. meta: {
  942. noCache: false,
  943. hidden: true,
  944. canTo: true,
  945. icon: 'ep:add',
  946. title: t('rem.MaintenanceOrderDetail'),
  947. activeMenu: '/mainworkorder/detail'
  948. }
  949. },
  950. {
  951. path: 'mainworkorder/device/detail/:orderId/:deviceId(\\d+)',
  952. component: () => import('@/views/pms/device/maintenance/MaintenanceDetail.vue'),
  953. name: 'IotDeviceMainWorkOrderDetail',
  954. meta: {
  955. noCache: false,
  956. hidden: true,
  957. canTo: true,
  958. icon: 'ep:add',
  959. title: t('rem.MaintenanceOrderDetail'),
  960. activeMenu: '/mainworkorder/detail'
  961. }
  962. }
  963. ]
  964. },
  965. {
  966. path: '/iotpms/iotmaterialreq',
  967. component: Layout,
  968. name: 'PmsMaterialReqCenter',
  969. meta: {
  970. hidden: true
  971. },
  972. children: [
  973. {
  974. path: 'materialreq',
  975. component: () => import('@/views/pms/iotmaterialrequisition/index.vue'),
  976. name: 'IotMaterialRequisition',
  977. meta: {
  978. noCache: false,
  979. hidden: true,
  980. canTo: true,
  981. icon: 'ep:menu',
  982. title: t('rem.MaterialRequisition'),
  983. activeMenu: '/materialreq/index'
  984. }
  985. },
  986. {
  987. path: 'materialreq/add',
  988. component: () => import('@/views/pms/iotmaterialrequisition/IotMaterialRequisitionAdd.vue'),
  989. name: 'IotMaterialRequisitionAdd',
  990. meta: {
  991. noCache: false,
  992. hidden: true,
  993. canTo: true,
  994. icon: 'ep:add',
  995. title: t('rem.MaterialRequisitionAdd'),
  996. activeMenu: '/materialreq/add'
  997. }
  998. },
  999. {
  1000. path: 'materialreq/detail/:id(\\d+)',
  1001. component: () => import('@/views/pms/iotmaterialrequisition/IotMaterialReqDetail.vue'),
  1002. name: 'IotMaterialReqDetail',
  1003. meta: {
  1004. noCache: false,
  1005. hidden: true,
  1006. canTo: true,
  1007. icon: 'ep:view',
  1008. title: t('rem.CollectionFormDetails'),
  1009. activeMenu: '/materialreq/detail'
  1010. }
  1011. }
  1012. ]
  1013. },
  1014. {
  1015. path: '/iotpms/rddailyreport',
  1016. component: Layout,
  1017. name: 'RDDailyReport',
  1018. meta: {
  1019. hidden: true,
  1020. keepAlive: true
  1021. },
  1022. children: [
  1023. {
  1024. path: 'dailyReport',
  1025. component: () => import('@/views/pms/iotrddailyreport/fillDailyReport.vue'),
  1026. name: 'FillDailyReport',
  1027. meta: {
  1028. keepAlive: true,
  1029. noCache: false,
  1030. hidden: true,
  1031. canTo: true,
  1032. icon: 'ep:menu',
  1033. title: t('project.dailyReport'),
  1034. activeMenu: '/dailyReport/index'
  1035. }
  1036. },
  1037. {
  1038. path: 'dailyReport-form',
  1039. component: () => import('@/views/pms/iotrddailyreport/FillDailyReportForm.vue'),
  1040. name: 'FillDailyReportForm',
  1041. meta: {
  1042. noCache: false,
  1043. hidden: true,
  1044. canTo: true,
  1045. icon: 'ep:add',
  1046. title: t('project.fillReport'),
  1047. activeMenu: '/iotdayilyreport/FillDailyReport'
  1048. }
  1049. }
  1050. ]
  1051. },
  1052. {
  1053. path: '/iotpms/maincalendar',
  1054. component: Layout,
  1055. name: 'PmsMainCalendarCenter',
  1056. meta: {
  1057. hidden: true
  1058. },
  1059. children: [
  1060. {
  1061. path: 'maintenancecalendar',
  1062. component: () => import('@/views/pms/iotmaincalendar/index.vue'),
  1063. name: 'MaintenanceCalendar',
  1064. meta: {
  1065. noCache: false,
  1066. hidden: true,
  1067. canTo: true,
  1068. icon: 'ep:menu',
  1069. title: t('rem.MaintainCalendar'),
  1070. activeMenu: '/maintenancecalendar/index'
  1071. }
  1072. }
  1073. ]
  1074. },
  1075. {
  1076. path: '/iotpms/iotmaintain',
  1077. component: Layout,
  1078. name: 'PmsMaintainCenter',
  1079. meta: {
  1080. hidden: true
  1081. },
  1082. children: [
  1083. {
  1084. path: 'maintain/add/:id?(\\d+)',
  1085. component: () => import('@/views/pms/maintain/IotMaintainAddEdit.vue'),
  1086. name: 'MaintainAdd',
  1087. meta: {
  1088. noCache: false,
  1089. hidden: true,
  1090. canTo: true,
  1091. icon: 'ep:add',
  1092. title: t('rem.RepairOrderAdd'),
  1093. activeMenu: '/maintain/add'
  1094. }
  1095. },
  1096. {
  1097. path: 'maintain/record/:id?(\\d+)',
  1098. component: () => import('@/views/pms/maintain/IotMaintainRecord.vue'),
  1099. name: 'MaintainRecord',
  1100. meta: {
  1101. noCache: false,
  1102. hidden: true,
  1103. canTo: true,
  1104. icon: 'ep:add',
  1105. title: t('rem.MaintainRecord'),
  1106. activeMenu: '/maintain/record'
  1107. }
  1108. },
  1109. {
  1110. path: 'maintain/edit/:id(\\d+)',
  1111. component: () => import('@/views/pms/maintain/IotMaintainAddEdit.vue'),
  1112. name: 'MaintainEdit',
  1113. meta: {
  1114. noCache: true,
  1115. hidden: true,
  1116. canTo: true,
  1117. icon: 'ep:edit',
  1118. title: t('rem.RepairOrderEdit'),
  1119. activeMenu: '/maintain/edit'
  1120. }
  1121. },
  1122. {
  1123. path: 'maintain/detail/:id(\\d+)',
  1124. component: () => import('@/views/pms/maintain/IotMaintainDetail.vue'),
  1125. name: 'MaintainDetail',
  1126. meta: {
  1127. noCache: false,
  1128. hidden: true,
  1129. canTo: true,
  1130. icon: 'ep:add',
  1131. title: t('rem.RepairOrderDetail'),
  1132. activeMenu: '/maintain/detail'
  1133. }
  1134. }
  1135. ]
  1136. },
  1137. {
  1138. path: '/iotpms/iotinspectroute',
  1139. component: Layout,
  1140. name: 'PmsInspectRouteCenter',
  1141. meta: {
  1142. hidden: true
  1143. },
  1144. children: [
  1145. {
  1146. path: 'route/add',
  1147. component: () => import('@/views/pms/inspect/route/IotInspectRoute.vue'),
  1148. name: 'RouteAdd',
  1149. meta: {
  1150. noCache: false,
  1151. hidden: true,
  1152. canTo: true,
  1153. icon: 'ep:add',
  1154. title: t('rem.InspectionRouteAdd'),
  1155. activeMenu: '/route/add'
  1156. }
  1157. },
  1158. {
  1159. path: 'route/edit/:id(\\d+)',
  1160. component: () => import('@/views/pms/inspect/route/IotInspectRoute.vue'),
  1161. name: 'RouteEdit',
  1162. meta: {
  1163. noCache: true,
  1164. hidden: true,
  1165. canTo: true,
  1166. icon: 'ep:edit',
  1167. title: t('rem.InspectionRouteEdit'),
  1168. activeMenu: '/route/edit'
  1169. }
  1170. // }
  1171. // ,{
  1172. // path: 'route/detail/:id(\\d+)',
  1173. // component: () => import('@/views/pms/maintain/IotMaintainDetail.vue'),
  1174. // name: 'InspectRouteDetail',
  1175. // meta: {
  1176. // noCache: false,
  1177. // hidden: true,
  1178. // canTo: true,
  1179. // icon: 'ep:add',
  1180. // title: '巡检路线详情',
  1181. // activeMenu: '/route/detail'
  1182. // }
  1183. }
  1184. ]
  1185. },
  1186. {
  1187. path: '/iotpms/iotinspectplan',
  1188. component: Layout,
  1189. name: 'PmsInspectPlanCenter',
  1190. meta: {
  1191. hidden: true
  1192. },
  1193. children: [
  1194. {
  1195. path: 'inspect/plan/add',
  1196. component: () => import('@/views/pms/inspect/plan/IotInspectPlan.vue'),
  1197. name: 'InspectPlanAdd',
  1198. meta: {
  1199. noCache: false,
  1200. hidden: true,
  1201. canTo: true,
  1202. icon: 'ep:add',
  1203. title: t('rem.InspectPlanAdd'),
  1204. activeMenu: '/inspect/plan/add'
  1205. }
  1206. },
  1207. {
  1208. path: 'inspect/plan/edit/:id(\\d+)',
  1209. component: () => import('@/views/pms/inspect/plan/IotInspectPlan.vue'),
  1210. name: 'InspectPlanEdit',
  1211. meta: {
  1212. noCache: true,
  1213. hidden: true,
  1214. canTo: true,
  1215. icon: 'ep:edit',
  1216. title: t('rem.InspectPlanEdit'),
  1217. activeMenu: '/inspect/plan/edit'
  1218. }
  1219. // }
  1220. // ,{
  1221. // path: 'route/detail/:id(\\d+)',
  1222. // component: () => import('@/views/pms/maintain/IotMaintainDetail.vue'),
  1223. // name: 'InspectRouteDetail',
  1224. // meta: {
  1225. // noCache: false,
  1226. // hidden: true,
  1227. // canTo: true,
  1228. // icon: 'ep:add',
  1229. // title: '巡检路线详情',
  1230. // activeMenu: '/route/detail'
  1231. // }
  1232. }
  1233. ]
  1234. },
  1235. {
  1236. path: '/iotpms/iotinspectorder',
  1237. component: Layout,
  1238. name: 'PmsInspectOrderCenter',
  1239. meta: {
  1240. hidden: true
  1241. },
  1242. children: [
  1243. {
  1244. path: 'inspect/order/detail/index/:deptId?/:status?/:createTime*',
  1245. component: () => import('@/views/pms/inspect/order/detail/IotInspectOrderDetailStat.vue'),
  1246. name: 'IotInspectOrderDetailStat',
  1247. meta: {
  1248. noCache: false,
  1249. hidden: true,
  1250. canTo: true,
  1251. icon: 'ep:index',
  1252. title: t('rem.InspectOrder'),
  1253. activeMenu: '/inspect/order/detail/index'
  1254. }
  1255. },
  1256. {
  1257. path: 'inspect/order/index/:deptId?/:status?/:createTime*',
  1258. component: () => import('@/views/pms/inspect/order/index.vue'),
  1259. name: 'IotInspectOrdere',
  1260. meta: {
  1261. noCache: false,
  1262. hidden: true,
  1263. canTo: true,
  1264. icon: 'ep:index',
  1265. title: t('rem.InspectOrder'),
  1266. activeMenu: '/inspect/order/index'
  1267. }
  1268. },
  1269. {
  1270. path: 'inspect/order/item/index/:deptId?/:status?/:createTime*',
  1271. component: () => import('@/views/pms/inspect/order/detail/IotInspectOrderItemStat.vue'),
  1272. name: 'IotInspectItemStat',
  1273. meta: {
  1274. noCache: false,
  1275. hidden: true,
  1276. canTo: true,
  1277. icon: 'ep:index',
  1278. title: t('rem.InspectOrder'),
  1279. activeMenu: '/inspect/order/item/index'
  1280. }
  1281. },
  1282. {
  1283. path: 'inspect/order/add',
  1284. component: () => import('@/views/pms/inspect/order/InspectOrderDetail.vue'),
  1285. name: 'InspectOrderAdd',
  1286. meta: {
  1287. noCache: false,
  1288. hidden: true,
  1289. canTo: true,
  1290. icon: 'ep:add',
  1291. title: t('rem.InspectOrderAdd'),
  1292. activeMenu: '/inspect/order/add'
  1293. }
  1294. },
  1295. {
  1296. path: 'inspect/order/edit/:id(\\d+)',
  1297. component: () => import('@/views/pms/inspect/order/InspectOrderDetail.vue'),
  1298. name: 'InspectOrderEdit',
  1299. meta: {
  1300. noCache: true,
  1301. hidden: true,
  1302. canTo: true,
  1303. icon: 'ep:edit',
  1304. title: t('rem.InspectPlanEdit'),
  1305. activeMenu: '/inspect/order/edit'
  1306. }
  1307. },
  1308. {
  1309. path: '/inspect/order/detail/:id(\\d+)',
  1310. component: () => import('@/views/pms/inspect/order/InspectOrderDetail.vue'),
  1311. name: 'InspectOrderDetail',
  1312. meta: {
  1313. noCache: false,
  1314. hidden: true,
  1315. canTo: true,
  1316. icon: 'ep:add',
  1317. title: t('rem.InspectOrderDetail'),
  1318. activeMenu: '/inspect/order/detail'
  1319. }
  1320. },
  1321. {
  1322. path: '/inspect/order/write/:id(\\d+)',
  1323. component: () => import('@/views/pms/inspect/order/WriteOrder.vue'),
  1324. name: 'InspectOrderWrite',
  1325. meta: {
  1326. noCache: false,
  1327. hidden: true,
  1328. canTo: true,
  1329. icon: 'ep:add',
  1330. title: t('rem.InspectOrderAdd'),
  1331. activeMenu: '/inspect/order/write'
  1332. }
  1333. }
  1334. ]
  1335. },
  1336. {
  1337. path: '/failure',
  1338. component: Layout,
  1339. name: 'failure',
  1340. meta: {
  1341. hidden: true
  1342. },
  1343. children: [
  1344. {
  1345. path: 'failure/detail/:id',
  1346. component: () => import('@/views/pms/failure/FailureInfo.vue'),
  1347. name: 'FailureDetail',
  1348. meta: {
  1349. noCache: true,
  1350. hidden: true,
  1351. canTo: true,
  1352. title: t('rem.FailureDetail'),
  1353. activeMenu: '/failure/detail'
  1354. }
  1355. }
  1356. ]
  1357. },
  1358. {
  1359. path: '/user',
  1360. component: Layout,
  1361. name: 'UserInfo',
  1362. meta: {
  1363. hidden: true
  1364. },
  1365. children: [
  1366. {
  1367. path: 'profile',
  1368. component: () => import('@/views/Profile/Index.vue'),
  1369. name: 'Profile',
  1370. meta: {
  1371. canTo: true,
  1372. hidden: true,
  1373. noTagsView: false,
  1374. icon: 'ep:user',
  1375. title: t('common.profile')
  1376. }
  1377. },
  1378. {
  1379. path: 'notify-message',
  1380. component: () => import('@/views/system/notify/my/index.vue'),
  1381. name: 'MyNotifyMessage',
  1382. meta: {
  1383. canTo: true,
  1384. hidden: true,
  1385. noTagsView: false,
  1386. icon: 'ep:message',
  1387. title: '我的站内信'
  1388. }
  1389. }
  1390. ]
  1391. },
  1392. {
  1393. path: '/dict',
  1394. component: Layout,
  1395. name: 'dict',
  1396. meta: {
  1397. hidden: true
  1398. },
  1399. children: [
  1400. {
  1401. path: 'type/data/:dictType',
  1402. component: () => import('@/views/system/dict/data/index.vue'),
  1403. name: 'SystemDictData',
  1404. meta: {
  1405. title: '字典数据',
  1406. noCache: true,
  1407. hidden: true,
  1408. canTo: true,
  1409. icon: '',
  1410. activeMenu: '/system/dict'
  1411. }
  1412. }
  1413. ]
  1414. },
  1415. {
  1416. path: '/codegen',
  1417. component: Layout,
  1418. name: 'CodegenEdit',
  1419. meta: {
  1420. hidden: true
  1421. },
  1422. children: [
  1423. {
  1424. path: 'edit',
  1425. component: () => import('@/views/infra/codegen/EditTable.vue'),
  1426. name: 'InfraCodegenEditTable',
  1427. meta: {
  1428. noCache: true,
  1429. hidden: true,
  1430. canTo: true,
  1431. icon: 'ep:edit',
  1432. title: '修改生成配置',
  1433. activeMenu: 'infra/codegen/index'
  1434. }
  1435. }
  1436. ]
  1437. },
  1438. {
  1439. path: '/job',
  1440. component: Layout,
  1441. name: 'JobL',
  1442. meta: {
  1443. hidden: true
  1444. },
  1445. children: [
  1446. {
  1447. path: 'job-log',
  1448. component: () => import('@/views/infra/job/logger/index.vue'),
  1449. name: 'InfraJobLog',
  1450. meta: {
  1451. noCache: true,
  1452. hidden: true,
  1453. canTo: true,
  1454. icon: 'ep:edit',
  1455. title: '调度日志',
  1456. activeMenu: 'infra/job/index'
  1457. }
  1458. }
  1459. ]
  1460. },
  1461. {
  1462. path: '/login',
  1463. component: () => import('@/views/Login/Login.vue'),
  1464. name: 'Login',
  1465. meta: {
  1466. hidden: true,
  1467. title: t('router.login'),
  1468. noTagsView: true
  1469. }
  1470. },
  1471. {
  1472. path: '/sso',
  1473. component: () => import('@/views/Login/Login.vue'),
  1474. name: 'SSOLogin',
  1475. meta: {
  1476. hidden: true,
  1477. title: t('router.login'),
  1478. noTagsView: true
  1479. }
  1480. },
  1481. {
  1482. path: '/social-login',
  1483. component: () => import('@/views/Login/SocialLogin.vue'),
  1484. name: 'SocialLogin',
  1485. meta: {
  1486. hidden: true,
  1487. title: t('router.socialLogin'),
  1488. noTagsView: true
  1489. }
  1490. },
  1491. {
  1492. path: '/403',
  1493. component: () => import('@/views/Error/403.vue'),
  1494. name: 'NoAccess',
  1495. meta: {
  1496. hidden: true,
  1497. title: '403',
  1498. noTagsView: true
  1499. }
  1500. },
  1501. {
  1502. path: '/404',
  1503. component: () => import('@/views/Error/404.vue'),
  1504. name: 'NoFound',
  1505. meta: {
  1506. hidden: true,
  1507. title: '404',
  1508. noTagsView: true
  1509. }
  1510. },
  1511. {
  1512. path: '/500',
  1513. component: () => import('@/views/Error/500.vue'),
  1514. name: 'Error',
  1515. meta: {
  1516. hidden: true,
  1517. title: '500',
  1518. noTagsView: true
  1519. }
  1520. },
  1521. {
  1522. path: '/supplier/product', // 商品中心
  1523. component: Layout,
  1524. name: 'SupplierCenter',
  1525. meta: {
  1526. hidden: true
  1527. },
  1528. children: [
  1529. {
  1530. path: 'supplier/detail/add',
  1531. component: () => import('@/views/supplier/base/form/index.vue'),
  1532. name: 'SupplierDetailAdd',
  1533. meta: {
  1534. noCache: false,
  1535. hidden: true,
  1536. canTo: true,
  1537. icon: 'ep:edit',
  1538. title: '供应商添加',
  1539. activeMenu: '/supplier/base'
  1540. }
  1541. },
  1542. {
  1543. path: 'supplier/detail/edit/:id(\\d+)',
  1544. component: () => import('@/views/supplier/base/form/index.vue'),
  1545. name: 'SupplierDetailEdit',
  1546. meta: {
  1547. noCache: true,
  1548. hidden: true,
  1549. canTo: true,
  1550. icon: 'ep:edit',
  1551. title: '供应商编辑',
  1552. activeMenu: '/supplier/base'
  1553. }
  1554. },
  1555. {
  1556. path: '/supplier/detail/info/:id(\\d+)',
  1557. component: () => import('@/views/supplier/base/form/index.vue'),
  1558. name: 'SupplierDetailInfo',
  1559. meta: {
  1560. noCache: true,
  1561. hidden: true,
  1562. canTo: true,
  1563. icon: 'ep:view',
  1564. title: '供应商详情',
  1565. activeMenu: '/supplier/base'
  1566. }
  1567. },
  1568. {
  1569. path: 'supplier/approvalDetail/:id',
  1570. name: 'SupplierApprovalInfo',
  1571. meta: {
  1572. title: '供应商审核详情',
  1573. noCache: true,
  1574. hidden: true,
  1575. activeMenu: '/supplier/base'
  1576. },
  1577. component: () => import('@/views/supplier/approvaldetail/ApprovalDetail.vue')
  1578. }
  1579. ]
  1580. },
  1581. {
  1582. path: '/bpm',
  1583. component: Layout,
  1584. name: 'bpm',
  1585. meta: {
  1586. hidden: true
  1587. },
  1588. children: [
  1589. {
  1590. path: 'manager/form/edit',
  1591. component: () => import('@/views/bpm/form/editor/index.vue'),
  1592. name: 'BpmFormEditor',
  1593. meta: {
  1594. noCache: true,
  1595. hidden: true,
  1596. canTo: true,
  1597. title: '设计流程表单',
  1598. activeMenu: '/bpm/manager/form'
  1599. }
  1600. },
  1601. {
  1602. path: 'manager/definition',
  1603. component: () => import('@/views/bpm/model/definition/index.vue'),
  1604. name: 'BpmProcessDefinition',
  1605. meta: {
  1606. noCache: true,
  1607. hidden: true,
  1608. canTo: true,
  1609. title: '流程定义',
  1610. activeMenu: '/bpm/manager/model'
  1611. }
  1612. },
  1613. {
  1614. path: 'process-instance/detail',
  1615. component: () => import('@/views/bpm/processInstance/detail/index.vue'),
  1616. name: 'BpmProcessInstanceDetail',
  1617. meta: {
  1618. noCache: true,
  1619. hidden: true,
  1620. canTo: true,
  1621. title: '流程详情',
  1622. activeMenu: '/bpm/task/my'
  1623. },
  1624. props: (route) => ({
  1625. id: route.query.id,
  1626. taskId: route.query.taskId,
  1627. activityId: route.query.activityId
  1628. })
  1629. },
  1630. {
  1631. path: 'process-instance/report',
  1632. component: () => import('@/views/bpm/processInstance/report/index.vue'),
  1633. name: 'BpmProcessInstanceReport',
  1634. meta: {
  1635. noCache: true,
  1636. hidden: true,
  1637. canTo: true,
  1638. title: '数据报表',
  1639. activeMenu: '/bpm/manager/model'
  1640. }
  1641. },
  1642. {
  1643. path: 'oa/leave/create',
  1644. component: () => import('@/views/bpm/oa/leave/create.vue'),
  1645. name: 'OALeaveCreate',
  1646. meta: {
  1647. noCache: true,
  1648. hidden: true,
  1649. canTo: true,
  1650. title: '发起 OA 请假',
  1651. activeMenu: '/bpm/oa/leave'
  1652. }
  1653. },
  1654. {
  1655. path: 'oa/leave/detail',
  1656. component: () => import('@/views/bpm/oa/leave/detail.vue'),
  1657. name: 'OALeaveDetail',
  1658. meta: {
  1659. noCache: true,
  1660. hidden: true,
  1661. canTo: true,
  1662. title: '查看 OA 请假',
  1663. activeMenu: '/bpm/oa/leave'
  1664. }
  1665. },
  1666. {
  1667. path: 'manager/model/create',
  1668. component: () => import('@/views/bpm/model/form/index.vue'),
  1669. name: 'BpmModelCreate',
  1670. meta: {
  1671. noCache: true,
  1672. hidden: true,
  1673. canTo: true,
  1674. title: '创建流程',
  1675. activeMenu: '/bpm/manager/model'
  1676. }
  1677. },
  1678. {
  1679. path: 'manager/model/:type/:id',
  1680. component: () => import('@/views/bpm/model/form/index.vue'),
  1681. name: 'BpmModelUpdate',
  1682. meta: {
  1683. noCache: true,
  1684. hidden: true,
  1685. canTo: true,
  1686. title: '修改流程',
  1687. activeMenu: '/bpm/manager/model'
  1688. }
  1689. }
  1690. ]
  1691. },
  1692. {
  1693. path: '/mall/product', // 商品中心
  1694. component: Layout,
  1695. name: 'ProductCenter',
  1696. meta: {
  1697. hidden: true
  1698. },
  1699. children: [
  1700. {
  1701. path: 'spu/add',
  1702. component: () => import('@/views/mall/product/spu/form/index.vue'),
  1703. name: 'ProductSpuAdd',
  1704. meta: {
  1705. noCache: false, // 需要缓存
  1706. hidden: true,
  1707. canTo: true,
  1708. icon: 'ep:edit',
  1709. title: '商品添加',
  1710. activeMenu: '/mall/product/spu'
  1711. }
  1712. },
  1713. {
  1714. path: 'spu/edit/:id(\\d+)',
  1715. component: () => import('@/views/mall/product/spu/form/index.vue'),
  1716. name: 'ProductSpuEdit',
  1717. meta: {
  1718. noCache: true,
  1719. hidden: true,
  1720. canTo: true,
  1721. icon: 'ep:edit',
  1722. title: '商品编辑',
  1723. activeMenu: '/mall/product/spu'
  1724. }
  1725. },
  1726. {
  1727. path: 'spu/detail/:id(\\d+)',
  1728. component: () => import('@/views/mall/product/spu/form/index.vue'),
  1729. name: 'ProductSpuDetail',
  1730. meta: {
  1731. noCache: true,
  1732. hidden: true,
  1733. canTo: true,
  1734. icon: 'ep:view',
  1735. title: '商品详情',
  1736. activeMenu: '/mall/product/spu'
  1737. }
  1738. },
  1739. {
  1740. path: 'property/value/:propertyId(\\d+)',
  1741. component: () => import('@/views/mall/product/property/value/index.vue'),
  1742. name: 'ProductPropertyValue',
  1743. meta: {
  1744. noCache: true,
  1745. hidden: true,
  1746. canTo: true,
  1747. icon: 'ep:view',
  1748. title: '商品属性值',
  1749. activeMenu: '/product/property'
  1750. }
  1751. }
  1752. ]
  1753. },
  1754. {
  1755. path: '/mall/trade', // 交易中心
  1756. component: Layout,
  1757. name: 'TradeCenter',
  1758. meta: {
  1759. hidden: true
  1760. },
  1761. children: [
  1762. {
  1763. path: 'order/detail/:id(\\d+)',
  1764. component: () => import('@/views/mall/trade/order/detail/index.vue'),
  1765. name: 'TradeOrderDetail',
  1766. meta: { title: '订单详情', icon: 'ep:view', activeMenu: '/mall/trade/order' }
  1767. },
  1768. {
  1769. path: 'after-sale/detail/:id(\\d+)',
  1770. component: () => import('@/views/mall/trade/afterSale/detail/index.vue'),
  1771. name: 'TradeAfterSaleDetail',
  1772. meta: { title: '退款详情', icon: 'ep:view', activeMenu: '/mall/trade/after-sale' }
  1773. }
  1774. ]
  1775. },
  1776. {
  1777. path: '/member',
  1778. component: Layout,
  1779. name: 'MemberCenter',
  1780. meta: { hidden: true },
  1781. children: [
  1782. {
  1783. path: 'user/detail/:id',
  1784. name: 'MemberUserDetail',
  1785. meta: {
  1786. title: '会员详情',
  1787. noCache: true,
  1788. hidden: true
  1789. },
  1790. component: () => import('@/views/member/user/detail/index.vue')
  1791. }
  1792. ]
  1793. },
  1794. {
  1795. path: '/pay',
  1796. component: Layout,
  1797. name: 'pay',
  1798. meta: { hidden: true },
  1799. children: [
  1800. {
  1801. path: 'cashier',
  1802. name: 'PayCashier',
  1803. meta: {
  1804. title: '收银台',
  1805. noCache: true,
  1806. hidden: true
  1807. },
  1808. component: () => import('@/views/pay/cashier/index.vue')
  1809. }
  1810. ]
  1811. },
  1812. // {
  1813. // path: '/device_monitor',
  1814. // component: Layout,
  1815. // name: 'kanban',
  1816. // meta: { hidden: true },
  1817. // children: [
  1818. // {
  1819. // path: 'kanban',
  1820. // name: 'DeviceKanban',
  1821. // meta: {
  1822. // title: '设备看板',
  1823. // noCache: true,
  1824. // hidden: true
  1825. // },
  1826. // component: () => import('@/views/pms/monitor/kanban.vue')
  1827. // }
  1828. // ]
  1829. // },
  1830. {
  1831. path: '/kanban',
  1832. component: Layout,
  1833. name: 'kanban',
  1834. meta: { hidden: true },
  1835. children: [
  1836. {
  1837. path: 'monitor/kanban',
  1838. name: 'Kanban',
  1839. meta: {
  1840. title: '设备看板',
  1841. noCache: true,
  1842. hidden: true,
  1843. canTo: true,
  1844. activeMenu: '/kanban/monitor/kanban'
  1845. },
  1846. component: () => import('@/views/pms/monitor/kanban.vue')
  1847. },
  1848. {
  1849. path: 'monitor/kanbanOther',
  1850. name: 'KanbanOther',
  1851. meta: {
  1852. title: '设备看板',
  1853. noCache: true,
  1854. hidden: true
  1855. },
  1856. component: () => import('@/views/pms/monitor/kanban2.vue')
  1857. }
  1858. ]
  1859. },
  1860. {
  1861. path: '/diy',
  1862. name: 'DiyCenter',
  1863. meta: { hidden: true },
  1864. component: Layout,
  1865. children: [
  1866. {
  1867. path: 'template/decorate/:id',
  1868. name: 'DiyTemplateDecorate',
  1869. meta: {
  1870. title: '模板装修',
  1871. noCache: true,
  1872. hidden: true,
  1873. activeMenu: '/mall/promotion/diy/template'
  1874. },
  1875. component: () => import('@/views/mall/promotion/diy/template/decorate.vue')
  1876. },
  1877. {
  1878. path: 'page/decorate/:id',
  1879. name: 'DiyPageDecorate',
  1880. meta: {
  1881. title: '页面装修',
  1882. noCache: true,
  1883. hidden: true,
  1884. activeMenu: '/mall/promotion/diy/page'
  1885. },
  1886. component: () => import('@/views/mall/promotion/diy/page/decorate.vue')
  1887. }
  1888. ]
  1889. },
  1890. {
  1891. path: '/crm',
  1892. component: Layout,
  1893. name: 'CrmCenter',
  1894. meta: { hidden: true },
  1895. children: [
  1896. {
  1897. path: 'clue/detail/:id',
  1898. name: 'CrmClueDetail',
  1899. meta: {
  1900. title: '线索详情',
  1901. noCache: true,
  1902. hidden: true,
  1903. activeMenu: '/crm/clue'
  1904. },
  1905. component: () => import('@/views/crm/clue/detail/index.vue')
  1906. },
  1907. {
  1908. path: 'customer/detail/:id',
  1909. name: 'CrmCustomerDetail',
  1910. meta: {
  1911. title: '客户详情',
  1912. noCache: true,
  1913. hidden: true,
  1914. activeMenu: '/crm/customer'
  1915. },
  1916. component: () => import('@/views/crm/customer/detail/index.vue')
  1917. },
  1918. {
  1919. path: 'business/detail/:id',
  1920. name: 'CrmBusinessDetail',
  1921. meta: {
  1922. title: '商机详情',
  1923. noCache: true,
  1924. hidden: true,
  1925. activeMenu: '/crm/business'
  1926. },
  1927. component: () => import('@/views/crm/business/detail/index.vue')
  1928. },
  1929. {
  1930. path: 'contract/detail/:id',
  1931. name: 'CrmContractDetail',
  1932. meta: {
  1933. title: '合同详情',
  1934. noCache: true,
  1935. hidden: true,
  1936. activeMenu: '/crm/contract'
  1937. },
  1938. component: () => import('@/views/crm/contract/detail/index.vue')
  1939. },
  1940. {
  1941. path: 'receivable-plan/detail/:id',
  1942. name: 'CrmReceivablePlanDetail',
  1943. meta: {
  1944. title: '回款计划详情',
  1945. noCache: true,
  1946. hidden: true,
  1947. activeMenu: '/crm/receivable-plan'
  1948. },
  1949. component: () => import('@/views/crm/receivable/plan/detail/index.vue')
  1950. },
  1951. {
  1952. path: 'receivable/detail/:id',
  1953. name: 'CrmReceivableDetail',
  1954. meta: {
  1955. title: '回款详情',
  1956. noCache: true,
  1957. hidden: true,
  1958. activeMenu: '/crm/receivable'
  1959. },
  1960. component: () => import('@/views/crm/receivable/detail/index.vue')
  1961. },
  1962. {
  1963. path: 'contact/detail/:id',
  1964. name: 'CrmContactDetail',
  1965. meta: {
  1966. title: '联系人详情',
  1967. noCache: true,
  1968. hidden: true,
  1969. activeMenu: '/crm/contact'
  1970. },
  1971. component: () => import('@/views/crm/contact/detail/index.vue')
  1972. },
  1973. {
  1974. path: 'product/detail/:id',
  1975. name: 'CrmProductDetail',
  1976. meta: {
  1977. title: '产品详情',
  1978. noCache: true,
  1979. hidden: true,
  1980. activeMenu: '/crm/product'
  1981. },
  1982. component: () => import('@/views/crm/product/detail/index.vue')
  1983. }
  1984. ]
  1985. },
  1986. {
  1987. path: '/ai',
  1988. component: Layout,
  1989. name: 'Ai',
  1990. meta: {
  1991. hidden: true
  1992. },
  1993. children: [
  1994. {
  1995. path: 'image/square',
  1996. component: () => import('@/views/ai/image/square/index.vue'),
  1997. name: 'AiImageSquare',
  1998. meta: {
  1999. title: '绘图作品',
  2000. icon: 'ep:home-filled',
  2001. noCache: false
  2002. }
  2003. },
  2004. {
  2005. path: 'knowledge/document',
  2006. component: () => import('@/views/ai/knowledge/document/index.vue'),
  2007. name: 'AiKnowledgeDocument',
  2008. meta: {
  2009. title: '知识库文档',
  2010. icon: 'ep:document',
  2011. noCache: false,
  2012. activeMenu: '/ai/knowledge'
  2013. }
  2014. },
  2015. {
  2016. path: 'knowledge/document/create',
  2017. component: () => import('@/views/ai/knowledge/document/form/index.vue'),
  2018. name: 'AiKnowledgeDocumentCreate',
  2019. meta: {
  2020. title: '创建文档',
  2021. icon: 'ep:plus',
  2022. noCache: true,
  2023. hidden: true,
  2024. activeMenu: '/ai/knowledge'
  2025. }
  2026. },
  2027. {
  2028. path: 'knowledge/document/update',
  2029. component: () => import('@/views/ai/knowledge/document/form/index.vue'),
  2030. name: 'AiKnowledgeDocumentUpdate',
  2031. meta: {
  2032. title: '修改文档',
  2033. icon: 'ep:edit',
  2034. noCache: true,
  2035. hidden: true,
  2036. activeMenu: '/ai/knowledge'
  2037. }
  2038. },
  2039. {
  2040. path: 'knowledge/retrieval',
  2041. component: () => import('@/views/ai/knowledge/knowledge/retrieval/index.vue'),
  2042. name: 'AiKnowledgeRetrieval',
  2043. meta: {
  2044. title: '文档召回测试',
  2045. icon: 'ep:search',
  2046. noCache: true,
  2047. hidden: true,
  2048. activeMenu: '/ai/knowledge'
  2049. }
  2050. },
  2051. {
  2052. path: 'knowledge/segment',
  2053. component: () => import('@/views/ai/knowledge/segment/index.vue'),
  2054. name: 'AiKnowledgeSegment',
  2055. meta: {
  2056. title: '知识库分段',
  2057. icon: 'ep:tickets',
  2058. noCache: true,
  2059. hidden: true,
  2060. activeMenu: '/ai/knowledge'
  2061. }
  2062. },
  2063. {
  2064. path: 'console/workflow/create',
  2065. component: () => import('@/views/ai/workflow/form/index.vue'),
  2066. name: 'AiWorkflowCreate',
  2067. meta: {
  2068. noCache: true,
  2069. hidden: true,
  2070. canTo: true,
  2071. title: '设计 AI 工作流',
  2072. activeMenu: '/ai/console/workflow'
  2073. }
  2074. },
  2075. {
  2076. path: 'console/workflow/:type/:id',
  2077. component: () => import('@/views/ai/workflow/form/index.vue'),
  2078. name: 'AiWorkflowUpdate',
  2079. meta: {
  2080. noCache: true,
  2081. hidden: true,
  2082. canTo: true,
  2083. title: '设计 AI 工作流',
  2084. activeMenu: '/ai/console/workflow'
  2085. }
  2086. }
  2087. ]
  2088. },
  2089. {
  2090. path: '/:pathMatch(.*)*',
  2091. component: () => import('@/views/Error/404.vue'),
  2092. name: '',
  2093. meta: {
  2094. title: '404',
  2095. hidden: true,
  2096. breadcrumb: false
  2097. }
  2098. },
  2099. {
  2100. path: '/iot',
  2101. component: Layout,
  2102. name: 'IOT',
  2103. meta: {
  2104. hidden: true
  2105. },
  2106. children: [
  2107. {
  2108. path: 'product/product/detail/:id',
  2109. name: 'IoTProductDetail',
  2110. meta: {
  2111. title: '产品详情',
  2112. noCache: true,
  2113. hidden: true,
  2114. activeMenu: '/iot/device/product'
  2115. },
  2116. component: () => import('@/views/iot/product/product/detail/index.vue')
  2117. },
  2118. {
  2119. path: 'device/detail/:id',
  2120. name: 'IoTDeviceDetail',
  2121. meta: {
  2122. title: '设备详情',
  2123. noCache: true,
  2124. hidden: true,
  2125. activeMenu: '/iot/device/device'
  2126. },
  2127. component: () => import('@/views/iot/device/device/detail/index.vue')
  2128. }
  2129. // {
  2130. // path: 'plugin/detail/:id',
  2131. // name: 'IoTPluginDetail',
  2132. // meta: {
  2133. // title: '插件详情',
  2134. // noCache: true,
  2135. // hidden: true,
  2136. // activeMenu: '/iot/plugin'
  2137. // },
  2138. // component: () => import('@/views/iot/plugin/detail/index.vue')
  2139. // }
  2140. ]
  2141. },
  2142. // 视频中心**********************************
  2143. {
  2144. path: '/videocenter',
  2145. component: Layout,
  2146. name: 'VideoCenter',
  2147. meta: {
  2148. hidden: true
  2149. // keepAlive: true,
  2150. // alwaysShow: true,
  2151. // title: '视频中心',
  2152. // icon: 'ep:camera'
  2153. },
  2154. children: [
  2155. // {
  2156. // path: 'category',
  2157. // component: () => import('@/views/pms/video_center/category/index.vue'),
  2158. // name: 'VideoCenterCategory',
  2159. // meta: {
  2160. // title: '产品分类',
  2161. // hidden: false,
  2162. // icon: 'ep:full-screen'
  2163. // }
  2164. // },
  2165. // {
  2166. // path: 'product',
  2167. // component: () => import('@/views/pms/video_center/product/index.vue'),
  2168. // name: 'VideoCenterProduct',
  2169. // meta: {
  2170. // title: '产品管理',
  2171. // hidden: false,
  2172. // icon: 'ep:full-screen'
  2173. // }
  2174. // },
  2175. // 协议管理
  2176. // {
  2177. // path: 'protocol',
  2178. // component: () => import('@/views/pms/video_center/protocol/index.vue'),
  2179. // name: 'VideoCenterProtocol',
  2180. // meta: {
  2181. // title: '协议管理',
  2182. // hidden: false,
  2183. // icon: 'ep:full-screen'
  2184. // }
  2185. // },
  2186. {
  2187. path: 'product/product-edit',
  2188. component: () => import('@/views/pms/video_center/product/product-edit.vue'),
  2189. name: 'VideoCenterProductEdit',
  2190. meta: {
  2191. title: '产品编辑/新增',
  2192. hidden: true
  2193. }
  2194. },
  2195. // {
  2196. // path: 'device',
  2197. // component: () => import('@/views/pms/video_center/device/index.vue'),
  2198. // name: 'VideoCenterDevice',
  2199. // meta: {
  2200. // title: '设备管理',
  2201. // hidden: false,
  2202. // icon: 'ep:monitor',
  2203. // noCache: false
  2204. // }
  2205. // },
  2206. // 新增/编辑 设备
  2207. {
  2208. path: 'device/device-edit',
  2209. component: () => import('@/views/pms/video_center/device/device-edit.vue'),
  2210. name: 'VideoCenterDeviceEdit',
  2211. meta: {
  2212. title: '设备编辑/新增',
  2213. hidden: true
  2214. }
  2215. }
  2216. // {
  2217. // path: 'splitview',
  2218. // component: () => import('@/views/pms/video_center/sip/splitview.vue'),
  2219. // name: 'VideoCenterSplitview',
  2220. // meta: {
  2221. // title: '分屏显示',
  2222. // hidden: false,
  2223. // icon: 'ep:full-screen'
  2224. // }
  2225. // },
  2226. // {
  2227. // path: 'channelManagement',
  2228. // component: () => import('@/views/pms/video_center/sip/index.vue'),
  2229. // name: 'VideoCenterProductList',
  2230. // meta: {
  2231. // title: '通道管理',
  2232. // hidden: false,
  2233. // icon: 'ep:box'
  2234. // }
  2235. // },
  2236. // {
  2237. // path: 'mediaServer',
  2238. // component: () => import('@/views/pms/video_center/sip/mediaServer.vue'),
  2239. // name: 'VideoCenterMediaServer',
  2240. // meta: {
  2241. // title: '视频配置',
  2242. // hidden: false,
  2243. // icon: 'ep:setting'
  2244. // }
  2245. // }
  2246. ]
  2247. },
  2248. // qhse事故事件上报详情
  2249. {
  2250. path: '/qhse',
  2251. component: Layout,
  2252. name: 'Qhse',
  2253. meta: {
  2254. hidden: true
  2255. },
  2256. children: [
  2257. {
  2258. path: 'qhse_faultReport/detail',
  2259. component: () => import('@/views/pms/qhse/faultReport/QhseFaultReportInfo.vue'),
  2260. name: 'QhseFaultReportDetail',
  2261. meta: {
  2262. title: '事故事件详情',
  2263. hidden: true
  2264. }
  2265. },
  2266. {
  2267. path: 'month_report/add/:id',
  2268. component: () => import('@/views/pms/qhse/monthlyReport/MonthlyReportAdd.vue'),
  2269. name: 'MonthlyReportAdd',
  2270. meta: {
  2271. noCache: true,
  2272. canto: true,
  2273. icon: 'ep:plus',
  2274. title: '月报填报',
  2275. hidden: true
  2276. }
  2277. },
  2278. {
  2279. path: 'month_report/detail/:id',
  2280. component: () => import('@/views/pms/qhse/monthlyReport/MonthlyReport.vue'),
  2281. name: 'MonthlyReportEdit',
  2282. meta: {
  2283. noCache: true,
  2284. canto: true,
  2285. icon: 'ep:info',
  2286. title: '月报详情',
  2287. hidden: true
  2288. }
  2289. }
  2290. ]
  2291. }
  2292. ]
  2293. export default remainingRouter