Blame view

src/router/routes/modules/demo/feat.ts 7.87 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
57
      },
    },
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
    {
      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',
90
          component: () => import('/@/views/demo/feat/breadcrumb/ChildrenList.vue'),
91
          meta: {
92
            title: t('routes.demo.feat.breadcrumbChildren'),
93
94
95
96
97
98
99
100
101
          },
          children: [
            {
              path: 'childrenDetail',
              name: 'BreadcrumbChildrenDetailDemo',
              component: () => import('/@/views/demo/feat/breadcrumb/ChildrenListDetail.vue'),
              meta: {
                currentActiveMenu: '/feat/breadcrumb/children',
                title: t('routes.demo.feat.breadcrumbChildrenDetail'),
102
                //hideTab: true,
103
                // hideMenu: true,
104
105
106
107
108
109
              },
            },
          ],
        },
      ],
    },
110
111

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

export default feat;