diff --git a/src/router/index.ts b/src/router/index.ts index 5ca7185..75ec630 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -472,34 +472,38 @@ const router = createRouter({ }) // 后端控制路由,isRequestRoutes 为 true,则开启后端控制路由 -export function getBackEndControlRoutes() { +export function getBackEndControlRoutes(callback: any) { const token = getSession('token') if (!token) return false store.dispatch('setUserInfos') const auth = store.state.userInfos.authPageList[0] // 模拟 admin 与 test if (auth === 'admin') { - return new Promise((resolve, reject) => { - getMenuAdmin().then((res: any) => { - setBackEndControlRoutesFun(res) - if (res.data) resolve(res) - else reject('请求错误') - }) + getMenuAdmin().then((res: any) => { + callback(res) }) } else { - return new Promise((resolve, reject) => { - setTimeout(() => { - getMenuTest().then((res: any) => { - setBackEndControlRoutesFun(res) - if (res.data) resolve(res) - else reject('请求错误') - }) - }, 1000) + getMenuTest().then((res: any) => { + callback(res) }) } } // 后端控制路由,模拟执行路由数据初始化 -export function setBackEndControlRoutesFun(res: any) { +export function setBackEndControlRoutesFun(res: any, callback?: any) { + initBackEndControlRoutesFun(res) + window.location.href = window.location.href // 防止页面刷新时,出现空白或404 + callback(res) +} + +// 后端控制路由,动态添加菜单时(刷新菜单) +export function setBackEndControlRefreshRoutes() { + getBackEndControlRoutes((res: any) => { + initBackEndControlRoutesFun(res) + }) +} + +// 后端控制路由,模拟执行路由数据初始化 +const initBackEndControlRoutesFun = (res: any) => { const oldRoutes = JSON.parse(JSON.stringify(res.data)) store.dispatch('setBackEndControlRoutes', oldRoutes) dynamicRoutes[0].children = backEndRouter(res.data) @@ -508,7 +512,6 @@ export function setBackEndControlRoutesFun(res: any) { setAddRoute() // 添加动态路由 setFilterMenu() // 过滤权限菜单 setCacheTagsViewRoutes() // 添加 keepAlive 缓存 - window.location.href = window.location.href // 防止页面刷新时,出现空白或404 } // 后端控制路由,后端路由 component 转换 @@ -654,9 +657,10 @@ export function initAllFun() { } // 初始化方法执行 -if (!store.state.themeConfig.isRequestRoutes) initAllFun() +const requestRoutes = store.state.themeConfig.isRequestRoutes +if (!requestRoutes) initAllFun() // 后端控制路由,isRequestRoutes 为 true,则开启后端控制路由 -if (store.state.themeConfig.isRequestRoutes) getBackEndControlRoutes() +if (requestRoutes) getBackEndControlRoutes((res: any) => { setBackEndControlRoutesFun(res) }) // 路由加载前 router.beforeEach((to, from, next) => { diff --git a/src/theme/element.scss b/src/theme/element.scss index 181db94..517e80d 100644 --- a/src/theme/element.scss +++ b/src/theme/element.scss @@ -879,6 +879,16 @@ .el-dialog__headerbtn:hover .el-dialog__close { color: set-color(primary); } +.el-overlay { + display: flex; + align-items: center; + .el-dialog { + margin: 0 auto !important; + .el-dialog__body { + padding: 20px !important; + } + } +} /* Card 卡片 ------------------------------- */ diff --git a/src/theme/media/dialog.scss b/src/theme/media/dialog.scss new file mode 100644 index 0000000..9986ee9 --- /dev/null +++ b/src/theme/media/dialog.scss @@ -0,0 +1,9 @@ +@import './index.scss'; + +/* 页面宽度小于800px +------------------------------- */ +@media screen and (max-width: 800px) { + .el-dialog { + width: 90% !important; + } +} diff --git a/src/theme/media/media.scss b/src/theme/media/media.scss index 77f237e..62f19f1 100644 --- a/src/theme/media/media.scss +++ b/src/theme/media/media.scss @@ -8,3 +8,4 @@ @import './form.scss'; @import './scrollbar.scss'; @import './pagination.scss'; +@import './dialog.scss'; diff --git a/src/views/login/component/account.vue b/src/views/login/component/account.vue index 859f0f4..36470d9 100644 --- a/src/views/login/component/account.vue +++ b/src/views/login/component/account.vue @@ -40,6 +40,7 @@ import { setFilterMenu, setCacheTagsViewRoutes, getBackEndControlRoutes, + setBackEndControlRoutesFun, } from "/@/router/index.ts"; import { useStore } from "/@/store/index.ts"; import { setSession } from "/@/utils/storage.ts"; @@ -115,8 +116,10 @@ export default defineComponent({ } // 模拟后端控制路由,isRequestRoutes 为 true,则开启后端控制路由 else { - getBackEndControlRoutes().then((res) => { - signInSuccess(); + getBackEndControlRoutes((res) => { + setBackEndControlRoutesFun(res, (cb) => { + signInSuccess(); + }); }); } }; diff --git a/src/views/personal/index.vue b/src/views/personal/index.vue index a857cf1..b7cea54 100644 --- a/src/views/personal/index.vue +++ b/src/views/personal/index.vue @@ -84,7 +84,7 @@
基本信息
- + diff --git a/src/views/system/menu/component/addMenu.vue b/src/views/system/menu/component/addMenu.vue index 6918ad7..5ea47bc 100644 --- a/src/views/system/menu/component/addMenu.vue +++ b/src/views/system/menu/component/addMenu.vue @@ -1,16 +1,192 @@ \ No newline at end of file + + + \ No newline at end of file diff --git a/src/views/system/menu/component/editMenu.vue b/src/views/system/menu/component/editMenu.vue index 5846c4d..53f9572 100644 --- a/src/views/system/menu/component/editMenu.vue +++ b/src/views/system/menu/component/editMenu.vue @@ -1,16 +1,204 @@ \ No newline at end of file + + + \ No newline at end of file diff --git a/src/views/system/menu/index.vue b/src/views/system/menu/index.vue index b3cd743..4f8282d 100644 --- a/src/views/system/menu/index.vue +++ b/src/views/system/menu/index.vue @@ -9,14 +9,8 @@ {{ scope.row.meta.title }} - - - - - + + + + +