123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271 |
- import type { AppRouteModule } from '/@/router/types';
- import { getParentLayout, LAYOUT } from '/@/router/constant';
- import { t } from '/@/hooks/web/useI18n';
- const feat: AppRouteModule = {
- path: '/feat',
- name: 'FeatDemo',
- component: LAYOUT,
- redirect: '/feat/icon',
- meta: {
- orderNo: 19,
- icon: 'ion:git-compare-outline',
- title: t('routes.demo.feat.feat'),
- },
- children: [
- {
- path: 'icon',
- name: 'IconDemo',
- component: () => import('/@/views/demo/feat/icon/index.vue'),
- meta: {
- title: t('routes.demo.feat.icon'),
- },
- },
- {
- 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'),
- },
- },
- {
- path: 'print',
- name: 'Print',
- component: () => import('/@/views/demo/feat/print/index.vue'),
- meta: {
- title: t('routes.demo.feat.print'),
- },
- },
- {
- path: 'tabs',
- name: 'TabsDemo',
- component: () => import('/@/views/demo/feat/tabs/index.vue'),
- meta: {
- title: t('routes.demo.feat.tabs'),
- },
- },
- {
- 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,
- },
- },
- ],
- },
- ],
- },
- {
- path: 'context-menu',
- name: 'ContextMenuDemo',
- component: () => import('/@/views/demo/feat/context-menu/index.vue'),
- meta: {
- title: t('routes.demo.feat.contextMenu'),
- },
- },
- {
- path: 'download',
- name: 'DownLoadDemo',
- component: () => import('/@/views/demo/feat/download/index.vue'),
- meta: {
- title: t('routes.demo.feat.download'),
- },
- },
- {
- path: 'click-out-side',
- name: 'ClickOutSideDemo',
- component: () => import('/@/views/demo/feat/click-out-side/index.vue'),
- meta: {
- title: t('routes.demo.feat.clickOutSide'),
- },
- },
- {
- path: 'img-preview',
- name: 'ImgPreview',
- component: () => import('/@/views/demo/feat/img-preview/index.vue'),
- meta: {
- title: t('routes.demo.feat.imgPreview'),
- },
- },
- {
- path: 'copy',
- name: 'CopyDemo',
- component: () => import('/@/views/demo/feat/copy/index.vue'),
- meta: {
- title: t('routes.demo.feat.copy'),
- },
- },
- {
- path: 'msg',
- name: 'MsgDemo',
- component: () => import('/@/views/demo/feat/msg/index.vue'),
- meta: {
- title: t('routes.demo.feat.msg'),
- },
- },
- {
- path: 'watermark',
- name: 'WatermarkDemo',
- component: () => import('/@/views/demo/feat/watermark/index.vue'),
- meta: {
- title: t('routes.demo.feat.watermark'),
- },
- },
- {
- path: 'ripple',
- name: 'RippleDemo',
- component: () => import('/@/views/demo/feat/ripple/index.vue'),
- meta: {
- title: t('routes.demo.feat.ripple'),
- },
- },
- {
- path: 'full-screen',
- name: 'FullScreenDemo',
- component: () => import('/@/views/demo/feat/full-screen/index.vue'),
- meta: {
- title: t('routes.demo.feat.fullScreen'),
- },
- },
- {
- path: 'error-log',
- name: 'ErrorLog',
- component: () => import('/@/views/sys/error-log/index.vue'),
- meta: {
- title: t('routes.demo.feat.errorLog'),
- },
- },
- {
- path: 'excel',
- name: 'Excel',
- redirect: '/feat/excel/customExport',
- component: getParentLayout('Excel'),
- meta: {
- // icon: 'mdi:microsoft-excel',
- title: t('routes.demo.excel.excel'),
- },
- 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'),
- },
- },
- ],
- },
- {
- path: 'testTab/:id',
- name: 'TestTab',
- component: () => import('/@/views/demo/feat/tab-params/index.vue'),
- meta: {
- title: t('routes.demo.feat.tab'),
- carryParam: true,
- hidePathForChildren: true,
- },
- 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,
- },
- },
- ],
- },
- ],
- };
- export default feat;
|