Blame view

src/router/routes/modules/demo/feat.ts 8.53 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
43
      path: 'request',
      name: 'RequestDemo',
      // @ts-ignore
      component: () => import('/@/views/demo/feat/request-demo/index.vue'),
      meta: {
        title: t('routes.demo.feat.requestDemo'),
      },
    },
    {
44
45
46
47
48
49
50
51
      path: 'session-timeout',
      name: 'SessionTimeout',
      component: () => import('/@/views/demo/feat/session-timeout/index.vue'),
      meta: {
        title: t('routes.demo.feat.sessionTimeout'),
      },
    },
    {
Vben authored
52
53
54
55
56
57
58
59
      path: 'print',
      name: 'Print',
      component: () => import('/@/views/demo/feat/print/index.vue'),
      meta: {
        title: t('routes.demo.feat.print'),
      },
    },
    {
vben authored
60
      path: 'tabs',
61
62
63
      name: 'TabsDemo',
      component: () => import('/@/views/demo/feat/tabs/index.vue'),
      meta: {
64
        title: t('routes.demo.feat.tabs'),
65
        hideChildrenInMenu: true,
66
      },
67
68
69
70
71
72
73
74
75
76
77
78
79
80
      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',
          },
        },
      ],
81
    },
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
    {
      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',
114
          component: () => import('/@/views/demo/feat/breadcrumb/ChildrenList.vue'),
115
          meta: {
116
            title: t('routes.demo.feat.breadcrumbChildren'),
117
118
119
120
121
122
123
124
125
          },
          children: [
            {
              path: 'childrenDetail',
              name: 'BreadcrumbChildrenDetailDemo',
              component: () => import('/@/views/demo/feat/breadcrumb/ChildrenListDetail.vue'),
              meta: {
                currentActiveMenu: '/feat/breadcrumb/children',
                title: t('routes.demo.feat.breadcrumbChildrenDetail'),
126
                //hideTab: true,
127
                // hideMenu: true,
128
129
130
131
132
133
              },
            },
          ],
        },
      ],
    },
134
135

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

export default feat;