团市委后台样式调整和

文章分类控制显示隐藏
This commit is contained in:
qinzexin 2025-06-07 15:40:51 +08:00
parent 4ab22822f8
commit dfa22b1804
25 changed files with 4545 additions and 83 deletions

4
.env
View File

@ -4,8 +4,8 @@ trace = false
[database]
hostname = 127.0.0.1
database = youthleagueluoyang
username = youthleagueluoyang
database = youthleague
username = youthleague
password = youthleagueluoyang
hostport = 3306
prefix = fa_

1
addons/sdtheme/.addonrc Normal file
View File

@ -0,0 +1 @@
{"files":["public\\assets\\addons\\sdtheme\\simple.css","public\\assets\\addons\\sdtheme\\simple_sdkjcc.less"],"license":"regular","licenseto":"16018","licensekey":"lKcqQ17N4r9ECPUm B2MlIPWyJOgJDRa68UMuDQ==","domains":["10.140"],"licensecodes":[],"validations":["a659a729532588fc6da49985c36a0f07"]}

112
addons/sdtheme/Sdtheme.php Normal file
View File

@ -0,0 +1,112 @@
<?php
namespace addons\sdtheme;
use app\common\library\Menu;
use think\Addons;
use think\Request;
/**
* 插件
*/
class Sdtheme extends Addons
{
/**
* HTML替换
*/
public function viewFilter(&$content)
{
$request = Request::instance();
$module = strtolower($request->module());
$controller = strtolower($request->controller());
$action = strtolower($request->action());
if ($module == 'admin') {
// 如果没有定义主题就用 sdtheme-white
if ($controller == 'index' && $action == 'index') {
if (!config('fastadmin.adminskin') && !cookie('adminskin')) {
$content = preg_replace(
'/(<body[^>]*class=")([^"]*)(")/',
'$1$2 sdtheme-white $3',
$content
);
}
// 右侧菜单栏增加主题
$newItem = '<li><a href="javascript:;" data-skin="" class="clearfix full-opacity-hover"><div><span style="width: 20%; height: 27px; background: #FFFFFF;"></span><span style="width: 80%; height: 27px; background: #f4f5f7;"></span></div></a><p class="text-center no-margin">sdtheme</p></li>';
$content = preg_replace(
'/(<ul[^>]*class="list-unstyled clearfix skin-list"[^>]*>)/',
'$1' . $newItem,
$content
);
}
if (!($controller == 'index' && $action == 'login')) {
$version = config('site.version');
$cdnurl = config('site.cdnurl');
$html = "<link href='{$cdnurl}/assets/addons/sdtheme/simple.css?v={$version}' rel='stylesheet'>";
$content = preg_replace(
'/<!--\[if lt IE 9\]>(.*?)<!\[endif\]-->/is',
$html,
$content
);
$content = preg_replace(
'/(<body[^>]*class=")([^"]*)(")/',
'$1$2 sdtheme-body $3',
$content
);
}
}
}
/**
* 插件安装方法
* @return bool
*/
public function install()
{
$menu=[];
$config_file= ADDON_PATH ."sdtheme" . DS.'config'.DS. "menu.php";
if (is_file($config_file)) {
$menu = include $config_file;
}
if($menu){
Menu::create($menu);
}
return true;
}
/**
* 插件卸载方法
* @return bool
*/
public function uninstall()
{
$info=get_addon_info('sdtheme');
Menu::delete(isset($info['first_menu'])?$info['first_menu']:'sdtheme');
return true;
}
/**
* 插件启用方法
*/
public function enable()
{
$info=get_addon_info('sdtheme');
Menu::enable(isset($info['first_menu'])?$info['first_menu']:'sdtheme');
}
/**
* 插件禁用方法
*/
public function disable()
{
$info=get_addon_info('sdtheme');
Menu::disable(isset($info['first_menu'])?$info['first_menu']:'sdtheme');
}
}

18
addons/sdtheme/bootstrap.js vendored Normal file
View File

@ -0,0 +1,18 @@
/*require.config({
paths: {
},
shim: {
}
});*/
require([], function (undefined) {
// 后台切换主题,先直接刷新
if (Config.modulename == 'admin' && Config.controllername == 'index' && Config.actionname == 'index') {
$('.skin-list .clearfix.full-opacity-hover').on('click', function () {
setTimeout(() => {
location.reload();
}, 100)
})
}
});

View File

@ -0,0 +1,3 @@
<?php
return array (
);

View File

@ -0,0 +1,6 @@
<?php
return array (
'table_name' => '',
'self_path' => '',
'update_data' => '',
);

View File

@ -0,0 +1,7 @@
<?php
/**
* 菜单配置文件
*/
return array (
);

View File

