From 82f1f5d0cf1b51a5d81915e842e01760f404fa74 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期三, 20 十月 2021 13:07:16 +0800 Subject: [PATCH] update 优化xxl-job-admin相关pr代码 增加格式化日志输出与docker镜像 --- ruoyi-ui/src/layout/components/Sidebar/SidebarItem.vue | 193 +++++++++++++++++++++++++----------------------- 1 files changed, 100 insertions(+), 93 deletions(-) diff --git a/ruoyi-ui/src/layout/components/Sidebar/SidebarItem.vue b/ruoyi-ui/src/layout/components/Sidebar/SidebarItem.vue index 1dfd793..4853fbb 100644 --- a/ruoyi-ui/src/layout/components/Sidebar/SidebarItem.vue +++ b/ruoyi-ui/src/layout/components/Sidebar/SidebarItem.vue @@ -1,93 +1,100 @@ -<template> - <div v-if="!item.hidden"> - <template v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren)&&!item.alwaysShow"> - <app-link v-if="onlyOneChild.meta" :to="resolvePath(onlyOneChild.path)"> - <el-menu-item :index="resolvePath(onlyOneChild.path)" :class="{'submenu-title-noDropdown':!isNest}"> - <item :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="onlyOneChild.meta.title" /> - </el-menu-item> - </app-link> - </template> - - <el-submenu v-else ref="subMenu" :index="resolvePath(item.path)" popper-append-to-body> - <template slot="title"> - <item v-if="item.meta" :icon="item.meta && item.meta.icon" :title="item.meta.title" /> - </template> - <sidebar-item - v-for="child in item.children" - :key="child.path" - :is-nest="true" - :item="child" - :base-path="resolvePath(child.path)" - class="nest-menu" - /> - </el-submenu> - </div> -</template> - -<script> -import path from 'path' -import { isExternal } from '@/utils/validate' -import Item from './Item' -import AppLink from './Link' -import FixiOSBug from './FixiOSBug' - -export default { - name: 'SidebarItem', - components: { Item, AppLink }, - mixins: [FixiOSBug], - props: { - // route object - item: { - type: Object, - required: true - }, - isNest: { - type: Boolean, - default: false - }, - basePath: { - type: String, - default: '' - } - }, - data() { - this.onlyOneChild = null - return {} - }, - methods: { - hasOneShowingChild(children = [], parent) { - const showingChildren = children.filter(item => { - if (item.hidden) { - return false - } else { - // Temp set(will be used if only has one showing child) - this.onlyOneChild = item - return true - } - }) - - // When there is only one child router, the child router is displayed by default - if (showingChildren.length === 1) { - return true - } - - // Show parent if there are no child router to display - if (showingChildren.length === 0) { - this.onlyOneChild = { ... parent, path: '', noShowingChildren: true } - return true - } - - return false - }, - resolvePath(routePath) { - if (isExternal(routePath)) { - return routePath - } - if (isExternal(this.basePath)) { - return this.basePath - } - return path.resolve(this.basePath, routePath) - } - } -} -</script> +<template> + <div v-if="!item.hidden"> + <template v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren)&&!item.alwaysShow"> + <app-link v-if="onlyOneChild.meta" :to="resolvePath(onlyOneChild.path, onlyOneChild.query)"> + <el-menu-item :index="resolvePath(onlyOneChild.path)" :class="{'submenu-title-noDropdown':!isNest}"> + <item :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="onlyOneChild.meta.title" /> + </el-menu-item> + </app-link> + </template> + + <el-submenu v-else ref="subMenu" :index="resolvePath(item.path)" popper-append-to-body> + <template slot="title"> + <item v-if="item.meta" :icon="item.meta && item.meta.icon" :title="item.meta.title" /> + </template> + <sidebar-item + v-for="child in item.children" + :key="child.path" + :is-nest="true" + :item="child" + :base-path="resolvePath(child.path)" + class="nest-menu" + /> + </el-submenu> + </div> +</template> + +<script> +import path from 'path' +import { isExternal } from '@/utils/validate' +import Item from './Item' +import AppLink from './Link' +import FixiOSBug from './FixiOSBug' + +export default { + name: 'SidebarItem', + components: { Item, AppLink }, + mixins: [FixiOSBug], + props: { + // route object + item: { + type: Object, + required: true + }, + isNest: { + type: Boolean, + default: false + }, + basePath: { + type: String, + default: '' + } + }, + data() { + this.onlyOneChild = null + return {} + }, + methods: { + hasOneShowingChild(children = [], parent) { + if (!children) { + children = []; + } + const showingChildren = children.filter(item => { + if (item.hidden) { + return false + } else { + // Temp set(will be used if only has one showing child) + this.onlyOneChild = item + return true + } + }) + + // When there is only one child router, the child router is displayed by default + if (showingChildren.length === 1) { + return true + } + + // Show parent if there are no child router to display + if (showingChildren.length === 0) { + this.onlyOneChild = { ... parent, path: '', noShowingChildren: true } + return true + } + + return false + }, + resolvePath(routePath, routeQuery) { + if (isExternal(routePath)) { + return routePath + } + if (isExternal(this.basePath)) { + return this.basePath + } + if (routeQuery) { + let query = JSON.parse(routeQuery); + return { path: path.resolve(this.basePath, routePath), query: query } + } + return path.resolve(this.basePath, routePath) + } + } +} +</script> -- Gitblit v1.9.3