vue-vben-admin/src/router/routes/modules/demo/feat.ts

271 lines
7.1 KiB
TypeScript
Raw Normal View History

2020-09-28 20:19:10 +08:00
import type { AppRouteModule } from '/@/router/types';
2020-12-21 23:38:16 +08:00
import { getParentLayout, LAYOUT } from '/@/router/constant';
2020-12-09 00:12:44 +08:00
import { t } from '/@/hooks/web/useI18n';
2020-09-28 20:19:10 +08:00
2020-11-12 23:15:11 +08:00
const feat: AppRouteModule = {
2020-12-03 21:49:32 +08:00
path: '/feat',
name: 'FeatDemo',
component: LAYOUT,
redirect: '/feat/icon',
meta: {
orderNo: 19,
2021-03-01 00:56:25 +08:00
icon: 'ion:git-compare-outline',
2020-12-09 00:12:44 +08:00
title: t('routes.demo.feat.feat'),
2020-09-28 20:19:10 +08:00
},
2020-12-03 21:49:32 +08:00
children: [
2020-10-11 23:48:25 +08:00
{
2020-12-03 21:49:32 +08:00
path: 'icon',
2020-10-11 23:48:25 +08:00
name: 'IconDemo',
component: () => import('/@/views/demo/feat/icon/index.vue'),
2020-10-11 23:48:25 +08:00
meta: {
2020-12-09 00:12:44 +08:00
title: t('routes.demo.feat.icon'),
2020-10-11 23:48:25 +08:00
},
},
{
path: 'ws',
name: 'WebSocket',
component: () => import('/@/views/demo/feat/ws/index.vue'),
meta: {
title: t('routes.demo.feat.ws'),
},
},
{
path: 'session-timeout',
name: 'SessionTimeout',
component: () => import('/@/views/demo/feat/session-timeout/index.vue'),
meta: {
title: t('routes.demo.feat.sessionTimeout'),
},
},
2021-03-28 00:04:19 +08:00
{
path: 'print',
name: 'Print',
component: () => import('/@/views/demo/feat/print/index.vue'),
meta: {
title: t('routes.demo.feat.print'),
},
},
2020-10-13 22:22:04 +08:00
{
2020-12-03 21:49:32 +08:00
path: 'tabs',
2020-10-13 22:22:04 +08:00
name: 'TabsDemo',
component: () => import('/@/views/demo/feat/tabs/index.vue'),
meta: {
2020-12-09 00:12:44 +08:00
title: t('routes.demo.feat.tabs'),
2020-10-13 22:22:04 +08:00
},
},
{
path: 'breadcrumb',
name: 'BreadcrumbDemo',
redirect: '/feat/breadcrumb/flat',
component: getParentLayout('BreadcrumbDemo'),
meta: {
title: t('routes.demo.feat.breadcrumb'),
},
children: [
{
path: 'flat',
name: 'BreadcrumbFlatDemo',
component: () => import('/@/views/demo/feat/breadcrumb/FlatList.vue'),
meta: {
title: t('routes.demo.feat.breadcrumbFlat'),
},
},
{
path: 'flatDetail',
name: 'BreadcrumbFlatDetailDemo',
component: () => import('/@/views/demo/feat/breadcrumb/FlatListDetail.vue'),
meta: {
title: t('routes.demo.feat.breadcrumbFlatDetail'),
hideMenu: true,
hideTab: true,
currentActiveMenu: '/feat/breadcrumb/flat',
},
},
{
path: 'children',
name: 'BreadcrumbChildrenDemo',
component: () => import('/@/views/demo/feat/breadcrumb/ChildrenList.vue'),
meta: {
title: t('routes.demo.feat.breadcrumbChildren'),
},
children: [
{
path: 'childrenDetail',
name: 'BreadcrumbChildrenDetailDemo',
component: () => import('/@/views/demo/feat/breadcrumb/ChildrenListDetail.vue'),
meta: {
currentActiveMenu: '/feat/breadcrumb/children',
title: t('routes.demo.feat.breadcrumbChildrenDetail'),
//hideTab: true,
// hideMenu: true,
},
},
],
},
],
},
2020-10-13 22:22:04 +08:00
2020-09-28 20:19:10 +08:00
{
2020-12-03 21:49:32 +08:00
path: 'context-menu',
2020-09-28 20:19:10 +08:00
name: 'ContextMenuDemo',
component: () => import('/@/views/demo/feat/context-menu/index.vue'),
meta: {
2020-12-09 00:12:44 +08:00
title: t('routes.demo.feat.contextMenu'),
2020-09-28 20:19:10 +08:00
},
},
2020-11-13 00:55:25 +08:00
{
2020-12-03 21:49:32 +08:00
path: 'download',
2020-11-13 00:55:25 +08:00
name: 'DownLoadDemo',
component: () => import('/@/views/demo/feat/download/index.vue'),
meta: {
2020-12-09 00:12:44 +08:00
title: t('routes.demo.feat.download'),
2020-11-13 00:55:25 +08:00
},
},
2020-10-11 23:48:25 +08:00
{
2020-12-03 21:49:32 +08:00
path: 'click-out-side',
2020-10-11 23:48:25 +08:00
name: 'ClickOutSideDemo',
component: () => import('/@/views/demo/feat/click-out-side/index.vue'),
2020-10-11 23:48:25 +08:00
meta: {
2020-12-09 00:12:44 +08:00
title: t('routes.demo.feat.clickOutSide'),
2020-10-11 23:48:25 +08:00
},
},
2020-09-28 20:19:10 +08:00
{
2020-12-03 21:49:32 +08:00
path: 'img-preview',
2020-09-28 20:19:10 +08:00
name: 'ImgPreview',
component: () => import('/@/views/demo/feat/img-preview/index.vue'),
meta: {
2020-12-09 00:12:44 +08:00
title: t('routes.demo.feat.imgPreview'),
2020-09-28 20:19:10 +08:00
},
},
{
2020-12-03 21:49:32 +08:00
path: 'copy',
2020-09-28 20:19:10 +08:00
name: 'CopyDemo',
component: () => import('/@/views/demo/feat/copy/index.vue'),
meta: {
2020-12-09 00:12:44 +08:00
title: t('routes.demo.feat.copy'),
2020-09-28 20:19:10 +08:00
},
},
{
2020-12-03 21:49:32 +08:00
path: 'msg',
2020-09-28 20:19:10 +08:00
name: 'MsgDemo',
component: () => import('/@/views/demo/feat/msg/index.vue'),
meta: {
2020-12-09 00:12:44 +08:00
title: t('routes.demo.feat.msg'),
2020-09-28 20:19:10 +08:00
},
},
{
2020-12-03 21:49:32 +08:00
path: 'watermark',
2020-09-28 20:19:10 +08:00
name: 'WatermarkDemo',
component: () => import('/@/views/demo/feat/watermark/index.vue'),
meta: {
2020-12-09 00:12:44 +08:00
title: t('routes.demo.feat.watermark'),
2020-09-28 20:19:10 +08:00
},
},
2020-12-21 22:34:07 +08:00
{
path: 'ripple',
name: 'RippleDemo',
component: () => import('/@/views/demo/feat/ripple/index.vue'),
meta: {
title: t('routes.demo.feat.ripple'),
},
},
2020-09-28 20:19:10 +08:00
{
2020-12-03 21:49:32 +08:00
path: 'full-screen',
2020-09-28 20:19:10 +08:00
name: 'FullScreenDemo',
component: () => import('/@/views/demo/feat/full-screen/index.vue'),
meta: {
2020-12-09 00:12:44 +08:00
title: t('routes.demo.feat.fullScreen'),
2020-09-28 20:19:10 +08:00
},
},
2020-11-03 21:30:25 +08:00
{
2020-12-03 21:49:32 +08:00
path: 'error-log',
2020-11-03 21:30:25 +08:00
name: 'ErrorLog',
component: () => import('/@/views/sys/error-log/index.vue'),
meta: {
2020-12-09 00:12:44 +08:00
title: t('routes.demo.feat.errorLog'),
2020-11-03 21:30:25 +08:00
},
},
2021-01-10 10:17:30 +08:00
{
path: 'excel',
name: 'Excel',
redirect: '/feat/excel/customExport',
component: getParentLayout('Excel'),
meta: {
// icon: 'mdi:microsoft-excel',
title: t('routes.demo.excel.excel'),
},
2020-12-21 23:38:16 +08:00
2021-01-10 10:17:30 +08:00
children: [
{
path: 'customExport',
name: 'CustomExport',
component: () => import('/@/views/demo/excel/CustomExport.vue'),
meta: {
title: t('routes.demo.excel.customExport'),
},
},
{
path: 'jsonExport',
name: 'JsonExport',
component: () => import('/@/views/demo/excel/JsonExport.vue'),
meta: {
title: t('routes.demo.excel.jsonExport'),
},
},
{
path: 'arrayExport',
name: 'ArrayExport',
component: () => import('/@/views/demo/excel/ArrayExport.vue'),
meta: {
title: t('routes.demo.excel.arrayExport'),
},
},
{
path: 'importExcel',
name: 'ImportExcel',
component: () => import('/@/views/demo/excel/ImportExcel.vue'),
meta: {
title: t('routes.demo.excel.importExcel'),
},
},
],
},
2020-10-14 21:08:07 +08:00
{
2020-12-03 21:49:32 +08:00
path: 'testTab/:id',
2020-10-14 21:08:07 +08:00
name: 'TestTab',
component: () => import('/@/views/demo/feat/tab-params/index.vue'),
meta: {
2020-12-09 00:12:44 +08:00
title: t('routes.demo.feat.tab'),
2020-10-14 22:08:56 +08:00
carryParam: true,
2020-10-14 21:08:07 +08:00
},
children: [
{
path: 'testTab/id1',
name: 'TestTab1',
component: () => import('/@/views/demo/feat/tab-params/index.vue'),
meta: {
title: t('routes.demo.feat.tab1'),
carryParam: true,
ignoreRoute: true,
},
},
{
path: 'testTab/id2',
name: 'TestTab2',
component: () => import('/@/views/demo/feat/tab-params/index.vue'),
meta: {
title: t('routes.demo.feat.tab2'),
carryParam: true,
ignoreRoute: true,
},
},
],
2020-10-14 21:08:07 +08:00
},
2020-09-28 20:19:10 +08:00
],
2020-11-12 23:15:11 +08:00
};
export default feat;