@ -0,0 +1,655 @@
.sdtheme-body #firstnav {
box-shadow: none !important;
}
.sdtheme-body button {
border-radius: 6px;
outline: none !important;
}
.sdtheme-body .btn {
border-radius: 6px;
padding: 6px 20px !important;
}
.sdtheme-body .btn-primary {
background: #165DFF;
border-color: #165DFF;
color: #fff;
}
.sdtheme-body .btn-primary:hover,
.sdtheme-body .btn-primary:focus,
.sdtheme-body .btn-primary.focus {
background: rgba(22, 93, 255, 0.5);
border-color: rgba(22, 93, 255, 0.5);
color: #fff;
}
.sdtheme-body .form-control {
border-radius: 6px;
}
.sdtheme-body .btn-success.btn-primary {
color: #fff;
background-color: #18bc9c;
border-color: #18bc9c;
}
.sdtheme-body .btn-success.btn-primary :hover,
.sdtheme-body .btn-success.btn-primary :focus,
.sdtheme-body .btn-success.btn-primary :focus {
color: #fff;
background-color: #128f76;
border-color: #11866f;
}
.sdtheme-body .dropdown-menu.text-left a,
.sdtheme-body .dropdown-menu.text-left li {
border-radius: 0;
}
.sdtheme-body .toolbar .dropdown {
margin-left: 10px;
}
.sdtheme-body .pagination > li > a {
margin-left: 4px !important;
border-color: transparent;
background: #fff;
border-radius: 6px !important;
}
.sdtheme-body .pagination .jumpto input {
margin-right: 0px !important;
}
.sdtheme-body .pagination .jumpto .btn {
background: transparent;
border-color: transparent;
color: #666;
box-shadow: none !important;
padding: 7px 10px !important;
}
.sdtheme-body .pagination .jumpto .btn:focus,
.sdtheme-body .pagination .jumpto .btn:active {
color: #165DFF !important;
}
.sdtheme-body .pagination > .active > a,
.sdtheme-body .pagination > .active > span,
.sdtheme-body .pagination > .active > a:hover,
.sdtheme-body .pagination > .active > span:hover,
.sdtheme-body .pagination > .active > a:focus,
.sdtheme-body .pagination > .active > span:focus {
background: transparent;
border-color: #165DFF;
color: #0054FE;
border-radius: 6px !important;
}
.sdtheme-body .pagination-detail .dropdown-toggle {
background: transparent;
padding: 3px 15px;
}
.sdtheme-body .panel-heading {
background: #fff;
border-radius: 6px !important;
border: none !important;
}
.sdtheme-body .panel-heading .nav-tabs > li > a {
background: #fff;
min-width: 64px !important;
text-align: center !important;
border: none !important;
color: #081615;
font-weight: 700 !important;
margin-right: 30px !important;
}
.sdtheme-body .panel-heading .nav-tabs > li.active > a {
position: relative;
}
.sdtheme-body .panel-heading .nav-tabs > li.active > a::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 4px;
background: #165DFF;
border-radius: 4px;
}
.sdtheme-body #secondnav .nav-tabs {
box-shadow: 0px 4px 10px 0px rgba(78, 89, 105, 0.06);
background: transparent;
}
.sdtheme-body #secondnav .nav-tabs > li {
position: relative;
margin: 0 !important;
padding: 0 15px !important;
border: none !important;
border-width: 0 !important;
border-radius: 0 !important;
}
.sdtheme-body #secondnav .nav-tabs > li::before {
content: '';
position: absolute;
top: 50%;
transform: translateY(-50%);
left: 0;
width: 1px;
height: 20px;
background: #D8D8D8;
}
.sdtheme-body #secondnav .nav-tabs > li:first-child::before,
.sdtheme-body #secondnav .nav-tabs > li:nth-child(2)::before,
.sdtheme-body #secondnav .nav-tabs > li.active::before,
.sdtheme-body #secondnav .nav-tabs > li.active + li::before {
display: none;
}
.sdtheme-body #secondnav .nav-tabs > li > a {
display: flex;
align-items: center;
justify-content: center;
}
.sdtheme-body #secondnav .nav-tabs > li.active {
background: #F0F5FF;
}
.sdtheme-body #secondnav .nav-tabs > li.active > a {
color: #165DFF;
}
.sdtheme-body .pull-left:has(#toolbar) {
margin-bottom: 0;
}
.sdtheme-body .pull-left #toolbar {
display: flex;
align-items: center;
flex-wrap: wrap;
}
.sdtheme-body .pull-left #toolbar > * {
margin-bottom: 10px;
}
.sdtheme-body .pull-left #toolbar > a + a,
.sdtheme-body .pull-left #toolbar > a + div,
.sdtheme-body .pull-left #toolbar > div + a,
.sdtheme-body .pull-left #toolbar > a + button,
.sdtheme-body .pull-left #toolbar > button + a,
.sdtheme-body .pull-left #toolbar > div + button,
.sdtheme-body .pull-left #toolbar > button + div {
margin-left: 10px !important;
}
.sdtheme-body .pull-right.search {
margin-right: 20px !important;
}
.sdtheme-body .pull-right.columns {
margin: 10px 0 !important;
}
.sdtheme-body .pull-right.columns * {
border-color: transparent !important;
border-radius: 4px !important;
}
.sdtheme-body .pull-right.columns .btn-group,
.sdtheme-body .pull-right.columns .btn {
margin-left: 1px !important;
}
.sdtheme-body .pull-right.columns .caret {
border-width: 0 !important;
}
.sdtheme-body .pull-right.columns-right {
margin: 10px 0 !important;
margin-left: 1px !important;
}
.sdtheme-body .pull-right.columns-right .btn {
border-color: transparent !important;
border-radius: 4px !important;
}
.sdtheme-body .input-group .input-group-btn .form-control {
border-top-left-radius: 6px;
border-bottom-left-radius: 6px;
}
.sdtheme-body .bootstrap-table .table thead > tr > th {
border-color: #F6F8FB;
background: #F6F8FB;
}
.sdtheme-body .bootstrap-table .table-striped > tbody > tr:nth-of-type(odd) {
background: #fff;
}
.sdtheme-body .bootstrap-table tbody tr td {
border-left-width: 0 !important;
border-right-width: 0 !important;
}
.sdtheme-body .bootstrap-table .table-hover > tbody > tr:hover {
background: rgba(22, 93, 255, 0.05) !important;
}
.sdtheme-body .searchit .label {
display: inline-block;
padding: 4px 10px;
border-radius: 4px;
font-size: 13px;
line-height: 15px;
}
.sdtheme-body .layui-layer-dialog .layui-layer-title,
.sdtheme-body .layui-layer-iframe .layui-layer-title {
background: #F6F8FB !important;
color: #333 !important;
font-weight: 700 !important;
font-size: 16px !important;
}
.sdtheme-body .layui-layer-dialog .layui-layer-setwin .layui-layer-ico::after,
.sdtheme-body .layui-layer-iframe .layui-layer-setwin .layui-layer-ico::after {
color: #333 !important;
}
.sdtheme-body .layui-layer-dialog .layui-layer-btn,
.sdtheme-body .layui-layer-iframe .layui-layer-btn {
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1) !important;
background: transparent;
}
.sdtheme-body .layui-layer-dialog .layui-layer-btn .layui-layer-btn0,
.sdtheme-body .layui-layer-iframe .layui-layer-btn .layui-layer-btn0 {
background: #165DFF !important;
color: #fff !important;
border-color: #165DFF !important;
}
.sdtheme-body .layui-layer-dialog .layui-layer-btn .layui-layer-btn1,
.sdtheme-body .layui-layer-iframe .layui-layer-btn .layui-layer-btn1 {
background: #F6F8FB !important;
color: #666 !important;
border-color: #E4E4E4 !important;
}
.sdtheme-body .sdtheme-hidden-userinfo .user-panel {
display: none !important;
}
@media (max-width: 767px) {
.sdtheme-body .content-wrapper,
.sdtheme-body .right-side,
.sdtheme-body .main-footer {
margin-left: 0px !important;
}
}
.sdtheme-body .layui-layer-ico3 {
display: inline-flex !important;
align-items: center;
justify-content: center;
border-radius: 50%;
color: #fff !important;
font: normal normal normal 12px/1 FontAwesome !important;
background: none !important;
background: #165DFF !important;
}
.sdtheme-body .layui-layer-ico3::before {
font-size: 18px !important;
content: "\f12a" !important;
}
.sdtheme-body .layui-layer-ico1 {
display: inline-flex !important;
align-items: center;
justify-content: center;
border-radius: 50%;
color: #fff !important;
font: normal normal normal 12px/1 FontAwesome !important;
background: none !important;
background: #165DFF !important;
}
.sdtheme-body .layui-layer-ico1::before {
font-size: 18px !important;
content: "\f00c" !important;
}
.sdtheme-body .layui-layer-ico0 {
display: inline-flex !important;
align-items: center;
justify-content: center;
border-radius: 50%;
color: #fff !important;
font: normal normal normal 12px/1 FontAwesome !important;
background: none !important;
background: #165DFF !important;
}
.sdtheme-body .layui-layer-ico0::before {
font-size: 18px !important;
content: "\f058" !important;
}
.sdtheme-body .bootstrap-table .form-commonsearch .row > .form-group:last-child {
float: right;
}
.sdtheme-body .btn.btn-xs {
padding: 1px 5px !important;
}
.sdtheme-body .panel-intro > .panel-heading .nav-tabs {
padding-bottom: 10px;
}
.sdtheme-body .panel-intro .panel-heading {
border-bottom: 12px solid #F1F4F6 !important;
margin-bottom: 10px;
border-radius: 6px 6px 0px 0px !important;
padding-top: 10px;
}
.sdtheme-body .layui-layer-fast.layui-layer-dialog {
border-radius: 6px;
box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
overflow: hidden;
min-width: 330px;
}
.sdtheme-body .layui-layer-fast.layui-layer-dialog .layui-layer-content .layui-layer-ico {
position: absolute;
top: 40px;
left: 37px;
width: 25px;
height: 25px;
}
.sdtheme-body .layui-layer-fast.layui-layer-dialog .layui-layer-btn,
.sdtheme-body .layui-layer-fast.layui-layer-dialog .sdtheme-body .layui-layer-iframe .layui-layer-btn {
box-shadow: none !important;
display: flex;
flex-direction: row-reverse;
position: relative;
bottom: 10px;
}
.sdtheme-body .layui-layer-fast.layui-layer-dialog .layui-layer-padding {
padding: 40px 5px 30px 75px;
text-align: left;
}
.sdtheme-body .layui-layer-fast.layui-layer-dialog .layui-layer-btn0 {
position: relative;
padding: 15px 30px;
text-align: center;
line-height: 5px;
border-radius: 8px;
}
.sdtheme-body .layui-layer-fast.layui-layer-dialog .layui-layer-btn0 button {
border-radius: 8px;
}
.sdtheme-body .layui-layer-fast.layui-layer-dialog .layui-layer-btn1 {
position: relative;
padding: 15px 30px;
text-align: center;
line-height: 5px;
border-radius: 8px;
}
.sdtheme-body .layui-layer-fast.layui-layer-dialog .layui-layer-btn1 button {
border-radius: 8px;
}
.sdtheme-body .text-success {
color: #165DFF;
}
.sdtheme-body .panel-body #toolbar {
display: flex;
align-items: center;
}
.sdtheme-body .panel-body #toolbar > .btn {
margin-left: 10px;
}
.sdtheme-body .panel-body #toolbar .btn-group {
margin-left: 10px;
}
@media (max-width: 767px) {
.sdtheme-body .main-header .navbar {
margin: 0;
}
}
.sdtheme-body .label-primary {
background-color: rgba(0, 0, 0, 0.6);
}
.sdtheme-body .label-success {
color: #18BC9C;
background-color: rgba(24, 188, 156, 0.1);
}
.sdtheme-body .label-warning {
color: #f39c12;
background-color: rgba(243, 156, 18, 0.1);
}
.sdtheme-body .label-danger {
color: #f75444;
background-color: rgba(247, 84, 68, 0.1);
}
.sdtheme-body form .form-group .input-group-addon.no-border.no-padding {
position: relative;
left: 3px;
}
.sdtheme-body .layui-layer-btn.layui-layer-footer {
border-top: 1px solid #F6F8FB;
}
.sdtheme-body .panel-intro > .panel-heading .nav-tabs > li > a:hover {
color: #323638;
background-color: #F4F4F5;
border-radius: 6px;
}
.sdtheme-body .panel-intro > .panel-heading .nav-tabs > li.active > a {
color: #165DFF;
}
.sdtheme-body.darktheme .sidebar a,
.sdtheme-body.darktheme .sidebar-menu li.treeview.treeview-open > a {
color: #fff;
background: #070707;
}
.sdtheme-body.darktheme .panel-heading .nav-tabs > li > a {
color: #fff !important;
background: #404040 !important;
}
.sdtheme-body.darktheme .panel-heading .nav-tabs > li.active > a {
position: relative;
}
.sdtheme-body.darktheme .panel-heading .nav-tabs > li.active > a::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 4px;
background: #165DFF;
border-radius: 4px;
}
.sdtheme-body.darktheme .btn-default {
color: #fff;
}
.sdtheme-body.darktheme .bootstrap-table .table thead > tr > th {
border-color: #262626;
background: #262626;
}
.sdtheme-body.darktheme .bootstrap-table .table-striped > tbody > tr:nth-of-type(odd) {
background: #404040;
}
.sdtheme-body.darktheme .bootstrap-table tbody tr td {
border-left-width: 0 !important;
border-right-width: 0 !important;
}
.sdtheme-body.darktheme .bootstrap-table .table-hover > tbody > tr:hover {
background: rgba(38, 38, 38, 0.05) !important;
}
.sdtheme-body.darktheme .form-commonsearch > div {
background: #262626 !important;
}
.sdtheme-body.darktheme .panel-intro .panel-heading {
border-bottom: 12px solid #262626 !important;
}
.sdtheme-body.darktheme .panel {
background-color: #333333 !important;
}
.sdtheme-body.darktheme .panel-heading {
background: #3A3A3A;
}
body.sdtheme-white .wrapper,
body.sdtheme-white .main-header {
background: #fff;
}
body.sdtheme-white .main-sidebar,
body.sdtheme-white .main-header .logo {
color: #222;
background: #fff;
border-color: transparent !important;
}
body.sdtheme-white .main-sidebar:hover,
body.sdtheme-white .main-header .logo:hover {
color: #222;
border-color: transparent !important;
}
body.sdtheme-white .sidebar-collapse ul.treeview-menu {
background: #F4F4F5 !important;
}
body.sdtheme-white .sidebar-menu li.treeview.active > a,
body.sdtheme-white .sidebar-menu li.treeview.treeview-open > a,
body.sdtheme-white .sidebar-menu > li > .treeview-menu {
background: #fff;
border-left-color: #fff;
}
body.sdtheme-white.sidebar-collapse .sidebar-menu > li > .treeview-menu {
margin-left: 5px !important;
left: 45px !important;
}
body.sdtheme-white .treeview-menu > li > a,
body.sdtheme-white .sidebar a {
color: #4E5969;
}
body.sdtheme-white .sidebar-menu > li:hover > a,
body.sdtheme-white .sidebar-menu > li.active > a {
padding-left: 5px;
margin: 0 10px;
border-radius: 8px;
}
body.sdtheme-white.sidebar-collapse .sidebar-menu > li.active > a {
margin: 5px;
padding-left: 10px;
}
body.sdtheme-white .sidebar-menu > li:hover > a {
color: #323639 !important;
background: #F4F4F5 !important;
}
body.sdtheme-white .sidebar-menu > li:hover > a i {
font-size: 16px;
}
body.sdtheme-white.sidebar-collapse .sidebar-menu li:hover > a {
color: #323639;
background: #F4F4F5;
}
body.sdtheme-white .sidebar-menu > li.active > a {
color: #165DFF !important;
background: #F0F5FF !important;
}
body.sdtheme-white .treeview-menu > li.active > a {
color: #fff;
}
body.sdtheme-white .treeview-menu > li.active > a:hover {
color: #165DFF !important;
}
body.sdtheme-white .treeview-menu > li > a:hover {
color: #323639 !important;
background: #F4F4F5;
margin: 0 10px;
border-radius: 8px;
padding-left: 8px;
}
body.sdtheme-white .treeview-menu > li > a:hover i {
font-size: 16px;
}
body.sdtheme-white .treeview-menu > li.active > a {
color: #165DFF;
background: #F0F5FF;
margin: 0 10px;
border-radius: 8px;
padding-left: 8px;
}
body.sdtheme-white .treeview-menu > li.active > a {
color: #165DFF;
background: #F0F5FF;
margin: 0 10px;
border-radius: 8px;
padding-left: 8px;
}
body.sdtheme-white.skin-black-blue .sidebar-menu .treeview-menu .treeview-menu > li > a {
margin: 0 10px;
border-radius: 8px;
padding-left: 20px;
}
body.sdtheme-white.skin-black-blue .sidebar-menu .treeview-menu .treeview-menu > li.active > a {
padding-left: 20px;
}
body.sdtheme-white.skin-black-blue .sidebar-menu .treeview-menu .treeview-menu > li > a:hover {
padding-left: 20px;
}
body.sdtheme-white.skin-black-blue.sidebar-collapse .sidebar-menu .treeview-menu li.active > a {
color: #165DFF !important;
background: #F0F5FF !important;
}
body.sdtheme-white .main-header .navbar .nav > li > a:hover,
body.sdtheme-white .main-header .navbar .nav > li > a:active,
body.sdtheme-white .main-header .navbar .nav > li > a:focus,
body.sdtheme-white .main-header .navbar .nav .open > a,
body.sdtheme-white .main-header .navbar .nav .open > a:hover,
body.sdtheme-white .main-header .navbar .nav .open > a:focus,
body.sdtheme-white .main-header .navbar .nav > .active > a {
color: #165DFF;
background: #F0F5FF;
}
body.sdtheme-white.skin-black-blue .main-header .logo:hover {
background: #fff;
}
@media (max-width: 767px) {
body.sdtheme-white.skin-black-blue .main-header .navbar .sidebar-toggle {
color: #666;
}
body.sdtheme-white.skin-black-blue .main-header .navbar {
background-color: #fff;
}
body.sdtheme-white.skin-black-blue .main-header .navbar {
margin-left: 0px;
}
}
body.sdtheme-white .logo {
font-size: 22px !important;
font-weight: 600 !important;
color: #222;
}
body.sdtheme-white .main-sidebar,
body.sdtheme-white .logo {
width: 200px;
border-color: transparent;
}
body.sdtheme-white .content-wrapper,
body.sdtheme-white .right-side,
body.sdtheme-white .main-footer,
body.sdtheme-white .main-header .navbar {
margin-left: 200px;
border-left: 1px solid #F1F4F6;
}
body.sdtheme-white .user-panel > .info,
body.sdtheme-white .user-panel > .info > a {
color: #222;
}
body.sdtheme-white .sidebar-menu > li > a {
font-weight: 700 !important;
}
body.sdtheme-white .sidebar-form {
border-radius: 6px !important;
overflow: hidden !important;
border-color: #E4E4E4 !important;
background: #fff !important;
}
body.sdtheme-white .sidebar-form input[type="text"],
body.sdtheme-white .sidebar-form .btn {
background: #fff !important;
}
body.sdtheme-white .nav-addtabs > li .close-tab {
top: 50%;
transform: translateY(-50%);
right: 2px !important;
margin-top: 0 !important;
}
body.sdtheme-white .nav-addtabs > li .close-tab:hover {
color: #165DFF !important;
}
body.sdtheme-white .nav-addtabs > li > a {
padding: 0 20px !important;
}
body.sdtheme-white .nav-addtabs > li.active > a {
color: #165DFF;
background: #F0F5FF;
}
body.sdtheme-white .nav-addtabs > li:hover > a {
color: #165DFF;
}
body.sdtheme-white .sidebar-menu li > a > .pull-right-container {
margin-top: -10px;
}
body.sdtheme-white.darktheme.skin-black-blue .main-header .logo:hover {
background: #000;
color: #fff;
}
body.sdtheme-white.darktheme .treeview-menu > li.active > a {
color: #165DFF !important;
background: #F0F5FF;
}
body.sdtheme-white.darktheme.sidebar-collapse .sidebar-menu li:hover > a,
body.sdtheme-white.darktheme body.darktheme.sidebar-collapse .sidebar-menu li.active > a {
color: #165DFF !important;
background: #F0F5FF;
}
@media (max-width: 767px) {
body.sdtheme-white.darktheme.skin-black-blue .main-header .navbar {
background-color: #0c0c0c;
}
}

