!20 czh-20260605-去除面包屑导航,增加底部标识
Merge pull request !20 from 陈志浩/feature/ui-polish
This commit is contained in:
@@ -1,13 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<Footer :class="prefixCls" v-if="getShowLayoutFooter" ref="footerRef">
|
<Footer :class="prefixCls" v-if="true" ref="footerRef">
|
||||||
<div :class="`${prefixCls}__links`">
|
<div class="footer-text">中国船舶集团有限公司第七〇四研究所 数智化中心开发@2026</div>
|
||||||
<a @click="openWindow(SITE_URL)">{{ t('layout.footer.onlinePreview') }}</a>
|
|
||||||
|
|
||||||
<GithubFilled @click="openWindow(GITHUB_URL)" :class="`${prefixCls}__github`" />
|
|
||||||
|
|
||||||
<a @click="openWindow(DOC_URL)">{{ t('layout.footer.onlineDocument') }}</a>
|
|
||||||
</div>
|
|
||||||
<div>Copyright ©2021 JEECG开源社区 出品</div>
|
|
||||||
</Footer>
|
</Footer>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -42,21 +35,21 @@
|
|||||||
const { getDarkMode } = useRootSetting();
|
const { getDarkMode } = useRootSetting();
|
||||||
const isDark = computed(() => getDarkMode.value === ThemeEnum.DARK);
|
const isDark = computed(() => getDarkMode.value === ThemeEnum.DARK);
|
||||||
|
|
||||||
const getShowLayoutFooter = computed(() => {
|
// const getShowLayoutFooter = computed(() => {
|
||||||
if (unref(getShowFooter)) {
|
// if (unref(getShowFooter)) {
|
||||||
const footerEl = unref(footerRef)?.$el;
|
// const footerEl = unref(footerRef)?.$el;
|
||||||
setFooterHeight(footerEl?.offsetHeight || 0);
|
// setFooterHeight(footerEl?.offsetHeight || 0);
|
||||||
} else {
|
// } else {
|
||||||
setFooterHeight(0);
|
// setFooterHeight(0);
|
||||||
}
|
// }
|
||||||
return unref(getShowFooter) && !unref(currentRoute).meta?.hiddenFooter;
|
// return unref(getShowFooter) && !unref(currentRoute).meta?.hiddenFooter;
|
||||||
});
|
// });
|
||||||
//鼠标移入的颜色设置
|
//鼠标移入的颜色设置
|
||||||
const hoverColor = computed(() => {
|
const hoverColor = computed(() => {
|
||||||
return unref(isDark) ? 'rgba(255, 255, 255, 1)' : 'rgba(0, 0, 0, 0.85)';
|
return unref(isDark) ? 'rgba(255, 255, 255, 1)' : 'rgba(0, 0, 0, 0.85)';
|
||||||
});
|
});
|
||||||
return {
|
return {
|
||||||
getShowLayoutFooter,
|
// getShowLayoutFooter,
|
||||||
prefixCls,
|
prefixCls,
|
||||||
t,
|
t,
|
||||||
DOC_URL,
|
DOC_URL,
|
||||||
@@ -77,27 +70,13 @@
|
|||||||
@hover-color: v-bind(hoverColor);
|
@hover-color: v-bind(hoverColor);
|
||||||
// update-end-author:liusq date:2023-7-12 for: [issues/608] dark 模式下底部 footer 文字 hover 样式导致文字消失
|
// update-end-author:liusq date:2023-7-12 for: [issues/608] dark 模式下底部 footer 文字 hover 样式导致文字消失
|
||||||
.@{prefix-cls} {
|
.@{prefix-cls} {
|
||||||
color: @normal-color;
|
color: rgba(0, 0, 0, 0.65);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
padding: 16px 0;
|
||||||
|
margin-top: auto;
|
||||||
|
|
||||||
&__links {
|
.footer-text {
|
||||||
margin-bottom: 8px;
|
font-size: 13px;
|
||||||
|
|
||||||
a {
|
|
||||||
color: @normal-color;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
color: @hover-color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&__github {
|
|
||||||
margin: 0 30px;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
color: @hover-color;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -2,25 +2,25 @@
|
|||||||
<div :style="getPlaceholderDomStyle" v-if="getIsShowPlaceholderDom"></div>
|
<div :style="getPlaceholderDomStyle" v-if="getIsShowPlaceholderDom"></div>
|
||||||
<div :style="getWrapStyle" :class="getClass">
|
<div :style="getWrapStyle" :class="getClass">
|
||||||
<LayoutHeader v-if="getShowHeader" />
|
<LayoutHeader v-if="getShowHeader" />
|
||||||
<MultipleTabs v-if="getShowTabs" />
|
<!-- <MultipleTabs v-if="getShowTabs" /> -->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { defineComponent, unref, computed, CSSProperties } from 'vue';
|
import { defineComponent, unref, computed, CSSProperties } from 'vue';
|
||||||
|
|
||||||
import LayoutHeader from './index.vue';
|
import LayoutHeader from './index.vue';
|
||||||
import MultipleTabs from '../tabs/index.vue';
|
// import MultipleTabs from '../tabs/index.vue';
|
||||||
|
|
||||||
import { useAppStore } from "@/store/modules/app";
|
import { useAppStore } from "@/store/modules/app";
|
||||||
import { useGlobSetting } from "/@/hooks/setting";
|
import { useGlobSetting } from "/@/hooks/setting";
|
||||||
import { useHeaderSetting } from '/@/hooks/setting/useHeaderSetting';
|
import { useHeaderSetting } from '/@/hooks/setting/useHeaderSetting';
|
||||||
import { useMenuSetting } from '/@/hooks/setting/useMenuSetting';
|
import { useMenuSetting } from '/@/hooks/setting/useMenuSetting';
|
||||||
import { useFullContent } from '/@/hooks/web/useFullContent';
|
import { useFullContent } from '/@/hooks/web/useFullContent';
|
||||||
import { useMultipleTabSetting } from '/@/hooks/setting/useMultipleTabSetting';
|
// import { useMultipleTabSetting } from '/@/hooks/setting/useMultipleTabSetting';
|
||||||
import { useAppInject } from '/@/hooks/web/useAppInject';
|
import { useAppInject } from '/@/hooks/web/useAppInject';
|
||||||
import { useDesign } from '/@/hooks/web/useDesign';
|
import { useDesign } from '/@/hooks/web/useDesign';
|
||||||
import { useLayoutHeight } from '../content/useContentViewHeight';
|
import { useLayoutHeight } from '../content/useContentViewHeight';
|
||||||
import { TabsThemeEnum } from '/@/enums/appEnum';
|
// import { TabsThemeEnum } from '/@/enums/appEnum';
|
||||||
import { MenuTypeEnum } from '/@/enums/menuEnum';
|
import { MenuTypeEnum } from '/@/enums/menuEnum';
|
||||||
|
|
||||||
// update-begin--author:liaozhiyang---date:20240407---for:【QQYUN-8774】网站header区域加高
|
// update-begin--author:liaozhiyang---date:20240407---for:【QQYUN-8774】网站header区域加高
|
||||||
@@ -28,13 +28,13 @@
|
|||||||
// update-begin--author:liaozhiyang---date:20240407---for:【【QQYUN-8774】网站header区域加高
|
// update-begin--author:liaozhiyang---date:20240407---for:【【QQYUN-8774】网站header区域加高
|
||||||
|
|
||||||
// updateBy:sunjianlei---updateDate:2021-09-03---修改tab切换栏样式:更改高度
|
// updateBy:sunjianlei---updateDate:2021-09-03---修改tab切换栏样式:更改高度
|
||||||
const TABS_HEIGHT = 32;
|
// const TABS_HEIGHT = 32;
|
||||||
const TABS_HEIGHT_CARD = 50;
|
// const TABS_HEIGHT_CARD = 50;
|
||||||
const TABS_HEIGHT_SMOOTH = 50;
|
// const TABS_HEIGHT_SMOOTH = 50;
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'LayoutMultipleHeader',
|
name: 'LayoutMultipleHeader',
|
||||||
components: { LayoutHeader, MultipleTabs },
|
components: { LayoutHeader },
|
||||||
setup() {
|
setup() {
|
||||||
const { setHeaderHeight } = useLayoutHeight();
|
const { setHeaderHeight } = useLayoutHeight();
|
||||||
const { prefixCls } = useDesign('layout-multiple-header');
|
const { prefixCls } = useDesign('layout-multiple-header');
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
|
|
||||||
const { getFullContent } = useFullContent();
|
const { getFullContent } = useFullContent();
|
||||||
|
|
||||||
const { getShowMultipleTab, getTabsTheme } = useMultipleTabSetting();
|
// const { getShowMultipleTab, getTabsTheme } = useMultipleTabSetting();
|
||||||
|
|
||||||
const getShowHeader = computed(() => {
|
const getShowHeader = computed(() => {
|
||||||
// 控制是否显示顶部
|
// 控制是否显示顶部
|
||||||
@@ -59,11 +59,7 @@
|
|||||||
})
|
})
|
||||||
|
|
||||||
const getShowTabs = computed(() => {
|
const getShowTabs = computed(() => {
|
||||||
// 控制是否显示多Tabs切换
|
return false;
|
||||||
if (appStore.getLayoutHideMultiTabs) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return unref(getShowMultipleTab) && !unref(getFullContent);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const getIsShowPlaceholderDom = computed(() => {
|
const getIsShowPlaceholderDom = computed(() => {
|
||||||
@@ -85,17 +81,16 @@
|
|||||||
return unref(getFixed) || unref(getShowFullHeaderRef);
|
return unref(getFixed) || unref(getShowFullHeaderRef);
|
||||||
});
|
});
|
||||||
|
|
||||||
// updateBy:sunjianlei---updateDate:2021-09-08---根据主题的不同,动态计算tabs高度
|
// const getTabsThemeHeight = computed(() => {
|
||||||
const getTabsThemeHeight = computed(() => {
|
// let tabsTheme = unref(getTabsTheme);
|
||||||
let tabsTheme = unref(getTabsTheme);
|
// if (tabsTheme === TabsThemeEnum.CARD) {
|
||||||
if (tabsTheme === TabsThemeEnum.CARD) {
|
// return TABS_HEIGHT_CARD;
|
||||||
return TABS_HEIGHT_CARD;
|
// } else if (tabsTheme === TabsThemeEnum.SMOOTH) {
|
||||||
} else if (tabsTheme === TabsThemeEnum.SMOOTH) {
|
// return TABS_HEIGHT_SMOOTH;
|
||||||
return TABS_HEIGHT_SMOOTH;
|
// } else {
|
||||||
} else {
|
// return TABS_HEIGHT;
|
||||||
return TABS_HEIGHT;
|
// }
|
||||||
}
|
// });
|
||||||
});
|
|
||||||
|
|
||||||
const getPlaceholderDomStyle = computed((): CSSProperties => {
|
const getPlaceholderDomStyle = computed((): CSSProperties => {
|
||||||
let height = 0;
|
let height = 0;
|
||||||
@@ -104,9 +99,9 @@
|
|||||||
height += HEADER_HEIGHT;
|
height += HEADER_HEIGHT;
|
||||||
}
|
}
|
||||||
// update-end--author:liaozhiyang---date:20241216---for:【issues/7561】主题切换为顶部混合模式时,页面顶部内容显示不出来,被遮盖
|
// update-end--author:liaozhiyang---date:20241216---for:【issues/7561】主题切换为顶部混合模式时,页面顶部内容显示不出来,被遮盖
|
||||||
if (unref(getShowTabs) && !unref(getFullContent)) {
|
// if (unref(getShowTabs) && !unref(getFullContent)) {
|
||||||
height += unref(getTabsThemeHeight);
|
// height += unref(getTabsThemeHeight);
|
||||||
}
|
// }
|
||||||
setHeaderHeight(height);
|
setHeaderHeight(height);
|
||||||
return {
|
return {
|
||||||
height: `${height}px`,
|
height: `${height}px`,
|
||||||
|
|||||||
@@ -55,7 +55,7 @@
|
|||||||
import { refreshCache, queryAllDictItems } from '/@/views/system/dict/dict.api';
|
import { refreshCache, queryAllDictItems } from '/@/views/system/dict/dict.api';
|
||||||
import { DB_DICT_DATA_KEY } from '/src/enums/cacheEnum';
|
import { DB_DICT_DATA_KEY } from '/src/enums/cacheEnum';
|
||||||
import { removeAuthCache, setAuthCache } from '/src/utils/auth';
|
import { removeAuthCache, setAuthCache } from '/src/utils/auth';
|
||||||
import { getFileAccessHttpUrl } from '/@/utils/common/compUtils';
|
// import { getFileAccessHttpUrl } from '/@/utils/common/compUtils';
|
||||||
import { getRefPromise } from '/@/utils/index';
|
import { getRefPromise } from '/@/utils/index';
|
||||||
|
|
||||||
type MenuEvent = 'logout' | 'doc' | 'lock' | 'cache' | 'depart';
|
type MenuEvent = 'logout' | 'doc' | 'lock' | 'cache' | 'depart';
|
||||||
@@ -89,14 +89,14 @@
|
|||||||
return { realname, avatar: avatar || headerImg, desc };
|
return { realname, avatar: avatar || headerImg, desc };
|
||||||
});
|
});
|
||||||
|
|
||||||
const getAvatarUrl = computed(() => {
|
// const getAvatarUrl = computed(() => {
|
||||||
let { avatar } = getUserInfo.value;
|
// let { avatar } = getUserInfo.value;
|
||||||
if (avatar == headerImg) {
|
// if (avatar == headerImg) {
|
||||||
return avatar;
|
// return avatar;
|
||||||
} else {
|
// } else {
|
||||||
return getFileAccessHttpUrl(avatar);
|
// return getFileAccessHttpUrl(avatar);
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
|
|
||||||
const [register, { openModal }] = useModal();
|
const [register, { openModal }] = useModal();
|
||||||
/**
|
/**
|
||||||
@@ -179,7 +179,7 @@
|
|||||||
prefixCls,
|
prefixCls,
|
||||||
t,
|
t,
|
||||||
getUserInfo,
|
getUserInfo,
|
||||||
getAvatarUrl,
|
// getAvatarUrl,
|
||||||
handleMenuClick,
|
handleMenuClick,
|
||||||
getShowDoc,
|
getShowDoc,
|
||||||
register,
|
register,
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
:theme="getHeaderTheme"
|
:theme="getHeaderTheme"
|
||||||
:sider="false"
|
:sider="false"
|
||||||
/>
|
/>
|
||||||
<LayoutBreadcrumb v-if="getShowContent && getShowBread" :theme="getHeaderTheme" />
|
<!-- <LayoutBreadcrumb v-if="getShowContent && getShowBread" :theme="getHeaderTheme" /> -->
|
||||||
<!-- 欢迎语 -->
|
<!-- 欢迎语 -->
|
||||||
<span v-if="getShowContent && getShowBreadTitle && !getIsMobile" :class="[prefixCls, `${prefixCls}--${getHeaderTheme}`,'headerIntroductionClass']"> {{t('layout.header.welcomeIn')}} {{ title }} </span>
|
<span v-if="getShowContent && getShowBreadTitle && !getIsMobile" :class="[prefixCls, `${prefixCls}--${getHeaderTheme}`,'headerIntroductionClass']"> {{t('layout.header.welcomeIn')}} {{ title }} </span>
|
||||||
</div>
|
</div>
|
||||||
@@ -61,14 +61,14 @@
|
|||||||
import { useRootSetting } from '/@/hooks/setting/useRootSetting';
|
import { useRootSetting } from '/@/hooks/setting/useRootSetting';
|
||||||
|
|
||||||
import { MenuModeEnum, MenuSplitTyeEnum } from '/@/enums/menuEnum';
|
import { MenuModeEnum, MenuSplitTyeEnum } from '/@/enums/menuEnum';
|
||||||
import { SettingButtonPositionEnum } from '/@/enums/appEnum';
|
// import { SettingButtonPositionEnum } from '/@/enums/appEnum';
|
||||||
// import { AppLocalePicker } from '/@/components/Application';
|
// import { AppLocalePicker } from '/@/components/Application';
|
||||||
|
|
||||||
import { UserDropDown, LayoutBreadcrumb, FullScreen, ErrorAction, LockScreen } from './components';
|
import { UserDropDown, FullScreen, ErrorAction, LockScreen } from './components';
|
||||||
import { useAppInject } from '/@/hooks/web/useAppInject';
|
import { useAppInject } from '/@/hooks/web/useAppInject';
|
||||||
import { useDesign } from '/@/hooks/web/useDesign';
|
import { useDesign } from '/@/hooks/web/useDesign';
|
||||||
|
|
||||||
import { createAsyncComponent } from '/@/utils/factory/createAsyncComponent';
|
// import { createAsyncComponent } from '/@/utils/factory/createAsyncComponent';
|
||||||
// import { useLocale } from '/@/locales/useLocale';
|
// import { useLocale } from '/@/locales/useLocale';
|
||||||
|
|
||||||
import LoginSelect from '/@/views/sys/login/LoginSelect.vue';
|
import LoginSelect from '/@/views/sys/login/LoginSelect.vue';
|
||||||
@@ -83,7 +83,7 @@
|
|||||||
Header: Layout.Header,
|
Header: Layout.Header,
|
||||||
AppLogo,
|
AppLogo,
|
||||||
LayoutTrigger,
|
LayoutTrigger,
|
||||||
LayoutBreadcrumb,
|
// LayoutBreadcrumb,
|
||||||
LayoutMenu,
|
LayoutMenu,
|
||||||
UserDropDown,
|
UserDropDown,
|
||||||
// AppLocalePicker,
|
// AppLocalePicker,
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ const setting: ProjectConfig = {
|
|||||||
showLogo: true,
|
showLogo: true,
|
||||||
|
|
||||||
// 是否显示底部信息 copyright
|
// 是否显示底部信息 copyright
|
||||||
showFooter: false,
|
showFooter: true,
|
||||||
|
|
||||||
// ai图标显示
|
// ai图标显示
|
||||||
aiIconShow: false,
|
aiIconShow: false,
|
||||||
|
|||||||
Reference in New Issue
Block a user