Skip to content

Commit 4eeeb86

Browse files
陈鑫陈鑫
authored andcommitted
🐛 修复导航样式bug
1 parent efd6fcd commit 4eeeb86

File tree

4 files changed

+67
-23
lines changed

4 files changed

+67
-23
lines changed

src/components/GlobalHeader/Menus.vue

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,23 @@
11
<template>
22
<div :class="['menu-class', mode+'-menu-class']">
3-
<a-menu
4-
theme="dark"
5-
:selected-keys="[activeRoute]"
6-
:default-open-keys="!collapsed ? openKeys : []"
7-
@click="handleMenuItem"
8-
:mode="mode"
9-
:inline-collapsed="collapsed"
10-
:style="{ lineHeight: '54px' }"
11-
>
3+
<a-menu theme="dark"
4+
:selected-keys="[activeRoute]"
5+
:default-open-keys="openKeys"
6+
@click="handleMenuItem"
7+
:mode="mode"
8+
:inline-collapsed="collapsed"
9+
:style="{ lineHeight: '54px' }">
1210
<template v-for="menu in menuLists">
13-
<a-menu-item v-if="!menu.children || !menu.children.length" :key="menu.path">
14-
<span v-if="menu.meta['icon']" :class="['iconfont', menu.meta['icon'], 'menu-icon']"></span>
11+
<a-menu-item v-if="!menu.children || !menu.children.length"
12+
:key="menu.path">
13+
<span v-if="menu.meta['icon']"
14+
:class="['iconfont', menu.meta['icon'], 'menu-icon']"></span>
1515
<span>{{$t(menu.meta['title'])}}</span>
1616
</a-menu-item>
17-
<sub-menu v-else :menu="menu" :transferI18n="transferI18n" :key="menu.path"></sub-menu>
17+
<sub-menu v-else
18+
:menu="menu"
19+
:transferI18n="transferI18n"
20+
:key="menu.path"></sub-menu>
1821
</template>
1922
</a-menu>
2023
</div>
@@ -32,33 +35,38 @@ import SubMenu from "./SubMenu.vue";
3235
AMenu: Menu,
3336
AMenuItem: Menu.Item,
3437
ASubMenu: Menu.SubMenu,
35-
SubMenu
36-
}
38+
SubMenu,
39+
},
3740
})
3841
export default class Menus extends Vue {
3942
@Prop({
4043
type: String,
4144
required: false,
42-
default: "horizontal"
45+
default: "horizontal",
4346
})
4447
mode!: string;
4548
4649
//inital data
4750
private activeRoute: string = "";
4851
private menus: RouteConfig[] = [];
49-
private openKeys: string[] = ["/smart", "/eoms", "/system", "/database"];
5052
5153
mounted() {
5254
this.getMenus();
5355
this.routeChange(this.$route, this.$route);
5456
}
55-
5657
//inital computed
58+
get openKeys() {
59+
if (this.mode == "inline" && !this.collapsed) {
60+
return ["/smart", "/eoms", "/system", "/database"];
61+
} else {
62+
return [];
63+
}
64+
}
5765
get collapsed(): boolean {
5866
return CommonModule.getCollapsed;
5967
}
6068
get menuLists() {
61-
return this.menus.filter(item => {
69+
return this.menus.filter((item) => {
6270
return !item.meta["hidden"];
6371
});
6472
}

src/layouts/LevelBasicLayout.vue

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,14 @@
55
<template slot="rightCon">
66
<menus></menus>
77
<div class="user-info">
8+
<a-select :default-value="lang"
9+
size="small"
10+
@change="toggleChangeLang"
11+
class="lang-box">
12+
<a-select-option v-for="(item, index) in Languages"
13+
:value="item.value"
14+
:key="item.value">{{$t(item.label)}}</a-select-option>
15+
</a-select>
816
<a-dropdown>
917
<div>
1018
<img src="../assets/user.png"
@@ -37,11 +45,12 @@
3745
</template>
3846

3947
<script lang="ts">
48+
import { Languages } from "@/utils/const";
4049
import { logout } from "@/api/users";
41-
import { Component, Vue, Ref } from "vue-property-decorator";
50+
import { Component, Vue, Ref, Inject } from "vue-property-decorator";
4251
import { GlobalHeader, Menus } from "@/components/GlobalHeader";
4352
import UpdatePass from "@/views/user/model/updatePass.vue";
44-
import { Layout, Dropdown, Menu, Icon, Modal } from "ant-design-vue";
53+
import { Layout, Dropdown, Menu, Icon, Modal, Select } from "ant-design-vue";
4554
4655
@Component({
4756
components: {
@@ -54,15 +63,25 @@ import { Layout, Dropdown, Menu, Icon, Modal } from "ant-design-vue";
5463
AMenu: Menu,
5564
AMenuItem: Menu.Item,
5665
AMenuDivider: Menu.Divider,
66+
ASelect: Select,
67+
ASelectOption: Select.Option,
5768
},
5869
})
5970
export default class LevelBasicLayout extends Vue {
6071
@Ref() readonly updatePass!: UpdatePass;
72+
@Inject() reload!: any;
73+
private Languages: { value: string; label: string }[] = Languages;
74+
private lang: string = sessionStorage.getItem("LANGUAGE") as string;
6175
6276
private goToHome() {
6377
this.$router.push("/");
6478
}
65-
79+
//切换语言
80+
private toggleChangeLang(val: string) {
81+
this.$i18n.locale = val;
82+
sessionStorage.setItem("LANGUAGE", val);
83+
this.reload();
84+
}
6685
//显示修改密码框
6786
private handlePass() {
6887
this.updatePass.show();
@@ -106,6 +125,22 @@ export default class LevelBasicLayout extends Vue {
106125
flex-flow: row nowrap;
107126
align-items: center;
108127
justify-content: flex-end;
128+
.lang-box {
129+
width: 80px;
130+
margin-right: 10px;
131+
&.ant-select {
132+
font-size: 12px;
133+
}
134+
.ant-select-selection {
135+
background: transparent;
136+
border: 1px solid #a7a5a5;
137+
color: #fff;
138+
}
139+
.ant-select-arrow {
140+
color: #fff;
141+
font-size: 10px;
142+
}
143+
}
109144
.ant-dropdown-trigger {
110145
height: 54px;
111146
line-height: 54px;

src/layouts/VerticalBasicLayout.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
<a-layout-content>
3434
<div class="left-menus"
3535
:style="{width:collapsed ? '60px' : '220px'}">
36-
<Menus mode="inline"></Menus>
36+
<menus mode="inline"></menus>
3737
<div class="tootip"
3838
@click="collapseExpand">
3939
<a-icon v-if="!collapsed"
@@ -163,6 +163,7 @@ export default class VerticalBasicLayout extends Vue {
163163
background: #fff;
164164
margin: 10px 10px 0 10px;
165165
box-shadow: 0 1px 20px #c6c4c4;
166+
overflow: hidden;
166167
}
167168
}
168169
.user-info {

src/router/router.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ const mainRoutes: RouteConfig = {
1313
path: '/',
1414
name: 'home',
1515
redirect: '/login',
16-
component: VerticalBasicLayout,
16+
component: LevelBasicLayout,
1717
children: [
1818
{
1919
path: '/404',

0 commit comments

Comments
 (0)