Blame view

src/router/routes/modules/demo/feat.ts 8.31 KB
陈文彬 authored
1
2
import type { AppRouteModule } from '/@/router/types';
3
import { getParentLayout, LAYOUT } from '/@/router/constant';
4
import { t } from '/@/hooks/web/useI18n';
陈文彬 authored
5
6
const feat: AppRouteModule = {
vben authored
7
8
9
10
11
  path: '/feat',
  name: 'FeatDemo',
  component: LAYOUT,
  redirect: '/feat/icon',
  meta: {
12
    orderNo: 19,
13
    icon: 'ion:git-compare-outline',
14
    title: t('routes.demo.feat.feat'),
陈文彬 authored
15
  },
16
vben authored
17
  children: [
陈文彬 authored
18
    {
vben authored
19
      path: 'icon',
vben authored
20
      name: 'IconDemo',
21
      component: () => import('/@/views/demo/feat/icon/index.vue'),
vben authored
22
      meta: {
23
        title: t('routes.demo.feat.icon'),
vben authored
24
25
26
      },
    },
    {
27
28
29
30
31
32
33
34
      path: 'ws',
      name: 'WebSocket',
      component: () => import('/@/views/demo/feat/ws/index.vue'),
      meta: {
        title: t('routes.demo.feat.ws'),
      },
    },
    {
35
36
37
38
39
40
41
42
      path: 'session-timeout',
      name: 'SessionTimeout',
      component: () => import('/@/views/demo/feat/session-timeout/index.vue'),
      meta: {
        title: t('routes.demo.feat.sessionTimeout'),
      },
    },
    {
Vben authored
43
44
45
46
47
48
49
50
      path: 'print',
      name: 'Print',
      component: () => import('/@/views/demo/feat/print/index.vue'),
      meta: {
        title: t('routes.demo.feat.print'),
      },
    },
    {
vben authored
51
      path: 'tabs',
52
53
54
      name: 'TabsDemo',
      component: () => import('/@/views/demo/feat/tabs/index.vue'),
      meta: {
55
        title: t('routes.demo.feat.tabs'),
56
        hideChildrenInMenu: true,
57
      },
58
59
60
61
62
63
64
65
66
67
68
69
70
71
      children: [
        {
          path: 'detail/:id',
          name: 'TabDetail',
          component: () => import('/@/views/demo/feat/tabs/TabDetail.vue'),
          meta: {
            currentActiveMenu: '/feat/tabs',
            title: t('routes.demo.feat.tabDetail'),
            hideMenu: true,
            dynamicLevel: 3,
            realPath: '/feat/tabs/detail',
          },
        },
      ],
72
    },
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
    {
      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',
105
          component: () => import('/@/views/demo/feat/breadcrumb/ChildrenList.vue'),
106
          meta: {
107
            title: t('routes.demo.feat.breadcrumbChildren'),
108
109
110
111
112
113
114
115
116
          },
          children: [
            {
              path: 'childrenDetail',
              name: 'BreadcrumbChildrenDetailDemo',
              component: () => import('/@/views/demo/feat/breadcrumb/ChildrenListDetail.vue'),
              meta: {
                currentActiveMenu: '/feat/breadcrumb/children',
                title: t('routes.demo.feat.breadcrumbChildrenDetail'),
117
                //hideTab: true,
118
                // hideMenu: true,
119
120
121
122
123
124
              },
            },
          ],
        },
      ],
    },
