This commit is contained in:
1378012178@qq.com 2025-04-30 10:49:56 +08:00
commit 71e0891f8b
9 changed files with 87 additions and 188 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
src/assets/images/bj.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
src/assets/images/logo2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@ -3,10 +3,10 @@
* @Description: logo component
-->
<template>
<div class="anticon" :class="getAppLogoClass" @click="goHome">
<img src="../../../assets/images/logo.png" />
<div class="ml-2 truncate md:opacity-100" :class="getTitleClass" v-show="showTitle">
{{ shortTitle }}
<div class="anticon advisoryClass" :class="getAppLogoClass" @click="goHome" style="background-image: url('/src/assets/images/bj.png');text-align: center;">
<img src="../../../assets/images/logo2.png" style="width:100%" v-show="showTitle"/>
<div class="ml-2 truncate md:opacity-100" :class="getTitleClass" v-show="!showTitle">
<img src="../../../assets/images/logo.png" style="width:100%"/>
</div>
</div>
</template>
@ -41,6 +41,7 @@
const go = useGo();
// const getAppLogoClass = [ "jeecg-app-logo", "light", { "collapsed-show-title": false } ]
const getAppLogoClass = computed(() => [prefixCls, props.theme, { 'collapsed-show-title': unref(getCollapsedShowTitle) }]);
const getTitleClass = computed(() => [
@ -90,4 +91,8 @@
line-height: normal;
}
}
.advisoryClass{
background-image: url(/@/assets/images/bj.png);
}
</style>

View File

@ -6,9 +6,10 @@
// &.ant-btn-success:not(.ant-btn-link),
// &.ant-btn-error:not(.ant-btn-link),
// &.ant-btn-warning:not(.ant-btn-link),
// &.ant-btn-primary:not(.ant-btn-link) {
// box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.12), 0 2px 4px 0 rgba(0, 0, 0, 0.08) !important;
// }
&.ant-btn-primary:not(.ant-btn-link) {
box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.12), 0 2px 4px 0 rgba(0, 0, 0, 0.08) !important;
background: linear-gradient(to right, #1ea1fb, #0480e7);
}
// &-group {
// .ant-btn:not(:first-child) {
// bottom: 1px;

View File

@ -1,7 +1,7 @@
<template>
<Header :class="getHeaderClass">
<Header :class="getHeaderClass" style="background-image: url('/src/assets/images/bj.png');">
<!-- left start -->
<div :class="`${prefixCls}-left`">
<div :class="`${prefixCls}-left`" >
<!-- logo -->
<AppLogo v-if="getShowHeaderLogo || getIsMobile" :class="`${prefixCls}-logo`" :theme="getHeaderTheme" :style="getLogoWidth" />
<LayoutTrigger
@ -11,7 +11,7 @@
/>
<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" style="background: #e3f6fc !important;" :class="[prefixCls, `${prefixCls}--${getHeaderTheme}`,'headerIntroductionClass']"> {{t('layout.header.welcomeIn')}} {{ title }} </span>
</div>
<!-- left end -->
@ -26,17 +26,17 @@
<!-- <AppSearch :class="`${prefixCls}-action__item `" v-if="getShowSearch" /> -->
<ErrorAction v-if="getUseErrorHandle" :class="`${prefixCls}-action__item error-action`" />
<a-divider type="vertical" v-if="getUseErrorHandle" />
<Notify v-if="getShowNotice" :class="`${prefixCls}-action__item notify-item`" />
<a-divider type="vertical" v-if="getShowNotice" />
<FullScreen v-if="getShowFullScreen" :class="`${prefixCls}-action__item fullscreen-item`" />
<a-divider type="vertical" v-if="getShowFullScreen" />
<LockScreen v-if="getUseLockPage" />
<a-divider type="vertical" v-if="getUseLockPage" />
<!-- <AppLocalePicker v-if="getShowLocalePicker" :reload="true" :showText="false" :class="`${prefixCls}-action__item`" /> -->
<UserDropDown :theme="getHeaderTheme" />
<a-divider type="vertical" />
<SettingDrawer v-if="getShowSetting" :class="`${prefixCls}-action__item`" />
<!-- ai助手 -->
<!-- <Aide></Aide> -->