11
addons/sdtheme/info.ini Normal file
View File

@ -0,0 +1,11 @@
name = sdtheme
title = 简约后台主题插件
intro = 后台页面新的主题风格,简约现代化风格主题
author = 风雨
website = sdkj.cc
version = 1.0.0
state = 1
url = /addons/sdtheme
first_menu = sdtheme
license = regular
licenseto = 16018

View File

@ -25,6 +25,8 @@ class NewsCate extends Backend
$this->view->assign("homeList", $this->model->getHomeList());
$this->view->assign("statusList", $this->model->getStatusList());
$this->view->assign("hotList", $this->model->getHotList());
$this->view->assign("isnewsList", $this->model->getIsnewsList());
}

View File

@ -27,8 +27,24 @@ class NewsCate extends Model
protected $append = [
'home_text',
'status_text',
'isnews_text',
'hot_text'
];
public function getIsnewsList()
{
return ['1' => __('是'), '2' => __('否')];
}
public function getIsnewsTextAttr($value, $data)
{
$value = $value ?: ($data['isnews'] ?? '');
$list = $this->getIsnewsList();
return $list[$value] ?? '';
}
protected static function init()

View File

@ -62,6 +62,22 @@
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('是否新闻分类')}:</label>
<div class="col-xs-12 col-sm-8">
<select id="c-isnews" data-rule="required" class="form-control selectpicker" name="row[isnews]">
{foreach name="isnewsList" item="vo"}
<option value="{$key}" {in name="key" value="1"}selected{/in}>{$vo}</option>
{/foreach}
</select>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Weigh')}:</label>
<div class="col-xs-12 col-sm-8">

