This commit is contained in:
@jyuhsin
2025-11-25 17:35:19 +08:00
parent ea9aa6a1b9
commit bda7beb3e2
11 changed files with 158 additions and 24 deletions
@@ -33,6 +33,7 @@ public class Globals {
public static String AppName = "智慧工会";
//项目LOGO
public static String AppLogo = "";
public static String AppBackImg = "";
//项目域名
public static String AppDomain = "http://127.0.0.1";
//文件访问域名
@@ -90,6 +91,7 @@ public class Globals {
switch (Strings.sNull(sysConfig.getConfigKey())) {
case "AppName" -> Globals.AppName = sysConfig.getConfigValue();
case "AppLogo" -> Globals.AppLogo = sysConfig.getConfigValue();
case "AppBackImg" -> Globals.AppBackImg = sysConfig.getConfigValue();
case "AppDomain" -> Globals.AppDomain = sysConfig.getConfigValue();
case "AppFileDomain" -> Globals.AppFileDomain = sysConfig.getConfigValue();
default -> Globals.MyConfig.put(sysConfig.getConfigKey(), sysConfig.getConfigValue());
@@ -37,6 +37,7 @@ public class GlobalsSettingProcessor extends AbstractProcessor {
ac.getRequest().setAttribute("AppBase", Globals.AppBase);
ac.getRequest().setAttribute("AppName", Globals.AppName);
ac.getRequest().setAttribute("AppLogo", Globals.AppLogo);
ac.getRequest().setAttribute("AppBackImg", Globals.AppBackImg);
ac.getRequest().setAttribute("AppDomain", Globals.AppDomain);
ac.getRequest().setAttribute("AppFileDomain", Globals.AppFileDomain);
ac.getRequest().setAttribute("config", Globals.MyConfig);
@@ -1,15 +1,15 @@
:root {
--color-primary: #006db9; /* 主色 */
--color-primary-1: #e6f3ff; /* 最浅,用于浅色背景 */
--color-primary-2: #b3d9ff; /* 较浅,用于 hover/light-bg */
--color-primary-3: #80c0ff; /* 轻微强调 */
--color-primary-4: #4da6ff; /* 中等强调 */
--color-primary-5: #1a8cff; /* 较强强调 */
--color-primary-6: #006db9; /* 主色(默认) */
--color-primary-7: #005aa3; /* 点击/active 状态 */
--color-primary-8: #00468c; /* 较深,用于文字/强调 */
--color-primary-9: #003370; /* 更深,用于深色模式 */
--color-primary-10: #002054; /* 最深,用于特殊强调 */
--color-primary: #811A1E; /* 主色 */
--color-primary-1: #fdf3f3; /* 最浅,极淡红底,用于背景 */
--color-primary-2: #f9d9d9; /* 较浅,hover 背景或轻量强调 */
--color-primary-3: #f4bfbf; /* 轻微强调 */
--color-primary-4: #ef9f9f; /* 中等强调,适合按钮 hover */
--color-primary-5: #e26a6e; /* 较强强调,接近主色但稍亮 */
--color-primary-6: #811A1E; /* 主色(默认) */
--color-primary-7: #6a1518; /* active / 点击态(稍深) */
--color-primary-8: #540f11; /* 深色文字或强对比强调 */
--color-primary-9: #3f0a0d; /* 更深,用于深色主题或边框 */
--color-primary-10: #2a0508; /* 最深,用于特殊高对比场景 */
--color-success: #52c41a;
--color-success-1: #f6ffed;
@@ -135,4 +135,4 @@ body {
color: #333;
font-size: 14px;
height: 100%;
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 KiB

After

Width:  |  Height:  |  Size: 101 KiB

@@ -113,3 +113,35 @@
table-layout: fixed;!important;
}
.el-button--primary.is-active, .el-button--primary:active {
background: var(--color-primary-4);
border-color: var(--color-primary-4);
}
.el-button--primary.is-plain {
background: var(--color-primary-1);
border-color: var(--color-primary-3);
}
.el-button--text:active {
color: var(--color-primary-5);
}
.el-dropdown .el-button:focus, .el-dropdown .el-button:hover {
background: var(--color-primary-1);
border-color: var(--color-primary-3);
}
.el-dropdown .el-button:active {
color: var(--color-primary-5);
}
.el-dropdown-menu__item:focus, .el-dropdown-menu__item:not(.is-disabled):hover {
background: var(--color-primary-1);
}
.el-menu-item, .el-submenu__title {
height: 66px;
line-height: 66px;
}
+94 -8
View File
@@ -3,6 +3,7 @@ layout("/layouts/v4/baseLayout.html"){
#-->
<style>
.sub-app-container {
margin: 0 auto;
background: #fff;
@@ -14,8 +15,8 @@ layout("/layouts/v4/baseLayout.html"){
.sidebar-menu {
width: 250px;
background: rgb(35 85 120);
color: #fff;
background: linear-gradient(180deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%);
color: black;
flex-shrink: 0;
height: calc(100vh - 64px);
display: flex;
@@ -24,15 +25,27 @@ layout("/layouts/v4/baseLayout.html"){
.menu-header {
padding: 20px;
background: rgba(0, 0, 0, 0.1);
/*background: rgba(0, 0, 0, 0.1);*/
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
flex-shrink: 0;
background: url(/assets/platform/img/layout/ejdh_bg.png);
background-size: 100% 100%;
border-top-left-radius: 20px;
border-top-right-radius: 20px;
margin-top: 2px;
text-align: center;
}
.menu-title {
font-size: 18px;
font-weight: 600;
margin: 0;
color: white;
}
.el-icon-arrow-down:before {
font-weight: bolder;
color: #8f000b;
}
#sidebar-menu .el-scrollbar {
@@ -50,7 +63,20 @@ layout("/layouts/v4/baseLayout.html"){
}
#sidebar-menu .el-menu .el-submenu__title {
color: #ffffff;
color: black;
font-size: 16px;
position: relative;
border-bottom: none;
}
#sidebar-menu .el-menu .el-submenu__title::after {
content: '';
position: absolute;
left: 20px;
right: 20px;
bottom: 0;
height: 1px;
background-color: #e0d5d5;
}
#sidebar-menu .el-menu .el-submenu__title i,
@@ -59,7 +85,23 @@ layout("/layouts/v4/baseLayout.html"){
}
#sidebar-menu .el-menu .el-submenu__title:hover {
background: rgba(0, 0, 0, 0.1);
/*background: rgba(0, 0, 0, 0.1);*/
background: none;
color: #8f000b;
font-weight: bolder;
}
#sidebar-menu .el-menu .el-submenu__title:before {
border: 1px solid #e0d5d5;
background: #fff;
content: '';
position: absolute;
left: 13px;
bottom: -4px;
width: 6px;
height: 6px;
border-radius: 5px;
z-index: 1;
}
#sidebar-menu .el-menu .el-menu-item {
@@ -67,12 +109,53 @@ layout("/layouts/v4/baseLayout.html"){
}
#sidebar-menu .el-menu .el-menu-item.is-active {
background: rgba(0, 0, 0, 0.1);
/*background: rgba(0, 0, 0, 0.1);*/
color: #8f000b;
font-weight: bolder;
}
#sidebar-menu .el-menu .el-menu-item:focus,
.el-menu-item:hover {
background: rgba(0, 0, 0, 0.1);
background: none;
font-weight: bolder;
}
#sidebar-menu .el-menu .el-menu-item:focus a,
#sidebar-menu .el-menu .el-menu-item:hover a {
color: #8f000b;
font-weight: bolder;
}
#sidebar-menu .el-menu .el-menu-item.is-active a:after {
background: #c6a75c;
content: '';
position: absolute;
left: 35px;
bottom: -4px;
width: 45%;
height: 4px;
z-index: 1;
}
#sidebar-menu .el-menu .el-menu--inline .el-menu-item.is-active a:after {
left: 55px;
}
#sidebar-menu .el-menu .el-menu-item a:before {
border: 1px solid #e0d5d5;
background: #fff;
content: '';
position: absolute;
left: 13px;
bottom: -6px;
width: 6px;
height: 6px;
border-radius: 5px;
z-index: 1;
}
#sidebar-menu .el-menu .el-menu--inline .el-menu-item a:before {
left: 33px;
}
#sidebar-menu .el-menu .el-menu-item a {
@@ -80,12 +163,15 @@ layout("/layouts/v4/baseLayout.html"){
color: inherit;
display: inline-block;
width: 100%;
font-size: 16px;
border-bottom: 1px #e0d5d5 solid;
}
.sub-app-container-main-content {
flex: 1;
padding: 10px;
background: #f6f6f6;
/*background: #f6f6f6;*/
background: #FAF8F2;
box-sizing: border-box;
overflow: auto;
height: calc(100vh - 64px);
@@ -368,8 +368,8 @@
<style>
.v4-header {
background-color: rgb(0, 109, 185);
box-shadow: 0 2px 10px rgba(0, 109, 185, 0.3);
background-color: rgb(129, 26, 30);
box-shadow: 0 2px 10px rgba(129, 26, 30, 0.3);
height: 64px;
display: flex;
align-items: center;
@@ -603,6 +603,19 @@
text-decoration: underline;
}
body::before {
content: "";
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
pointer-events: none;
background: url('${AppBackImg!}') no-repeat center center;
background-size: 28% 36%;
opacity: 0.05;
z-index: 99999;
}
</style>
</head>
<body>
@@ -75,7 +75,7 @@ layout("/layouts/platform.html"){
></el-input>
</el-form-item>
<el-form-item prop="configValue" label="参数值">
<template v-if="formData.configKey === 'AppLogo' || formData.configKey === 'AppHomeImg'">
<template v-if="formData.configKey === 'AppLogo' || formData.configKey === 'AppHomeImg' || formData.configKey === 'AppBackImg'">
<file-upload
style="--upload-width: 214px;--upload-height:64px"
:value.sync="formData.configValue"
@@ -92,7 +92,7 @@ const ACTIVITY_CULTURE_INFO_MANAGE = {
<el-table-column align="center" header-align="center" label="操作"
prop="userOnline" width="150px">
<template slot-scope="{row}">
<el-dropdown @command="dropdownCommand">
<el-dropdown @command="dropdownCommand" trigger="click">
<el-button :loading="row.loading" size="mini">
<i class="ti-settings"></i>
<span class="ti-angle-down"></span>