From f7e677eedbcc7cf84dba8cbbc6f8921c89801ec6 Mon Sep 17 00:00:00 2001 From: zouzhibing Date: Wed, 20 Apr 2022 15:53:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=A1=A8=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 14 +- src/permission.js | 3 - src/router/index.ts | 5 +- src/router/modules/table.ts | 31 ++++ src/views/table/inline-edit-table.vue | 237 ++++++++++++++++++++++++++ src/views/table/multi-table.vue | 172 +++++++++++++++++++ 6 files changed, 457 insertions(+), 5 deletions(-) create mode 100644 src/router/modules/table.ts create mode 100644 src/views/table/inline-edit-table.vue create mode 100644 src/views/table/multi-table.vue diff --git a/README.md b/README.md index bfa96e0..7996c67 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ vue-element-perfect 是一个后台前端解决方案, 基于Vue3.0+TS+Element-p ## 效果预览 -预览地址 [项目预览地址](https://yuanzbz.gitee.io/vue-admin-perfect) +预览地址 [项目预览地址](https://yuanzbz.gitee.io/vue-admin-perfect/index.html#/home) 附上github地址 [vue-admin-perfect](https://github.com/zouzhibin/vue-admin-perfect) @@ -30,6 +30,18 @@ vue-element-perfect 是一个后台前端解决方案, 基于Vue3.0+TS+Element-p ## 技术栈 vue3.0 + Typescript + vuex + vue-router + Element-Plus scss +## 实现功能 +- 登录逻辑 +- 权限校验 +- 侧边栏导航显示 +- 打印 +- 地图 +- 头像裁剪 +- 无限滚动 +- 多标签显示 +- 退出 +- 其他各组件 + ## 开发 ``` # 克隆项目 diff --git a/src/permission.js b/src/permission.js index e46e30e..a791914 100644 --- a/src/permission.js +++ b/src/permission.js @@ -28,7 +28,6 @@ router.beforeEach(async(to, from, next) => { } else { try { // 路由添加进去了没有及时更新 需要重新进去一次拦截 - if(!store.state.permission.routes.length){ // 获取权限列表进行接口访问 因为这里页面要切换权限 // const roles = await store.dispatch('user/getInfo') @@ -42,8 +41,6 @@ router.beforeEach(async(to, from, next) => { } catch (error) { next(`/login?redirect=${to.path}`) } - - } }else{ if (whiteList.indexOf(to.path) !== -1) { diff --git a/src/router/index.ts b/src/router/index.ts index 16c9f6f..0fdc722 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -8,6 +8,7 @@ import componentsRouter from './modules/components' import othersRouter from './modules/other' import externalLink from './modules/externalLink' import permissionRouter from './modules/permission' +import tableRouter from './modules/table' interface extendRoute { @@ -45,8 +46,10 @@ export const asyncRoutes = [ chatRouter, componentsRouter, othersRouter, + tableRouter, externalLink, - permissionRouter + permissionRouter, + ] diff --git a/src/router/modules/table.ts b/src/router/modules/table.ts new file mode 100644 index 0000000..024fad3 --- /dev/null +++ b/src/router/modules/table.ts @@ -0,0 +1,31 @@ + +/** When your routing table is too long, you can split it into small modules**/ + +import Layout from "@/layout/index.vue"; + +const tableRouter = { + path: '/table', + component: Layout, + redirect: 'noRedirect', + name: 'table', + meta: { + title: '表格', + icon: 'School' + }, + children: [ + { + path: 'edit-table', + component: () => import('@/views/table/inline-edit-table.vue'), + name: 'edit-table', + meta: { title: '行内编辑', noCache: true } + }, + { + path: 'multi-table', + component: () => import('@/views/table/multi-table.vue'), + name: 'multi-table', + meta: { title: '多级表头', noCache: true } + }, + ] +} + +export default tableRouter diff --git a/src/views/table/inline-edit-table.vue b/src/views/table/inline-edit-table.vue new file mode 100644 index 0000000..57b5982 --- /dev/null +++ b/src/views/table/inline-edit-table.vue @@ -0,0 +1,237 @@ + + + diff --git a/src/views/table/multi-table.vue b/src/views/table/multi-table.vue new file mode 100644 index 0000000..5242739 --- /dev/null +++ b/src/views/table/multi-table.vue @@ -0,0 +1,172 @@ + + +