View File

@ -62,6 +62,23 @@
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('是否新闻分类')}:</label>
<div class="col-xs-12 col-sm-8">
<select id="c-isnews" data-rule="required" class="form-control selectpicker" name="row[isnews]">
{foreach name="isnewsList" item="vo"}
<option value="{$key}" {in name="key" value="$row.isnews"}selected{/in}>{$vo}</option>
{/foreach}
</select>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Weigh')}:</label>
<div class="col-xs-12 col-sm-8">

View File

@ -40,6 +40,7 @@ class News extends Base
* @ApiParams(name = "cate_id", type = "int",required=false,description = "新闻类目id")
* @ApiParams(name = "hot", type = "string",required=false,description = "热门:0=否,1=是")
* @ApiParams(name = "fine", type = "string",required=false,description = "精选:0=否,1=是")
* @ApiParams(name = "isnews", type = "string",required=false,description = "是否新闻分类:2=否,1=是")
* @ApiReturn({
*
*})
@ -58,7 +59,7 @@ class News extends Base
$params["flag"] = $this->request->param('flag/s', ''); //搜索关键字
$params["hot"] = $this->request->param('hot/s', ''); //搜索关键字
$params["fine"] = $this->request->param('fine/s', ''); //搜索关键字
$params["isnews"] = $this->request->param('isnews/s', ''); //搜索关键字
// $type = $this->request->get('type/s', ''); //筛选学员和教练单
@ -86,6 +87,7 @@ class News extends Base
* @ApiParams(name = "hot", type = "string",required=false,description = "热门:0=否,1=是")
* @ApiParams(name = "home", type = "string",required=false,description = "首页:0=否,1=是")
* @ApiParams(name = "flag", type = "string",required=false,description = "分类标识")
* @ApiParams(name = "isnews", type = "string",required=false,description = "是否新闻分类:2=否,1=是")
* @ApiReturn({
*
*})
@ -102,6 +104,7 @@ class News extends Base
$params["flag"] = $this->request->param('flag/s', ''); //搜索关键字
$params["hot"] = $this->request->param('hot/s', ''); //搜索关键字
$params["home"] = $this->request->param('home/s', ''); //搜索关键字
$params["isnews"] = $this->request->param('isnews/s', ''); //搜索关键字
try{
//当前申请状态

View File

@ -88,10 +88,10 @@ class Encyclopedia extends BaseModel
if (!empty($value)) return cdnurl($value, true);
}
public function getFileAttr($value, $data)
{
if (!empty($value)) return cdnurl($value, true);
}
// public function getFileAttr($value, $data)
// {
// if (!empty($value)) return cdnurl($value, true);
// }
public function attachment()
@ -229,7 +229,7 @@ class Encyclopedia extends BaseModel
$row->hidden($except_field);
}
$row->attachment;
if (!empty($row->file)) $row->file = cdnurl($row->file, true);
$row = $row->toArray();
$row['prev'] = $prev;

