Merge pull request #106 from MaybeQHL/main

fix: 修复在移动端模式下tags显示的bug  update: 移动端模式下侧边菜单item点击隐藏drawer.
This commit is contained in:
Ah jung
2022-03-08 08:42:29 +08:00
committed by GitHub
6 changed files with 702 additions and 678 deletions
+3
View File
@@ -8,6 +8,8 @@ export function useProjectSetting() {
const getNavTheme = computed(() => projectStore.navTheme); const getNavTheme = computed(() => projectStore.navTheme);
const getIsMobile = computed(() => projectStore.isMobile);
const getHeaderSetting = computed(() => projectStore.headerSetting); const getHeaderSetting = computed(() => projectStore.headerSetting);
const getMultiTabsSetting = computed(() => projectStore.multiTabsSetting); const getMultiTabsSetting = computed(() => projectStore.multiTabsSetting);
@@ -27,6 +29,7 @@ export function useProjectSetting() {
return { return {
getNavMode, getNavMode,
getNavTheme, getNavTheme,
getIsMobile,
getHeaderSetting, getHeaderSetting,
getMultiTabsSetting, getMultiTabsSetting,
getMenuSetting, getMenuSetting,
+1
View File
@@ -125,6 +125,7 @@
} else { } else {
router.push({ name: key }); router.push({ name: key });
} }
emit("clickMenuItem" as any, key)
} }
//展开菜单 //展开菜单
+8 -1
View File
@@ -133,7 +133,7 @@
}, },
setup(props) { setup(props) {
const { getDarkTheme, getAppTheme } = useDesignSetting(); const { getDarkTheme, getAppTheme } = useDesignSetting();
const { getNavMode, getHeaderSetting, getMenuSetting, getMultiTabsSetting } = const { getNavMode, getHeaderSetting, getMenuSetting, getMultiTabsSetting, getIsMobile } =
useProjectSetting(); useProjectSetting();
const settingStore = useProjectSettingStore(); const settingStore = useProjectSettingStore();
@@ -192,6 +192,13 @@
: collapsed : collapsed
? `${minMenuWidth}px` ? `${minMenuWidth}px`
: `${menuWidth}px`; : `${menuWidth}px`;
if (getIsMobile.value) {
return {
left: '0px',
width: '100%'
};
}
return { return {
left: lenNum, left: lenNum,
width: `calc(100% - ${!fixed ? '0px' : lenNum})`, width: `calc(100% - ${!fixed ? '0px' : lenNum})`,
+5 -3
View File
@@ -25,7 +25,7 @@
class="layout-side-drawer" class="layout-side-drawer"
> >
<Logo :collapsed="collapsed" /> <Logo :collapsed="collapsed" />
<AsideMenu /> <AsideMenu @clickMenuItem="collapsed = false" />
</n-drawer> </n-drawer>
<n-layout :inverted="inverted"> <n-layout :inverted="inverted">
@@ -97,7 +97,10 @@ const collapsed = ref<boolean>(false);
const { mobileWidth, menuWidth } = unref(getMenuSetting); const { mobileWidth, menuWidth } = unref(getMenuSetting);
const isMobile = ref<boolean>(false); const isMobile = computed<boolean>({
get: () => settingStore.getIsMobile,
set: (val) => settingStore.setIsMobile(val)
});
const fixedHeader = computed(() => { const fixedHeader = computed(() => {
const { fixed } = unref(getHeaderSetting); const { fixed } = unref(getHeaderSetting);
@@ -162,7 +165,6 @@ const showSideDrawder = computed({
const checkMobileMode = () => { const checkMobileMode = () => {
if (document.body.clientWidth <= mobileWidth) { if (document.body.clientWidth <= mobileWidth) {
isMobile.value = true; isMobile.value = true;
} else { } else {
isMobile.value = false; isMobile.value = false;
} }
+2
View File
@@ -3,6 +3,8 @@ const setting = {
navMode: 'vertical', navMode: 'vertical',
//导航风格 dark 暗色侧边栏 light 白色侧边栏 header-dark 暗色顶栏 //导航风格 dark 暗色侧边栏 light 白色侧边栏 header-dark 暗色顶栏
navTheme: 'dark', navTheme: 'dark',
// 是否处于移动端模式
isMobile: false,
//顶部 //顶部
headerSetting: { headerSetting: {
//背景色 //背景色
+9
View File
@@ -6,6 +6,7 @@ import type { IheaderSetting, ImenuSetting, ImultiTabsSetting, IcrumbsSetting }
const { const {
navMode, navMode,
navTheme, navTheme,
isMobile,
headerSetting, headerSetting,
showFooter, showFooter,
menuSetting, menuSetting,
@@ -27,6 +28,7 @@ interface ProjectSettingState {
permissionMode: string; //权限模式 permissionMode: string; //权限模式
isPageAnimate: boolean; //是否开启路由动画 isPageAnimate: boolean; //是否开启路由动画
pageAnimateType: string; //路由动画类型 pageAnimateType: string; //路由动画类型
isMobile: boolean; // 是否处于移动端模式
} }
export const useProjectSettingStore = defineStore({ export const useProjectSettingStore = defineStore({
@@ -34,6 +36,7 @@ export const useProjectSettingStore = defineStore({
state: (): ProjectSettingState => ({ state: (): ProjectSettingState => ({
navMode: navMode, navMode: navMode,
navTheme, navTheme,
isMobile,
headerSetting, headerSetting,
showFooter, showFooter,
menuSetting, menuSetting,
@@ -50,6 +53,9 @@ export const useProjectSettingStore = defineStore({
getNavTheme(): string { getNavTheme(): string {
return this.navTheme; return this.navTheme;
}, },
getIsMobile(): boolean {
return this.isMobile;
},
getHeaderSetting(): object { getHeaderSetting(): object {
return this.headerSetting; return this.headerSetting;
}, },
@@ -79,6 +85,9 @@ export const useProjectSettingStore = defineStore({
setNavTheme(value: string): void { setNavTheme(value: string): void {
this.navTheme = value; this.navTheme = value;
}, },
setIsMobile(value: boolean): void {
this.isMobile = value;
},
}, },
}); });