125
126

    {
vben authored
127
      path: 'context-menu',
陈文彬 authored
128
129
130
      name: 'ContextMenuDemo',
      component: () => import('/@/views/demo/feat/context-menu/index.vue'),
      meta: {
131
        title: t('routes.demo.feat.contextMenu'),
陈文彬 authored
132
133
134
      },
    },
    {
vben authored
135
      path: 'download',
vben authored
136
137
138
      name: 'DownLoadDemo',
      component: () => import('/@/views/demo/feat/download/index.vue'),
      meta: {
139
        title: t('routes.demo.feat.download'),
vben authored
140
141
142
      },
    },
    {
vben authored
143
      path: 'click-out-side',
vben authored
144
      name: 'ClickOutSideDemo',
145
      component: () => import('/@/views/demo/feat/click-out-side/index.vue'),
vben authored
146
      meta: {
147
        title: t('routes.demo.feat.clickOutSide'),
vben authored
148
149
150
      },
    },
    {
vben authored
151
      path: 'img-preview',
陈文彬 authored
152
153
154
      name: 'ImgPreview',
      component: () => import('/@/views/demo/feat/img-preview/index.vue'),
      meta: {
155
        title: t('routes.demo.feat.imgPreview'),
陈文彬 authored
156
157
158
      },
    },
    {
vben authored
159
      path: 'copy',
陈文彬 authored
160
161
162
      name: 'CopyDemo',
      component: () => import('/@/views/demo/feat/copy/index.vue'),
      meta: {
163
        title: t('routes.demo.feat.copy'),
陈文彬 authored
164
165
166
      },
    },
    {
vben authored
167
      path: 'msg',
陈文彬 authored
168
169
170
      name: 'MsgDemo',
      component: () => import('/@/views/demo/feat/msg/index.vue'),
      meta: {
171
        title: t('routes.demo.feat.msg'),
陈文彬 authored
172
173
174
      },
    },
    {
vben authored
175
      path: 'watermark',
陈文彬 authored
176
177
178
      name: 'WatermarkDemo',
      component: () => import('/@/views/demo/feat/watermark/index.vue'),
      meta: {
179
        title: t('routes.demo.feat.watermark'),
陈文彬 authored
180
181
182
      },
    },
    {
vben authored
183
184
185
186
187
188
189
190
      path: 'ripple',
      name: 'RippleDemo',
      component: () => import('/@/views/demo/feat/ripple/index.vue'),
      meta: {
        title: t('routes.demo.feat.ripple'),
      },
    },
    {
vben authored
191
      path: 'full-screen',
陈文彬 authored
192
193
194
      name: 'FullScreenDemo',
      component: () => import('/@/views/demo/feat/full-screen/index.vue'),
      meta: {
195
        title: t('routes.demo.feat.fullScreen'),
陈文彬 authored
196
197
      },
    },
vben authored
198
    {
199
      path: '/error-log',
vben authored
200
201
202
      name: 'ErrorLog',
      component: () => import('/@/views/sys/error-log/index.vue'),
      meta: {
203
        title: t('routes.demo.feat.errorLog'),
vben authored
204
205
      },
    },
206
207
208
209
210
211
212
213
214
    {
      path: 'excel',
      name: 'Excel',
      redirect: '/feat/excel/customExport',
      component: getParentLayout('Excel'),
      meta: {
        // icon: 'mdi:microsoft-excel',
        title: t('routes.demo.excel.excel'),
      },
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
      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'),
          },
        },
      ],
    },
251
    {
vben authored
252
      path: 'testTab/:id',
vben authored
253
254
255
      name: 'TestTab',
      component: () => import('/@/views/demo/feat/tab-params/index.vue'),
      meta: {
256
        title: t('routes.demo.feat.tab'),
257
        carryParam: true,
258
        hidePathForChildren: true,
vben authored
259
      },
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
      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,
          },
        },
      ],
vben authored
282
    },
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
    {
      path: 'testParam/:id',
      name: 'TestParam',
      component: getParentLayout('TestParam'),
      meta: {
        title: t('routes.demo.feat.menu'),
        ignoreKeepAlive: true,
      },
      children: [
        {
          path: 'sub1',
          name: 'TestParam_1',
          component: () => import('/@/views/demo/feat/menu-params/index.vue'),
          meta: {
            title: t('routes.demo.feat.menu1'),
            ignoreKeepAlive: true,
          },
        },
        {
          path: 'sub2',
          name: 'TestParam_2',
          component: () => import('/@/views/demo/feat/menu-params/index.vue'),
          meta: {
            title: t('routes.demo.feat.menu2'),
            ignoreKeepAlive: true,
          },
        },
      ],
    },
陈文彬 authored
312
  ],
313
314
315
};

export default feat;