View File

@ -88,10 +88,10 @@ class Information extends BaseModel
if (!empty($value)) return cdnurl($value, true);
}
public function getFileAttr($value, $data)
{
if (!empty($value)) return cdnurl($value, true);
}
// public function getFileAttr($value, $data)
// {
// if (!empty($value)) return cdnurl($value, true);
// }
public function attachment()
@ -232,6 +232,8 @@ class Information extends BaseModel
$row->attachment;
if (!empty($row->file)) $row->file = cdnurl($row->file, true);
$row = $row->toArray();
$row['prev'] = $prev;

View File

@ -39,10 +39,10 @@ class News extends BaseModel
}
public function getFileAttr($value, $data)
{
if (!empty($value)) return cdnurl($value, true);
}
// public function getFileAttr($value, $data)
// {
// if (!empty($value)) return cdnurl($value, true);
// }
@ -123,7 +123,7 @@ class News extends BaseModel
$tableFields = (new static)->getTableFields();
foreach ($tableFields as $fields)
{
if(in_array($fields, ['cate_id',"recommend","hot","fine"]))continue;
if(in_array($fields, ['cate_id',"recommend","hot","fine","isnews"]))continue;
// if (isset($whereData[$fields]) && $whereData[$fields]) $model = $model->where("{$alisa}{$fields}", '=', $whereData[$fields]);
if (isset($whereData[$fields]) && $whereData[$fields]){
@ -138,6 +138,17 @@ class News extends BaseModel
}
if (isset($whereData['isnews']) && $whereData['isnews']!=="" && $whereData['isnews']!==null){
$ids = NewsCate::where("isnews",$whereData['isnews'])->column("id");
if($ids){
$model = $model->where("{$alisa}cate_id", 'in', $ids );
}else{
$model = $model->where("{$alisa}cate_id",'=',-1);
}
}
if (isset($whereData['hot']) && $whereData['hot']!=="" && $whereData['hot']!==null){
$model = $model->where("{$alisa}hot", 'in', $whereData['hot'] );
}
@ -231,6 +242,8 @@ class News extends BaseModel
$row->hidden($except_field);
}
$row->attachment;
$row->cate;
if (!empty($row->file)) $row->file = cdnurl($row->file, true);
$row = $row->toArray();
$row['prev'] = $prev;