View File

@ -4,7 +4,7 @@
<LayoutHeader fixed v-if="getShowFullHeaderRef" />
<Layout :class="[layoutClass]">
<LayoutSideBar v-if="getShowSidebar || getIsMobile" />
<Layout :class="`${prefixCls}-main`">
<Layout :class="`${prefixCls}-main`" style="background-image: url('/src/assets/images/bj.png');">
<LayoutMultipleHeader />
<LayoutContent />
<LayoutFooter />

View File

@ -15,182 +15,75 @@ import { primaryColor } from '../../build/config/themeConfig';
// ! 改动后需要清空浏览器缓存
const setting: ProjectConfig = {
// 是否显示SettingButton
showSettingButton: true,
// 是否显示主题切换按钮
showDarkModeToggle: true,
// 设置按钮位置 可选项
// SettingButtonPositionEnum.AUTO: 自动选择
// SettingButtonPositionEnum.HEADER: 位于头部
// SettingButtonPositionEnum.FIXED: 固定在右侧
settingButtonPosition: SettingButtonPositionEnum.AUTO,
// 权限模式,默认前端角色权限模式
// ROUTE_MAPPING: 前端模式(菜单由路由生成,默认)
// ROLE前端模式菜单路由分开
// BACK后台模式
permissionMode: PermissionModeEnum.BACK,
// 权限缓存存放位置。默认存放于localStorage
permissionCacheType: CacheTypeEnum.LOCAL,
// 会话超时处理方案
// SessionTimeoutProcessingEnum.ROUTE_JUMP: 路由跳转到登录页
// SessionTimeoutProcessingEnum.PAGE_COVERAGE: 生成登录弹窗,覆盖当前页面
sessionTimeoutProcessing: SessionTimeoutProcessingEnum.ROUTE_JUMP,
// 项目主题色
themeColor: primaryColor,
// 网站灰色模式,用于可能悼念的日期开启
grayMode: false,
// 色弱模式
colorWeak: false,
// 是否取消菜单,顶部,多标签页显示, 用于可能内嵌在别的系统内
fullContent: false,
// 主题内容宽度
contentMode: ContentEnum.FULL,
// 是否显示logo
showLogo: true,
// 是否显示底部信息 copyright
showFooter: false,
// 头部配置
headerSetting: {
// 背景色
bgColor: HEADER_PRESET_BG_COLOR_LIST[4],
// 固定头部
fixed: true,
// 是否显示顶部
show: true,
// 主题
theme: ThemeEnum.LIGHT,
// 开启锁屏功能
useLockPage: false,
// 显示全屏按钮
showFullScreen: false,
// 显示官网按钮
showDoc: false,
// 显示消息中心按钮
showNotice: true,
// 显示菜单搜索按钮
showSearch: true,
"showSettingButton": true,
"showDarkModeToggle": true,
"settingButtonPosition": "auto",
"permissionMode": "BACK",
"permissionCacheType": 1,
"sessionTimeoutProcessing": 0,
"themeColor": "#1890FF",
"grayMode": false,
"colorWeak": false,
"fullContent": false,
"contentMode": "full",
"showLogo": true,
"showFooter": false,
"headerSetting": {
"bgColor": "#ffffff",
"fixed": true,
"show": true,
"theme": "light",
"useLockPage": false,
"showFullScreen": false,
"showDoc": false,
"showNotice": true,
"showSearch": true
},
// 菜单配置
menuSetting: {
// 背景色
bgColor: SIDE_BAR_BG_COLOR_LIST[0],
// 是否固定住左侧菜单
fixed: true,
// 菜单折叠
collapsed: false,
// 折叠菜单时候是否显示菜单名
collapsedShowTitle: false,
// 是否可拖拽
// Only limited to the opening of the left menu, the mouse has a drag bar on the right side of the menu
canDrag: false,
// Whether to show no dom
show: true,
// Whether to show dom
hidden: false,
// 菜单宽度
menuWidth: 210,
// 菜单模式
mode: MenuModeEnum.INLINE,
// 菜单类型
type: MenuTypeEnum.SIDEBAR,
// 菜单主题
theme: ThemeEnum.DARK,
// update-begin--author:liaozhiyang---date:20241203---for【issues/7522】解决menuSetting ts警告
// 左侧导航栏文字颜色调整区分彩色和暗黑 (不对应配置)
isThemeBright: false,
// update-end--author:liaozhiyang---date:20241203---for【issues/7522】解决menuSetting ts警告
// 分割菜单
split: false,
// 顶部菜单布局
topMenuAlign: 'center',
// 折叠触发器的位置
trigger: TriggerEnum.HEADER,
// 手风琴模式,只展示一个菜单
accordion: true,
// 在路由切换的时候关闭左侧混合菜单展开菜单
closeMixSidebarOnChange: false,
// 左侧混合菜单模块切换触发方式 click |'hover'
mixSideTrigger: MixSidebarTriggerEnum.CLICK,
// 是否固定左侧混合菜单
mixSideFixed: false,
"menuSetting": {
"bgColor": "#ffffff",
"fixed": true,
"collapsed": false,
"collapsedShowTitle": false,
"canDrag": false,
"show": true,
"hidden": false,
"menuWidth": 210,
"mode": "inline",
"type": "sidebar",
"theme": "light",
"isThemeBright": false,
"split": false,
"topMenuAlign": "center",
"trigger": "HEADER",
"accordion": true,
"closeMixSidebarOnChange": false,
"mixSideTrigger": "click",
"mixSideFixed": false
},
// 多标签
multiTabsSetting: {
// 刷新后是否保留已经打开的标签页
cache: false,
// 开启
show: true,
// 是否可以拖拽
canDrag: true,
// 开启快速操作
showQuick: true,
// 是否显示刷新按钮
showRedo: true,
// 是否显示折叠按钮
showFold: true,
// 标签页样式
theme: TabsThemeEnum.CARD,
"multiTabsSetting": {
"cache": false,
"show": false,
"canDrag": true,
"showQuick": true,
"showRedo": true,
"showFold": true,
"theme": "card"
},
// 动画配置
transitionSetting: {
// 是否开启切换动画
// The disabled state will also disable pageLoading
enable: true,
// 动画名 Route basic switching animation
basicTransition: RouterTransitionEnum.FADE_SIDE,
// 是否打开页面切换loading
// Only open when enable=true
openPageLoading: true,
//是否打开页面切换顶部进度条
openNProgress: true,
"transitionSetting": {
"enable": true,
"basicTransition": "fade-slide",
"openPageLoading": true,
"openNProgress": true
},
// 是否开启KeepAlive缓存 开发时候最好关闭,不然每次都需要清除缓存
openKeepAlive: true,
// 自动锁屏时间为0不锁屏。 单位分钟 默认1个小时
lockTime: 0,
// 显示面包屑
showBreadCrumb: false,
// 显示面包屑图标
showBreadCrumbIcon: true,
// 是否使用全局错误捕获
useErrorHandle: false,
// 是否开启回到顶部
useOpenBackTop: true,
// 是否可以嵌入iframe页面
canEmbedIFramePage: true,
// 切换界面的时候是否删除未关闭的message及notify
closeMessageOnSwitch: true,
// 切换界面的时候是否取消已经发送但是未响应的http请求。
// 如果开启,想对单独接口覆盖。可以在单独接口设置
removeAllHttpPending: false,
"openKeepAlive": false,
"lockTime": 0,
"showBreadCrumb": false,
"showBreadCrumbIcon": true,
"useErrorHandle": false,
"useOpenBackTop": true,
"canEmbedIFramePage": true,
"closeMessageOnSwitch": true,
"removeAllHttpPending": false
};
export default setting;