View File

@ -300,7 +300,7 @@ return [
//插件纯净模式插件启用后是否删除插件目录的application、public和assets文件夹
'addon_pure_mode' => true,
//允许跨域的域名,多个以,分隔
'cors_request_domain' => 'localhost,127.0.0.1,democs.0rui.cn,www.0rui.cn,0rui.cn,cdn.web.0rui.cn',
'cors_request_domain' => '192.168.10.221:3000,192.168.10.221,localhost,127.0.0.1,democs.0rui.cn,www.0rui.cn,0rui.cn,cdn.web.0rui.cn',
//版本号
'version' => '1.6.0.20250331',
//API接口地址

View File

@ -16,6 +16,7 @@ return [
'view_filter' => [
'clicaptcha',
'darktheme',
'sdtheme',
'third',
],
'captcha_mode' => [

View File

@ -18,7 +18,7 @@ return [
/**
* 最大可上传大小
*/
'maxsize' => '10mb',
'maxsize' => '30mb',
/**
* 可上传的文件类型
* 如配置允许 pdf,ppt,docx,svg 等可能含有脚本的文件时,请先从服务器配置此类文件直接下载而不是预览

2746
data.sql

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,938 @@
//grunt watch 实时编译
.sdtheme-body {
#firstnav {
box-shadow: none !important;
}
//按钮
button {
border-radius: 6px;
outline: none !important;
}
.btn {
border-radius: 6px;
padding: 6px 20px !important;
}
.btn-primary {
background: #165DFF;
border-color: #165DFF;
color: #fff;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus {
background: rgba(22, 93, 255, 0.5);
border-color: rgba(22, 93, 255, 0.5);
color: #fff;
}
.form-control {
border-radius: 6px;
}
.btn-success.btn-primary{
color: #fff;
background-color: #18bc9c;
border-color: #18bc9c;
:hover,:focus,:focus {
color: #fff;
background-color: #128f76;
border-color: #11866f;
}
}
.btn-success:hover,
.btn-success:focus,
.btn-success.focus {
//background: rgba(22, 93, 255, 0.5) !important;
//border-color: rgba(22, 93, 255, 0.5) !important;
//color: #fff !important;
}
.btn-danger,
.btn-more,
.btn-recyclebin {
//background: #F6F8FB !important;
//color: #666 !important;
//border-color: #F6F8FB !important;
&:hover,
&:active,
&.focus {
//background: rgba(246, 248, 251, 0.5) !important;
//border-color: rgba(246, 248, 251, 0.5) !important;
//color: #165DFF !important;
}
}
.dropdown-menu.text-left a,
.dropdown-menu.text-left li {
border-radius: 0;
}
.toolbar .dropdown {
margin-left: 10px;
}
//分页
.pagination>li>a {
margin-left: 4px !important;
border-color: transparent;
background: #fff;
border-radius: 6px !important;
}
.pagination {
.jumpto {
input {
margin-right: 0px !important;
}
.btn {
background: transparent;
border-color: transparent;
color: #666;
box-shadow: none !important;
padding: 7px 10px !important;
&:focus,
&:active {
color: #165DFF !important;
}
}
}
}
.pagination>.active>a,
.pagination>.active>span,
.pagination>.active>a:hover,
.pagination>.active>span:hover,
.pagination>.active>a:focus,
.pagination>.active>span:focus {
background: transparent;
border-color: #165DFF;
color: #0054FE;
border-radius: 6px !important;
}
.pagination-detail {
.dropdown-toggle {
background: transparent;
padding: 3px 15px;
}
}
//tab栏
.panel-heading {
background: #fff;
border-radius: 6px !important;
border: none !important;
.nav-tabs>li>a {
background: #fff;
min-width: 64px !important;
text-align: center !important;
border: none !important;
color: #081615;
font-weight: 700 !important;
margin-right: 30px !important;
}
.nav-tabs>li.active>a {
position: relative;
&::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 4px;
background: #165DFF;
border-radius: 4px;
}
}
}
//菜单模式2的tab栏
#secondnav {
.nav-tabs {
box-shadow: 0px 4px 10px 0px rgba(78, 89, 105, 0.06);
background: transparent;
>li {
position: relative;
margin: 0 !important;
padding: 0 15px !important;
border: none !important;
border-width: 0 !important;
border-radius: 0 !important;
&::before {
content: '';
position: absolute;
top: 50%;
transform: translateY(-50%);
left: 0;
width: 1px;
height: 20px;
background: #D8D8D8;
}
&:first-child::before,
&:nth-child(2)::before,
&.active::before,
&.active+li::before {
display: none;
}
>a {
display: flex;
align-items: center;
justify-content: center;
}
&.active {
background: #F0F5FF;
>a {
color: #165DFF;
}
}
}
}
}
//表格以及表格上的操作栏
.pull-left {
&:has(#toolbar) {
margin-bottom: 0;
}
#toolbar {
display: flex;
align-items: center;
flex-wrap: wrap;
>* {
margin-bottom: 10px;
}
>a+a,
>a+div,
>div+a,
>a+button,
>button+a,
>div+button,
>button+div {
margin-left: 10px !important;
}
}
}
.pull-right {
&.search {
margin-right: 20px !important;
}
&.columns {
margin: 10px 0 !important;
* {
border-color: transparent !important;
border-radius: 4px !important;
}
.btn-group,
.btn {
margin-left: 1px !important;
}
.caret {
border-width: 0 !important;
}
}
&.columns-right {
margin: 10px 0 !important;
margin-left: 1px !important;
.btn {
border-color: transparent !important;
border-radius: 4px !important;
}
}
}
.input-group {
.input-group-btn {
.form-control {
border-top-left-radius: 6px;
border-bottom-left-radius: 6px;
}
}
}
.bootstrap-table {
.table thead>tr>th {
border-color: #F6F8FB;
background: #F6F8FB;
}
//斑马纹去掉
.table-striped>tbody>tr:nth-of-type(odd) {
background: #fff;
}
tbody tr td {
border-left-width: 0 !important;
border-right-width: 0 !important;
}
.table-hover>tbody>tr:hover {
background: rgba(22, 93, 255, 0.05) !important;
}
}
//tag标签
.searchit {
.label {
display: inline-block;
padding: 4px 10px;
border-radius: 4px;
font-size: 13px;
line-height: 15px;
}
}
//弹窗 弹出框
.layui-layer-dialog,
.layui-layer-iframe {
.layui-layer-title {
background: #F6F8FB !important;
color: #333 !important;
font-weight: 700 !important;
font-size: 16px !important;
}
.layui-layer-setwin {
.layui-layer-ico {
&::after {
color: #333 !important;
}
}
}
.layui-layer-btn {
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1) !important;
background: transparent;
.layui-layer-btn0 {
background: #165DFF !important;
color: #fff !important;
border-color: #165DFF !important;
}
.layui-layer-btn1 {
background: #F6F8FB !important;
color: #666 !important;
border-color: #E4E4E4 !important;
}
}
}
.sdtheme-hidden-userinfo .user-panel {
display: none !important;
}
//手机端
@media (max-width: 767px) {
.content-wrapper,
.right-side,
.main-footer {
margin-left: 0px !important;
}
}
//删除图标修改
.layui-layer-ico3 {
display: inline-flex !important;
align-items: center;
justify-content: center;
border-radius: 50%;
color: #fff !important;
font: normal normal normal 12px/1 FontAwesome !important;
background: none !important;
background: #165DFF !important;
&::before {
font-size: 18px !important;
content: "\f12a" !important;
}
}
// 成功图标修改
.layui-layer-ico1 {
display: inline-flex !important;
align-items: center;
justify-content: center;
border-radius: 50%;
color: #fff !important;
font: normal normal normal 12px/1 FontAwesome !important;
background: none !important;
background: #165DFF !important;
&::before {
font-size: 18px !important;
content: "\f00c" !important;
}
}
// 感叹号图标修改
.layui-layer-ico0 {
display: inline-flex !important;
align-items: center;
justify-content: center;
border-radius: 50%;
color: #fff !important;
font: normal normal normal 12px/1 FontAwesome !important;
background: none !important;
background: #165DFF !important;
&::before {
font-size: 18px !important;
content: "\f058" !important;
}
}
// 固定列隐藏右侧拖拽按钮(未实现)
//.fixed-columns .fixed-table-body .btn-dragsort, .fixed-columns-right .fixed-table-body .btn-dragsort {
// display: none;
//}
// 表单按钮放到最右侧
.bootstrap-table .form-commonsearch .row>.form-group:last-child {
float: right;
}
// 表格操作栏按钮变小
.btn.btn-xs {
padding: 1px 5px !important;
}
// 表格头部状态栏边框
.panel-intro {
>.panel-heading .nav-tabs {
padding-bottom: 10px;
}
.panel-heading {
border-bottom: 12px solid #F1F4F6 !important;
margin-bottom: 10px;
border-radius: 6px 6px 0px 0px !important;
padding-top: 10px;
}
}
// 删除弹窗
.layui-layer-fast.layui-layer-dialog {
border-radius: 6px;
box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
overflow: hidden;
min-width: 330px;
.layui-layer-content .layui-layer-ico {
position: absolute;
top: 40px;
left: 37px;
width: 25px;
height: 25px;
}
.layui-layer-btn,
.sdtheme-body .layui-layer-iframe .layui-layer-btn {
box-shadow: none !important;
display: flex;
flex-direction: row-reverse;
position: relative;
bottom: 10px;
}
.layui-layer-padding {
padding: 40px 5px 30px 75px;
text-align: left;
}
.layui-layer-btn0 {
position: relative;
padding: 15px 30px;
text-align: center;
line-height: 5px;
border-radius: 8px;
button {
border-radius: 8px;
}
}
.layui-layer-btn1 {
position: relative;
padding: 15px 30px;
text-align: center;
line-height: 5px;
border-radius: 8px;
button {
border-radius: 8px;
}
}
}
.text-success {
color: #165DFF;
}
// 表格抖动
.panel-body {
//margin-left: 10px !important;
#toolbar {
display: flex;
align-items: center;
>.btn {
margin-left: 10px;
}
.btn-group {
margin-left: 10px;
}
}
}
@media (max-width: 767px) {
.main-header .navbar {
margin: 0;
}
}
.label-primary {
background-color: rgba(0, 0, 0, 0.6);
}
.label-success {
color: #18BC9C;
background-color: rgba(24, 188, 156, 0.1);
}
.label-warning {
color: #f39c12;
background-color: rgba(243, 156, 18, 0.1)
}
.label-danger {
color: #f75444;
background-color: rgba(247, 84, 68, 0.1)
}
form .form-group .input-group-addon.no-border.no-padding {
position: relative;
left: 3px;
}
.layui-layer-btn.layui-layer-footer {
border-top: 1px solid #F6F8FB;
}
.panel-intro>.panel-heading .nav-tabs>li>a:hover {
color: #323638;
background-color: #F4F4F5;
border-radius: 6px;
}
.panel-intro>.panel-heading .nav-tabs>li.active>a {
color: #165DFF;
}
// 夜间模式还原部分css
&.darktheme {
.sidebar a,
.sidebar-menu li.treeview.treeview-open>a {
color: #fff;
background: #070707;
}
.panel-heading {
.nav-tabs>li>a {
color: #fff !important;
background: #404040 !important;
}
.nav-tabs>li.active>a {
position: relative;
&::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 4px;
background: #165DFF;
border-radius: 4px;
}
}
}
.btn-default {
color: #fff;
}
.bootstrap-table {
.table thead>tr>th {
border-color: rgb(38, 38, 38);
background: #262626;
}
//斑马纹去掉
.table-striped>tbody>tr:nth-of-type(odd) {
background: #404040;
}
tbody tr td {
border-left-width: 0 !important;
border-right-width: 0 !important;
}
.table-hover>tbody>tr:hover {
background: rgba(38, 38, 38, 0.05) !important;
}
}
.form-commonsearch>div {
background: #262626 !important;
}
.panel-intro .panel-heading {
border-bottom: 12px solid #262626 !important;
}
.panel {
background-color: #333333 !important;
}
.panel-heading {
background: #3A3A3A;
}
}
}
// 白色主题
body.sdtheme-white {
.wrapper,
.main-header {
background: #fff;
}
.main-sidebar,
.main-header .logo {
color: #222;
background: #fff;
border-color: transparent !important;
&:hover {
color: #222;
border-color: transparent !important;
}
}
.sidebar-collapse {
ul.treeview-menu {
background: #F4F4F5!important;
}
}
.sidebar-menu li.treeview.active>a,
.sidebar-menu li.treeview.treeview-open>a,
.sidebar-menu>li>.treeview-menu {
background: #fff;
border-left-color: #fff;
//margin-top: 5px;
//background: #F8F8F8;
}
&.sidebar-collapse .sidebar-menu>li>.treeview-menu{
//margin-top: 0px;
margin-left: 5px !important;
left: 45px !important;
}
.treeview-menu>li>a,
.sidebar a {
color: #4E5969;
}
// 左侧菜单栏 hover active
.sidebar-menu>li:hover>a,
.sidebar-menu>li.active>a {
padding-left: 5px;
margin: 0 10px;
border-radius: 8px;
}
&.sidebar-collapse .sidebar-menu>li.active>a{
margin: 5px;
padding-left: 10px;
}
.sidebar-menu>li:hover>a {
color: #323639 !important;
background: #F4F4F5 !important;
i {
font-size: 16px;
}
}
&.sidebar-collapse .sidebar-menu li:hover > a {
color: #323639;
background: #F4F4F5 ;
}
.sidebar-menu>li.active>a {
color: #165DFF !important;
background: #F0F5FF !important;
}
.treeview-menu>li.active>a {
&:hover {
color: #165DFF !important;
}
color: #fff;
}
.treeview-menu>li>a:hover {
color: #323639 !important;
background: #F4F4F5;
margin: 0 10px;
border-radius: 8px;
padding-left: 8px;
i {
font-size: 16px;
}
}
.treeview-menu>li.active>a {
color: #165DFF;
background: #F0F5FF;
margin: 0 10px;
border-radius: 8px;
padding-left: 8px;
}
.treeview-menu>li.active>a {
color: #165DFF;
background: #F0F5FF;
margin: 0 10px;
border-radius: 8px;
padding-left: 8px;
}
&.skin-black-blue .sidebar-menu .treeview-menu .treeview-menu > li > a {
margin: 0 10px;
border-radius: 8px;
padding-left: 20px;
}
&.skin-black-blue .sidebar-menu .treeview-menu .treeview-menu > li.active > a {
padding-left: 20px;
}
&.skin-black-blue .sidebar-menu .treeview-menu .treeview-menu > li > a:hover {
padding-left: 20px;
}
&.skin-black-blue.sidebar-collapse .sidebar-menu .treeview-menu li.active > a {
color: #165DFF !important;
background: #F0F5FF !important;
}
.main-header .navbar .nav>li>a:hover,
.main-header .navbar .nav>li>a:active,
.main-header .navbar .nav>li>a:focus,
.main-header .navbar .nav .open>a,
.main-header .navbar .nav .open>a:hover,
.main-header .navbar .nav .open>a:focus,
.main-header .navbar .nav>.active>a {
color: #165DFF;
background: #F0F5FF;
}
&.skin-black-blue .main-header .logo:hover {
background: #fff;
}
@media (max-width: 767px) {
&.skin-black-blue .main-header .navbar .sidebar-toggle {
color: #666;
}
&.skin-black-blue .main-header .navbar {
background-color: #fff;
}
&.skin-black-blue .main-header .navbar {
margin-left: 0px;
}
}
// 侧边栏和顶部
.logo {
font-size: 22px !important;
font-weight: 600 !important;
color: #222;
}
.main-sidebar,
.logo {
width: 200px;
border-color: transparent;
}
.content-wrapper,
.right-side,
.main-footer,
.main-header .navbar {
//margin-left: 200px;
margin-left: 200px;
// box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
border-left: 1px solid #F1F4F6;
}
.user-panel>.info,
.user-panel>.info>a {
color: #222;
}
.sidebar-menu>li>a {
font-weight: 700 !important;
}
.sidebar-form {
border-radius: 6px !important;
overflow: hidden !important;
border-color: #E4E4E4 !important;
background: #fff !important;
}
.sidebar-form input[type="text"],
.sidebar-form .btn {
background: #fff !important;
}
.nav-addtabs>li .close-tab {
top: 50%;
transform: translateY(-50%);
right: 2px !important;
margin-top: 0 !important;
&:hover {
color: #165DFF !important;
}
}
.nav-addtabs {
>li {
>a {
padding: 0 20px !important;
}
&.active {
>a {
color: #165DFF;
background: #F0F5FF;
}
}
&:hover {
>a {
color: #165DFF;
}
}
}
}
.sidebar-menu li > a > .pull-right-container {
margin-top: -10px;
}
// 夜间模式还原部分css
&.darktheme {
&.skin-black-blue .main-header .logo:hover {
background: #000;
color: #fff;
}
.treeview-menu>li.active>a {
&:hover {
//color: #323639 !important;
}
color: #165DFF !important;
background: #F0F5FF;
}
&.sidebar-collapse .sidebar-menu li:hover > a, body.darktheme.sidebar-collapse .sidebar-menu li.active > a {
color: #165DFF !important;
background: #F0F5FF;
}
@media (max-width: 767px) {
&.skin-black-blue .main-header .navbar {
background-color: #0c0c0c;
}
}
}
}

View File

@ -632,6 +632,24 @@ require(['form'], function (Form) {
}
});
/*require.config({
paths: {
},
shim: {
}
});*/
require([], function (undefined) {
// 后台切换主题,先直接刷新
if (Config.modulename == 'admin' && Config.controllername == 'index' && Config.actionname == 'index') {
$('.skin-list .clearfix.full-opacity-hover').on('click', function () {
setTimeout(() => {
location.reload();
}, 100)
})
}
});
if (Config.modulename === 'index' && Config.controllername === 'user' && ['login', 'register'].indexOf(Config.actionname) > -1 && $("#register-form,#login-form").length > 0 && $(".social-login").length == 0) {
$("#register-form,#login-form").append(Config.third.loginhtml || '');
}

View File

@ -34,6 +34,8 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
{field: 'home', title: __('Home'), searchList: {"0":__('Home 0'),"1":__('Home 1')}, formatter: Table.api.formatter.normal},
{field: 'status', title: __('Status'), searchList: {"1":__('Status 1'),"2":__('Status 2')}, formatter: Table.api.formatter.status},
{field: 'hot', title: __('Hot'), searchList: {"0":__('Hot 0'),"1":__('Hot 1')}, formatter: Table.api.formatter.normal},
{field: 'isnews', title: __('是否新闻分类'), searchList: {"1":__('是'),"2":__('否')}, formatter: Table.api.formatter.normal},
{field: 'weigh', title: __('Weigh'), operate: false},
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
{field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},