Update: (步骤备份)更新 Pear Admin 框架版本与 Pear Admin Layui 一致,尝试重写页面
This commit is contained in:
@@ -84,5 +84,8 @@ def login_post():
|
||||
@login_required
|
||||
def logout():
|
||||
logout_user()
|
||||
session.pop('permissions')
|
||||
|
||||
if 'permissions' in session:
|
||||
session.pop('permissions')
|
||||
|
||||
return success_api(msg="注销成功")
|
||||
|
||||
@@ -43,6 +43,8 @@ def configs():
|
||||
"keepState": True,
|
||||
# 是否开启 Tab 记忆
|
||||
"session": True,
|
||||
# 预加载
|
||||
"preload": False,
|
||||
# 最大可打开的选项卡数量
|
||||
"max": 30,
|
||||
"index": {
|
||||
@@ -117,11 +119,13 @@ def menu():
|
||||
# 当前节点添加子节点
|
||||
_dict['children'] = copy.deepcopy(menu_dict[_dict['id']])
|
||||
_dict['children'].sort(key=lambda item: item['sort'])
|
||||
# 为每个子菜单添加 "openType": "_component"
|
||||
for child in _dict['children']:
|
||||
child['openType'] = '_component'
|
||||
# 删除子节点
|
||||
del menu_dict[_dict['id']]
|
||||
|
||||
if _dict['parent_id'] not in menu_dict:
|
||||
|
||||
menu_dict[_dict['parent_id']] = [_dict]
|
||||
else:
|
||||
menu_dict[_dict['parent_id']].append(_dict)
|
||||
@@ -138,6 +142,9 @@ def menu():
|
||||
# 当前节点添加子节点
|
||||
_dict['children'] = copy.deepcopy(menu_dict[_dict['id']])
|
||||
_dict['children'].sort(key=lambda item: item['sort'])
|
||||
# 为每个子菜单添加 "openType": "_component"
|
||||
for child in _dict['children']:
|
||||
child['openType'] = '_component'
|
||||
# 删除子节点
|
||||
del menu_dict[_dict['id']]
|
||||
|
||||
@@ -151,4 +158,4 @@ def menu():
|
||||
@bp.get('/welcome')
|
||||
@login_required
|
||||
def welcome():
|
||||
return render_template('system/console/console.html')
|
||||
return render_template('system/analysis/main.html')
|
||||
|
||||
@@ -57,9 +57,7 @@ def data():
|
||||
} for user, dept in query.items],
|
||||
count=query.total)
|
||||
|
||||
# 用户增加
|
||||
|
||||
|
||||
# 用户增加
|
||||
@bp.get('/add')
|
||||
@authorize("system:user:add", log=True)
|
||||
def add():
|
||||
@@ -75,6 +73,7 @@ def save():
|
||||
username = str_escape(req_json.get('username'))
|
||||
real_name = str_escape(req_json.get('realName'))
|
||||
password = str_escape(req_json.get('password'))
|
||||
dept_id = str_escape(req_json.get('deptId'))
|
||||
role_ids = a.split(',')
|
||||
|
||||
if not username or not real_name or not password:
|
||||
@@ -82,12 +81,14 @@ def save():
|
||||
|
||||
if bool(User.query.filter_by(username=username).count()):
|
||||
return fail_api(msg="用户已经存在")
|
||||
user = User(username=username, realname=real_name,enable=1)
|
||||
|
||||
user = User(username=username, realname=real_name, enable=1, dept_id=dept_id)
|
||||
user.set_password(password)
|
||||
db.session.add(user)
|
||||
roles = Role.query.filter(Role.id.in_(role_ids)).all()
|
||||
for r in roles:
|
||||
user.role.append(r)
|
||||
|
||||
db.session.commit()
|
||||
return success_api(msg="增加成功")
|
||||
|
||||
@@ -196,7 +197,7 @@ def edit_password_put():
|
||||
if res_json.get("newPassword") == '':
|
||||
return fail_api("新密码不得为空")
|
||||
if res_json.get("newPassword") != res_json.get("confirmPassword"):
|
||||
return fail_api("俩次密码不一样")
|
||||
return fail_api("两次密码不一样")
|
||||
user = current_user
|
||||
is_right = user.validate_password(res_json.get("oldPassword"))
|
||||
if not is_right:
|
||||
|
||||
+210
-120
@@ -4,16 +4,16 @@ body,
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.pear-admin .layui-header,
|
||||
.pear-admin .layui-body,
|
||||
.pear-admin .layui-logo,
|
||||
.pear-admin .layui-side,
|
||||
.pear-admin .layui-header,
|
||||
.pear-admin .layui-header .layui-layout-left {
|
||||
transition: all .3s;
|
||||
}
|
||||
|
||||
.pear-admin.banner-layout .layui-side {
|
||||
top: 60px!important;
|
||||
top: 60px !important;
|
||||
}
|
||||
|
||||
.pear-admin.banner-layout .layui-side .layui-logo {
|
||||
@@ -25,38 +25,15 @@ body,
|
||||
}
|
||||
|
||||
.pear-admin.banner-layout .layui-side .layui-side-scroll {
|
||||
height: 100%!important;
|
||||
height: 100% !important;
|
||||
}
|
||||
|
||||
.pear-admin.banner-layout .layui-side .layui-side-scroll {
|
||||
height: 100%!important;
|
||||
height: 100% !important;
|
||||
}
|
||||
|
||||
.pear-admin .layui-header.dark-theme .layui-layout-control .layui-this *{
|
||||
background-color: rgba(0,0,0,.1)!important;
|
||||
}
|
||||
|
||||
.pear-admin.banner-layout .layui-header {
|
||||
z-index: 99999;
|
||||
width: 100%;
|
||||
left: 0px;
|
||||
}
|
||||
|
||||
.pear-admin.banner-layout .layui-header .layui-layout-left {
|
||||
left: 230px;
|
||||
}
|
||||
|
||||
.pear-admin.banner-layout .layui-header .layui-logo .title {
|
||||
top: 2px;
|
||||
}
|
||||
|
||||
.pear-admin.banner-layout .layui-header .layui-layout-control {
|
||||
display: inline-block;
|
||||
left: 370px;
|
||||
}
|
||||
|
||||
.pear-admin.banner-layout .layui-header.dark-theme {
|
||||
box-shadow: 2px 0 6px rgb(0 21 41 / 35%);
|
||||
.pear-admin .layui-header.dark-theme .layui-layout-control .layui-this * {
|
||||
background-color: rgba(0, 0, 0, .1) !important;
|
||||
}
|
||||
|
||||
.pear-admin .layui-header .layui-logo {
|
||||
@@ -79,7 +56,6 @@ body,
|
||||
left: 230px;
|
||||
width: calc(100% - 230px);
|
||||
background-color: white;
|
||||
border-bottom: 1px solid whitesmoke;
|
||||
}
|
||||
|
||||
.pear-admin .layui-layout-control {
|
||||
@@ -92,12 +68,13 @@ body,
|
||||
}
|
||||
|
||||
.pear-admin .layui-logo {
|
||||
width: 230px;
|
||||
height: 59px;
|
||||
line-height: 59px;
|
||||
height: 60px;
|
||||
line-height: 60px;
|
||||
border-bottom: 1px solid rgba(0, 0, 0, .12);
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
background-color: #28333E;
|
||||
border-bottom: 1px solid rgba(0, 0, 0, .12);
|
||||
width: 230px;
|
||||
}
|
||||
|
||||
.pear-admin .layui-logo img {
|
||||
@@ -108,7 +85,7 @@ body,
|
||||
.pear-admin .layui-logo .title {
|
||||
font-size: 21px;
|
||||
font-weight: 550;
|
||||
color: #5FB878;
|
||||
color: var(--global-primary-color);
|
||||
position: relative;
|
||||
top: 5px;
|
||||
margin-left: 5px;
|
||||
@@ -143,9 +120,16 @@ body,
|
||||
}
|
||||
|
||||
.pear-admin .layui-body {
|
||||
left: 230px;
|
||||
bottom: 0px;
|
||||
padding-bottom: 0px;
|
||||
background-color: whitesmoke;
|
||||
height: calc(100% - 60px);
|
||||
overflow-y: auto;
|
||||
left: 230px;
|
||||
}
|
||||
|
||||
.pear-admin .layui-body>div {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.pear-admin .layui-layout-left {
|
||||
@@ -154,8 +138,8 @@ body,
|
||||
|
||||
.pear-admin .layui-footer {
|
||||
position: absolute;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
left: 230px;
|
||||
background: #fff;
|
||||
border-top: 1px solid #F2F2F2;
|
||||
@@ -172,6 +156,64 @@ body,
|
||||
display: none;
|
||||
}
|
||||
|
||||
/** 通栏布局 */
|
||||
|
||||
.pear-admin.banner-layout .layui-header {
|
||||
left: 0px;
|
||||
z-index: 99999;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.pear-admin.banner-layout .layui-header.light-theme {
|
||||
border-bottom: 1px solid whitesmoke;
|
||||
}
|
||||
|
||||
.pear-admin.banner-layout .layui-header.auto-theme,
|
||||
.pear-admin.banner-layout .layui-header.dark-theme {
|
||||
box-shadow: 0 1px 4px rgba(0, 0, 0, .1);
|
||||
}
|
||||
|
||||
.pear-admin.banner-layout .layui-header .layui-layout-left {
|
||||
left: 230px;
|
||||
}
|
||||
|
||||
.pear-admin.banner-layout .layui-header .layui-logo .title {
|
||||
top: 2px;
|
||||
}
|
||||
|
||||
.pear-admin.banner-layout .layui-header .layui-layout-control {
|
||||
display: inline-block;
|
||||
left: 370px;
|
||||
}
|
||||
|
||||
/** 头部主题 */
|
||||
.pear-admin .auto-theme {
|
||||
background-color: var(--global-primary-color);
|
||||
color: white;
|
||||
}
|
||||
|
||||
.pear-admin .auto-theme .layui-logo {
|
||||
background-color: var(--global-primary-color);
|
||||
border: none;
|
||||
}
|
||||
|
||||
.pear-admin .auto-theme .layui-logo .title {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.pear-admin .auto-theme .layui-nav * {
|
||||
color: white !important;
|
||||
}
|
||||
|
||||
.pear-admin .auto-theme .layui-nav.pear-nav-control .layui-this * {
|
||||
color: black !important;
|
||||
}
|
||||
|
||||
.pear-admin .auto-theme .layui-nav .layui-nav-child a {
|
||||
color: #5f5f5f !important;
|
||||
color: rgba(0, 0, 0, .8) !important;
|
||||
}
|
||||
|
||||
/** 收缩布局 */
|
||||
.pear-mini .layui-side .layui-logo .title {
|
||||
display: none;
|
||||
@@ -206,18 +248,14 @@ body,
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pear-mini .bottom-nav li {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.pear-mini .layui-side-scroll {
|
||||
height: calc(100% - 60px);
|
||||
}
|
||||
|
||||
.pear-admin .layui-header .layui-nav .layui-nav-bar {
|
||||
top: 0px !important;
|
||||
background-color: var(--global-primary-color);
|
||||
height: 2px !important;
|
||||
background-color: #5FB878;
|
||||
}
|
||||
|
||||
.pear-admin .layui-header .layui-nav .layui-this:after {
|
||||
@@ -229,18 +267,18 @@ body,
|
||||
}
|
||||
|
||||
.pear-collapsed-pe {
|
||||
display: none;
|
||||
width: 50px;
|
||||
position: absolute;
|
||||
z-index: 400000;
|
||||
bottom: 30px;
|
||||
right: 30px;
|
||||
background-color: #5FB878 !important;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
bottom: 30px;
|
||||
z-index: 400000;
|
||||
position: absolute;
|
||||
background-color: var(--global-primary-color) !important;
|
||||
box-shadow: 2px 0 6px rgba(0, 21, 41, .20);
|
||||
text-align: center;
|
||||
border-radius: 50px;
|
||||
box-shadow: 2px 0 6px rgba(0, 21, 41, .35);
|
||||
border-radius: 4px;
|
||||
line-height: 50px;
|
||||
display: none;
|
||||
height: 50px;
|
||||
width: 50px;
|
||||
}
|
||||
|
||||
.pear-collapsed-pe a {
|
||||
@@ -278,10 +316,6 @@ body,
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
.pear-mini .bottom-nav {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pear-mini .layui-side-scroll {
|
||||
height: calc(100% - 62px);
|
||||
}
|
||||
@@ -363,8 +397,8 @@ body,
|
||||
}
|
||||
|
||||
.layer-anim-right {
|
||||
-webkit-animation: am-horizontal-roll_show .6s ease-out;
|
||||
animation: am-horizontal-roll_show .6s ease-out;
|
||||
-webkit-animation: am-horizontal-roll_show .5s ease-out;
|
||||
animation: am-horizontal-roll_show .5s ease-out;
|
||||
|
||||
}
|
||||
|
||||
@@ -390,8 +424,8 @@ body,
|
||||
color: whitesmoke;
|
||||
}
|
||||
|
||||
.dark-theme.layui-header li>a{
|
||||
color: whitesmoke!important;
|
||||
.dark-theme.layui-header li>a {
|
||||
color: whitesmoke !important;
|
||||
}
|
||||
|
||||
.dark-theme.layui-header .layui-logo {
|
||||
@@ -445,9 +479,9 @@ body,
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
padding: 4px;
|
||||
top: -5px;
|
||||
left: -5px;
|
||||
border: #5FB878 2px solid;
|
||||
top: -6px;
|
||||
left: -6px;
|
||||
border: var(--global-primary-color) 2px solid;
|
||||
opacity: 1;
|
||||
border-radius: 4px;
|
||||
}
|
||||
@@ -481,77 +515,133 @@ body,
|
||||
}
|
||||
|
||||
.select-color .select-color-content .select-color-item {
|
||||
background-color: gray;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
border-radius: 3px;
|
||||
float: left;
|
||||
margin-left: 20px;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
color: white;
|
||||
font-size: 18px;
|
||||
text-align: center;
|
||||
margin-left: 24px;
|
||||
border-radius: 6px;
|
||||
background-color: gray;
|
||||
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .15);
|
||||
line-height: 30px;
|
||||
text-align: center;
|
||||
line-height: 24px;
|
||||
font-size: 12px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.message .layui-tab-title li:not(:last-child) {
|
||||
border-right: 1px solid #eee;
|
||||
}
|
||||
|
||||
/* 搜索面板 */
|
||||
.menu-search-content .layui-input {
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
.menu-search-content {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.menu-search-input-wrapper {
|
||||
/** 首屏加载 */
|
||||
.loader-wrapper {
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
padding: 15px 15px;
|
||||
height: 100%;
|
||||
background-color: whitesmoke;
|
||||
z-index: 9999999;
|
||||
}
|
||||
|
||||
.menu-search-no-data {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
height: 122px;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.menu-search-list {
|
||||
width: 100%;
|
||||
padding: 5px 15px;
|
||||
}
|
||||
|
||||
.menu-search-list li {
|
||||
position: relative;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
flex-wrap: nowrap;
|
||||
.loader {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
margin-bottom: 8px;
|
||||
padding: 0px 10px;
|
||||
color: currentColor;
|
||||
font-size: 14px;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0 1px 3px #d4d9e1;
|
||||
cursor: pointer;
|
||||
background-color: #fff;
|
||||
margin: 30px auto 40px;
|
||||
margin-top: 20%;
|
||||
position: relative;
|
||||
z-index: 999999;
|
||||
background-color: whitesmoke;
|
||||
}
|
||||
|
||||
.menu-search-list li:hover {
|
||||
background-color: #5FB878;
|
||||
color: white;
|
||||
.loader:before {
|
||||
content: "";
|
||||
width: 50px;
|
||||
height: 7px;
|
||||
border-radius: 50%;
|
||||
background: #000;
|
||||
opacity: 0.1;
|
||||
position: absolute;
|
||||
top: 59px;
|
||||
left: 0;
|
||||
animation: shadow .5s linear infinite;
|
||||
}
|
||||
|
||||
.menu-search-list li.this {
|
||||
background-color: #5FB878;
|
||||
color: white;
|
||||
.loader:after {
|
||||
content: "";
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
border-radius: 10px;
|
||||
background-color: var(--global-primary-color);
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
animation: loading .5s linear infinite;
|
||||
}
|
||||
|
||||
/* 搜索面板结束 */
|
||||
@-webkit-keyframes loading {
|
||||
17% {
|
||||
border-bottom-right-radius: 3px;
|
||||
}
|
||||
|
||||
25% {
|
||||
transform: translateY(9px) rotate(22.5deg);
|
||||
}
|
||||
|
||||
50% {
|
||||
transform: translateY(18px) scale(1, 0.9) rotate(45deg);
|
||||
border-bottom-right-radius: 40px;
|
||||
}
|
||||
|
||||
75% {
|
||||
transform: translateY(9px) rotate(67.5deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: translateY(0) rotate(90deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes loading {
|
||||
17% {
|
||||
border-bottom-right-radius: 3px;
|
||||
}
|
||||
|
||||
25% {
|
||||
transform: translateY(9px) rotate(22.5deg);
|
||||
}
|
||||
|
||||
50% {
|
||||
transform: translateY(18px) scale(1, 0.9) rotate(45deg);
|
||||
border-bottom-right-radius: 40px;
|
||||
}
|
||||
|
||||
75% {
|
||||
transform: translateY(9px) rotate(67.5deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: translateY(0) rotate(90deg);
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes shadow {
|
||||
|
||||
0%,
|
||||
100% {
|
||||
transform: scale(1, 1);
|
||||
}
|
||||
|
||||
50% {
|
||||
transform: scale(1.2, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes shadow {
|
||||
|
||||
0%,
|
||||
100% {
|
||||
transform: scale(1, 1);
|
||||
}
|
||||
|
||||
50% {
|
||||
transform: scale(1.2, 1);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,359 @@
|
||||
/** loader */
|
||||
.pear-admin-dark .loader-wrapper,
|
||||
.pear-admin-dark .loader-wrapper .loader {
|
||||
background-color: #141414;
|
||||
}
|
||||
|
||||
/** layout */
|
||||
.pear-admin-dark .layui-layout {
|
||||
background-color: #141414;
|
||||
}
|
||||
|
||||
/** header */
|
||||
.pear-admin-dark .layui-header,
|
||||
.pear-admin-dark .layui-header .layui-logo {
|
||||
background-color: #141414 !important;
|
||||
box-shadow: none !important;
|
||||
border: none !important;
|
||||
}
|
||||
.pear-admin-dark .layui-header.auto-theme,
|
||||
.pear-admin-dark .layui-header.auto-theme .layui-logo {
|
||||
background-color: var(--global-primary-color) !important;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-header.auto-theme .layui-logo .title {
|
||||
color: #ffffff !important;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-header {
|
||||
border: 1px solid rgba(0, 0, 0, .40) !important;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-header .layui-nav * {
|
||||
color: #ffffff !important;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-header .layui-nav .layui-nav-child {
|
||||
box-shadow: 0 3px 4px rgba(0, 0, 0, .6) !important;
|
||||
background-color: #141414;
|
||||
border-color: #141414;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-header .layui-nav .layui-nav-child dd > a:hover {
|
||||
background-color: #141414 !important;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-header .pear-nav-control .layui-this a{
|
||||
background-color: #0c0c0c !important;
|
||||
}
|
||||
|
||||
.pear-admin-dark .auto-theme .layui-logo .title{
|
||||
color: var(--global-primary-color) !important;
|
||||
}
|
||||
|
||||
/** side */
|
||||
.pear-admin-dark .layui-side {
|
||||
box-shadow: 0 3px 4px rgba(0, 0, 0, .6) !important;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-logo {
|
||||
border-color: rgba(0, 0, 0, .30) !important;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-side .layui-logo,
|
||||
.pear-admin-dark .layui-side .layui-side-scroll,
|
||||
.pear-admin-dark .layui-side .layui-side-scroll .layui-nav-tree{
|
||||
background-color: #141414 !important;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-side .layui-side-scroll .layui-nav-tree .layui-nav-child {
|
||||
background-color: rgba(0,0,0,.3)!important;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-side .layui-side-scroll .layui-nav .layui-nav-item a,
|
||||
.pear-admin-dark .layui-side .layui-side-scroll .layui-nav .layui-nav-item a > .layui-nav-more {
|
||||
color: rgba(255,255,255,.7) !important;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-side .layui-side-scroll .layui-nav .layui-nav-child dd.layui-this a,
|
||||
.pear-admin-dark .layui-side .layui-side-scroll .layui-nav .layui-nav-itemed > a,
|
||||
.pear-admin-dark .layui-side .layui-side-scroll .layui-nav .layui-nav-itemed > a > .layui-nav-more,
|
||||
.pear-admin-dark .layui-side .layui-side-scroll .layui-nav .layui-nav-item > a:hover {
|
||||
color: #ffffff !important;
|
||||
}
|
||||
|
||||
/** body */
|
||||
.pear-admin-dark .layui-body,
|
||||
.pear-admin-dark .layui-body .pear-tab-page-loading,
|
||||
.pear-admin-dark .layui-body .pear-page-loading {
|
||||
background-color: #0a0a0a !important;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-body .layui-tab .layui-tab-title,
|
||||
.pear-admin-dark .layui-body .layui-tab .layui-tab-title li,
|
||||
.pear-admin-dark .layui-body .layui-tab .layui-tab-control li {
|
||||
background-color: #141414 !important;
|
||||
border-color:rgba(0, 0, 0, .30) !important;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-body .layui-tab .layui-tab-title li > span:first-child {
|
||||
background-color: #434343;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-body .layui-tab .layui-nav-child.layui-anim {
|
||||
border-color: #141414;
|
||||
background-color: #141414 !important;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-body .layui-tab .layui-nav-child.layui-anim a {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-body .layui-tab .layui-nav-child.layui-anim a:hover {
|
||||
background-color: #0a0a0a;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-body .layui-tab .layui-tab-close:hover {
|
||||
border-radius: 50%;
|
||||
background-color: #0a0a0a !important;
|
||||
}
|
||||
|
||||
.pear-admin-dark .pear-tab-page-menu ul li {
|
||||
color: #ffffff !important;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-footer {
|
||||
background-color: #141414;
|
||||
border-top: 1px solid #141414;
|
||||
}
|
||||
|
||||
/** theme */
|
||||
.pear-admin-dark .set-text,
|
||||
.pear-admin-dark .select-color-title,
|
||||
.pear-admin-dark .color-title {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
/** search */
|
||||
.pear-admin-dark .menu-search-no-data {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.pear-admin-dark .menu-search-tips * {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.pear-admin-dark .menu-search-tips kbd {
|
||||
border-color: rgba(0, 0, 0, .30) !important;
|
||||
}
|
||||
|
||||
.pear-admin-dark .menu-search-list li{
|
||||
background-color:#141414;
|
||||
box-shadow: 0 3px 4px rgba(0, 0, 0, .6) !important;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.pear-admin-dark .menu-search-list li:hover{
|
||||
background-color:var(--global-primary-color) !important;
|
||||
}
|
||||
|
||||
|
||||
/** message center */
|
||||
.pear-admin-dark .pear-message-center .layui-tab-title,
|
||||
.pear-admin-dark .pear-message-center .message-item {
|
||||
border-color: rgba(0, 0, 0, .30) !important;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
/** button */
|
||||
.pear-admin-dark .layui-btn {
|
||||
color: #ffffff;
|
||||
border-color: #4C4D4F;
|
||||
}
|
||||
|
||||
/** layer */
|
||||
.pear-admin-dark .layui-layer {
|
||||
background-color: #141414;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-layer-msg {
|
||||
border-color: #141414;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-layer-msg .layui-layer-content {
|
||||
color: #E5EAF3;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-layer .layui-layer-setwin > span,
|
||||
.pear-admin-dark .layui-layer .layui-layer-title {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
/** card */
|
||||
.pear-admin-dark .layui-card {
|
||||
background-color: #1d1e1f !important;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-card .layui-card-header {
|
||||
border-bottom-color: #414243;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-card .layui-card-body {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
/** input */
|
||||
.pear-admin-dark .layui-input {
|
||||
background-color: transparent;
|
||||
color: #ffffff;
|
||||
border-color: rgba(0, 0, 0, .30) !important;
|
||||
}
|
||||
|
||||
/** switch */
|
||||
.pear-admin-dark .layui-form-switch {
|
||||
border-color: #484849;
|
||||
background-color: rgba(255,255,255,.08);
|
||||
}
|
||||
|
||||
/** table */
|
||||
.pear-admin-dark .layui-table {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-table tr:hover {
|
||||
background-color: #141414 !important;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-table td,
|
||||
.pear-admin-dark .layui-table th,
|
||||
.pear-admin-dark .layui-table-view,
|
||||
.pear-admin-dark .layui-table-page,
|
||||
.pear-admin-dark .layui-table-tool,
|
||||
.pear-admin-dark .layui-table-header {
|
||||
border-color: rgba(0, 0, 0, .40) !important;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-table-tool-self > div {
|
||||
border-color: rgba(0, 0, 0, .40) !important;
|
||||
color: #ffffff !important;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-laypage select,
|
||||
.pear-admin-dark .layui-laypage button {
|
||||
border-color: rgba(0, 0, 0, .40) !important;
|
||||
color: #ffffff !important;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-laypage a,
|
||||
.pear-admin-dark .layui-laypage-spr,
|
||||
.pear-admin-dark .layui-laypage-skip,
|
||||
.pear-admin-dark .layui-laypage-count {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-laypage-limits option {
|
||||
background-color: #141414 !important;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
/** panel */
|
||||
.pear-admin-dark .layui-panel {
|
||||
background-color: #1d1e1f !important;
|
||||
border-color: #1d1e1f !important;
|
||||
}
|
||||
|
||||
/** menu */
|
||||
.pear-admin-dark .layui-menu {
|
||||
background-color: #1d1e1f !important;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-menu .layui-menu-body-title,
|
||||
.pear-admin-dark .layui-menu .layui-menu-body-title:hover {
|
||||
color: #ffffff;
|
||||
background-color: #1d1e1f !important;
|
||||
}
|
||||
|
||||
/** timeline */
|
||||
.pear-admin-dark .layui-timeline-axis {
|
||||
background-color: rgb(29, 30, 31) !important;
|
||||
}
|
||||
|
||||
.pear-admin-dark .layui-timeline-item:before {
|
||||
background-color: #414243 !important;
|
||||
}
|
||||
|
||||
|
||||
/** toast */
|
||||
.pear-admin-dark .iziToast {
|
||||
background-color: #1f1f1f !important;
|
||||
}
|
||||
|
||||
/** console */
|
||||
|
||||
.pear-admin-dark .deputy,
|
||||
.pear-admin-dark .shortcut-menu {
|
||||
background-color: #141414 !important;
|
||||
}
|
||||
|
||||
.pear-admin-dark .deputy:hover,
|
||||
.pear-admin-dark .shortcut-menu:hover {
|
||||
box-shadow: 0 3px 4px rgba(0, 0, 0, .6) !important;
|
||||
}
|
||||
|
||||
.pear-admin-dark .message-board li {
|
||||
border-bottom: 1px solid rgba(0, 0, 0, .40) !important;
|
||||
}
|
||||
|
||||
/** analysis */
|
||||
.pear-admin-dark .top-panel-number {
|
||||
color: #ffffff !important;
|
||||
border-color: #414243;
|
||||
}
|
||||
|
||||
|
||||
.pear-admin-dark .dynamic-status dd {
|
||||
border-color: #414243;
|
||||
}
|
||||
|
||||
/** success failure */
|
||||
.pear-admin-dark .pear-result .content {
|
||||
background-color: rgba(153, 153, 153, 0.12);
|
||||
color: #E5EAF3;
|
||||
}
|
||||
|
||||
.pear-admin-dark .pear-result .title{
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.pear-admin-dark .pear-result .description{
|
||||
color: #8D9095;
|
||||
}
|
||||
|
||||
/** 403 404 500*/
|
||||
.pear-admin-dark .pear-exception .title p{
|
||||
color: #E5EAF3 !important;
|
||||
}
|
||||
|
||||
/** scroll */
|
||||
.pear-admin-dark *::-webkit-scrollbar-thumb {
|
||||
background: #141414;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.pear-admin-dark *::-webkit-scrollbar-thumb:hover {
|
||||
background: #0a0a0a;
|
||||
}
|
||||
|
||||
/** profile */
|
||||
.pear-admin-dark .user-name,
|
||||
.pear-admin-dark .user-desc {
|
||||
color: whitesmoke;
|
||||
}
|
||||
|
||||
.pear-admin-dark .user-desc {
|
||||
border-top: 1px solid #141414;
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,105 +0,0 @@
|
||||
.loader-main{
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: whitesmoke;
|
||||
z-index: 9999999;
|
||||
}
|
||||
.loader {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
margin: 30px auto 40px;
|
||||
margin-top: 20%;
|
||||
position: relative;
|
||||
z-index: 999999;
|
||||
background-color: whitesmoke;
|
||||
}
|
||||
.loader:before {
|
||||
content: "";
|
||||
width: 50px;
|
||||
height: 7px;
|
||||
border-radius: 50%;
|
||||
background: #000;
|
||||
opacity: 0.1;
|
||||
position: absolute;
|
||||
top: 59px;
|
||||
left: 0;
|
||||
animation: shadow .5s linear infinite;
|
||||
}
|
||||
.loader:after {
|
||||
content: "";
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
border-radius: 3px;
|
||||
background-color: #5FB878;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
animation: loading .5s linear infinite;
|
||||
}
|
||||
@-webkit-keyframes loading {
|
||||
17% {
|
||||
border-bottom-right-radius: 3px;
|
||||
}
|
||||
|
||||
25% {
|
||||
transform: translateY(9px) rotate(22.5deg);
|
||||
}
|
||||
|
||||
50% {
|
||||
transform: translateY(18px) scale(1, 0.9) rotate(45deg);
|
||||
border-bottom-right-radius: 40px;
|
||||
}
|
||||
|
||||
75% {
|
||||
transform: translateY(9px) rotate(67.5deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: translateY(0) rotate(90deg);
|
||||
}
|
||||
}
|
||||
@keyframes loading {
|
||||
17% {
|
||||
border-bottom-right-radius: 3px;
|
||||
}
|
||||
|
||||
25% {
|
||||
transform: translateY(9px) rotate(22.5deg);
|
||||
}
|
||||
|
||||
50% {
|
||||
transform: translateY(18px) scale(1, 0.9) rotate(45deg);
|
||||
border-bottom-right-radius: 40px;
|
||||
}
|
||||
|
||||
75% {
|
||||
transform: translateY(9px) rotate(67.5deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: translateY(0) rotate(90deg);
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes shadow {
|
||||
|
||||
0%,
|
||||
100% {
|
||||
transform: scale(1, 1);
|
||||
}
|
||||
|
||||
50% {
|
||||
transform: scale(1.2, 1);
|
||||
}
|
||||
}
|
||||
@keyframes shadow {
|
||||
|
||||
0%,
|
||||
100% {
|
||||
transform: scale(1, 1);
|
||||
}
|
||||
|
||||
50% {
|
||||
transform: scale(1.2, 1);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
.top-panel {
|
||||
border-radius: 4px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.top-panel>.layui-card-body {
|
||||
height: 60px;
|
||||
}
|
||||
|
||||
.top-panel-number {
|
||||
line-height: 60px;
|
||||
font-size: 29px;
|
||||
border-right: 1px solid #eceff9;
|
||||
}
|
||||
|
||||
.top-panel-tips {
|
||||
padding-left: 8px;
|
||||
padding-top: 16px;
|
||||
line-height: 30px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.top-panel-tips i {
|
||||
font-size: 33px;
|
||||
}
|
||||
|
||||
.top-panel-tips svg {
|
||||
margin-top: -12px;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
.dynamic-status {
|
||||
padding: 0 10px 10px;
|
||||
}
|
||||
|
||||
.dynamic-status dd {
|
||||
padding: 15px 0;
|
||||
border-bottom: 1px solid #EEE;
|
||||
display: -webkit-flex;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.dynamic-status dd div.dynamic-status-img {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 50%;
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
.dynamic-status dd div.dynamic-status-img a {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
line-height: 32px;
|
||||
}
|
||||
|
||||
.dynamic-status dd div span {
|
||||
color: #BBB;
|
||||
}
|
||||
|
||||
.dynamic-status dd div a {
|
||||
color: #01AAED;
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
|
||||
.shortcut-menu {
|
||||
width: 100%;
|
||||
height: 66px;
|
||||
background-color: #F8F8F8;
|
||||
display: inline-block;
|
||||
border-radius: 5px;
|
||||
text-align: center;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
.shortcut-menu i {
|
||||
font-size: 30px;
|
||||
height: 66px;
|
||||
line-height: 66px;
|
||||
}
|
||||
|
||||
.shortcut-menu:hover {
|
||||
box-shadow: 2px 0 8px 0 lightgray !important;
|
||||
}
|
||||
|
||||
.shortcut-menu-label {
|
||||
width: 100%;
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.deputy {
|
||||
width: 100%;
|
||||
height: 90px;
|
||||
background-color: #F8F8F8;
|
||||
display: inline-block;
|
||||
border-radius: 5px;
|
||||
text-align: center;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
.deputy:hover {
|
||||
box-shadow: 2px 0 8px 0 lightgray !important;
|
||||
}
|
||||
|
||||
.deputy .deputy-label {
|
||||
color: gray;
|
||||
margin-top: 14px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.deputy .deputy-count {
|
||||
margin-top: 12px;
|
||||
color: var(--global-primary-color);
|
||||
font-size: 30px;
|
||||
}
|
||||
|
||||
.message-board {
|
||||
padding: 0 10px 10px;
|
||||
}
|
||||
|
||||
.message-board li {
|
||||
position: relative;
|
||||
padding: 10px 0;
|
||||
border-bottom: 1px solid #EEE;
|
||||
}
|
||||
|
||||
.message-board li p {
|
||||
padding-bottom: 10px;
|
||||
padding-top: 3px;
|
||||
}
|
||||
|
||||
.message-board li>span {
|
||||
color: #999;
|
||||
height: 24px;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
.message-board .message-board-reply {
|
||||
position: absolute;
|
||||
right: 20px;
|
||||
bottom: 12px;
|
||||
height: 24px;
|
||||
line-height: 24px;
|
||||
}
|
||||
@@ -1,141 +0,0 @@
|
||||
.top-panel {
|
||||
border-radius: 4px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.top-panel>.layui-card-body {
|
||||
height: 60px;
|
||||
}
|
||||
|
||||
.top-panel-number {
|
||||
line-height: 60px;
|
||||
font-size: 29px;
|
||||
border-right: 1px solid #eceff9;
|
||||
}
|
||||
|
||||
.top-panel-tips {
|
||||
padding-left: 8px;
|
||||
padding-top: 16px;
|
||||
line-height: 30px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.pear-container {
|
||||
background-color: whitesmoke;
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.card {
|
||||
width: 100%;
|
||||
height: 160px;
|
||||
background-color: whitesmoke;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.card .header .avatar {
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
margin: 20px;
|
||||
border-radius: 50px;
|
||||
}
|
||||
|
||||
.card .header {
|
||||
color: dimgray;
|
||||
}
|
||||
|
||||
.card .body {
|
||||
color: gray;
|
||||
}
|
||||
|
||||
.card .body {
|
||||
margin-left: 20px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.card .footer {
|
||||
margin-left: 20px;
|
||||
margin-right: 20px;
|
||||
margin-top: 20px;
|
||||
font-size: 13px;
|
||||
color: gray;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.custom-tab .layui-tab-title {
|
||||
border-bottom-width: 0px;
|
||||
border-bottom-style: none;
|
||||
}
|
||||
|
||||
.custom-tab .layui-tab-title li {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.list .list-item {
|
||||
height: 31.8px;
|
||||
line-height: 31.8px;
|
||||
color: gray;
|
||||
padding: 5px;
|
||||
padding-left: 15px;
|
||||
border-radius: 4px;
|
||||
margin-top: 5.2px;
|
||||
}
|
||||
|
||||
.list .list-item:hover {
|
||||
background-color: whitesmoke;
|
||||
}
|
||||
|
||||
.list .list-item .title {
|
||||
font-size: 13px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.list .list-item .footer {
|
||||
position: absolute;
|
||||
right: 30px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.top-panel-tips i {
|
||||
font-size: 33px;
|
||||
}
|
||||
|
||||
.layuiadmin-card-status {
|
||||
padding: 0 10px 10px;
|
||||
}
|
||||
|
||||
.layuiadmin-card-status dd {
|
||||
padding: 15px 0;
|
||||
border-bottom: 1px solid #EEE;
|
||||
display: -webkit-flex;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.layuiadmin-card-status dd div.layui-status-img,
|
||||
.layuiadmin-card-team .layui-team-img {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 50%;
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
.layuiadmin-card-status dd div.layui-status-img a {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
line-height: 32px;
|
||||
}
|
||||
|
||||
.layuiadmin-card-status dd div span {
|
||||
color: #BBB;
|
||||
}
|
||||
|
||||
.layuiadmin-card-status dd div a {
|
||||
color: #01AAED;
|
||||
}
|
||||
|
||||
.top-panel-tips svg {
|
||||
margin-top: -12px;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
}
|
||||
@@ -1,121 +0,0 @@
|
||||
.pear-container {
|
||||
background-color: whitesmoke;
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.pear-card {
|
||||
width: 100%;
|
||||
height: 66px;
|
||||
background-color: #F8F8F8;
|
||||
display: inline-block;
|
||||
border-radius: 5px;
|
||||
text-align: center;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
.pear-card:hover,
|
||||
.pear-card2:hover {
|
||||
box-shadow: 2px 0 8px 0 lightgray !important;
|
||||
}
|
||||
|
||||
.pear-card2 {
|
||||
width: 100%;
|
||||
height: 90px;
|
||||
background-color: #F8F8F8;
|
||||
display: inline-block;
|
||||
border-radius: 5px;
|
||||
text-align: center;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
.pear-card2 i {
|
||||
font-size: 30px;
|
||||
height: 90px;
|
||||
line-height: 90px;
|
||||
}
|
||||
|
||||
.pear-card i {
|
||||
font-size: 30px;
|
||||
height: 66px;
|
||||
line-height: 66px;
|
||||
}
|
||||
|
||||
.layui-col-md3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.pear-card-title {
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
.person img {
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
border-radius: 4px;
|
||||
margin-top: 8px;
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.pear-card2 .count {
|
||||
color: #51A351;
|
||||
font-size: 30px;
|
||||
margin-top: 12px;
|
||||
}
|
||||
|
||||
.pear-card2 .title {
|
||||
color: gray;
|
||||
font-size: 14px;
|
||||
margin-top: 14px;
|
||||
}
|
||||
|
||||
.pear-card-status {
|
||||
padding: 0 10px 10px;
|
||||
}
|
||||
|
||||
.pear-card-status li {
|
||||
position: relative;
|
||||
padding: 10px 0;
|
||||
border-bottom: 1px solid #EEE;
|
||||
}
|
||||
|
||||
.pear-card-status li h3 {
|
||||
padding-bottom: 5px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.pear-card-status li p {
|
||||
padding-bottom: 10px;
|
||||
padding-top: 3px;
|
||||
}
|
||||
|
||||
.pear-card-status li>span {
|
||||
color: #999;
|
||||
height: 24px;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
.pear-reply {
|
||||
position: absolute;
|
||||
right: 20px;
|
||||
bottom: 12px;
|
||||
height: 24px;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
.person .title {
|
||||
font-size: 17px;
|
||||
font-weight: 600;
|
||||
margin-left: 18px;
|
||||
margin-top: 16px;
|
||||
position: absolute;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.person .desc {
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
margin-left: 115px;
|
||||
margin-top: -30px;
|
||||
position: absolute;
|
||||
display: inline-block;
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
.organizationTree {
|
||||
width: 100% !important;
|
||||
height: -webkit-calc(100vh - 130px);
|
||||
height: -moz-calc(100vh - 130px);
|
||||
height: calc(100vh - 130px);
|
||||
}
|
||||
@@ -1,76 +0,0 @@
|
||||
* {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
font-size: 0.38rem;
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
-webkit-tap-highlight-color: transparent
|
||||
}
|
||||
|
||||
.clearfix:after {
|
||||
content: '';
|
||||
width: 0;
|
||||
height: 0;
|
||||
display: block;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
html {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
font-size: 0.28rem;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
position: relative;
|
||||
background-color: white !important;
|
||||
}
|
||||
|
||||
.content {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.content>img {
|
||||
height: 300px;
|
||||
max-width: 370px;
|
||||
margin-right: 180px;
|
||||
}
|
||||
|
||||
.content>* {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.content-r {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.content-r>h1 {
|
||||
font-size: 72px;
|
||||
color: #434e59;
|
||||
margin-bottom: 24px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.content-r>p {
|
||||
font-size: 20px;
|
||||
color: rgba(0, 0, 0, .45);
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
button {
|
||||
margin-top: 20px;
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
.pear-exception {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
text-align: center;
|
||||
box-sizing: border-box;
|
||||
padding: 70px 40px
|
||||
}
|
||||
|
||||
.pear-exception .title {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.pear-exception .title p {
|
||||
color: rgb(0, 0, 0);
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.pear-exception .description {
|
||||
margin-top: 10px;
|
||||
color: #8D9095;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.pear-exception .extra {
|
||||
margin: 30px;
|
||||
}
|
||||
@@ -1,531 +0,0 @@
|
||||
/* Logo 字体 */
|
||||
@font-face {
|
||||
font-family: "iconfont logo";
|
||||
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
|
||||
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
|
||||
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
|
||||
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
|
||||
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
|
||||
}
|
||||
|
||||
.logo {
|
||||
font-family: "iconfont logo";
|
||||
font-size: 160px;
|
||||
font-style: normal;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
/* tabs */
|
||||
.nav-tabs {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.nav-tabs .nav-more {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
height: 42px;
|
||||
line-height: 42px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
#tabs {
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
|
||||
#tabs li {
|
||||
cursor: pointer;
|
||||
width: 100px;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
border-bottom: 2px solid transparent;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
margin-bottom: -1px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
|
||||
#tabs .active {
|
||||
border-bottom-color: #f00;
|
||||
color: #222;
|
||||
}
|
||||
|
||||
.tab-container .content {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* 页面布局 */
|
||||
.main {
|
||||
padding: 30px 100px;
|
||||
width: 960px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.main .logo {
|
||||
color: #333;
|
||||
text-align: left;
|
||||
margin-bottom: 30px;
|
||||
line-height: 1;
|
||||
height: 110px;
|
||||
margin-top: -50px;
|
||||
overflow: hidden;
|
||||
*zoom: 1;
|
||||
}
|
||||
|
||||
.main .logo a {
|
||||
font-size: 160px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.helps {
|
||||
margin-top: 40px;
|
||||
}
|
||||
|
||||
.helps pre {
|
||||
padding: 20px;
|
||||
margin: 10px 0;
|
||||
border: solid 1px #e7e1cd;
|
||||
background-color: #fffdef;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.icon_lists {
|
||||
width: 100% !important;
|
||||
overflow: hidden;
|
||||
*zoom: 1;
|
||||
}
|
||||
|
||||
.icon_lists li {
|
||||
width: 100px;
|
||||
margin-bottom: 10px;
|
||||
margin-right: 20px;
|
||||
text-align: center;
|
||||
list-style: none !important;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.icon_lists li .code-name {
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.icon_lists .icon {
|
||||
display: block;
|
||||
height: 100px;
|
||||
line-height: 100px;
|
||||
font-size: 42px;
|
||||
margin: 10px auto;
|
||||
color: #333;
|
||||
-webkit-transition: font-size 0.25s linear, width 0.25s linear;
|
||||
-moz-transition: font-size 0.25s linear, width 0.25s linear;
|
||||
transition: font-size 0.25s linear, width 0.25s linear;
|
||||
}
|
||||
|
||||
.icon_lists .icon:hover {
|
||||
font-size: 100px;
|
||||
}
|
||||
|
||||
.icon_lists .svg-icon {
|
||||
/* 通过设置 font-size 来改变图标大小 */
|
||||
width: 1em;
|
||||
/* 图标和文字相邻时,垂直对齐 */
|
||||
vertical-align: -0.15em;
|
||||
/* 通过设置 color 来改变 SVG 的颜色/fill */
|
||||
fill: currentColor;
|
||||
/* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
|
||||
normalize.css 中也包含这行 */
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.icon_lists li .name,
|
||||
.icon_lists li .code-name {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
/* markdown 样式 */
|
||||
.markdown {
|
||||
color: #666;
|
||||
font-size: 14px;
|
||||
line-height: 1.8;
|
||||
}
|
||||
|
||||
.highlight {
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.markdown img {
|
||||
vertical-align: middle;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.markdown h1 {
|
||||
color: #404040;
|
||||
font-weight: 500;
|
||||
line-height: 40px;
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.markdown h2,
|
||||
.markdown h3,
|
||||
.markdown h4,
|
||||
.markdown h5,
|
||||
.markdown h6 {
|
||||
color: #404040;
|
||||
margin: 1.6em 0 0.6em 0;
|
||||
font-weight: 500;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.markdown h1 {
|
||||
font-size: 28px;
|
||||
}
|
||||
|
||||
.markdown h2 {
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
.markdown h3 {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.markdown h4 {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.markdown h5 {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.markdown h6 {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.markdown hr {
|
||||
height: 1px;
|
||||
border: 0;
|
||||
background: #e9e9e9;
|
||||
margin: 16px 0;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.markdown p {
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
.markdown>p,
|
||||
.markdown>blockquote,
|
||||
.markdown>.highlight,
|
||||
.markdown>ol,
|
||||
.markdown>ul {
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
.markdown ul>li {
|
||||
list-style: circle;
|
||||
}
|
||||
|
||||
.markdown>ul li,
|
||||
.markdown blockquote ul>li {
|
||||
margin-left: 20px;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
.markdown>ul li p,
|
||||
.markdown>ol li p {
|
||||
margin: 0.6em 0;
|
||||
}
|
||||
|
||||
.markdown ol>li {
|
||||
list-style: decimal;
|
||||
}
|
||||
|
||||
.markdown>ol li,
|
||||
.markdown blockquote ol>li {
|
||||
margin-left: 20px;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
.markdown code {
|
||||
margin: 0 3px;
|
||||
padding: 0 5px;
|
||||
background: #eee;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.markdown strong,
|
||||
.markdown b {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.markdown>table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0px;
|
||||
empty-cells: show;
|
||||
border: 1px solid #e9e9e9;
|
||||
width: 95%;
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.markdown>table th {
|
||||
white-space: nowrap;
|
||||
color: #333;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.markdown>table th,
|
||||
.markdown>table td {
|
||||
border: 1px solid #e9e9e9;
|
||||
padding: 8px 16px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.markdown>table th {
|
||||
background: #F7F7F7;
|
||||
}
|
||||
|
||||
.markdown blockquote {
|
||||
font-size: 90%;
|
||||
color: #999;
|
||||
border-left: 4px solid #e9e9e9;
|
||||
padding-left: 0.8em;
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
.markdown blockquote p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.markdown .anchor {
|
||||
opacity: 0;
|
||||
transition: opacity 0.3s ease;
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.markdown .waiting {
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.markdown h1:hover .anchor,
|
||||
.markdown h2:hover .anchor,
|
||||
.markdown h3:hover .anchor,
|
||||
.markdown h4:hover .anchor,
|
||||
.markdown h5:hover .anchor,
|
||||
.markdown h6:hover .anchor {
|
||||
opacity: 1;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.markdown>br,
|
||||
.markdown>p>br {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
|
||||
.hljs {
|
||||
display: block;
|
||||
background: white;
|
||||
padding: 0.5em;
|
||||
color: #333333;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.hljs-comment,
|
||||
.hljs-meta {
|
||||
color: #969896;
|
||||
}
|
||||
|
||||
.hljs-string,
|
||||
.hljs-variable,
|
||||
.hljs-template-variable,
|
||||
.hljs-strong,
|
||||
.hljs-emphasis,
|
||||
.hljs-quote {
|
||||
color: #df5000;
|
||||
}
|
||||
|
||||
.hljs-keyword,
|
||||
.hljs-selector-tag,
|
||||
.hljs-type {
|
||||
color: #a71d5d;
|
||||
}
|
||||
|
||||
.hljs-literal,
|
||||
.hljs-symbol,
|
||||
.hljs-bullet,
|
||||
.hljs-attribute {
|
||||
color: #0086b3;
|
||||
}
|
||||
|
||||
.hljs-section,
|
||||
.hljs-name {
|
||||
color: #63a35c;
|
||||
}
|
||||
|
||||
.hljs-tag {
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.hljs-title,
|
||||
.hljs-attr,
|
||||
.hljs-selector-id,
|
||||
.hljs-selector-class,
|
||||
.hljs-selector-attr,
|
||||
.hljs-selector-pseudo {
|
||||
color: #795da3;
|
||||
}
|
||||
|
||||
.hljs-addition {
|
||||
color: #55a532;
|
||||
background-color: #eaffea;
|
||||
}
|
||||
|
||||
.hljs-deletion {
|
||||
color: #bd2c00;
|
||||
background-color: #ffecec;
|
||||
}
|
||||
|
||||
.hljs-link {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
code[class*="language-"],
|
||||
pre[class*="language-"] {
|
||||
color: black;
|
||||
background: none;
|
||||
text-shadow: 0 1px white;
|
||||
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
|
||||
text-align: left;
|
||||
white-space: pre;
|
||||
word-spacing: normal;
|
||||
word-break: normal;
|
||||
word-wrap: normal;
|
||||
line-height: 1.5;
|
||||
|
||||
-moz-tab-size: 4;
|
||||
-o-tab-size: 4;
|
||||
tab-size: 4;
|
||||
|
||||
-webkit-hyphens: none;
|
||||
-moz-hyphens: none;
|
||||
-ms-hyphens: none;
|
||||
hyphens: none;
|
||||
}
|
||||
|
||||
pre[class*="language-"]::-moz-selection,
|
||||
pre[class*="language-"] ::-moz-selection,
|
||||
code[class*="language-"]::-moz-selection,
|
||||
code[class*="language-"] ::-moz-selection {
|
||||
text-shadow: none;
|
||||
background: #b3d4fc;
|
||||
}
|
||||
|
||||
pre[class*="language-"]::selection,
|
||||
pre[class*="language-"] ::selection,
|
||||
code[class*="language-"]::selection,
|
||||
code[class*="language-"] ::selection {
|
||||
text-shadow: none;
|
||||
background: #b3d4fc;
|
||||
}
|
||||
|
||||
@media print {
|
||||
|
||||
code[class*="language-"],
|
||||
pre[class*="language-"] {
|
||||
text-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
/* Code blocks */
|
||||
pre[class*="language-"] {
|
||||
padding: 1em;
|
||||
margin: .5em 0;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
:not(pre)>code[class*="language-"],
|
||||
pre[class*="language-"] {
|
||||
background: #f5f2f0;
|
||||
}
|
||||
|
||||
/* Inline code */
|
||||
:not(pre)>code[class*="language-"] {
|
||||
padding: .1em;
|
||||
border-radius: .3em;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
.token.comment,
|
||||
.token.prolog,
|
||||
.token.doctype,
|
||||
.token.cdata {
|
||||
color: slategray;
|
||||
}
|
||||
|
||||
.token.punctuation {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.namespace {
|
||||
opacity: .7;
|
||||
}
|
||||
|
||||
.token.property,
|
||||
.token.tag,
|
||||
.token.boolean,
|
||||
.token.number,
|
||||
.token.constant,
|
||||
.token.symbol,
|
||||
.token.deleted {
|
||||
color: #905;
|
||||
}
|
||||
|
||||
.token.selector,
|
||||
.token.attr-name,
|
||||
.token.string,
|
||||
.token.char,
|
||||
.token.builtin,
|
||||
.token.inserted {
|
||||
color: #690;
|
||||
}
|
||||
|
||||
.token.operator,
|
||||
.token.entity,
|
||||
.token.url,
|
||||
.language-css .token.string,
|
||||
.style .token.string {
|
||||
color: #9a6e3a;
|
||||
background: hsla(0, 0%, 100%, .5);
|
||||
}
|
||||
|
||||
.token.atrule,
|
||||
.token.attr-value,
|
||||
.token.keyword {
|
||||
color: #07a;
|
||||
}
|
||||
|
||||
.token.function,
|
||||
.token.class-name {
|
||||
color: #DD4A68;
|
||||
}
|
||||
|
||||
.token.regex,
|
||||
.token.important,
|
||||
.token.variable {
|
||||
color: #e90;
|
||||
}
|
||||
|
||||
.token.important,
|
||||
.token.bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.token.italic {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.token.entity {
|
||||
cursor: help;
|
||||
}
|
||||
@@ -1,100 +1,218 @@
|
||||
.layui-form {
|
||||
width: 320px !important;
|
||||
margin: auto !important;
|
||||
margin-top: 160px !important;
|
||||
}
|
||||
|
||||
.layui-form button {
|
||||
width: 100% !important;
|
||||
height: 44px !important;
|
||||
line-height: 44px !important;
|
||||
font-size: 16px !important;
|
||||
background-color: #5FB878 !important;
|
||||
font-weight: 550 !important;
|
||||
}
|
||||
|
||||
.layui-form-checked[lay-skin=primary] i {
|
||||
border-color: #5FB878 !important;
|
||||
background-color: #5FB878 !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.layui-tab-content {
|
||||
margin-top: 15px !important;
|
||||
padding-left: 0px !important;
|
||||
padding-right: 0px !important;
|
||||
}
|
||||
|
||||
.layui-form-item {
|
||||
margin-top: 20px !important;
|
||||
}
|
||||
|
||||
.layui-input {
|
||||
height: 44px !important;
|
||||
line-height: 44px !important;
|
||||
padding-left: 15px !important;
|
||||
border-radius: 3px !important;
|
||||
}
|
||||
|
||||
.layui-input:focus {
|
||||
box-shadow: 0px 0px 2px 1px #5FB878 !important;
|
||||
}
|
||||
|
||||
.layui-form-danger:focus{
|
||||
box-shadow: 0px 0px 2px 1px #f56c6c !important;
|
||||
}
|
||||
|
||||
.logo {
|
||||
width: 60px !important;
|
||||
margin-top: 10px !important;
|
||||
margin-bottom: 10px !important;
|
||||
margin-left: 20px !important;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 30px !important;
|
||||
font-weight: 550 !important;
|
||||
margin-left: 20px !important;
|
||||
color: #5FB878 !important;
|
||||
display: inline-block !important;
|
||||
height: 60px !important;
|
||||
line-height: 60px !important;
|
||||
margin-top: 10px !important;
|
||||
position: absolute !important;
|
||||
}
|
||||
|
||||
.desc {
|
||||
width: 100% !important;
|
||||
text-align: center !important;
|
||||
color: gray !important;
|
||||
height: 60px !important;
|
||||
line-height: 60px !important;
|
||||
}
|
||||
|
||||
body {
|
||||
background-repeat:no-repeat;
|
||||
background-color: whitesmoke;
|
||||
background-size: 100%;
|
||||
html,
|
||||
body{
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.code {
|
||||
float: left;
|
||||
margin-right: 13px;
|
||||
margin: 0px !important;
|
||||
border: #e6e6e6 1px solid;
|
||||
display: inline-block!important;
|
||||
}
|
||||
|
||||
.codeImage {
|
||||
float: right;
|
||||
height: 42px;
|
||||
border: #e6e6e6 1px solid;
|
||||
.login-page {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.layui-row {
|
||||
width: 1000px;
|
||||
height: 600px;
|
||||
box-shadow: 2px 0 6px rgba(0, 21, 41, .20);
|
||||
border: 3px solid whitesmoke;
|
||||
border-radius: 15px;
|
||||
}
|
||||
|
||||
.login-bg {
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
background-color: rgb(250, 250, 250);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-bottom-left-radius: 15px;
|
||||
border-top-left-radius: 15px;
|
||||
}
|
||||
|
||||
.login-bg-img {
|
||||
width: 90%;
|
||||
display: inline-block;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.login-form {
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: #fff;
|
||||
border-bottom-right-radius: 15px;
|
||||
border-top-right-radius: 15px;
|
||||
}
|
||||
|
||||
.form-center {
|
||||
background: #fff;
|
||||
box-sizing: border-box;
|
||||
flex-flow: row wrap;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.form-center-box {
|
||||
width: 360px;
|
||||
}
|
||||
|
||||
.top-log-title {
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
display: flex;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.top-log {
|
||||
width: 50px;
|
||||
border-radius: 12px;
|
||||
margin-right: 20px;
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
.top-log-title span {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
color: var(--global-primary-color);
|
||||
}
|
||||
|
||||
.top-desc {
|
||||
font-size: 14px;
|
||||
color: #808695;
|
||||
|
||||
}
|
||||
|
||||
.tab-log-method {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
padding: 20px 0px;
|
||||
}
|
||||
|
||||
.tab-log-method-item {
|
||||
flex: 1;
|
||||
box-sizing: border-box;
|
||||
padding: 5px 50px;
|
||||
text-align: right;
|
||||
color: #1f2225;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.tab-log-method-item:nth-child(2) {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.tab-log-method-item>span {
|
||||
display: inline-block;
|
||||
width: 40px;
|
||||
text-align: center;
|
||||
height: 30px;
|
||||
border-bottom: 2px solid transparent;
|
||||
}
|
||||
|
||||
.tab-log-method-item>span:hover {
|
||||
cursor: pointer;
|
||||
color: #16baaa;
|
||||
border-bottom: 2px solid #16baaa;
|
||||
}
|
||||
|
||||
.tab-log-verification {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.verification-text {
|
||||
flex: 2;
|
||||
box-sizing: border-box;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.verification-img {
|
||||
flex: 1;
|
||||
box-sizing: border-box;
|
||||
border: 1px solid #eeeeee;
|
||||
border-radius: 4px;
|
||||
height: 40px;
|
||||
overflow: hidden;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.remember-passsword {
|
||||
margin: 20px 0;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.remember-cehcked {
|
||||
flex: 1;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.greenText {
|
||||
color: #16baaa;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
@media (max-width:768px){
|
||||
body{
|
||||
background-position:center;
|
||||
|
||||
.login-btn {
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.login-btn>.layui-btn {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.other-login {
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
margin: 20px 0 0;
|
||||
text-align: left;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.other-login-methods {
|
||||
display: inline-block;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.layui-input {
|
||||
border-radius: 4px;
|
||||
line-height: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
.layui-btn {
|
||||
border-radius: 4px;
|
||||
background-color: var(--global-primary-color);
|
||||
}
|
||||
|
||||
@media(min-width: 992px) and (max-width:1200px){
|
||||
.layui-row{
|
||||
width: 900px;
|
||||
}
|
||||
}
|
||||
@media(min-width: 768px) and (max-width:992px){
|
||||
.layui-row{
|
||||
width: 90%;
|
||||
}
|
||||
.form-center{width: 90%;}
|
||||
}
|
||||
@media (max-width:768px){
|
||||
.layui-row{
|
||||
width: 90%;
|
||||
}
|
||||
.login-form {
|
||||
border-bottom-left-radius: 15px;
|
||||
border-top-left-radius: 15px;
|
||||
}
|
||||
.form-center-box{width: 95%;}
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
.layui-form {
|
||||
width: 320px !important;
|
||||
margin: auto !important;
|
||||
margin-top: 160px !important;
|
||||
}
|
||||
|
||||
.layui-form button {
|
||||
width: 100% !important;
|
||||
height: 44px !important;
|
||||
line-height: 44px !important;
|
||||
font-size: 16px !important;
|
||||
background-color: #5FB878 !important;
|
||||
font-weight: 550 !important;
|
||||
}
|
||||
|
||||
.layui-form-checked[lay-skin=primary] i {
|
||||
border-color: #5FB878 !important;
|
||||
background-color: #5FB878 !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.layui-tab-content {
|
||||
margin-top: 15px !important;
|
||||
padding-left: 0px !important;
|
||||
padding-right: 0px !important;
|
||||
}
|
||||
|
||||
.layui-form-item {
|
||||
margin-top: 20px !important;
|
||||
}
|
||||
|
||||
.layui-input {
|
||||
height: 44px !important;
|
||||
line-height: 44px !important;
|
||||
padding-left: 15px !important;
|
||||
border-radius: 3px !important;
|
||||
}
|
||||
|
||||
.layui-input:focus {
|
||||
box-shadow: 0px 0px 2px 1px #5FB878 !important;
|
||||
}
|
||||
|
||||
.layui-form-danger:focus{
|
||||
box-shadow: 0px 0px 2px 1px #f56c6c !important;
|
||||
}
|
||||
|
||||
.logo {
|
||||
width: 60px !important;
|
||||
margin-top: 10px !important;
|
||||
margin-bottom: 10px !important;
|
||||
margin-left: 20px !important;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 30px !important;
|
||||
font-weight: 550 !important;
|
||||
margin-left: 20px !important;
|
||||
color: #5FB878 !important;
|
||||
display: inline-block !important;
|
||||
height: 60px !important;
|
||||
line-height: 60px !important;
|
||||
margin-top: 10px !important;
|
||||
position: absolute !important;
|
||||
}
|
||||
|
||||
.desc {
|
||||
width: 100% !important;
|
||||
text-align: center !important;
|
||||
color: gray !important;
|
||||
height: 60px !important;
|
||||
line-height: 60px !important;
|
||||
}
|
||||
|
||||
body {
|
||||
background-repeat:no-repeat;
|
||||
background-color: whitesmoke;
|
||||
background-size: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.code {
|
||||
float: left;
|
||||
margin-right: 13px;
|
||||
margin: 0px !important;
|
||||
border: #e6e6e6 1px solid;
|
||||
display: inline-block!important;
|
||||
}
|
||||
|
||||
.codeImage {
|
||||
float: right;
|
||||
height: 42px;
|
||||
border: #e6e6e6 1px solid;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
@media (max-width:768px){
|
||||
body{
|
||||
background-position:center;
|
||||
}
|
||||
}
|
||||
@@ -1,80 +0,0 @@
|
||||
.pear-container {
|
||||
background-color: whitesmoke;
|
||||
margin: 10px;
|
||||
}
|
||||
.layui-body {
|
||||
padding: 25px;
|
||||
}
|
||||
.text-center {
|
||||
text-align: center;
|
||||
}
|
||||
.user-info-head {
|
||||
width: 110px;
|
||||
height: 110px;
|
||||
line-height: 110px;
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
border-radius: 50%;
|
||||
overflow: hidden;
|
||||
cursor: pointer;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.layui-line-dash {
|
||||
border-bottom: 1px dashed #ccc;
|
||||
margin: 15px 0;
|
||||
}
|
||||
.comment {
|
||||
position: absolute;
|
||||
bottom: 3px;
|
||||
right: 10px;
|
||||
font-size: 12px;
|
||||
color: dimgray;
|
||||
}
|
||||
.content {
|
||||
padding-left: 13px;
|
||||
font-size: 13px;
|
||||
color: dimgray;
|
||||
}
|
||||
.title {
|
||||
padding-left: 13.5px;
|
||||
}
|
||||
.layui-tab-title {
|
||||
border-bottom: none;
|
||||
}
|
||||
.fl-item {
|
||||
height: 30px;
|
||||
font-size: 13.5;
|
||||
}
|
||||
.dot {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
border-radius: 50px;
|
||||
background-color: gray;
|
||||
display: inline-block;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.list .list-item {
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
color: gray;
|
||||
padding: 5px;
|
||||
padding-left: 15px;
|
||||
border-radius: 4px;
|
||||
margin-top: 5.2px;
|
||||
}
|
||||
|
||||
.list .list-item:hover {
|
||||
background-color: whitesmoke;
|
||||
}
|
||||
|
||||
.list .list-item .title {
|
||||
font-size: 13px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.list .list-item .footer {
|
||||
position: absolute;
|
||||
right: 30px;
|
||||
font-size: 12px;
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
.text-center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.user-info {
|
||||
width: 110px;
|
||||
height: 110px;
|
||||
line-height: 110px;
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
border-radius: 50%;
|
||||
overflow: hidden;
|
||||
cursor: pointer;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.user-name {
|
||||
padding-top: 20px;
|
||||
font-size: 20px !important;
|
||||
}
|
||||
|
||||
.user-home {
|
||||
padding-top: 8px;
|
||||
margin-top: 10px;
|
||||
font-size: 13.5px;
|
||||
}
|
||||
|
||||
.user-desc {
|
||||
height: 45px;
|
||||
border-top: 1px whitesmoke solid;
|
||||
text-align: center;
|
||||
line-height: 45px;
|
||||
font-size: 13.5px;
|
||||
}
|
||||
|
||||
.blog-title {
|
||||
padding-left: 13.5px;
|
||||
}
|
||||
|
||||
.blog-content {
|
||||
padding-left: 13px;
|
||||
font-size: 13px;
|
||||
color: dimgray;
|
||||
}
|
||||
|
||||
.layui-tab-title {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.message-board {
|
||||
padding: 0 10px 10px;
|
||||
}
|
||||
|
||||
.message-board li {
|
||||
position: relative;
|
||||
padding: 10px 0;
|
||||
border-bottom: 1px solid #EEE;
|
||||
}
|
||||
|
||||
.message-board li p {
|
||||
padding-bottom: 10px;
|
||||
padding-top: 3px;
|
||||
}
|
||||
|
||||
.message-board li>span {
|
||||
color: #999;
|
||||
height: 24px;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
.message-board .message-board-reply {
|
||||
position: absolute;
|
||||
right: 20px;
|
||||
bottom: 12px;
|
||||
height: 24px;
|
||||
line-height: 24px;
|
||||
}
|
||||
@@ -1,39 +1,40 @@
|
||||
.result {
|
||||
.pear-result {
|
||||
text-align: center;
|
||||
|
||||
}
|
||||
.result .success svg {
|
||||
.pear-result .success svg {
|
||||
color: #32C682;
|
||||
text-align: center;
|
||||
margin-top: 40px;
|
||||
|
||||
}
|
||||
.result .error svg {
|
||||
.pear-result .error svg {
|
||||
color: #f56c6c;
|
||||
text-align: center;
|
||||
margin-top: 40px;
|
||||
|
||||
}
|
||||
.result .title {
|
||||
.pear-result .title {
|
||||
margin-top: 25px;
|
||||
|
||||
}
|
||||
.result .desc {
|
||||
.pear-result .description {
|
||||
margin-top: 25px;
|
||||
width: 60%;
|
||||
margin-left: 20%;
|
||||
color: rgba(0, 0, 0, .45);
|
||||
}
|
||||
.result .content {
|
||||
.pear-result .content {
|
||||
margin-top: 20px;
|
||||
width: 80%;
|
||||
border-radius: 10px;
|
||||
border-radius: 4px;
|
||||
background-color: whitesmoke;
|
||||
height: 200px;
|
||||
padding: 20px 32px;
|
||||
margin-left: 10%;
|
||||
margin-bottom: 30px;
|
||||
text-align: left;
|
||||
}
|
||||
.result .action {
|
||||
.pear-result .extra {
|
||||
padding-top: 10px;
|
||||
border-top: 1px whitesmoke solid;
|
||||
margin-top: 25px;
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
.button-primary{
|
||||
background-color: #5FB878;
|
||||
background-color: var(--global-primary-color);
|
||||
color: white;
|
||||
}
|
||||
.button-default{
|
||||
|
||||
@@ -0,0 +1,138 @@
|
||||
.layui-dropdown {
|
||||
border-radius: var(--global-border-radius);
|
||||
}
|
||||
|
||||
.layui-input {
|
||||
border-radius: var(--global-border-radius);
|
||||
}
|
||||
|
||||
.layui-form-onswitch {
|
||||
background-color: var(--global-primary-color) !important;
|
||||
}
|
||||
|
||||
.layui-form-onswitch {
|
||||
border-color: var(--global-primary-color);
|
||||
}
|
||||
|
||||
.layui-form-radio:hover>*,
|
||||
.layui-form-radioed>i,
|
||||
.layui-form-radioed {
|
||||
color: var(--global-primary-color) !important;
|
||||
}
|
||||
|
||||
.layui-form-checked[lay-skin=primary]>i {
|
||||
border-color: var(--global-primary-color) !important;
|
||||
background-color: var(--global-primary-color);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.layui-form-checkbox[lay-skin=primary]>.layui-icon-indeterminate,
|
||||
.layui-form-checkbox[lay-skin=primary]>.layui-icon-indeterminate:hover {
|
||||
border-color: var(--global-primary-color);
|
||||
}
|
||||
|
||||
.layui-form-checkbox[lay-skin=primary]>.layui-icon-indeterminate:before {
|
||||
background-color: var(--global-primary-color);
|
||||
}
|
||||
|
||||
.layui-btn {
|
||||
background-color: var(--global-primary-color);
|
||||
}
|
||||
|
||||
.layui-btn.layui-btn-primary:hover {
|
||||
border: 1px solid var(--global-primary-color);
|
||||
}
|
||||
|
||||
.layui-btn.layui-btn-normal {
|
||||
background-color: #1e9fff !important;
|
||||
}
|
||||
|
||||
.layui-btn.layui-btn-danger {
|
||||
background-color: #ff5722 !important;
|
||||
}
|
||||
|
||||
.layui-btn.layui-btn-warm {
|
||||
background-color: #ffb800 !important;
|
||||
}
|
||||
|
||||
.layui-btn.layui-btn-primary {
|
||||
background-color: transparent !important;
|
||||
color: #5f5f5f !important;
|
||||
}
|
||||
|
||||
.layui-card {
|
||||
border-radius: var(--global-border-radius);
|
||||
}
|
||||
|
||||
.layui-timeline-axis {
|
||||
color: var(--global-primary-color);
|
||||
}
|
||||
|
||||
.layui-table-checked {
|
||||
background-color: #f8f8f8;
|
||||
}
|
||||
|
||||
.layui-input:focus, .layui-textarea:focus {
|
||||
border-color: var(--global-primary-color) !important;
|
||||
box-shadow: 0 0 0 3px rgb(from var(--global-primary-color) r g b / 8%);
|
||||
}
|
||||
|
||||
.layui-form-select dl dd.layui-this {
|
||||
color: var(--global-primary-color);
|
||||
}
|
||||
|
||||
.layui-input-wrap .layui-input:focus+.layui-input-split {
|
||||
border-color: var(--global-primary-color)
|
||||
}
|
||||
|
||||
.layui-form-checked:hover>div, .layui-form-checked>div {
|
||||
background-color: var(--global-primary-color);
|
||||
}
|
||||
|
||||
.layui-form-checked:hover>i, .layui-form-checked>i {
|
||||
color: var(--global-primary-color);
|
||||
}
|
||||
|
||||
.layui-laypage .layui-laypage-curr .layui-laypage-em {
|
||||
background-color: var(--global-primary-color);
|
||||
}
|
||||
|
||||
.layui-laypage input:active {
|
||||
border-color: var(--global-primary-color);
|
||||
}
|
||||
|
||||
.layui-laypage a:hover {
|
||||
color: var(--global-primary-color);
|
||||
}
|
||||
|
||||
.layui-laypage input:focus, .layui-laypage select:focus {
|
||||
border-color: var(--global-primary-color) !important;
|
||||
}
|
||||
|
||||
.layui-laydate .layui-this, .layui-laydate .layui-this>div {
|
||||
background-color: var(--global-primary-color) !important;
|
||||
}
|
||||
|
||||
.layui-laydate-header i:hover, .layui-laydate-header span:hover {
|
||||
color: var(--global-primary-color);
|
||||
}
|
||||
|
||||
.layui-laydate-footer span:hover {
|
||||
color: var(--global-primary-color);
|
||||
}
|
||||
|
||||
.layui-tab-brief>.layui-tab-title .layui-this {
|
||||
color: var(--global-primary-color);
|
||||
}
|
||||
|
||||
.layui-tab-brief>.layui-tab-more li.layui-this:after, .layui-tab-brief>.layui-tab-title .layui-this:after {
|
||||
border-bottom: 2px solid var(--global-primary-color);
|
||||
}
|
||||
|
||||
.layui-progress-bar {
|
||||
background-color: var(--global-primary-color);
|
||||
}
|
||||
|
||||
.layui-form-checkbox[lay-skin=primary]:hover>i {
|
||||
border-color: var(--global-primary-color);
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
:root {
|
||||
|
||||
/* 主题颜色 */
|
||||
--global-primary-color: #16baaa;
|
||||
|
||||
/** 圆角度数 */
|
||||
--global-border-radius: 4px;
|
||||
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,977 @@
|
||||
.pear-container {
|
||||
padding: 10px;
|
||||
margin: 0px;
|
||||
box-sizing: border-box;
|
||||
background-color: transparent;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
*::-webkit-scrollbar {
|
||||
width: 0px;
|
||||
height: 0px;
|
||||
}
|
||||
|
||||
*::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
}
|
||||
|
||||
*::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
*::-webkit-scrollbar-thumb {
|
||||
background: #E6E6E6;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
*::-webkit-scrollbar-thumb:hover {
|
||||
background: #E6E6E6;
|
||||
}
|
||||
|
||||
*::-webkit-scrollbar-corner {
|
||||
background: #f6f6f6;
|
||||
}
|
||||
|
||||
.pear-row::after,
|
||||
.pear-row::before {
|
||||
content: "";
|
||||
display: table;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.pear-col {
|
||||
float: left;
|
||||
min-height: 1px;
|
||||
}
|
||||
|
||||
.pear-row * {
|
||||
box-sizing: border-box
|
||||
}
|
||||
|
||||
.pear-col-md1 {
|
||||
width: 4.16%;
|
||||
}
|
||||
|
||||
.pear-col-md2 {
|
||||
width: 8.33%;
|
||||
}
|
||||
|
||||
.pear-col-md3 {
|
||||
width: 12.5%;
|
||||
}
|
||||
|
||||
.pear-col-md4 {
|
||||
width: 16.66%;
|
||||
}
|
||||
|
||||
.pear-col-md5 {
|
||||
width: 20.83%;
|
||||
}
|
||||
|
||||
.pear-col-md6 {
|
||||
width: 25%;
|
||||
}
|
||||
|
||||
.pear-col-md7 {
|
||||
width: 29.16%;
|
||||
}
|
||||
|
||||
.pear-col-md8 {
|
||||
width: 33.33%;
|
||||
}
|
||||
|
||||
.pear-col-md9 {
|
||||
width: 37.5%;
|
||||
}
|
||||
|
||||
.pear-col-md10 {
|
||||
width: 41.66%;
|
||||
}
|
||||
|
||||
.pear-col-md11 {
|
||||
width: 45.83%;
|
||||
}
|
||||
|
||||
.pear-col-md12 {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.pear-col-md13 {
|
||||
width: 54.16%;
|
||||
}
|
||||
|
||||
.pear-col-md14 {
|
||||
width: 58.33%;
|
||||
}
|
||||
|
||||
.pear-col-md15 {
|
||||
width: 62.5%;
|
||||
}
|
||||
|
||||
.pear-col-md16 {
|
||||
width: 66.66%;
|
||||
}
|
||||
|
||||
.pear-col-md17 {
|
||||
width: 70.83%;
|
||||
}
|
||||
|
||||
.pear-col-md18 {
|
||||
width: 75%;
|
||||
}
|
||||
|
||||
.pear-col-md19 {
|
||||
width: 79.16%;
|
||||
}
|
||||
|
||||
.pear-col-md20 {
|
||||
width: 83.33%;
|
||||
}
|
||||
|
||||
.pear-col-md21 {
|
||||
width: 87.5%;
|
||||
}
|
||||
|
||||
.pear-col-md22 {
|
||||
width: 91.66%;
|
||||
}
|
||||
|
||||
.pear-col-md23 {
|
||||
width: 95.83%;
|
||||
}
|
||||
|
||||
.pear-col-md24 {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.pear-col-md-offset1 {
|
||||
margin-left: 4.16%;
|
||||
}
|
||||
|
||||
.pear-col-md-offset2 {
|
||||
margin-left: 8.33%;
|
||||
}
|
||||
|
||||
.pear-col-md-offset3 {
|
||||
margin-left: 12.5%;
|
||||
}
|
||||
|
||||
.pear-col-md-offset4 {
|
||||
margin-left: 16.66%;
|
||||
}
|
||||
|
||||
.pear-col-md-offset5 {
|
||||
margin-left: 20.83%;
|
||||
}
|
||||
|
||||
.pear-col-md-offset6 {
|
||||
margin-left: 25%;
|
||||
}
|
||||
|
||||
.pear-col-md-offset7 {
|
||||
margin-left: 29.16%;
|
||||
}
|
||||
|
||||
.pear-col-md-offset8 {
|
||||
margin-left: 33.33%;
|
||||
}
|
||||
|
||||
.pear-col-md-offset9 {
|
||||
margin-left: 37.5%;
|
||||
}
|
||||
|
||||
.pear-col-md-offset10 {
|
||||
margin-left: 41.66%;
|
||||
}
|
||||
|
||||
.pear-col-md-offset11 {
|
||||
margin-left: 45.83%;
|
||||
}
|
||||
|
||||
.pear-col-md-offset12 {
|
||||
margin-left: 50%;
|
||||
}
|
||||
|
||||
.pear-col-md-offset13 {
|
||||
margin-left: 54.16%;
|
||||
}
|
||||
|
||||
.pear-col-md-offset14 {
|
||||
margin-left: 58.33%;
|
||||
}
|
||||
|
||||
.pear-col-md-offset15 {
|
||||
margin-left: 62.5%;
|
||||
}
|
||||
|
||||
.pear-col-md-offset16 {
|
||||
margin-left: 66.66%;
|
||||
}
|
||||
|
||||
.pear-col-md-offset17 {
|
||||
margin-left: 70.83%;
|
||||
}
|
||||
|
||||
.pear-col-md-offset18 {
|
||||
margin-left: 75%;
|
||||
}
|
||||
|
||||
.pear-col-md-offset19 {
|
||||
margin-left: 79.16%;
|
||||
}
|
||||
|
||||
.pear-col-md-offset20 {
|
||||
margin-left: 83.33%;
|
||||
}
|
||||
|
||||
.pear-col-md-offset21 {
|
||||
margin-left: 87.5%;
|
||||
}
|
||||
|
||||
.pear-col-md-offset22 {
|
||||
margin-left: 91.66%;
|
||||
}
|
||||
|
||||
.pear-col-md-offset23 {
|
||||
margin-left: 95.83%;
|
||||
}
|
||||
|
||||
.pear-col-md-offset24 {
|
||||
margin-left: 100%;
|
||||
}
|
||||
|
||||
|
||||
@media all and (max-width:768px) {
|
||||
.pear-col-xs1 {
|
||||
width: 4.16%;
|
||||
}
|
||||
|
||||
.pear-col-xs2 {
|
||||
width: 8.33%;
|
||||
}
|
||||
|
||||
.pear-col-xs3 {
|
||||
width: 12.5%;
|
||||
}
|
||||
|
||||
.pear-col-xs4 {
|
||||
width: 16.66%;
|
||||
}
|
||||
|
||||
.pear-col-xs5 {
|
||||
width: 20.83%;
|
||||
}
|
||||
|
||||
.pear-col-xs6 {
|
||||
width: 25%;
|
||||
}
|
||||
|
||||
.pear-col-xs7 {
|
||||
width: 29.16%;
|
||||
}
|
||||
|
||||
.pear-col-xs8 {
|
||||
width: 33.33%;
|
||||
}
|
||||
|
||||
.pear-col-xs9 {
|
||||
width: 37.5%;
|
||||
}
|
||||
|
||||
.pear-col-xs10 {
|
||||
width: 41.66%;
|
||||
}
|
||||
|
||||
.pear-col-xs11 {
|
||||
width: 45.83%;
|
||||
}
|
||||
|
||||
.pear-col-xs12 {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.pear-col-xs13 {
|
||||
width: 54.16%;
|
||||
}
|
||||
|
||||
.pear-col-xs14 {
|
||||
width: 58.33%;
|
||||
}
|
||||
|
||||
.pear-col-xs15 {
|
||||
width: 62.5%;
|
||||
}
|
||||
|
||||
.pear-col-xs16 {
|
||||
width: 66.66%;
|
||||
}
|
||||
|
||||
.pear-col-xs17 {
|
||||
width: 70.83%;
|
||||
}
|
||||
|
||||
.pear-col-xs18 {
|
||||
width: 75%;
|
||||
}
|
||||
|
||||
.pear-col-xs19 {
|
||||
width: 79.16%;
|
||||
}
|
||||
|
||||
.pear-col-xs20 {
|
||||
width: 83.33%;
|
||||
}
|
||||
|
||||
.pear-col-xs21 {
|
||||
width: 87.5%;
|
||||
}
|
||||
|
||||
.pear-col-xs22 {
|
||||
width: 91.66%;
|
||||
}
|
||||
|
||||
.pear-col-xs23 {
|
||||
width: 95.83%;
|
||||
}
|
||||
|
||||
.pear-col-xs24 {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.pear-col-xs-offset1 {
|
||||
margin-left: 4.16%;
|
||||
}
|
||||
|
||||
.pear-col-xs-offset2 {
|
||||
margin-left: 8.33%;
|
||||
}
|
||||
|
||||
.pear-col-xs-offset3 {
|
||||
margin-left: 12.5%;
|
||||
}
|
||||
|
||||
.pear-col-xs-offset4 {
|
||||
margin-left: 16.66%;
|
||||
}
|
||||
|
||||
.pear-col-xs-offset5 {
|
||||
margin-left: 20.83%;
|
||||
}
|
||||
|
||||
.pear-col-xs-offset6 {
|
||||
margin-left: 25%;
|
||||
}
|
||||
|
||||
.pear-col-xs-offset7 {
|
||||
margin-left: 29.16%;
|
||||
}
|
||||
|
||||
.pear-col-xs-offset8 {
|
||||
margin-left: 33.33%;
|
||||
}
|
||||
|
||||
.pear-col-xs-offset9 {
|
||||
margin-left: 37.5%;
|
||||
}
|
||||
|
||||
.pear-col-xs-offset10 {
|
||||
margin-left: 41.66%;
|
||||
}
|
||||
|
||||
.pear-col-xs-offset11 {
|
||||
margin-left: 45.83%;
|
||||
}
|
||||
|
||||
.pear-col-xs-offset12 {
|
||||
margin-left: 50%;
|
||||
}
|
||||
|
||||
.pear-col-xs-offset13 {
|
||||
margin-left: 54.16%;
|
||||
}
|
||||
|
||||
.pear-col-xs-offset14 {
|
||||
margin-left: 58.33%;
|
||||
}
|
||||
|
||||
.pear-col-xs-offset15 {
|
||||
margin-left: 62.5%;
|
||||
}
|
||||
|
||||
.pear-col-xs-offset16 {
|
||||
margin-left: 66.66%;
|
||||
}
|
||||
|
||||
.pear-col-xs-offset17 {
|
||||
margin-left: 70.83%;
|
||||
}
|
||||
|
||||
.pear-col-xs-offset18 {
|
||||
margin-left: 75%;
|
||||
}
|
||||
|
||||
.pear-col-xs-offset19 {
|
||||
margin-left: 79.16%;
|
||||
}
|
||||
|
||||
.pear-col-xs-offset20 {
|
||||
margin-left: 83.33%;
|
||||
}
|
||||
|
||||
.pear-col-xs-offset21 {
|
||||
margin-left: 87.5%;
|
||||
}
|
||||
|
||||
.pear-col-xs-offset22 {
|
||||
margin-left: 91.66%;
|
||||
}
|
||||
|
||||
.pear-col-xs-offset23 {
|
||||
margin-left: 95.83%;
|
||||
}
|
||||
|
||||
.pear-col-xs-offset24 {
|
||||
margin-left: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (min-width:768px) and (max-width:992px) {
|
||||
.pear-col-sm1 {
|
||||
width: 4.16%;
|
||||
}
|
||||
|
||||
.pear-col-sm2 {
|
||||
width: 8.33%;
|
||||
}
|
||||
|
||||
.pear-col-sm3 {
|
||||
width: 12.5%;
|
||||
}
|
||||
|
||||
.pear-col-sm4 {
|
||||
width: 16.66%;
|
||||
}
|
||||
|
||||
.pear-col-sm5 {
|
||||
width: 20.83%;
|
||||
}
|
||||
|
||||
.pear-col-sm6 {
|
||||
width: 25%;
|
||||
}
|
||||
|
||||
.pear-col-sm7 {
|
||||
width: 29.16%;
|
||||
}
|
||||
|
||||
.pear-col-sm8 {
|
||||
width: 33.33%;
|
||||
}
|
||||
|
||||
.pear-col-sm9 {
|
||||
width: 37.5%;
|
||||
}
|
||||
|
||||
.pear-col-sm10 {
|
||||
width: 41.66%;
|
||||
}
|
||||
|
||||
.pear-col-sm11 {
|
||||
width: 45.83%;
|
||||
}
|
||||
|
||||
.pear-col-sm12 {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.pear-col-sm13 {
|
||||
width: 54.16%;
|
||||
}
|
||||
|
||||
.pear-col-sm14 {
|
||||
width: 58.33%;
|
||||
}
|
||||
|
||||
.pear-col-sm15 {
|
||||
width: 62.5%;
|
||||
}
|
||||
|
||||
.pear-col-sm16 {
|
||||
width: 66.66%;
|
||||
}
|
||||
|
||||
.pear-col-sm17 {
|
||||
width: 70.83%;
|
||||
}
|
||||
|
||||
.pear-col-sm18 {
|
||||
width: 75%;
|
||||
}
|
||||
|
||||
.pear-col-sm19 {
|
||||
width: 79.16%;
|
||||
}
|
||||
|
||||
.pear-col-sm20 {
|
||||
width: 83.33%;
|
||||
}
|
||||
|
||||
.pear-col-sm21 {
|
||||
width: 87.5%;
|
||||
}
|
||||
|
||||
.pear-col-sm22 {
|
||||
width: 91.66%;
|
||||
}
|
||||
|
||||
.pear-col-sm23 {
|
||||
width: 95.83%;
|
||||
}
|
||||
|
||||
.pear-col-sm24 {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.pear-col-sm-offset1 {
|
||||
margin-left: 4.16%;
|
||||
}
|
||||
|
||||
.pear-col-sm-offset2 {
|
||||
margin-left: 8.33%;
|
||||
}
|
||||
|
||||
.pear-col-sm-offset3 {
|
||||
margin-left: 12.5%;
|
||||
}
|
||||
|
||||
.pear-col-sm-offset4 {
|
||||
margin-left: 16.66%;
|
||||
}
|
||||
|
||||
.pear-col-sm-offset5 {
|
||||
margin-left: 20.83%;
|
||||
}
|
||||
|
||||
.pear-col-sm-offset6 {
|
||||
margin-left: 25%;
|
||||
}
|
||||
|
||||
.pear-col-sm-offset7 {
|
||||
margin-left: 29.16%;
|
||||
}
|
||||
|
||||
.pear-col-sm-offset8 {
|
||||
margin-left: 33.33%;
|
||||
}
|
||||
|
||||
.pear-col-sm-offset9 {
|
||||
margin-left: 37.5%;
|
||||
}
|
||||
|
||||
.pear-col-sm-offset10 {
|
||||
margin-left: 41.66%;
|
||||
}
|
||||
|
||||
.pear-col-sm-offset11 {
|
||||
margin-left: 45.83%;
|
||||
}
|
||||
|
||||
.pear-col-sm-offset12 {
|
||||
margin-left: 50%;
|
||||
}
|
||||
|
||||
.pear-col-sm-offset13 {
|
||||
margin-left: 54.16%;
|
||||
}
|
||||
|
||||
.pear-col-sm-offset14 {
|
||||
margin-left: 58.33%;
|
||||
}
|
||||
|
||||
.pear-col-sm-offset15 {
|
||||
margin-left: 62.5%;
|
||||
}
|
||||
|
||||
.pear-col-sm-offset16 {
|
||||
margin-left: 66.66%;
|
||||
}
|
||||
|
||||
.pear-col-sm-offset17 {
|
||||
margin-left: 70.83%;
|
||||
}
|
||||
|
||||
.pear-col-sm-offset18 {
|
||||
margin-left: 75%;
|
||||
}
|
||||
|
||||
.pear-col-sm-offset19 {
|
||||
margin-left: 79.16%;
|
||||
}
|
||||
|
||||
.pear-col-sm-offset20 {
|
||||
margin-left: 83.33%;
|
||||
}
|
||||
|
||||
.pear-col-sm-offset21 {
|
||||
margin-left: 87.5%;
|
||||
}
|
||||
|
||||
.pear-col-sm-offset22 {
|
||||
margin-left: 91.66%;
|
||||
}
|
||||
|
||||
.pear-col-sm-offset23 {
|
||||
margin-left: 95.83%;
|
||||
}
|
||||
|
||||
.pear-col-sm-offset24 {
|
||||
margin-left: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (min-width:1200px) {
|
||||
.pear-col-lg1 {
|
||||
width: 4.16%;
|
||||
}
|
||||
|
||||
.pear-col-lg2 {
|
||||
width: 8.33%;
|
||||
}
|
||||
|
||||
.pear-col-lg3 {
|
||||
width: 12.5%;
|
||||
}
|
||||
|
||||
.pear-col-lg4 {
|
||||
width: 16.66%;
|
||||
}
|
||||
|
||||
.pear-col-lg5 {
|
||||
width: 20.83%;
|
||||
}
|
||||
|
||||
.pear-col-lg6 {
|
||||
width: 25%;
|
||||
}
|
||||
|
||||
.pear-col-lg7 {
|
||||
width: 29.16%;
|
||||
}
|
||||
|
||||
.pear-col-lg8 {
|
||||
width: 33.33%;
|
||||
}
|
||||
|
||||
.pear-col-lg9 {
|
||||
width: 37.5%;
|
||||
}
|
||||
|
||||
.pear-col-lg10 {
|
||||
width: 41.66%;
|
||||
}
|
||||
|
||||
.pear-col-lg11 {
|
||||
width: 45.83%;
|
||||
}
|
||||
|
||||
.pear-col-lg12 {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.pear-col-lg13 {
|
||||
width: 54.16%;
|
||||
}
|
||||
|
||||
.pear-col-lg14 {
|
||||
width: 58.33%;
|
||||
}
|
||||
|
||||
.pear-col-lg15 {
|
||||
width: 62.5%;
|
||||
}
|
||||
|
||||
.pear-col-lg16 {
|
||||
width: 66.66%;
|
||||
}
|
||||
|
||||
.pear-col-lg17 {
|
||||
width: 70.83%;
|
||||
}
|
||||
|
||||
.pear-col-lg18 {
|
||||
width: 75%;
|
||||
}
|
||||
|
||||
.pear-col-lg19 {
|
||||
width: 79.16%;
|
||||
}
|
||||
|
||||
.pear-col-lg20 {
|
||||
width: 83.33%;
|
||||
}
|
||||
|
||||
.pear-col-lg21 {
|
||||
width: 87.5%;
|
||||
}
|
||||
|
||||
.pear-col-lg22 {
|
||||
width: 91.66%;
|
||||
}
|
||||
|
||||
.pear-col-lg23 {
|
||||
width: 95.83%;
|
||||
}
|
||||
|
||||
.pear-col-lg24 {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.pear-col-lg-offset1 {
|
||||
margin-left: 4.16%;
|
||||
}
|
||||
|
||||
.pear-col-lg-offset2 {
|
||||
margin-left: 8.33%;
|
||||
}
|
||||
|
||||
.pear-col-lg-offset3 {
|
||||
margin-left: 12.5%;
|
||||
}
|
||||
|
||||
.pear-col-lg-offset4 {
|
||||
margin-left: 16.66%;
|
||||
}
|
||||
|
||||
.pear-col-lg-offset5 {
|
||||
margin-left: 20.83%;
|
||||
}
|
||||
|
||||
.pear-col-lg-offset6 {
|
||||
margin-left: 25%;
|
||||
}
|
||||
|
||||
.pear-col-lg-offset7 {
|
||||
margin-left: 29.16%;
|
||||
}
|
||||
|
||||
.pear-col-lg-offset8 {
|
||||
margin-left: 33.33%;
|
||||
}
|
||||
|
||||
.pear-col-lg-offset9 {
|
||||
margin-left: 37.5%;
|
||||
}
|
||||
|
||||
.pear-col-lg-offset10 {
|
||||
margin-left: 41.66%;
|
||||
}
|
||||
|
||||
.pear-col-lg-offset11 {
|
||||
margin-left: 45.83%;
|
||||
}
|
||||
|
||||
.pear-col-lg-offset12 {
|
||||
margin-left: 50%;
|
||||
}
|
||||
|
||||
.pear-col-lg-offset13 {
|
||||
margin-left: 54.16%;
|
||||
}
|
||||
|
||||
.pear-col-lg-offset14 {
|
||||
margin-left: 58.33%;
|
||||
}
|
||||
|
||||
.pear-col-lg-offset15 {
|
||||
margin-left: 62.5%;
|
||||
}
|
||||
|
||||
.pear-col-lg-offset16 {
|
||||
margin-left: 66.66%;
|
||||
}
|
||||
|
||||
.pear-col-lg-offset17 {
|
||||
margin-left: 70.83%;
|
||||
}
|
||||
|
||||
.pear-col-lg-offset18 {
|
||||
margin-left: 75%;
|
||||
}
|
||||
|
||||
.pear-col-lg-offset19 {
|
||||
margin-left: 79.16%;
|
||||
}
|
||||
|
||||
.pear-col-lg-offset20 {
|
||||
margin-left: 83.33%;
|
||||
}
|
||||
|
||||
.pear-col-lg-offset21 {
|
||||
margin-left: 87.5%;
|
||||
}
|
||||
|
||||
.pear-col-lg-offset22 {
|
||||
margin-left: 91.66%;
|
||||
}
|
||||
|
||||
.pear-col-lg-offset23 {
|
||||
margin-left: 95.83%;
|
||||
}
|
||||
|
||||
.pear-col-lg-offset24 {
|
||||
margin-left: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.pear-col-space1 {
|
||||
margin: -.5px
|
||||
}
|
||||
|
||||
.pear-col-space1>* {
|
||||
padding: .5px
|
||||
}
|
||||
|
||||
.pear-col-space2 {
|
||||
margin: -1px
|
||||
}
|
||||
|
||||
.pear-col-space2>* {
|
||||
padding: 1px
|
||||
}
|
||||
|
||||
.pear-col-space4 {
|
||||
margin: -2px
|
||||
}
|
||||
|
||||
.pear-col-space4>* {
|
||||
padding: 2px
|
||||
}
|
||||
|
||||
.pear-col-space5 {
|
||||
margin: -2.5px
|
||||
}
|
||||
|
||||
.pear-col-space5>* {
|
||||
padding: 2.5px
|
||||
}
|
||||
|
||||
.pear-col-space6 {
|
||||
margin: -3px
|
||||
}
|
||||
|
||||
.pear-col-space6>* {
|
||||
padding: 3px
|
||||
}
|
||||
|
||||
.pear-col-space8 {
|
||||
margin: -4px
|
||||
}
|
||||
|
||||
.pear-col-space8>* {
|
||||
padding: 4px
|
||||
}
|
||||
|
||||
.pear-col-space10 {
|
||||
margin: -5px
|
||||
}
|
||||
|
||||
.pear-col-space10>* {
|
||||
padding: 5px
|
||||
}
|
||||
|
||||
.pear-col-space12 {
|
||||
margin: -6px
|
||||
}
|
||||
|
||||
.pear-col-space12>* {
|
||||
padding: 6px
|
||||
}
|
||||
|
||||
.pear-col-space14 {
|
||||
margin: -7px
|
||||
}
|
||||
|
||||
.pear-col-space14>* {
|
||||
padding: 7px
|
||||
}
|
||||
|
||||
.pear-col-space15 {
|
||||
margin: -7.5px
|
||||
}
|
||||
|
||||
.pear-col-space15>* {
|
||||
padding: 7.5px
|
||||
}
|
||||
|
||||
.pear-col-space16 {
|
||||
margin: -8px
|
||||
}
|
||||
|
||||
.pear-col-space16>* {
|
||||
padding: 8px
|
||||
}
|
||||
|
||||
.pear-col-space18 {
|
||||
margin: -9px
|
||||
}
|
||||
|
||||
.pear-col-space18>* {
|
||||
padding: 9px
|
||||
}
|
||||
|
||||
.pear-col-space20 {
|
||||
margin: -10px
|
||||
}
|
||||
|
||||
.pear-col-space20>* {
|
||||
padding: 10px
|
||||
}
|
||||
|
||||
.pear-col-space22 {
|
||||
margin: -11px
|
||||
}
|
||||
|
||||
.pear-col-space22>* {
|
||||
padding: 11px
|
||||
}
|
||||
|
||||
.pear-col-space24 {
|
||||
margin: -12px
|
||||
}
|
||||
|
||||
.pear-col-space24>* {
|
||||
padding: 12px
|
||||
}
|
||||
|
||||
.pear-col-space25 {
|
||||
margin: -12.5px
|
||||
}
|
||||
|
||||
.pear-col-space25>* {
|
||||
padding: 12.5px
|
||||
}
|
||||
|
||||
.pear-col-space26 {
|
||||
margin: -13px
|
||||
}
|
||||
|
||||
.pear-col-space26>* {
|
||||
padding: 13px
|
||||
}
|
||||
|
||||
.pear-col-space28 {
|
||||
margin: -14px
|
||||
}
|
||||
|
||||
.pear-col-space28>* {
|
||||
padding: 14px
|
||||
}
|
||||
|
||||
.pear-col-space30 {
|
||||
margin: -15px
|
||||
}
|
||||
|
||||
.pear-col-space30>* {
|
||||
padding: 15px
|
||||
}
|
||||
@@ -1,7 +1,5 @@
|
||||
.pear-container {
|
||||
margin: 10px;
|
||||
background-color: whitesmoke;
|
||||
width: calc(100vw - 20px);
|
||||
}
|
||||
|
||||
body::-webkit-scrollbar {
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
line-height: 48px;
|
||||
}
|
||||
|
||||
.pear-nav-tree .layui-nav-item>a .layui-nav-more {
|
||||
.pear-nav-tree .layui-nav-item>a .layui-nav-more {
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
@@ -24,7 +24,8 @@
|
||||
width: 0px;
|
||||
height: 0px;
|
||||
}
|
||||
.pear-side-scroll{
|
||||
|
||||
.pear-side-scroll {
|
||||
width: 230px;
|
||||
}
|
||||
|
||||
@@ -33,7 +34,7 @@
|
||||
.layui-nav-tree .layui-this,
|
||||
.layui-nav-tree .layui-this>a,
|
||||
.layui-nav-tree .layui-this>a:hover {
|
||||
background-color: #5FB878;
|
||||
background-color: var(--global-primary-color);
|
||||
}
|
||||
|
||||
.pear-nav-tree .toast {
|
||||
@@ -100,7 +101,7 @@
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.pear-nav-control.pc li{
|
||||
.pear-nav-control.pc li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
@@ -112,15 +113,15 @@
|
||||
background-color: whitesmoke;
|
||||
}
|
||||
|
||||
.pear-nav-control.pc *{
|
||||
color: darkslategray!important;
|
||||
.pear-nav-control.pc * {
|
||||
color: darkslategray !important;
|
||||
}
|
||||
|
||||
.pear-nav-control.pc .layui-nav-bar{
|
||||
display: none!important;
|
||||
.pear-nav-control.pc .layui-nav-bar {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.pear-nav-control .layui-nav-child{
|
||||
.pear-nav-control .layui-nav-child {
|
||||
border: 1px solid whitesmoke;
|
||||
border-radius: 6px;
|
||||
width: 150px;
|
||||
@@ -134,6 +135,7 @@
|
||||
display: block !important;
|
||||
background: transparent !important;
|
||||
}
|
||||
|
||||
.pear-nav-tree .layui-nav-hover:before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
@@ -147,66 +149,73 @@
|
||||
display: block;
|
||||
box-shadow: 0px 0px 3px lightgray;
|
||||
}
|
||||
|
||||
.pear-nav-tree .layui-nav-hover a span {
|
||||
display: inline-block !important;
|
||||
}
|
||||
|
||||
.pear-nav-tree .layui-nav-hover a i {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pear-nav-tree .layui-nav-child dd a span {
|
||||
margin-left: 26px !important;
|
||||
}
|
||||
|
||||
.pear-nav-tree .layui-nav-child dd a i {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pear-nav-tree .layui-nav-hover dd a span {
|
||||
margin-left: 0px !important;
|
||||
}
|
||||
|
||||
.pear-nav-tree dl {
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
/** 亮 样 式*/
|
||||
.dark-theme .layui-nav-tree{
|
||||
background-color: #28333E!important;
|
||||
.dark-theme .layui-nav-tree {
|
||||
background-color: #28333E !important;
|
||||
}
|
||||
|
||||
.light-theme{
|
||||
background-color: white!important;
|
||||
.light-theme {
|
||||
background-color: white !important;
|
||||
}
|
||||
|
||||
.light-theme .pear-nav-tree,
|
||||
.light-theme .pear-nav-tree .layui-nav-hover:before,
|
||||
.light-theme .pear-nav-tree .layui-nav-child{
|
||||
background-color: white!important;
|
||||
.light-theme .pear-nav-tree .layui-nav-child {
|
||||
background-color: white !important;
|
||||
}
|
||||
|
||||
.light-theme .pear-nav-tree a,
|
||||
.light-theme .pear-nav-tree .layui-nav-more{
|
||||
color: dimgray!important;
|
||||
.light-theme .pear-nav-tree .layui-nav-more {
|
||||
color: dimgray !important;
|
||||
border-top-color: dimgray;
|
||||
}
|
||||
|
||||
.light-theme .pear-nav-tree .layui-nav-itemed>a>.layui-nav-more{
|
||||
border-top-color: white!important;
|
||||
border-bottom-color: dimgray!important;
|
||||
.light-theme .pear-nav-tree .layui-nav-itemed>a>.layui-nav-more {
|
||||
border-top-color: white !important;
|
||||
border-bottom-color: dimgray !important;
|
||||
}
|
||||
|
||||
.light-theme .pear-nav-tree .layui-this a,
|
||||
.light-theme .pear-nav-tree .layui-this{
|
||||
color: white!important;
|
||||
background-color: #5FB878!important;
|
||||
|
||||
.light-theme .pear-nav-tree .layui-this {
|
||||
color: white !important;
|
||||
background-color: var(--global-primary-color) !important;
|
||||
|
||||
}
|
||||
|
||||
.light-theme .pear-nav-tree .layui-this a:hover{
|
||||
background-color: #5FB878!important;
|
||||
|
||||
.light-theme .pear-nav-tree .layui-this a:hover {
|
||||
background-color: var(--global-primary-color) !important;
|
||||
|
||||
}
|
||||
|
||||
.light-theme .pear-nav-tree .layui-nav-bar{
|
||||
|
||||
.light-theme .pear-nav-tree .layui-nav-bar {
|
||||
display: none;
|
||||
|
||||
|
||||
}
|
||||
|
||||
/** 下 拉 图 标 */
|
||||
@@ -247,6 +256,7 @@
|
||||
width: 12px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.pear-nav-tree.arrow .layui-nav-child.layui-nav-hover>dd>a>.layui-nav-more {
|
||||
display: inline-block !important;
|
||||
transform: rotate(270deg);
|
||||
@@ -264,4 +274,4 @@
|
||||
content: '\e61a';
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
/* 搜索面板 */
|
||||
.menu-search-content .layui-input {
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
.menu-search-content .layui-input:focus {
|
||||
border: 1px solid var(--global-primary-color)!important;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.menu-search-content {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.menu-search-input-wrapper {
|
||||
width: 100%;
|
||||
padding: 15px 15px;
|
||||
}
|
||||
|
||||
.menu-search-no-data {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
height: 122px;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.menu-search-list {
|
||||
width: 100%;
|
||||
padding: 5px 15px;
|
||||
}
|
||||
|
||||
.menu-search-list li {
|
||||
position: relative;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
flex-wrap: nowrap;
|
||||
height: 50px;
|
||||
margin-bottom: 8px;
|
||||
padding: 0px 10px;
|
||||
color: currentColor;
|
||||
font-size: 14px;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0 1px 3px #d4d9e1;
|
||||
cursor: pointer;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.menu-search-list li.this,
|
||||
.menu-search-list li:hover {
|
||||
background-color: var(--global-primary-color);
|
||||
color: white;
|
||||
}
|
||||
.menu-search-tips {
|
||||
margin-bottom: 15px;
|
||||
padding: 0 15px;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.menu-search-tips>div {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.menu-search-tips .mr-1 {
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
.menu-search-tips .mr-5 {
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.menu-search-tips .w-5 {
|
||||
width: 14px;
|
||||
}
|
||||
|
||||
.menu-search-tips kbd {
|
||||
line-height: 1.5;
|
||||
border: 1px solid #e5e7eb;
|
||||
font-size: 10px;
|
||||
text-align: center;
|
||||
padding: 2px 6px;
|
||||
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
|
||||
border-radius: 5px;
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
.pear-message-center {
|
||||
width: 360px;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.pear-message-center .layui-tab .layui-tab-title{
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.pear-message-center .layui-tab .layui-tab-title .layui-this::after {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pear-message-center .layui-tab .layui-tab-title li {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.pear-message-center .message-item img {
|
||||
margin-left: 8px;
|
||||
width: 33px !important;
|
||||
height: 33px !important;
|
||||
border-radius: 50px;
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
.pear-message-center .message-item {
|
||||
height: 64px !important;
|
||||
line-height: 45px !important;
|
||||
padding-right: 20px;
|
||||
padding-left: 20px;
|
||||
border-bottom: 1px solid whitesmoke;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
|
||||
.pear-message-center .message-item .extra {
|
||||
float: right;
|
||||
right: 10px;
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
}
|
||||
|
||||
#nprogress .bar {
|
||||
background: #29d;
|
||||
background: var(--global-primary-color);
|
||||
|
||||
position: fixed;
|
||||
z-index: 999999;
|
||||
@@ -22,7 +22,7 @@
|
||||
right: 0px;
|
||||
width: 100px;
|
||||
height: 100%;
|
||||
box-shadow: 0 0 10px #29d, 0 0 5px #29d;
|
||||
box-shadow: 0 0 10px var(--global-primary-color), 0 0 5px var(--global-primary-color);
|
||||
opacity: 1.0;
|
||||
|
||||
-webkit-transform: rotate(3deg) translate(0px, -4px);
|
||||
@@ -45,8 +45,8 @@
|
||||
box-sizing: border-box;
|
||||
|
||||
border: solid 2px transparent;
|
||||
border-top-color: #29d;
|
||||
border-left-color: #29d;
|
||||
border-top-color: var(--global-primary-color);
|
||||
border-left-color: var(--global-primary-color);
|
||||
border-radius: 50%;
|
||||
|
||||
-webkit-animation: nprogress-spinner 400ms linear infinite;
|
||||
|
||||
@@ -0,0 +1,154 @@
|
||||
.pear-page {
|
||||
width: 100%;
|
||||
position: relative;
|
||||
overflow-y: auto;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.pear-page .dot {
|
||||
width: 5px;
|
||||
height: 24px;
|
||||
background-color: #5FB878;
|
||||
margin-top: 8px;
|
||||
margin-left: 15px;
|
||||
border-radius: 2px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.pear-page .pear-page-title {
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
background-color: white;
|
||||
border: whitesmoke 1px solid;
|
||||
}
|
||||
|
||||
.pear-page .pear-page-content,
|
||||
.pear-page .pear-page-content iframe {
|
||||
width: 100%;
|
||||
height: calc(100% - 0px) !important;
|
||||
}
|
||||
|
||||
.pear-page .pear-page-content iframe {
|
||||
height: calc(100% - 4px) !important;
|
||||
}
|
||||
|
||||
.pear-page-loading {
|
||||
position: absolute;
|
||||
display: none;
|
||||
width: 100%;
|
||||
height: calc(100% - 0px) !important;
|
||||
background-color: #fff;
|
||||
top: 0px;
|
||||
z-index: 19;
|
||||
}
|
||||
|
||||
.pear-page-loading.close {
|
||||
animation: close 1s;
|
||||
-webkit-animation: close 1s;
|
||||
animation-fill-mode: forwards;
|
||||
}
|
||||
|
||||
.ball-loader {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
-ms-transform: translate(-50%, -50%);
|
||||
-webkit-transform: translate(-50%, -50%)
|
||||
}
|
||||
|
||||
.ball-loader>span,
|
||||
.signal-loader>span {
|
||||
background-color: #4aca85;
|
||||
display: inline-block
|
||||
}
|
||||
|
||||
.ball-loader>span:nth-child(1),
|
||||
.ball-loader.sm>span:nth-child(1),
|
||||
.signal-loader>span:nth-child(1),
|
||||
.signal-loader.sm>span:nth-child(1) {
|
||||
-webkit-animation-delay: 0s;
|
||||
animation-delay: 0s
|
||||
}
|
||||
|
||||
.ball-loader>span:nth-child(2),
|
||||
.ball-loader.sm>span:nth-child(2),
|
||||
.signal-loader>span:nth-child(2),
|
||||
.signal-loader.sm>span:nth-child(2) {
|
||||
-webkit-animation-delay: .1s;
|
||||
animation-delay: .1s
|
||||
}
|
||||
|
||||
.ball-loader>span:nth-child(3),
|
||||
.ball-loader.sm>span:nth-child(3),
|
||||
.signal-loader>span:nth-child(3),
|
||||
.signal-loader.sm>span:nth-child(3) {
|
||||
-webkit-animation-delay: .15s;
|
||||
animation-delay: .15s
|
||||
}
|
||||
|
||||
.ball-loader>span:nth-child(4),
|
||||
.ball-loader.sm>span:nth-child(4),
|
||||
.signal-loader>span:nth-child(4),
|
||||
.signal-loader.sm>span:nth-child(4) {
|
||||
-webkit-animation-delay: .2s;
|
||||
animation-delay: .2s
|
||||
}
|
||||
|
||||
.ball-loader>span {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin: 0 3px;
|
||||
border-radius: 50%;
|
||||
transform: scale(0);
|
||||
-ms-transform: scale(0);
|
||||
-webkit-transform: scale(0);
|
||||
animation: ball-load 1s ease-in-out infinite;
|
||||
-webkit-animation: 1s ball-load ease-in-out infinite
|
||||
}
|
||||
|
||||
@-webkit-keyframes ball-load {
|
||||
0% {
|
||||
transform: scale(0);
|
||||
-webkit-transform: scale(0)
|
||||
}
|
||||
|
||||
50% {
|
||||
transform: scale(1);
|
||||
-webkit-transform: scale(1)
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: scale(0);
|
||||
-webkit-transform: scale(0)
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes ball-load {
|
||||
0% {
|
||||
transform: scale(0);
|
||||
-webkit-transform: scale(0)
|
||||
}
|
||||
|
||||
50% {
|
||||
transform: scale(1);
|
||||
-webkit-transform: scale(1)
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: scale(0);
|
||||
-webkit-transform: scale(0)
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes close {
|
||||
0% {
|
||||
opacity: 1;
|
||||
/*display: block;*/
|
||||
}
|
||||
|
||||
100% {
|
||||
opacity: 0;
|
||||
/*display: none;*/
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,314 @@
|
||||
.pear-tab-page {
|
||||
margin: 0px;
|
||||
overflow: hidden;
|
||||
height: 100% !important;
|
||||
}
|
||||
|
||||
.pear-tab-page .layui-tab-content {
|
||||
height: calc(100% - 42px) !important;
|
||||
}
|
||||
|
||||
.pear-tab-page .layui-tab-content .layui-tab-item {
|
||||
overflow-y: auto;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.pear-tab-page-menu{
|
||||
box-shadow: none;
|
||||
border-radius: 4px!important;
|
||||
overflow: hidden;
|
||||
box-shadow: 2px 0 6px rgba(0, 21, 41, .10);
|
||||
}
|
||||
|
||||
.pear-tab-page-menu .item{
|
||||
height: 20px;
|
||||
padding-left: 18px;
|
||||
padding-top: 7px;
|
||||
padding-bottom: 7px;
|
||||
color: #333;
|
||||
font-size: 13.5px;
|
||||
line-height: 20px;
|
||||
cursor:pointer;
|
||||
}
|
||||
.pear-tab-page-menu .item:hover{
|
||||
background: var(--global-primary-color);
|
||||
color: white;
|
||||
}
|
||||
|
||||
.pear-tab-page .layui-tab-content {
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.pear-tab-page > .layui-tab-title {
|
||||
border: none;
|
||||
border: 1px solid whitesmoke;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.pear-tab-page > .layui-tab-title li {
|
||||
border-right: 1px solid whitesmoke;
|
||||
color: dimgray;
|
||||
font-size: 13.5px;
|
||||
}
|
||||
|
||||
.pear-tab-page > .layui-tab-title .layui-tab-bar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pear-tab-page .layui-nav-more {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pear-tab-page > .layui-tab-title .layui-this:after {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pear-tab-page > .layui-tab-title .pear-tab-page-active {
|
||||
display: inline-block;
|
||||
background-color: lightgray;
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
border-radius: 30px;
|
||||
margin-right: 12px;
|
||||
}
|
||||
|
||||
.pear-tab-page > .layui-tab-title .layui-this .pear-tab-page-active {
|
||||
background-color: var(--global-primary-color) !important;
|
||||
}
|
||||
|
||||
.pear-tab-page > .layui-tab-title .layui-tab-close:hover {
|
||||
background-color: white;
|
||||
line-height: 19px;
|
||||
color: gray;
|
||||
}
|
||||
|
||||
.pear-tab-page > .layui-tab-title .disable-close+.layui-tab-close {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pear-tab-page > .layui-tab-title .able-close+.layui-tab-close {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.pear-tab-page .layui-tab-close{
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.pear-tab-page .layui-tab-control>li {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
width: 40px;
|
||||
background-color: white;
|
||||
border-top: whitesmoke 1px solid;
|
||||
border-bottom: whitesmoke 1px solid;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.pear-tab-page .layui-tab-prev {
|
||||
left: 0px;
|
||||
border-right: whitesmoke 1px solid;
|
||||
}
|
||||
|
||||
.pear-tab-page .layui-tab-next {
|
||||
right: 40px;
|
||||
border-left: 1px solid whitesmoke;
|
||||
}
|
||||
|
||||
.pear-tab-page .layui-tab-tool {
|
||||
right: 0px;
|
||||
border-left: 1px solid whitesmoke;
|
||||
}
|
||||
|
||||
.pear-tab-page .layui-tab-control .layui-tab-tool,
|
||||
.pear-tab-page .layui-tab-control .layui-tab-prev,
|
||||
.pear-tab-page .layui-tab-control .layui-tab-next {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pear-tab-page.layui-tab-roll .layui-tab-control .layui-tab-prev,
|
||||
.pear-tab-page.layui-tab-roll .layui-tab-control .layui-tab-next {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.pear-tab-page.layui-tab-roll .layui-tab-control .layui-tab-next {
|
||||
right: 0px;
|
||||
border-right: 1px solid whitesmoke;
|
||||
}
|
||||
|
||||
.pear-tab-page.layui-tab-roll .layui-tab-title {
|
||||
padding-left: 40px;
|
||||
padding-right: 40px;
|
||||
}
|
||||
|
||||
.pear-tab-page.layui-tab-tool .layui-tab-control .layui-tab-tool {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.pear-tab-page.layui-tab-tool .layui-tab-title {
|
||||
padding-left: 0px;
|
||||
padding-right: 40px;
|
||||
}
|
||||
|
||||
.pear-tab-page.layui-tab-rollTool > .layui-tab-title {
|
||||
padding-left: 40px;
|
||||
padding-right: 80px;
|
||||
}
|
||||
|
||||
.pear-tab-page.layui-tab-rollTool .layui-tab-control .layui-tab-prev,
|
||||
.pear-tab-page.layui-tab-rollTool .layui-tab-control .layui-tab-next,
|
||||
.pear-tab-page.layui-tab-rollTool .layui-tab-control .layui-tab-tool {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.pear-tab-page .layui-tab-tool .layui-nav {
|
||||
position: absolute;
|
||||
height: 43px !important;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
padding: 0;
|
||||
background: 0 0;
|
||||
}
|
||||
|
||||
.pear-tab-page .layui-tab-tool .layui-nav-item {
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
.pear-tab-page .layui-tab-tool .layui-nav-bar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pear-tab-page .layui-tab-tool .layui-nav-child {
|
||||
left: auto;
|
||||
top: 45px;
|
||||
right: 3px;
|
||||
width: 120px;
|
||||
border: 1px solid whitesmoke;
|
||||
}
|
||||
|
||||
.pear-tab-page .layui-tab-tool .layui-this a {
|
||||
background-color: #009688;
|
||||
}
|
||||
|
||||
.pear-tab-page-loading {
|
||||
position: absolute;
|
||||
display: none;
|
||||
width: 100%;
|
||||
height: calc(100% - 42px);
|
||||
top: 42px;
|
||||
z-index: 19;
|
||||
background-color: #fff
|
||||
}
|
||||
|
||||
.pear-tab-page-loading.close {
|
||||
animation: close 1s;
|
||||
-webkit-animation: close 1s;
|
||||
animation-fill-mode: forwards;
|
||||
}
|
||||
|
||||
.ball-loader {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
-ms-transform: translate(-50%, -50%);
|
||||
-webkit-transform: translate(-50%, -50%)
|
||||
}
|
||||
|
||||
.ball-loader>span,
|
||||
.signal-loader>span {
|
||||
background-color: var(--global-primary-color) !important;
|
||||
display: inline-block
|
||||
}
|
||||
|
||||
.ball-loader>span:nth-child(1),
|
||||
.ball-loader.sm>span:nth-child(1),
|
||||
.signal-loader>span:nth-child(1),
|
||||
.signal-loader.sm>span:nth-child(1) {
|
||||
-webkit-animation-delay: 0s;
|
||||
animation-delay: 0s
|
||||
}
|
||||
|
||||
.ball-loader>span:nth-child(2),
|
||||
.ball-loader.sm>span:nth-child(2),
|
||||
.signal-loader>span:nth-child(2),
|
||||
.signal-loader.sm>span:nth-child(2) {
|
||||
-webkit-animation-delay: .1s;
|
||||
animation-delay: .1s
|
||||
}
|
||||
|
||||
.ball-loader>span:nth-child(3),
|
||||
.ball-loader.sm>span:nth-child(3),
|
||||
.signal-loader>span:nth-child(3),
|
||||
.signal-loader.sm>span:nth-child(3) {
|
||||
-webkit-animation-delay: .15s;
|
||||
animation-delay: .15s
|
||||
}
|
||||
|
||||
.ball-loader>span:nth-child(4),
|
||||
.ball-loader.sm>span:nth-child(4),
|
||||
.signal-loader>span:nth-child(4),
|
||||
.signal-loader.sm>span:nth-child(4) {
|
||||
-webkit-animation-delay: .2s;
|
||||
animation-delay: .2s
|
||||
}
|
||||
|
||||
.ball-loader>span {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin: 0 3px;
|
||||
border-radius: 50%;
|
||||
transform: scale(0);
|
||||
-ms-transform: scale(0);
|
||||
-webkit-transform: scale(0);
|
||||
animation: ball-load 1s ease-in-out infinite;
|
||||
-webkit-animation: 1s ball-load ease-in-out infinite
|
||||
}
|
||||
|
||||
@-webkit-keyframes ball-load {
|
||||
0% {
|
||||
transform: scale(0);
|
||||
-webkit-transform: scale(0)
|
||||
}
|
||||
|
||||
50% {
|
||||
transform: scale(1);
|
||||
-webkit-transform: scale(1)
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: scale(0);
|
||||
-webkit-transform: scale(0)
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes ball-load {
|
||||
0% {
|
||||
transform: scale(0);
|
||||
-webkit-transform: scale(0)
|
||||
}
|
||||
|
||||
50% {
|
||||
transform: scale(1);
|
||||
-webkit-transform: scale(1)
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: scale(0);
|
||||
-webkit-transform: scale(0)
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes close {
|
||||
0% {
|
||||
opacity: 1;
|
||||
/*display: block;*/
|
||||
}
|
||||
|
||||
100% {
|
||||
opacity: 0;
|
||||
/*display: none;*/
|
||||
}
|
||||
}
|
||||
@@ -1,30 +1,17 @@
|
||||
/* Pear Admin layui */
|
||||
@import url("../../layui/css/layui.css");
|
||||
@import url("../font/iconfont.css");
|
||||
@import url("module/nprogress.css");
|
||||
@import url("module/messageCenter.css");
|
||||
@import url("module/global.css");
|
||||
@import url("module/menu.css");
|
||||
@import url("module/menuSearch.css");
|
||||
@import url("module/page.css");
|
||||
@import url("module/tabPage.css");
|
||||
@import url("module/toast.css");
|
||||
|
||||
/* Pear Admin Flask */
|
||||
@import url("module/dtree/font/dtreefont.css");
|
||||
@import url("module/dtree/dtree.css");
|
||||
@import url("module/iconPicker.css");
|
||||
@import url("module/treetable.css");
|
||||
@import url("module/nprogress.css");
|
||||
@import url("module/message.css");
|
||||
@import url("module/cropper.css");
|
||||
@import url("module/loading.css");
|
||||
@import url("module/topBar.css");
|
||||
@import url("module/select.css");
|
||||
@import url("module/layout.css");
|
||||
@import url("module/notice.css");
|
||||
@import url("module/button.css");
|
||||
@import url("module/table.css");
|
||||
@import url("module/frame.css");
|
||||
@import url("module/layer.css");
|
||||
@import url("module/toast.css");
|
||||
@import url("module/menu.css");
|
||||
@import url("module/form.css");
|
||||
@import url("module/link.css");
|
||||
@import url("module/code.css");
|
||||
@import url("module/step.css");
|
||||
@import url("module/card.css");
|
||||
@import url("module/tab.css");
|
||||
@import url("module/tag.css");
|
||||
@import url("module/fullscreen.css");
|
||||
@import url("module/popover.min.css");
|
||||
@import url("module/layout.css");
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,53 +1,59 @@
|
||||
layui.define(['jquery'], function(exports) {
|
||||
layui.define(['jquery'], function (exports) {
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* @since Pear Admin 4.0
|
||||
*
|
||||
* Button component
|
||||
* */
|
||||
var MOD_NAME = 'button',
|
||||
$ = layui.jquery;
|
||||
|
||||
var button = function(opt) {
|
||||
var button = function (opt) {
|
||||
this.option = opt;
|
||||
};
|
||||
|
||||
/**
|
||||
/**
|
||||
* @since Pear Admin 4.0
|
||||
*
|
||||
* Button start loading
|
||||
* */
|
||||
button.prototype.load = function(opt) {
|
||||
|
||||
var option = {
|
||||
button.prototype.load = function (opt) {
|
||||
|
||||
var options = {
|
||||
elem: opt.elem,
|
||||
time: opt.time ? opt.time : false,
|
||||
done: opt.done ? opt.done : function(){}
|
||||
done: opt.done ? opt.done : function () { }
|
||||
}
|
||||
var text = $(option.elem).html();
|
||||
|
||||
$(option.elem).html("<i class='layui-anim layui-anim-rotate layui-icon layui-anim-loop layui-icon-loading'/>");
|
||||
|
||||
$(option.elem).attr("disabled", "disabled");
|
||||
|
||||
var buttons = $(option.elem);
|
||||
|
||||
if (option.time != "" || option.time !=false) {
|
||||
setTimeout(function() {
|
||||
$(option.elem).attr("disabled", false);
|
||||
buttons.html(text);
|
||||
option.done();
|
||||
}, option.time);
|
||||
|
||||
var text = $(options.elem).html();
|
||||
|
||||
$(options.elem).html("<i class='layui-anim layui-anim-rotate layui-icon layui-anim-loop layui-icon-loading'/>");
|
||||
$(options.elem).attr("disabled", "disabled");
|
||||
|
||||
var $button = $(options.elem);
|
||||
|
||||
if (options.time != "" || options.time != false) {
|
||||
setTimeout(function () {
|
||||
$button.attr("disabled", false);
|
||||
$button.html(text);
|
||||
options.done();
|
||||
}, options.time);
|
||||
}
|
||||
option.text = text;
|
||||
return new button(option);
|
||||
options.text = text;
|
||||
return new button(options);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @since Pear Admin 4.0
|
||||
*
|
||||
* Button stop loaded
|
||||
* */
|
||||
button.prototype.stop = function(success) {
|
||||
button.prototype.stop = function (success) {
|
||||
$(this.option.elem).attr("disabled", false);
|
||||
$(this.option.elem).html(this.option.text);
|
||||
success && success();
|
||||
}
|
||||
}
|
||||
|
||||
exports(MOD_NAME, new button());
|
||||
});
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
layui.define(['jquery', 'element'], function(exports) {
|
||||
"use strict";
|
||||
|
||||
var MOD_NAME = 'count',
|
||||
$ = layui.jquery,
|
||||
element = layui.element;
|
||||
|
||||
var count = new function() {
|
||||
|
||||
this.up = function(targetEle, options) {
|
||||
|
||||
options = options || {};
|
||||
|
||||
var $this = document.getElementById(targetEle),
|
||||
time = options.time,
|
||||
finalNum = options.num,
|
||||
regulator = options.regulator,
|
||||
step = finalNum / (time / regulator),
|
||||
count = 0.00,
|
||||
initial = 0;
|
||||
|
||||
var timer = setInterval(function() {
|
||||
count = count + step;
|
||||
if (count >= finalNum) {
|
||||
clearInterval(timer);
|
||||
count = finalNum;
|
||||
}
|
||||
var t = count.toFixed(options.bit?options.bit:0);;
|
||||
if (t == initial) return;
|
||||
initial = t;
|
||||
$this.innerHTML = initial;
|
||||
}, 30);
|
||||
}
|
||||
|
||||
}
|
||||
exports(MOD_NAME, count);
|
||||
});
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,450 @@
|
||||
layui.define(function (exports) {
|
||||
exports('echartsTheme',
|
||||
{
|
||||
"color": [
|
||||
"#3fb1e3",
|
||||
"#6be6c1",
|
||||
"#626c91",
|
||||
"#a0a7e6",
|
||||
"#c4ebad",
|
||||
"#96dee8"
|
||||
],
|
||||
"backgroundColor": "rgba(252,252,252,0)",
|
||||
"textStyle": {},
|
||||
"title": {
|
||||
"textStyle": {
|
||||
"color": "#666666"
|
||||
},
|
||||
"subtextStyle": {
|
||||
"color": "#999999"
|
||||
}
|
||||
},
|
||||
"line": {
|
||||
"itemStyle": {
|
||||
"borderWidth": "3"
|
||||
},
|
||||
"lineStyle": {
|
||||
"width": "4"
|
||||
},
|
||||
"symbolSize": "10",
|
||||
"symbol": "emptyCircle",
|
||||
"smooth": true
|
||||
},
|
||||
"radar": {
|
||||
"itemStyle": {
|
||||
"borderWidth": "3"
|
||||
},
|
||||
"lineStyle": {
|
||||
"width": "4"
|
||||
},
|
||||
"symbolSize": "10",
|
||||
"symbol": "emptyCircle",
|
||||
"smooth": true
|
||||
},
|
||||
"bar": {
|
||||
"itemStyle": {
|
||||
"barBorderWidth": 0,
|
||||
"barBorderColor": "#ccc"
|
||||
},
|
||||
"emphasis": {
|
||||
"itemStyle": {
|
||||
"barBorderWidth": 0,
|
||||
"barBorderColor": "#ccc"
|
||||
}
|
||||
}
|
||||
},
|
||||
"pie": {
|
||||
"itemStyle": {
|
||||
"borderWidth": 0,
|
||||
"borderColor": "#ccc"
|
||||
},
|
||||
"emphasis": {
|
||||
"itemStyle": {
|
||||
"borderWidth": 0,
|
||||
"borderColor": "#ccc"
|
||||
}
|
||||
}
|
||||
},
|
||||
"scatter": {
|
||||
"itemStyle": {
|
||||
"borderWidth": 0,
|
||||
"borderColor": "#ccc"
|
||||
},
|
||||
"emphasis": {
|
||||
"itemStyle": {
|
||||
"borderWidth": 0,
|
||||
"borderColor": "#ccc"
|
||||
}
|
||||
}
|
||||
},
|
||||
"boxplot": {
|
||||
"itemStyle": {
|
||||
"borderWidth": 0,
|
||||
"borderColor": "#ccc"
|
||||
|
||||
},
|
||||
"emphasis": {
|
||||
"itemStyle": {
|
||||
"borderWidth": 0,
|
||||
"borderColor": "#ccc"
|
||||
}
|
||||
}
|
||||
},
|
||||
"parallel": {
|
||||
"itemStyle": {
|
||||
"borderWidth": 0,
|
||||
"borderColor": "#ccc"
|
||||
},
|
||||
"emphasis": {
|
||||
"itemStyle": {
|
||||
"borderWidth": 0,
|
||||
"borderColor": "#ccc"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sankey": {
|
||||
"itemStyle": {
|
||||
"borderWidth": 0,
|
||||
"borderColor": "#ccc"
|
||||
},
|
||||
"emphasis": {
|
||||
"itemStyle": {
|
||||
"borderWidth": 0,
|
||||
"borderColor": "#ccc"
|
||||
}
|
||||
}
|
||||
},
|
||||
"funnel": {
|
||||
"itemStyle": {
|
||||
"borderWidth": 0,
|
||||
"borderColor": "#ccc"
|
||||
},
|
||||
"emphasis": {
|
||||
"itemStyle": {
|
||||
"borderWidth": 0,
|
||||
"borderColor": "#ccc"
|
||||
}
|
||||
}
|
||||
},
|
||||
"gauge": {
|
||||
"itemStyle": {
|
||||
"borderWidth": 0,
|
||||
"borderColor": "#ccc"
|
||||
},
|
||||
"emphasis": {
|
||||
"itemStyle": {
|
||||
"borderWidth": 0,
|
||||
"borderColor": "#ccc"
|
||||
}
|
||||
}
|
||||
},
|
||||
"candlestick": {
|
||||
"itemStyle": {
|
||||
"color": "#e6a0d2",
|
||||
"color0": "transparent",
|
||||
"borderColor": "#e6a0d2",
|
||||
"borderColor0": "#3fb1e3",
|
||||
"borderWidth": "2"
|
||||
}
|
||||
},
|
||||
"graph": {
|
||||
"itemStyle": {
|
||||
"borderWidth": 0,
|
||||
"borderColor": "#ccc"
|
||||
},
|
||||
"lineStyle": {
|
||||
"width": "1",
|
||||
"color": "#cccccc"
|
||||
},
|
||||
"symbolSize": "10",
|
||||
"symbol": "emptyCircle",
|
||||
"smooth": true,
|
||||
"color": [
|
||||
"#3fb1e3",
|
||||
"#6be6c1",
|
||||
"#626c91",
|
||||
"#a0a7e6",
|
||||
"#c4ebad",
|
||||
"#96dee8"
|
||||
],
|
||||
"label": {
|
||||
"color": "#ffffff"
|
||||
}
|
||||
},
|
||||
"map": {
|
||||
"itemStyle": {
|
||||
"areaColor": "#eeeeee",
|
||||
"borderColor": "#aaaaaa",
|
||||
"borderWidth": 0.5
|
||||
},
|
||||
"label": {
|
||||
"color": "#ffffff"
|
||||
},
|
||||
"emphasis": {
|
||||
"itemStyle": {
|
||||
"areaColor": "rgba(63,177,227,0.25)",
|
||||
"borderColor": "#3fb1e3",
|
||||
"borderWidth": 1
|
||||
},
|
||||
"label": {
|
||||
"color": "rgb(63,177,227)"
|
||||
}
|
||||
}
|
||||
},
|
||||
"geo": {
|
||||
"itemStyle": {
|
||||
"areaColor": "#eeeeee",
|
||||
"borderColor": "#aaaaaa",
|
||||
"borderWidth": 0.5
|
||||
},
|
||||
"label": {
|
||||
"color": "#ffffff"
|
||||
},
|
||||
"emphasis": {
|
||||
"itemStyle": {
|
||||
"areaColor": "rgba(63,177,227,0.25)",
|
||||
"borderColor": "#3fb1e3",
|
||||
"borderWidth": 1
|
||||
},
|
||||
"label": {
|
||||
"color": "rgb(63,177,227)"
|
||||
}
|
||||
}
|
||||
},
|
||||
"categoryAxis": {
|
||||
"axisLine": {
|
||||
"show": true,
|
||||
"lineStyle": {
|
||||
"color": "#cccccc"
|
||||
}
|
||||
},
|
||||
"axisTick": {
|
||||
"show": false,
|
||||
"lineStyle": {
|
||||
"color": "#333"
|
||||
}
|
||||
},
|
||||
"axisLabel": {
|
||||
"show": true,
|
||||
|
||||
"color": "#999999"
|
||||
|
||||
},
|
||||
"splitLine": {
|
||||
"show": true,
|
||||
"lineStyle": {
|
||||
"color": [
|
||||
"#eeeeee"
|
||||
]
|
||||
}
|
||||
},
|
||||
"splitArea": {
|
||||
"show": false,
|
||||
"areaStyle": {
|
||||
"color": [
|
||||
"rgba(250,250,250,0.05)",
|
||||
"rgba(200,200,200,0.02)"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"valueAxis": {
|
||||
"axisLine": {
|
||||
"show": true,
|
||||
"lineStyle": {
|
||||
"color": "#cccccc"
|
||||
}
|
||||
},
|
||||
"axisTick": {
|
||||
"show": false,
|
||||
"lineStyle": {
|
||||
"color": "#333"
|
||||
}
|
||||
},
|
||||
"axisLabel": {
|
||||
"show": true,
|
||||
"color": "#999999"
|
||||
|
||||
},
|
||||
"splitLine": {
|
||||
"show": true,
|
||||
"lineStyle": {
|
||||
"color": [
|
||||
"#eeeeee"
|
||||
]
|
||||
}
|
||||
},
|
||||
"splitArea": {
|
||||
"show": false,
|
||||
"areaStyle": {
|
||||
"color": [
|
||||
"rgba(250,250,250,0.05)",
|
||||
"rgba(200,200,200,0.02)"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"logAxis": {
|
||||
"axisLine": {
|
||||
"show": true,
|
||||
"lineStyle": {
|
||||
"color": "#cccccc"
|
||||
}
|
||||
},
|
||||
"axisTick": {
|
||||
"show": false,
|
||||
"lineStyle": {
|
||||
"color": "#333"
|
||||
}
|
||||
},
|
||||
"axisLabel": {
|
||||
"show": true,
|
||||
"color": "#999999"
|
||||
|
||||
},
|
||||
"splitLine": {
|
||||
"show": true,
|
||||
"lineStyle": {
|
||||
"color": [
|
||||
"#eeeeee"
|
||||
]
|
||||
}
|
||||
},
|
||||
"splitArea": {
|
||||
"show": false,
|
||||
"areaStyle": {
|
||||
"color": [
|
||||
"rgba(250,250,250,0.05)",
|
||||
"rgba(200,200,200,0.02)"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"timeAxis": {
|
||||
"axisLine": {
|
||||
"show": true,
|
||||
"lineStyle": {
|
||||
"color": "#cccccc"
|
||||
}
|
||||
},
|
||||
"axisTick": {
|
||||
"show": false,
|
||||
"lineStyle": {
|
||||
"color": "#333"
|
||||
}
|
||||
},
|
||||
"axisLabel": {
|
||||
"show": true,
|
||||
|
||||
"color": "#999999"
|
||||
|
||||
},
|
||||
"splitLine": {
|
||||
"show": true,
|
||||
"lineStyle": {
|
||||
"color": [
|
||||
"#eeeeee"
|
||||
]
|
||||
}
|
||||
},
|
||||
"splitArea": {
|
||||
"show": false,
|
||||
"areaStyle": {
|
||||
"color": [
|
||||
"rgba(250,250,250,0.05)",
|
||||
"rgba(200,200,200,0.02)"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"toolbox": {
|
||||
"iconStyle": {
|
||||
"borderColor": "#999999"
|
||||
},
|
||||
"emphasis": {
|
||||
"iconStyle": {
|
||||
"borderColor": "#666666"
|
||||
}
|
||||
}
|
||||
},
|
||||
"legend": {
|
||||
"textStyle": {
|
||||
"color": "#999999"
|
||||
}
|
||||
},
|
||||
"tooltip": {
|
||||
"axisPointer": {
|
||||
"lineStyle": {
|
||||
"color": "#cccccc",
|
||||
"width": 1
|
||||
},
|
||||
"crossStyle": {
|
||||
"color": "#cccccc",
|
||||
"width": 1
|
||||
}
|
||||
}
|
||||
},
|
||||
"timeline": {
|
||||
"lineStyle": {
|
||||
"color": "#626c91",
|
||||
"width": 1
|
||||
},
|
||||
"itemStyle": {
|
||||
"color": "#626c91",
|
||||
"borderWidth": 1
|
||||
|
||||
},
|
||||
"controlStyle": {
|
||||
"color": "#626c91",
|
||||
"borderColor": "#626c91",
|
||||
"borderWidth": 0.5
|
||||
},
|
||||
"checkpointStyle": {
|
||||
"color": "#3fb1e3",
|
||||
"borderColor": "rgba(63,177,227,0.15)"
|
||||
},
|
||||
"label": {
|
||||
"color": "#626c91"
|
||||
},
|
||||
"emphasis": {
|
||||
"itemStyle": {
|
||||
"color": "#626c91"
|
||||
},
|
||||
"controlStyle": {
|
||||
"color": "#626c91",
|
||||
"borderColor": "#626c91",
|
||||
"borderWidth": 0.5
|
||||
},
|
||||
"label": {
|
||||
"color": "#626c91"
|
||||
}
|
||||
}
|
||||
},
|
||||
"visualMap": {
|
||||
"color": [
|
||||
"#2a99c9",
|
||||
"#afe8ff"
|
||||
]
|
||||
},
|
||||
"dataZoom": {
|
||||
"backgroundColor": "rgba(255,255,255,0)",
|
||||
"dataBackgroundColor": "rgba(222,222,222,1)",
|
||||
"fillerColor": "rgba(114,230,212,0.25)",
|
||||
"handleColor": "#cccccc",
|
||||
"handleSize": "100%",
|
||||
"textStyle": {
|
||||
"color": "#999999"
|
||||
}
|
||||
},
|
||||
"markPoint": {
|
||||
"label": {
|
||||
"color": "#ffffff"
|
||||
},
|
||||
"emphasis": {
|
||||
"label": {
|
||||
"color": "#ffffff"
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,503 @@
|
||||
/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress
|
||||
* @license MIT */
|
||||
|
||||
;(function(root, factory) {
|
||||
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define(factory);
|
||||
} else if (typeof exports === 'object') {
|
||||
module.exports = factory();
|
||||
} else {
|
||||
root.NProgress = factory();
|
||||
}
|
||||
|
||||
})(this, function() {
|
||||
var NProgress = {};
|
||||
|
||||
NProgress.version = '0.2.0';
|
||||
|
||||
var Settings = NProgress.settings = {
|
||||
minimum: 0.08,
|
||||
easing: 'linear',
|
||||
positionUsing: '',
|
||||
speed: 200,
|
||||
trickle: true,
|
||||
trickleSpeed: 200,
|
||||
showSpinner: true,
|
||||
barSelector: '[role="bar"]',
|
||||
spinnerSelector: '[role="spinner"]',
|
||||
parent: 'body',
|
||||
template: '<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'
|
||||
};
|
||||
|
||||
/**
|
||||
* Updates configuration.
|
||||
*
|
||||
* NProgress.configure({
|
||||
* minimum: 0.1
|
||||
* });
|
||||
*/
|
||||
NProgress.configure = function(options) {
|
||||
var key, value;
|
||||
for (key in options) {
|
||||
value = options[key];
|
||||
if (value !== undefined && options.hasOwnProperty(key)) Settings[key] = value;
|
||||
}
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Last number.
|
||||
*/
|
||||
|
||||
NProgress.status = null;
|
||||
|
||||
/**
|
||||
* Sets the progress bar status, where `n` is a number from `0.0` to `1.0`.
|
||||
*
|
||||
* NProgress.set(0.4);
|
||||
* NProgress.set(1.0);
|
||||
*/
|
||||
|
||||
NProgress.set = function(n) {
|
||||
var started = NProgress.isStarted();
|
||||
|
||||
n = clamp(n, Settings.minimum, 1);
|
||||
NProgress.status = (n === 1 ? null : n);
|
||||
|
||||
var progress = NProgress.render(!started),
|
||||
bar = progress.querySelector(Settings.barSelector),
|
||||
speed = Settings.speed,
|
||||
ease = Settings.easing;
|
||||
|
||||
progress.offsetWidth; /* Repaint */
|
||||
|
||||
queue(function(next) {
|
||||
// Set positionUsing if it hasn't already been set
|
||||
if (Settings.positionUsing === '') Settings.positionUsing = NProgress.getPositioningCSS();
|
||||
|
||||
// Add transition
|
||||
css(bar, barPositionCSS(n, speed, ease));
|
||||
|
||||
if (n === 1) {
|
||||
// Fade out
|
||||
css(progress, {
|
||||
transition: 'none',
|
||||
opacity: 1
|
||||
});
|
||||
progress.offsetWidth; /* Repaint */
|
||||
|
||||
setTimeout(function() {
|
||||
css(progress, {
|
||||
transition: 'all ' + speed + 'ms linear',
|
||||
opacity: 0
|
||||
});
|
||||
setTimeout(function() {
|
||||
NProgress.remove();
|
||||
next();
|
||||
}, speed);
|
||||
}, speed);
|
||||
} else {
|
||||
setTimeout(next, speed);
|
||||
}
|
||||
});
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
NProgress.isStarted = function() {
|
||||
return typeof NProgress.status === 'number';
|
||||
};
|
||||
|
||||
/**
|
||||
* Shows the progress bar.
|
||||
* This is the same as setting the status to 0%, except that it doesn't go backwards.
|
||||
*
|
||||
* NProgress.start();
|
||||
*
|
||||
*/
|
||||
NProgress.start = function() {
|
||||
if (!NProgress.status) NProgress.set(0);
|
||||
|
||||
var work = function() {
|
||||
setTimeout(function() {
|
||||
if (!NProgress.status) return;
|
||||
NProgress.trickle();
|
||||
work();
|
||||
}, Settings.trickleSpeed);
|
||||
};
|
||||
|
||||
if (Settings.trickle) work();
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Hides the progress bar.
|
||||
* This is the *sort of* the same as setting the status to 100%, with the
|
||||
* difference being `done()` makes some placebo effect of some realistic motion.
|
||||
*
|
||||
* NProgress.done();
|
||||
*
|
||||
* If `true` is passed, it will show the progress bar even if its hidden.
|
||||
*
|
||||
* NProgress.done(true);
|
||||
*/
|
||||
|
||||
NProgress.done = function(force) {
|
||||
if (!force && !NProgress.status) return this;
|
||||
|
||||
return NProgress.inc(0.3 + 0.5 * Math.random()).set(1);
|
||||
};
|
||||
|
||||
/**
|
||||
* Increments by a random amount.
|
||||
*/
|
||||
|
||||
NProgress.inc = function(amount) {
|
||||
var n = NProgress.status;
|
||||
|
||||
if (!n) {
|
||||
return NProgress.start();
|
||||
} else if(n > 1) {
|
||||
return;
|
||||
} else {
|
||||
if (typeof amount !== 'number') {
|
||||
if (n >= 0 && n < 0.2) { amount = 0.1; }
|
||||
else if (n >= 0.2 && n < 0.5) { amount = 0.04; }
|
||||
else if (n >= 0.5 && n < 0.8) { amount = 0.02; }
|
||||
else if (n >= 0.8 && n < 0.99) { amount = 0.005; }
|
||||
else { amount = 0; }
|
||||
}
|
||||
|
||||
n = clamp(n + amount, 0, 0.994);
|
||||
return NProgress.set(n);
|
||||
}
|
||||
};
|
||||
|
||||
NProgress.trickle = function() {
|
||||
return NProgress.inc();
|
||||
};
|
||||
|
||||
/**
|
||||
* Waits for all supplied jQuery promises and
|
||||
* increases the progress as the promises resolve.
|
||||
*
|
||||
* @param $promise jQUery Promise
|
||||
*/
|
||||
(function() {
|
||||
var initial = 0, current = 0;
|
||||
|
||||
NProgress.promise = function($promise) {
|
||||
if (!$promise || $promise.state() === "resolved") {
|
||||
return this;
|
||||
}
|
||||
|
||||
if (current === 0) {
|
||||
NProgress.start();
|
||||
}
|
||||
|
||||
initial++;
|
||||
current++;
|
||||
|
||||
$promise.always(function() {
|
||||
current--;
|
||||
if (current === 0) {
|
||||
initial = 0;
|
||||
NProgress.done();
|
||||
} else {
|
||||
NProgress.set((initial - current) / initial);
|
||||
}
|
||||
});
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
})();
|
||||
|
||||
/**
|
||||
* (Internal) renders the progress bar markup based on the `template`
|
||||
* setting.
|
||||
*/
|
||||
|
||||
NProgress.render = function(fromStart) {
|
||||
if (NProgress.isRendered()) return document.getElementById('nprogress');
|
||||
|
||||
addClass(document.documentElement, 'nprogress-busy');
|
||||
|
||||
var progress = document.createElement('div');
|
||||
progress.id = 'nprogress';
|
||||
progress.innerHTML = Settings.template;
|
||||
|
||||
|
||||
|
||||
var bar = progress.querySelector(Settings.barSelector),
|
||||
perc = fromStart ? '-100' : toBarPerc(NProgress.status || 0),
|
||||
parent = isDOM(Settings.parent)
|
||||
? Settings.parent
|
||||
: document.querySelector(Settings.parent),
|
||||
spinner
|
||||
|
||||
css(bar, {
|
||||
transition: 'all 0 linear',
|
||||
transform: 'translate3d(' + perc + '%,0,0)'
|
||||
});
|
||||
|
||||
if (!Settings.showSpinner) {
|
||||
spinner = progress.querySelector(Settings.spinnerSelector);
|
||||
spinner && removeElement(spinner);
|
||||
}
|
||||
|
||||
if (parent != document.body) {
|
||||
addClass(parent, 'nprogress-custom-parent');
|
||||
}
|
||||
|
||||
parent.appendChild(progress);
|
||||
return progress;
|
||||
};
|
||||
|
||||
/**
|
||||
* Removes the element. Opposite of render().
|
||||
*/
|
||||
|
||||
NProgress.remove = function() {
|
||||
removeClass(document.documentElement, 'nprogress-busy');
|
||||
var parent = isDOM(Settings.parent)
|
||||
? Settings.parent
|
||||
: document.querySelector(Settings.parent)
|
||||
removeClass(parent, 'nprogress-custom-parent')
|
||||
var progress = document.getElementById('nprogress');
|
||||
progress && removeElement(progress);
|
||||
};
|
||||
|
||||
/**
|
||||
* Checks if the progress bar is rendered.
|
||||
*/
|
||||
|
||||
NProgress.isRendered = function() {
|
||||
return !!document.getElementById('nprogress');
|
||||
};
|
||||
|
||||
/**
|
||||
* Determine which positioning CSS rule to use.
|
||||
*/
|
||||
|
||||
NProgress.getPositioningCSS = function() {
|
||||
// Sniff on document.body.style
|
||||
var bodyStyle = document.body.style;
|
||||
|
||||
// Sniff prefixes
|
||||
var vendorPrefix = ('WebkitTransform' in bodyStyle) ? 'Webkit' :
|
||||
('MozTransform' in bodyStyle) ? 'Moz' :
|
||||
('msTransform' in bodyStyle) ? 'ms' :
|
||||
('OTransform' in bodyStyle) ? 'O' : '';
|
||||
|
||||
if (vendorPrefix + 'Perspective' in bodyStyle) {
|
||||
// Modern browsers with 3D support, e.g. Webkit, IE10
|
||||
return 'translate3d';
|
||||
} else if (vendorPrefix + 'Transform' in bodyStyle) {
|
||||
// Browsers without 3D support, e.g. IE9
|
||||
return 'translate';
|
||||
} else {
|
||||
// Browsers without translate() support, e.g. IE7-8
|
||||
return 'margin';
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Helpers
|
||||
*/
|
||||
|
||||
function isDOM (obj) {
|
||||
if (typeof HTMLElement === 'object') {
|
||||
return obj instanceof HTMLElement
|
||||
}
|
||||
return (
|
||||
obj &&
|
||||
typeof obj === 'object' &&
|
||||
obj.nodeType === 1 &&
|
||||
typeof obj.nodeName === 'string'
|
||||
)
|
||||
}
|
||||
|
||||
function clamp(n, min, max) {
|
||||
if (n < min) return min;
|
||||
if (n > max) return max;
|
||||
return n;
|
||||
}
|
||||
|
||||
/**
|
||||
* (Internal) converts a percentage (`0..1`) to a bar translateX
|
||||
* percentage (`-100%..0%`).
|
||||
*/
|
||||
|
||||
function toBarPerc(n) {
|
||||
return (-1 + n) * 100;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* (Internal) returns the correct CSS for changing the bar's
|
||||
* position given an n percentage, and speed and ease from Settings
|
||||
*/
|
||||
|
||||
function barPositionCSS(n, speed, ease) {
|
||||
var barCSS;
|
||||
|
||||
if (Settings.positionUsing === 'translate3d') {
|
||||
barCSS = { transform: 'translate3d('+toBarPerc(n)+'%,0,0)' };
|
||||
} else if (Settings.positionUsing === 'translate') {
|
||||
barCSS = { transform: 'translate('+toBarPerc(n)+'%,0)' };
|
||||
} else {
|
||||
barCSS = { 'margin-left': toBarPerc(n)+'%' };
|
||||
}
|
||||
|
||||
barCSS.transition = 'all '+speed+'ms '+ease;
|
||||
|
||||
return barCSS;
|
||||
}
|
||||
|
||||
/**
|
||||
* (Internal) Queues a function to be executed.
|
||||
*/
|
||||
|
||||
var queue = (function() {
|
||||
var pending = [];
|
||||
|
||||
function next() {
|
||||
var fn = pending.shift();
|
||||
if (fn) {
|
||||
fn(next);
|
||||
}
|
||||
}
|
||||
|
||||
return function(fn) {
|
||||
pending.push(fn);
|
||||
if (pending.length == 1) next();
|
||||
};
|
||||
})();
|
||||
|
||||
/**
|
||||
* (Internal) Applies css properties to an element, similar to the jQuery
|
||||
* css method.
|
||||
*
|
||||
* While this helper does assist with vendor prefixed property names, it
|
||||
* does not perform any manipulation of values prior to setting styles.
|
||||
*/
|
||||
|
||||
var css = (function() {
|
||||
var cssPrefixes = [ 'Webkit', 'O', 'Moz', 'ms' ],
|
||||
cssProps = {};
|
||||
|
||||
function camelCase(string) {
|
||||
return string.replace(/^-ms-/, 'ms-').replace(/-([\da-z])/gi, function(match, letter) {
|
||||
return letter.toUpperCase();
|
||||
});
|
||||
}
|
||||
|
||||
function getVendorProp(name) {
|
||||
var style = document.body.style;
|
||||
if (name in style) return name;
|
||||
|
||||
var i = cssPrefixes.length,
|
||||
capName = name.charAt(0).toUpperCase() + name.slice(1),
|
||||
vendorName;
|
||||
while (i--) {
|
||||
vendorName = cssPrefixes[i] + capName;
|
||||
if (vendorName in style) return vendorName;
|
||||
}
|
||||
|
||||
return name;
|
||||
}
|
||||
|
||||
function getStyleProp(name) {
|
||||
name = camelCase(name);
|
||||
return cssProps[name] || (cssProps[name] = getVendorProp(name));
|
||||
}
|
||||
|
||||
function applyCss(element, prop, value) {
|
||||
prop = getStyleProp(prop);
|
||||
element.style[prop] = value;
|
||||
}
|
||||
|
||||
return function(element, properties) {
|
||||
var args = arguments,
|
||||
prop,
|
||||
value;
|
||||
|
||||
if (args.length == 2) {
|
||||
for (prop in properties) {
|
||||
value = properties[prop];
|
||||
if (value !== undefined && properties.hasOwnProperty(prop)) applyCss(element, prop, value);
|
||||
}
|
||||
} else {
|
||||
applyCss(element, args[1], args[2]);
|
||||
}
|
||||
}
|
||||
})();
|
||||
|
||||
/**
|
||||
* (Internal) Determines if an element or space separated list of class names contains a class name.
|
||||
*/
|
||||
|
||||
function hasClass(element, name) {
|
||||
var list = typeof element == 'string' ? element : classList(element);
|
||||
return list.indexOf(' ' + name + ' ') >= 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* (Internal) Adds a class to an element.
|
||||
*/
|
||||
|
||||
function addClass(element, name) {
|
||||
var oldList = classList(element),
|
||||
newList = oldList + name;
|
||||
|
||||
if (hasClass(oldList, name)) return;
|
||||
|
||||
// Trim the opening space.
|
||||
element.className = newList.substring(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* (Internal) Removes a class from an element.
|
||||
*/
|
||||
|
||||
function removeClass(element, name) {
|
||||
var oldList = classList(element),
|
||||
newList;
|
||||
|
||||
if (!hasClass(element, name)) return;
|
||||
|
||||
// Replace the class name.
|
||||
newList = oldList.replace(' ' + name + ' ', ' ');
|
||||
|
||||
// Trim the opening and closing spaces.
|
||||
element.className = newList.substring(1, newList.length - 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* (Internal) Gets a space separated list of the class names on the element.
|
||||
* The list is wrapped with a single space on each end to facilitate finding
|
||||
* matches within the list.
|
||||
*/
|
||||
|
||||
function classList(element) {
|
||||
return (' ' + (element && element.className || '') + ' ').replace(/\s+/gi, ' ');
|
||||
}
|
||||
|
||||
/**
|
||||
* (Internal) Removes an element from the DOM.
|
||||
*/
|
||||
|
||||
function removeElement(element) {
|
||||
element && element.parentNode && element.parentNode.removeChild(element);
|
||||
}
|
||||
|
||||
return NProgress;
|
||||
});
|
||||
|
||||
layui.define([], function(exports) {
|
||||
exports('nprogress', NProgress);
|
||||
});
|
||||
@@ -0,0 +1,47 @@
|
||||
layui.define(['layer'], function(exports) {
|
||||
"use strict";
|
||||
|
||||
var MOD_NAME = 'popup',
|
||||
layer = layui.layer;
|
||||
|
||||
var popup = new function() {
|
||||
|
||||
this.success = function(msg) {
|
||||
layer.msg(msg, {
|
||||
icon: 1,
|
||||
time: 1000
|
||||
})
|
||||
},
|
||||
this.failure = function(msg) {
|
||||
layer.msg(msg, {
|
||||
icon: 2,
|
||||
time: 1000
|
||||
})
|
||||
},
|
||||
this.warning = function(msg) {
|
||||
layer.msg(msg, {
|
||||
icon: 3,
|
||||
time: 1000
|
||||
})
|
||||
},
|
||||
this.success = function(msg, callback) {
|
||||
layer.msg(msg, {
|
||||
icon: 1,
|
||||
time: 1000
|
||||
}, callback);
|
||||
},
|
||||
this.failure = function(msg, callback) {
|
||||
layer.msg(msg, {
|
||||
icon: 2,
|
||||
time: 1000
|
||||
}, callback);
|
||||
},
|
||||
this.warming = function(msg, callback) {
|
||||
layer.msg(msg, {
|
||||
icon: 3,
|
||||
time: 1000
|
||||
}, callback);
|
||||
}
|
||||
};
|
||||
exports(MOD_NAME, popup);
|
||||
})
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,35 +1,39 @@
|
||||
layui.define(['message', 'table', 'jquery', 'element', 'yaml', 'form', 'tab', 'menu', 'frame', 'theme', 'convert'],
|
||||
function(exports) {
|
||||
"use strict";
|
||||
layui.define(['jquery', 'element'],
|
||||
function (exports) {
|
||||
|
||||
var $ = layui.jquery;
|
||||
var defer = $.Deferred();
|
||||
var fullScreen = new function() {
|
||||
var fullScreen = new function () {
|
||||
|
||||
this.func = null;
|
||||
this.onFullchange = function(func){
|
||||
|
||||
this.onFullchange = function (func) {
|
||||
this.func = func;
|
||||
var evts = ['fullscreenchange','webkitfullscreenchange','mozfullscreenchange','MSFullscreenChange'];
|
||||
for(var i=0;i<evts.length && func;i++) {
|
||||
var evts = ['fullscreenchange', 'webkitfullscreenchange', 'mozfullscreenchange', 'MSFullscreenChange'];
|
||||
for (var i = 0; i < evts.length && func; i++) {
|
||||
window.addEventListener(evts[i], this.func);
|
||||
}
|
||||
}
|
||||
this.fullScreen = function(dom){
|
||||
var docElm = dom && document.querySelector(dom) || document.documentElement;
|
||||
if (docElm.requestFullscreen) {
|
||||
docElm.requestFullscreen();
|
||||
} else if (docElm.mozRequestFullScreen) {
|
||||
docElm.mozRequestFullScreen();
|
||||
} else if (docElm.webkitRequestFullScreen) {
|
||||
docElm.webkitRequestFullScreen();
|
||||
} else if (docElm.msRequestFullscreen) {
|
||||
docElm.msRequestFullscreen();
|
||||
}else{
|
||||
defer.reject("");
|
||||
}
|
||||
defer.resolve("返回值");
|
||||
|
||||
this.fullScreen = function (dom) {
|
||||
var docElm = dom && document.querySelector(dom) || document.documentElement;
|
||||
if (docElm.requestFullscreen) {
|
||||
docElm.requestFullscreen();
|
||||
} else if (docElm.mozRequestFullScreen) {
|
||||
docElm.mozRequestFullScreen();
|
||||
} else if (docElm.webkitRequestFullScreen) {
|
||||
docElm.webkitRequestFullScreen();
|
||||
} else if (docElm.msRequestFullscreen) {
|
||||
docElm.msRequestFullscreen();
|
||||
} else {
|
||||
defer.reject("");
|
||||
}
|
||||
defer.resolve("返回值");
|
||||
return defer.promise();
|
||||
}
|
||||
this.fullClose = function(){
|
||||
if(this.isFullscreen()) {
|
||||
|
||||
this.fullClose = function () {
|
||||
if (this.isFullscreen()) {
|
||||
if (document.exitFullscreen) {
|
||||
document.exitFullscreen();
|
||||
} else if (document.mozCancelFullScreen) {
|
||||
@@ -43,12 +47,14 @@ layui.define(['message', 'table', 'jquery', 'element', 'yaml', 'form', 'tab', 'm
|
||||
defer.resolve("返回值");
|
||||
return defer.promise();
|
||||
}
|
||||
this.isFullscreen = function(){
|
||||
|
||||
this.isFullscreen = function () {
|
||||
return document.fullscreenElement ||
|
||||
document.msFullscreenElement ||
|
||||
document.mozFullScreenElement ||
|
||||
document.webkitFullscreenElement || false;
|
||||
}
|
||||
};
|
||||
|
||||
exports('fullscreen', fullScreen);
|
||||
})
|
||||
|
||||
@@ -5,15 +5,15 @@ layui.define(['table', 'jquery', 'element'], function (exports) {
|
||||
$ = layui.jquery,
|
||||
element = layui.element;
|
||||
|
||||
var pearMenu = function (opt) {
|
||||
var menu = function (opt) {
|
||||
this.option = opt;
|
||||
};
|
||||
|
||||
pearMenu.prototype.render = function (opt) {
|
||||
menu.prototype.render = function (opt) {
|
||||
|
||||
var option = {
|
||||
elem: opt.elem,
|
||||
async: opt.async,
|
||||
async: typeof opt.async === 'undefined' ? true : opt.async,
|
||||
parseData: opt.parseData,
|
||||
url: opt.url,
|
||||
method: opt.method ? opt.method : "GET",
|
||||
@@ -21,16 +21,18 @@ layui.define(['table', 'jquery', 'element'], function (exports) {
|
||||
defaultSelect: opt.defaultSelect,
|
||||
control: opt.control,
|
||||
controlWidth: opt.controlWidth ? opt.controlWidth : "auto",
|
||||
defaultMenu: opt.defaultMenu,
|
||||
defaultMenu: opt.defaultMenu || 0,
|
||||
accordion: opt.accordion,
|
||||
height: opt.height,
|
||||
theme: opt.theme,
|
||||
height: opt.height || "100%",
|
||||
theme: opt.theme || "dark-theme",
|
||||
data: opt.data ? opt.data : [],
|
||||
change: opt.change ? opt.change : function () { },
|
||||
done: opt.done ? opt.done : function () { }
|
||||
}
|
||||
|
||||
var tempDone = option.done;
|
||||
option.done = function(){
|
||||
|
||||
option.done = function () {
|
||||
if (option.control) {
|
||||
rationalizeHeaderControlWidthAuto(option);
|
||||
}
|
||||
@@ -50,11 +52,9 @@ layui.define(['table', 'jquery', 'element'], function (exports) {
|
||||
});
|
||||
}
|
||||
} else {
|
||||
// 延时返回,和 javascript 执行时序关联
|
||||
window.setTimeout(function () { renderMenu(option); }, 500);
|
||||
}
|
||||
|
||||
// 处理高度
|
||||
$("#" + opt.elem).height(option.height)
|
||||
|
||||
setTimeout(function () {
|
||||
@@ -83,10 +83,14 @@ layui.define(['table', 'jquery', 'element'], function (exports) {
|
||||
});
|
||||
}, 1000)
|
||||
|
||||
return new pearMenu(option);
|
||||
return new menu(option);
|
||||
}
|
||||
|
||||
pearMenu.prototype.click = function (clickEvent) {
|
||||
menu.prototype.cache = function () {
|
||||
return this.option.data;
|
||||
}
|
||||
|
||||
menu.prototype.click = function (clickEvent) {
|
||||
var _this = this;
|
||||
$("body").on("click", "#" + _this.option.elem + " .site-demo-active", function () {
|
||||
var dom = $(this);
|
||||
@@ -96,7 +100,8 @@ layui.define(['table', 'jquery', 'element'], function (exports) {
|
||||
menuPath: dom.attr("menu-title"),
|
||||
menuIcon: dom.attr("menu-icon"),
|
||||
menuUrl: dom.attr("menu-url"),
|
||||
openType: dom.attr("open-type")
|
||||
menuType: dom.attr("menu-type"),
|
||||
menuOpenType: dom.attr("menu-open-type")
|
||||
};
|
||||
var doms = hash(dom);
|
||||
if (doms != null) {
|
||||
@@ -139,14 +144,14 @@ layui.define(['table', 'jquery', 'element'], function (exports) {
|
||||
return d;
|
||||
}
|
||||
|
||||
pearMenu.prototype.skin = function (skin) {
|
||||
menu.prototype.skin = function (skin) {
|
||||
var menu = $(".pear-nav-tree[lay-filter='" + this.option.elem + "']").parent();
|
||||
menu.removeClass("dark-theme");
|
||||
menu.removeClass("light-theme");
|
||||
menu.addClass(skin);
|
||||
}
|
||||
|
||||
pearMenu.prototype.selectItem = function (pearId) {
|
||||
menu.prototype.selectItem = function (pearId) {
|
||||
if (this.option.control != false) {
|
||||
$("#" + this.option.elem + " a[menu-id='" + pearId + "']").parents(".layui-side-scroll ").find("ul").css({
|
||||
display: "none"
|
||||
@@ -209,7 +214,7 @@ layui.define(['table', 'jquery', 'element'], function (exports) {
|
||||
}
|
||||
|
||||
var activeMenus;
|
||||
pearMenu.prototype.collapse = function (time) {
|
||||
menu.prototype.collapse = function (time) {
|
||||
var elem = this.option.elem;
|
||||
var config = this.option;
|
||||
if ($("#" + this.option.elem).is(".pear-nav-mini")) {
|
||||
@@ -223,12 +228,12 @@ layui.define(['table', 'jquery', 'element'], function (exports) {
|
||||
isHoverMenu(false, config);
|
||||
var that = this;
|
||||
$("#" + this.option.elem)
|
||||
.promise()
|
||||
.done(function () {
|
||||
if (that.option.control) {
|
||||
rationalizeHeaderControlWidth(that.option);
|
||||
}
|
||||
})
|
||||
.promise()
|
||||
.done(function () {
|
||||
if (that.option.control) {
|
||||
rationalizeHeaderControlWidth(that.option);
|
||||
}
|
||||
})
|
||||
} else {
|
||||
activeMenus = $("#" + this.option.elem).find(".layui-nav-itemed>a");
|
||||
$("#" + this.option.elem).find(".layui-nav-itemed").removeClass("layui-nav-itemed");
|
||||
@@ -238,13 +243,13 @@ layui.define(['table', 'jquery', 'element'], function (exports) {
|
||||
}, 400);
|
||||
var that = this;
|
||||
$("#" + this.option.elem)
|
||||
.promise()
|
||||
.done(function () {
|
||||
isHoverMenu(true, config);
|
||||
if (that.option.control) {
|
||||
rationalizeHeaderControlWidth(that.option);
|
||||
}
|
||||
})
|
||||
.promise()
|
||||
.done(function () {
|
||||
isHoverMenu(true, config);
|
||||
if (that.option.control) {
|
||||
rationalizeHeaderControlWidth(that.option);
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -278,13 +283,12 @@ layui.define(['table', 'jquery', 'element'], function (exports) {
|
||||
}
|
||||
}
|
||||
element.init();
|
||||
downShow(option);
|
||||
option.done();
|
||||
}
|
||||
|
||||
function createMenu(option) {
|
||||
var menuHtml = '<div style="height:100%!important;" class="pear-side-scroll layui-side-scroll ' + option.theme + '"><ul lay-filter="' + option.elem +
|
||||
'" class="layui-nav arrow pear-menu layui-nav-tree pear-nav-tree">'
|
||||
'" class="layui-nav arrow pear-menu layui-nav-tree pear-nav-tree" ' + (option.accordion ? "lay-accordion" : "") + '>'
|
||||
$.each(option.data, function (i, item) {
|
||||
var content = '<li class="layui-nav-item" >';
|
||||
if (i == option.defaultOpen) {
|
||||
@@ -304,7 +308,7 @@ layui.define(['table', 'jquery', 'element'], function (exports) {
|
||||
'" ' + target + '><i class="' + item.icon + '"></i><span>' + item.title +
|
||||
'</span></a>';
|
||||
} else if (item.type == 1) {
|
||||
content += '<a class="' + className + '" menu-type="' + item.type + '" menu-url="' + item.href + '" menu-id="' +
|
||||
content += '<a class="' + className + '" menu-type="' + item.type + '" menu-open-type="' + item.openType + '" menu-url="' + item.href + '" menu-id="' +
|
||||
item.id +
|
||||
'" menu-title="' + item.title + '" href="' + href + '" ' + target + '><i class="' + item.icon +
|
||||
'"></i><span>' + item.title + '</span></a>';
|
||||
@@ -374,7 +378,7 @@ layui.define(['table', 'jquery', 'element'], function (exports) {
|
||||
'</span></a>';
|
||||
} else if (note.type == 1) {
|
||||
// 创 建 菜 单 结 构
|
||||
content += '<a ' + target + ' class="' + className + '" menu-type="' + note.type + '" menu-url="' + note.href +
|
||||
content += '<a ' + target + ' class="' + className + '" menu-open-type="' + note.openType + '" menu-type="' + note.type + '" menu-url="' + note.href +
|
||||
'" menu-id="' + note.id +
|
||||
'" menu-title="' + note.title + '" href="' + href + '"><i class="' + note.icon +
|
||||
'"></i><span>' + note.title + '</span></a>';
|
||||
@@ -433,7 +437,7 @@ layui.define(['table', 'jquery', 'element'], function (exports) {
|
||||
'"><i class="' + note.icon + '"></i><span>' + note.title + '</span></a>';
|
||||
} else if (note.type == 1) {
|
||||
// 创 建 菜 单 结 构
|
||||
content += '<a ' + target + ' class="' + className + '" menu-type="' + note.type + '" menu-url="' + note.href +
|
||||
content += '<a ' + target + ' class="' + className + '" menu-open-type="' + note.openType + '" menu-type="' + note.type + '" menu-url="' + note.href +
|
||||
'" menu-id="' + note.id + '" menu-title="' + note.title + '" menu-icon="' + note.icon + '" href="' + href +
|
||||
'" ><i class="' + note.icon + '"></i><span>' + note.title + '</span></a>';
|
||||
}
|
||||
@@ -450,49 +454,6 @@ layui.define(['table', 'jquery', 'element'], function (exports) {
|
||||
return content;
|
||||
}
|
||||
|
||||
function downShow(option) {
|
||||
$("body #" + option.elem).on("click", "a[menu-type='0']", function () {
|
||||
if (!$("#" + option.elem).is(".pear-nav-mini")) {
|
||||
var superEle = $(this).parent();
|
||||
var ele = $(this).next('.layui-nav-child');
|
||||
var heights = ele.children("dd").length * 48;
|
||||
|
||||
if ($(this).parent().is(".layui-nav-itemed")) {
|
||||
if (option.accordion) {
|
||||
var currentDom = $(this).parent().siblings('.layui-nav-itemed').children('.layui-nav-child');
|
||||
currentDom.animate({
|
||||
height: '0px'
|
||||
}, 240, function () {
|
||||
currentDom.css({
|
||||
height: "auto",
|
||||
});
|
||||
$(this).parent().removeClass("layui-nav-itemed");
|
||||
$(this).find('.layui-nav-itemed').removeClass("layui-nav-itemed");
|
||||
});
|
||||
}
|
||||
ele.height(0);
|
||||
ele.animate({
|
||||
height: heights + "px"
|
||||
}, 240, function () {
|
||||
ele.css({
|
||||
height: "auto"
|
||||
});
|
||||
});
|
||||
} else {
|
||||
$(this).parent().addClass("layui-nav-itemed");
|
||||
ele.animate({
|
||||
height: "0px"
|
||||
}, 240, function () {
|
||||
ele.css({
|
||||
height: "auto"
|
||||
});
|
||||
$(this).parent().removeClass("layui-nav-itemed");
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/** 二 级 悬 浮 菜 单*/
|
||||
function isHoverMenu(b, option) {
|
||||
if (b) {
|
||||
@@ -557,15 +518,16 @@ layui.define(['table', 'jquery', 'element'], function (exports) {
|
||||
$("#" + option.control + " .control").css({ "width": rationalizeWidth, "transition": "width .15s" });
|
||||
}
|
||||
|
||||
function rationalizeHeaderControlWidthAuto(option){
|
||||
function rationalizeHeaderControlWidthAuto(option) {
|
||||
$(window).on('resize', function () {
|
||||
rationalizeHeaderControlWidth(option);
|
||||
})
|
||||
|
||||
$(document).ready(function () {
|
||||
rationalizeHeaderControlWidth(option);
|
||||
setTimeout(() => {
|
||||
rationalizeHeaderControlWidth(option);
|
||||
}, 1000);
|
||||
});
|
||||
}
|
||||
|
||||
exports(MOD_NAME, new pearMenu());
|
||||
})
|
||||
exports(MOD_NAME, new menu());
|
||||
})
|
||||
@@ -0,0 +1,233 @@
|
||||
layui.define(['jquery', 'tools'], function (exports) {
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* @since Pear Admin 4.0
|
||||
*
|
||||
* Button component
|
||||
* */
|
||||
var MOD_NAME = 'menuSearch',
|
||||
tools = layui.tools,
|
||||
$ = layui.jquery;
|
||||
|
||||
var menuSearch = function (opt) {
|
||||
this.option = opt;
|
||||
};
|
||||
|
||||
/**
|
||||
* @since Pear Admin 4.0
|
||||
*
|
||||
* Button start loading
|
||||
* */
|
||||
menuSearch.prototype.render = function (opt) {
|
||||
|
||||
var options = {
|
||||
select: opt.select,
|
||||
elem: opt.elem,
|
||||
dataProvider: opt.dataProvider,
|
||||
}
|
||||
|
||||
$('body').on("click", options.elem, function () {
|
||||
|
||||
var _html = [
|
||||
`<div class="menu-search-content">
|
||||
<div class="layui-form menu-search-input-wrapper">
|
||||
<div class=" layui-input-wrap layui-input-wrap-prefix">
|
||||
<div class="layui-input-prefix">
|
||||
<i class="layui-icon layui-icon-search"></i>
|
||||
</div>
|
||||
<input type="text" name="menuSearch" value="" placeholder="搜索菜单" autocomplete="off" class="layui-input" lay-affix="clear">
|
||||
</div>
|
||||
</div>
|
||||
<div class="menu-search-no-data">暂 无 信 息</div>
|
||||
<ul class="menu-search-list">
|
||||
</ul>
|
||||
<div class="menu-search-tips">
|
||||
<div>
|
||||
<span class="mr-1">选择</span><kbd class="mr-1 w-5"> ↑ </kbd><kbd class="mr-5 w-5"> ↓ </kbd>
|
||||
<span class="mr-1">确定</span><kbd class="mr-5"> Enter </kbd><span class="mr-1">关闭</span><kbd class="mr-1"> Esc </kbd>
|
||||
</div>
|
||||
</div>
|
||||
</div>`
|
||||
].join('');
|
||||
|
||||
layer.open({
|
||||
type: 1,
|
||||
offset: "10%",
|
||||
area: ['600px'],
|
||||
title: false,
|
||||
closeBtn: 0,
|
||||
shadeClose: true,
|
||||
anim: 0,
|
||||
move: false,
|
||||
content: _html,
|
||||
success: function (layero, layeridx) {
|
||||
|
||||
var $layer = layero;
|
||||
var $content = $(layero).children('.layui-layer-content');
|
||||
var $input = $(".menu-search-input-wrapper input");
|
||||
var $noData = $(".menu-search-no-data");
|
||||
var $list = $(".menu-search-list");
|
||||
var menuData = options.dataProvider();
|
||||
|
||||
$layer.css("border-radius", "6px");
|
||||
$input.off("focus").focus();
|
||||
|
||||
// 搜索输入事件
|
||||
$input.off("input").on("input", tools.debounce(function () {
|
||||
var keywords = $input.val().trim();
|
||||
var filteredMenus = filterHandle(menuData, keywords);
|
||||
|
||||
if (filteredMenus.length) {
|
||||
var tiledMenus = tiledHandle(filteredMenus);
|
||||
var listHtml = createList(tiledMenus);
|
||||
$noData.css("display", "none");
|
||||
$list.html("").append(listHtml).children(":first").addClass("this")
|
||||
} else {
|
||||
$list.html("");
|
||||
$noData.css("display", "flex");
|
||||
}
|
||||
var currentHeight = $(".menu-search-content").outerHeight()
|
||||
$layer.css("height", currentHeight);
|
||||
$content.css("height", currentHeight);
|
||||
}, 500)
|
||||
)
|
||||
|
||||
// 列表点击事件
|
||||
$list.off("click").on("click", "li", function () {
|
||||
var id = $(this).attr("smenu-id");
|
||||
var title = $(this).attr("smenu-title");
|
||||
var url = $(this).attr("smenu-url");
|
||||
var type = $(this).attr("smenu-type");
|
||||
var openType = $(this).attr("smenu-open-type");
|
||||
|
||||
options.select({ id, title, url, type, openType });
|
||||
|
||||
layer.close(layeridx);
|
||||
})
|
||||
|
||||
$list.off('mouseenter').on("mouseenter", "li", function () {
|
||||
$(".menu-search-list li.this").removeClass("this");
|
||||
$(this).addClass("this");
|
||||
}).off("mouseleave").on("mouseleave", "li", function () {
|
||||
$(this).removeClass("this");
|
||||
})
|
||||
|
||||
// 监听键盘事件
|
||||
$('.menu-search-content').off("keydown").keydown(function (e) {
|
||||
if (e.keyCode === 13 || e.keyCode === 32) {
|
||||
e.preventDefault();
|
||||
var that = $(".menu-search-list li.this");
|
||||
var id = that.attr("smenu-id");
|
||||
var title = that.attr("smenu-title");
|
||||
var url = that.attr("smenu-url");
|
||||
var type = that.attr("smenu-type");
|
||||
var openType = that.attr("smenu-open-type");
|
||||
|
||||
options.select({ id, title, url, type, openType });
|
||||
|
||||
layer.close(layeridx);
|
||||
} else if (e.keyCode === 38) {
|
||||
e.preventDefault();
|
||||
var prevEl = $(".menu-search-list li.this").prev();
|
||||
$(".menu-search-list li.this").removeClass("this");
|
||||
if (prevEl.length !== 0) {
|
||||
prevEl.addClass("this");
|
||||
} else {
|
||||
$list.children().last().addClass("this");
|
||||
}
|
||||
} else if (e.keyCode === 40) {
|
||||
e.preventDefault();
|
||||
var nextEl = $(".menu-search-list li.this").next();
|
||||
$(".menu-search-list li.this").removeClass("this");
|
||||
if (nextEl.length !== 0) {
|
||||
nextEl.addClass("this");
|
||||
} else {
|
||||
$list.children().first().addClass("this");
|
||||
}
|
||||
} else if (e.keyCode === 27) {
|
||||
e.preventDefault();
|
||||
layer.close(layeridx);
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
return new menuSearch(options);
|
||||
}
|
||||
|
||||
/**
|
||||
* @since Pear Admin 4.0
|
||||
*
|
||||
* 创建结果列表
|
||||
*/
|
||||
var createList = function (data) {
|
||||
var listHtml = '';
|
||||
$.each(data, function (index, item) {
|
||||
listHtml += `<li smenu-open-type="${item.info.openType}" smenu-id="${item.info.id}" smenu-icon="'${item.info.icon}" smenu-url="${item.info.href}" smenu-title="${item.info.title}" smenu-type="${item.info.type}">
|
||||
<span><i style="margin-right:10px" class="${item.info.icon}"></i>${item.path}</span>
|
||||
<i class="layui-icon layui-icon-right"></i>
|
||||
</li>`
|
||||
})
|
||||
return listHtml;
|
||||
}
|
||||
|
||||
/**
|
||||
* @since Pear Admin 4.0
|
||||
*
|
||||
* Tree 转 path 列表
|
||||
*/
|
||||
var tiledHandle = function (data) {
|
||||
var tiledMenus = [];
|
||||
var treeTiled = function (data, content) {
|
||||
var path = "";
|
||||
var separator = " / ";
|
||||
if (!content) content = "";
|
||||
$.each(data, function (index, item) {
|
||||
if (item.children && item.children.length) {
|
||||
path += content + item.title + separator;
|
||||
var childPath = treeTiled(item.children, path);
|
||||
path += childPath;
|
||||
if (!childPath) path = ""; // 重置路径
|
||||
} else {
|
||||
path += content + item.title
|
||||
tiledMenus.push({ path: path, info: item });
|
||||
path = ""; //重置路径
|
||||
}
|
||||
})
|
||||
return path;
|
||||
};
|
||||
treeTiled(data);
|
||||
|
||||
return tiledMenus;
|
||||
}
|
||||
|
||||
/**
|
||||
* @since Pear Admin 4.0
|
||||
*
|
||||
* 查询匹配算法
|
||||
*/
|
||||
var filterHandle = function (filterData, val) {
|
||||
if (!val) return [];
|
||||
var filteredMenus = [];
|
||||
filterData = $.extend(true, {}, filterData);
|
||||
$.each(filterData, function (index, item) {
|
||||
if (item.children && item.children.length) {
|
||||
var children = filterHandle(item.children, val)
|
||||
var obj = $.extend({}, item, { children: children });
|
||||
if (children && children.length) {
|
||||
filteredMenus.push(obj);
|
||||
} else if (item.title.indexOf(val) >= 0) {
|
||||
item.children = []; // 父级匹配但子级不匹配,就去除子级
|
||||
filteredMenus.push($.extend({}, item));
|
||||
}
|
||||
} else if (item.title.indexOf(val) >= 0) {
|
||||
filteredMenus.push(item);
|
||||
}
|
||||
})
|
||||
return filteredMenus;
|
||||
}
|
||||
|
||||
exports(MOD_NAME, new menuSearch());
|
||||
});
|
||||
@@ -0,0 +1,85 @@
|
||||
layui.define(['table', 'jquery', 'element', 'dropdown'], function (exports) {
|
||||
"use strict";
|
||||
|
||||
var MOD_NAME = 'messageCenter',
|
||||
$ = layui.jquery,
|
||||
dropdown = layui.dropdown;
|
||||
|
||||
var message = function (opt) {
|
||||
this.option = opt;
|
||||
};
|
||||
|
||||
message.prototype.render = function (opt) {
|
||||
var option = {
|
||||
elem: opt.elem,
|
||||
url: opt.url ? opt.url : false,
|
||||
height: opt.height,
|
||||
data: opt.data
|
||||
}
|
||||
if (option.url != false) {
|
||||
$.get(option.url, function (result) {
|
||||
const { code, success, data } = result;
|
||||
$(`${opt.elem}`).append(`<li class="layui-nav-item" lay-unselect="">
|
||||
<a href="#" class="notice layui-icon layui-icon-notice"></a>
|
||||
</li>`);
|
||||
if (code == 200 || success) {
|
||||
option.data = data;
|
||||
dropdown.render({
|
||||
elem: option.elem,
|
||||
align: "center",
|
||||
content: createHtml(option),
|
||||
})
|
||||
}
|
||||
});
|
||||
}
|
||||
return new message(option);
|
||||
}
|
||||
|
||||
message.prototype.click = function (callback) {
|
||||
$("*[notice-id]").click(function (event) {
|
||||
event.preventDefault();
|
||||
var id = $(this).attr("notice-id");
|
||||
var title = $(this).attr("notice-title");
|
||||
var context = $(this).attr("notice-context");
|
||||
var form = $(this).attr("notice-form");
|
||||
callback(id, title, context, form);
|
||||
})
|
||||
}
|
||||
|
||||
function createHtml(option) {
|
||||
|
||||
var count = 0;
|
||||
var notice = '<div class="pear-message-center"><div class="layui-tab layui-tab-brief">'
|
||||
var noticeTitle = '<ul class="layui-tab-title">';
|
||||
var noticeContent = '<div class="layui-tab-content" style="height:' + option.height + ';overflow-x: hidden;padding:0px;">';
|
||||
|
||||
$.each(option.data, function (i, item) {
|
||||
|
||||
noticeTitle += `<li class="${i === 0 ? 'layui-this' : ''}">${item.title}</li>`;
|
||||
noticeContent += '<div class="layui-tab-item layui-show">';
|
||||
|
||||
|
||||
$.each(item.children, function (i, note) {
|
||||
count++;
|
||||
noticeContent += '<div class="message-item" notice-form="' + note.form + '" notice-context="' + note.context +
|
||||
'" notice-title="' + note.title + '" notice-id="' + note.id + '">';
|
||||
|
||||
noticeContent += '<img src="' + note.avatar + '"/><div style="display:inline-block;">' + note.title + '</div>' +
|
||||
'<div class="extra">' + note.time + '</div>' +
|
||||
'</div>';
|
||||
})
|
||||
|
||||
noticeContent += '</div>';
|
||||
})
|
||||
|
||||
noticeTitle += '</ul>';
|
||||
noticeContent += '</div>';
|
||||
notice += noticeTitle;
|
||||
notice += noticeContent;
|
||||
notice += "</div></div>"
|
||||
|
||||
return notice;
|
||||
}
|
||||
|
||||
exports(MOD_NAME, new message());
|
||||
})
|
||||
@@ -0,0 +1,119 @@
|
||||
layui.define(['jquery', 'element'], function (exports) {
|
||||
"use strict";
|
||||
|
||||
var $ = layui.jquery;
|
||||
var element = layui.element;
|
||||
|
||||
var page = function (opt) {
|
||||
this.option = opt;
|
||||
};
|
||||
|
||||
/**
|
||||
* @since Pear Admin 4.0
|
||||
*
|
||||
* 创建 Page 页面
|
||||
*/
|
||||
page.prototype.render = function (opt) {
|
||||
var option = {
|
||||
elem: opt.elem,
|
||||
url: opt.url,
|
||||
width: opt.width || "100%",
|
||||
height: opt.height || "100%",
|
||||
title: opt.title
|
||||
}
|
||||
renderContent(option);
|
||||
return new page(option);
|
||||
}
|
||||
|
||||
/**
|
||||
* @since Pear Admin 4.0
|
||||
*
|
||||
* 切换 Page 页面
|
||||
*/
|
||||
page.prototype.changePage = function (options) {
|
||||
const $frame = $(`#${this.option.elem} .pear-page-content`);
|
||||
if (options.type === "_iframe") {
|
||||
$frame.html(`<iframe src='${options.href}' scrolling='auto' frameborder='0' allowfullscreen='true'></iframe>`);
|
||||
} else {
|
||||
$.ajax({
|
||||
url: options.href,
|
||||
type: 'get',
|
||||
dataType: 'html',
|
||||
success: function (data) {
|
||||
$frame.html(data)
|
||||
},
|
||||
error: function (xhr) {
|
||||
return layer.msg('Status:' + xhr.status + ',' + xhr.statusText + ',请稍后再试!');
|
||||
}
|
||||
});
|
||||
}
|
||||
$frame.attr("type", options.type);
|
||||
$frame.attr("href", options.href);
|
||||
}
|
||||
|
||||
page.prototype.refresh = function (loading) {
|
||||
var $frameLoad = $(`#${this.option.elem} .pear-page-loading`);
|
||||
var $frame = $(`#${this.option.elem} .pear-page-content`);
|
||||
if (loading) {
|
||||
$frameLoad.css({
|
||||
display: 'block'
|
||||
});
|
||||
}
|
||||
if ($frame.attr("type") === "_iframe") {
|
||||
$frame.html(`<iframe src='${$frame.attr("href")}' scrolling='auto' frameborder='0' allowfullscreen='true'></iframe>`);
|
||||
const $contentFrame = $frame.find("iframe");
|
||||
$contentFrame.on("load", () => {
|
||||
$frameLoad.fadeOut(1000);
|
||||
})
|
||||
} else {
|
||||
$.ajax({
|
||||
type: 'get',
|
||||
url: $frame.attr("href"),
|
||||
dataType: 'html',
|
||||
success: function (data) {
|
||||
$frame.html(data)
|
||||
$frameLoad.fadeOut(1000);
|
||||
element.init();
|
||||
},
|
||||
error: function (xhr) {
|
||||
return layer.msg('Status:' + xhr.status + ',' + xhr.statusText + ',请稍后再试!');
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function renderContent(option) {
|
||||
$("#" + option.elem).html(`
|
||||
<div class='pear-page'>
|
||||
<div class='pear-page-content' type='${option.type}' href='${option.url}'></div>
|
||||
<div class="pear-page-loading">
|
||||
<div class="ball-loader">
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>`);
|
||||
|
||||
var $frame = $("#" + option.elem).find(".pear-page-content");
|
||||
|
||||
if (option.type === "_iframe") {
|
||||
$frame.html(`<iframe src='${option.url}' scrolling='auto' frameborder='0' allowfullscreen='true'></iframe>`);
|
||||
} else {
|
||||
$.ajax({
|
||||
url: option.url,
|
||||
type: 'get',
|
||||
dataType: 'html',
|
||||
success: function (data) {
|
||||
$frame.html(data);
|
||||
},
|
||||
error: function (xhr) {
|
||||
return layer.msg('Status:' + xhr.status + ',' + xhr.statusText + ',请稍后再试!');
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
exports('page', new page());
|
||||
});
|
||||
@@ -0,0 +1,656 @@
|
||||
layui.define(['jquery', 'element', 'dropdown'], function (exports) {
|
||||
"use strict";
|
||||
|
||||
var MOD_NAME = 'tabPage',
|
||||
$ = layui.jquery,
|
||||
dropdown = layui.dropdown,
|
||||
element = layui.element;
|
||||
|
||||
var tabPage = function (opt) {
|
||||
this.option = opt;
|
||||
};
|
||||
|
||||
var tabData = new Array();
|
||||
var tabDataCurrent = 0;
|
||||
var contextTabDOM;
|
||||
|
||||
tabPage.prototype.render = function (opt) {
|
||||
|
||||
var option = {
|
||||
elem: opt.elem,
|
||||
data: opt.data,
|
||||
index: opt.index,
|
||||
tool: opt.tool || true,
|
||||
roll: opt.roll || true,
|
||||
success: opt.success ? opt.success : function (id) { },
|
||||
session: opt.session ? opt.session : false,
|
||||
preload: opt.preload ? opt.preload : false,
|
||||
height: opt.height || "100%",
|
||||
width: opt.width || "100%",
|
||||
closeEvent: opt.closeEvent,
|
||||
tabMax: opt.tabMax,
|
||||
}
|
||||
|
||||
if (option.session) {
|
||||
if (sessionStorage.getItem(option.elem + "-pear-tab-page-data") != null) {
|
||||
tabData = JSON.parse(sessionStorage.getItem(option.elem + "-pear-tab-page-data"));
|
||||
option.data = JSON.parse(sessionStorage.getItem(option.elem + "-pear-tab-page-data"));
|
||||
tabDataCurrent = sessionStorage.getItem(option.elem + "-pear-tab-page-data-current");
|
||||
tabData.forEach(function (item, index) {
|
||||
if (item.id == tabDataCurrent) {
|
||||
option.index = index;
|
||||
}
|
||||
})
|
||||
} else {
|
||||
tabData = opt.data;
|
||||
}
|
||||
}
|
||||
|
||||
var lastIndex;
|
||||
var tab = createTab(option);
|
||||
$("#" + option.elem).html(tab);
|
||||
$(".layui-tab[lay-filter='" + option.elem + "'] .layui-tab-prev").click(function () {
|
||||
rollPage("left", option);
|
||||
})
|
||||
$(".layui-tab[lay-filter='" + option.elem + "'] .layui-tab-next").click(function () {
|
||||
rollPage("right", option);
|
||||
})
|
||||
element.init();
|
||||
|
||||
$("#" + option.elem).width(opt.width);
|
||||
$("#" + option.elem).height(opt.height);
|
||||
$("#" + option.elem).css({
|
||||
position: "relative"
|
||||
});
|
||||
|
||||
closeEvent(option);
|
||||
|
||||
option.success(sessionStorage.getItem(option.elem + "-pear-tab-page-data-current"));
|
||||
|
||||
dropdown.render({
|
||||
elem: `#${option.elem} .layui-tab-control > .layui-icon-down`,
|
||||
trigger: 'hover',
|
||||
data: [{
|
||||
title: '关 闭 当 前',
|
||||
id: 1
|
||||
}, {
|
||||
title: '关 闭 其 他',
|
||||
id: 2
|
||||
}, {
|
||||
title: '关 闭 全 部',
|
||||
id: 3
|
||||
}],
|
||||
click: function (obj) {
|
||||
|
||||
const id = obj.id;
|
||||
|
||||
if (id === 1) {
|
||||
var currentTab = $(".layui-tab[lay-filter='" + option.elem +
|
||||
"'] .layui-tab-title .layui-this");
|
||||
if (currentTab.find("span").is(".able-close")) {
|
||||
var currentId = currentTab.attr("lay-id");
|
||||
tabDelete(option.elem, currentId, option.closeEvent, option);
|
||||
} else {
|
||||
layer.msg("当前页面不允许关闭", {
|
||||
icon: 3,
|
||||
time: 1000
|
||||
})
|
||||
}
|
||||
} else if (id === 2) {
|
||||
var currentId = $(".layui-tab[lay-filter='" + option.elem +
|
||||
"'] .layui-tab-title .layui-this").attr("lay-id");
|
||||
var tabtitle = $(".layui-tab[lay-filter='" + option.elem + "'] .layui-tab-title li");
|
||||
$.each(tabtitle, function (i) {
|
||||
if ($(this).attr("lay-id") != currentId) {
|
||||
if ($(this).find("span").is(".able-close")) {
|
||||
tabDelete(option.elem, $(this).attr("lay-id"), option.closeEvent,
|
||||
option);
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
var currentId = $(".layui-tab[lay-filter='" + option.elem +
|
||||
"'] .layui-tab-title .layui-this").attr("lay-id");
|
||||
var tabtitle = $(".layui-tab[lay-filter='" + option.elem + "'] .layui-tab-title li");
|
||||
$.each(tabtitle, function (i) {
|
||||
if ($(this).find("span").is(".able-close")) {
|
||||
tabDelete(option.elem, $(this).attr("lay-id"), option.closeEvent, option);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
$("body .layui-tab[lay-filter='" + option.elem + "'] .layui-tab-title").on("contextmenu", "li",
|
||||
function (e) {
|
||||
var top = e.clientY;
|
||||
var left = e.clientX;
|
||||
var menuWidth = 100;
|
||||
var menu = `<ul>
|
||||
<li class='item' id='${option.elem}closeThis'>关闭当前</li>
|
||||
<li class='item' id='${option.elem}closeOther'>关闭其他</li>
|
||||
<li class='item' id='${option.elem}closeAll'>关闭所有</li>
|
||||
</ul>`;
|
||||
|
||||
contextTabDOM = $(this);
|
||||
var isOutsideBounds = (left + menuWidth) > $(window).width();
|
||||
if (isOutsideBounds) {
|
||||
left = $(window).width() - menuWidth;
|
||||
}
|
||||
|
||||
layer.open({
|
||||
type: 1,
|
||||
title: false,
|
||||
shade: false,
|
||||
skin: 'pear-tab-page-menu',
|
||||
closeBtn: false,
|
||||
area: [menuWidth + 'px', '108px'],
|
||||
fixed: true,
|
||||
anim: false,
|
||||
isOutAnim: false,
|
||||
offset: [top, left],
|
||||
content: menu,
|
||||
success: function (layero, index) {
|
||||
layer.close(lastIndex);
|
||||
lastIndex = index;
|
||||
menuEvent(option, index);
|
||||
var timer;
|
||||
$(layero).on('mouseout', function () {
|
||||
timer = setTimeout(function () {
|
||||
layer.close(index);
|
||||
}, 30)
|
||||
});
|
||||
|
||||
$(layero).on('mouseover', function () {
|
||||
clearTimeout(timer);
|
||||
});
|
||||
|
||||
$(layero).on('contextmenu', function () {
|
||||
return false;
|
||||
})
|
||||
}
|
||||
});
|
||||
return false;
|
||||
})
|
||||
|
||||
mousewheelAndTouchmoveHandler(option)
|
||||
return new tabPage(option);
|
||||
}
|
||||
|
||||
tabPage.prototype.click = function (callback) {
|
||||
var option = this.option;
|
||||
var elem = this.option.elem;
|
||||
element.on('tab(' + this.option.elem + ')', function (data) {
|
||||
var id = $("#" + elem + " .layui-tab-title .layui-this").attr("lay-id");
|
||||
sessionStorage.setItem(option.elem + "-pear-tab-page-data-current", id);
|
||||
callback(id);
|
||||
});
|
||||
}
|
||||
|
||||
tabPage.prototype.positionTab = function () {
|
||||
var $tabTitle = $('.layui-tab[lay-filter=' + this.option.elem + '] .layui-tab-title');
|
||||
var autoLeft = 0;
|
||||
$tabTitle.children("li").each(function () {
|
||||
if ($(this).hasClass('layui-this')) {
|
||||
return false;
|
||||
} else {
|
||||
autoLeft += $(this).outerWidth();
|
||||
}
|
||||
});
|
||||
$tabTitle.animate({
|
||||
scrollLeft: autoLeft - $tabTitle.width() / 3
|
||||
}, 200);
|
||||
}
|
||||
|
||||
tabPage.prototype.clear = function () {
|
||||
sessionStorage.removeItem(this.option.elem + "-pear-tab-page-data");
|
||||
sessionStorage.removeItem(this.option.elem + "-pear-tab-page-data-current");
|
||||
}
|
||||
|
||||
tabPage.prototype.changeTabTitleById = function (id, title) {
|
||||
var currentTab = $(".layui-tab[lay-filter='" + this.option.elem + "'] .layui-tab-title [lay-id='" + id + "'] .title");
|
||||
currentTab.html(title);
|
||||
}
|
||||
|
||||
/**
|
||||
* @since Pear Admin 4.0
|
||||
*
|
||||
* 删除指定选项卡
|
||||
*
|
||||
* @param id 编号
|
||||
*/
|
||||
tabPage.prototype.removeTab = function (id) {
|
||||
var elem = this.option.elem;
|
||||
if (id != undefined) {
|
||||
var currentTab = $(".layui-tab[lay-filter='" + elem + "'] .layui-tab-title [lay-id='" + id + "']");
|
||||
if (currentTab.find("span").is(".able-close")) {
|
||||
tabDelete(elem, id, () => { });
|
||||
}
|
||||
} else {
|
||||
var tabtitle = $(".layui-tab[lay-filter='" + elem + "'] .layui-tab-title li");
|
||||
$.each(tabtitle, function () {
|
||||
if ($(this).find("span").is(".able-close")) {
|
||||
tabDelete(elem, $(this).attr("lay-id"), () => { });
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @since Pear Admin 4.0
|
||||
*
|
||||
* 删除其他选项卡
|
||||
*/
|
||||
tabPage.prototype.removeOtherTab = function () {
|
||||
var elem = this.option.elem;
|
||||
var currentId = $(".layui-tab[lay-filter='" + elem + "'] .layui-tab-title .layui-this").attr("lay-id");
|
||||
var tabtitle = $(".layui-tab[lay-filter='" + elem + "'] .layui-tab-title li");
|
||||
$.each(tabtitle, function () {
|
||||
if ($(this).attr("lay-id") != currentId) {
|
||||
if ($(this).find("span").is(".able-close")) {
|
||||
tabDelete(elem, $(this).attr("lay-id"), () => { });
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* @since Pear Admin 4.0
|
||||
*
|
||||
* 删除选中选项卡
|
||||
*/
|
||||
tabPage.prototype.removeCurrentTab = function () {
|
||||
var currentTab = $(".layui-tab[lay-filter='" + this.option.elem + "'] .layui-tab-title .layui-this");
|
||||
if (currentTab.find("span").is(".able-close")) {
|
||||
var currentId = currentTab.attr("lay-id");
|
||||
tabDelete(this.option.elem, currentId, () => { });
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @since Pear Admin 4.0
|
||||
*
|
||||
* 切换选项卡
|
||||
*
|
||||
* @param opt 内容
|
||||
*/
|
||||
tabPage.prototype.changePage = function (opt) {
|
||||
|
||||
var title = `<span class="pear-tab-page-active"></span>
|
||||
<span class="${opt.close ? 'able-close' : 'disable-close'} title">${opt.title}</span>
|
||||
<i class="layui-icon layui-unselect layui-tab-close">ဆ</i>`;
|
||||
|
||||
if ($(".layui-tab[lay-filter='" + this.option.elem + "'] .layui-tab-title li[lay-id]").length <=
|
||||
0) {
|
||||
|
||||
var that = this;
|
||||
|
||||
if (opt.type === "_iframe") {
|
||||
|
||||
element.tabAdd(this.option.elem, {
|
||||
id: opt.id,
|
||||
title: title,
|
||||
content: `<iframe id="${opt.id}" type="${opt.type}" data-frameid="${opt.id}" scrolling="auto" frameborder="0" src="${opt.url}" style="width:100%;height:100%;" allowfullscreen="true"></iframe>`
|
||||
});
|
||||
|
||||
} else {
|
||||
|
||||
$.ajax({
|
||||
url: opt.url,
|
||||
type: 'get',
|
||||
dataType: 'html',
|
||||
async: false,
|
||||
success: function (data) {
|
||||
element.tabAdd(that.option.elem, {
|
||||
id: opt.id,
|
||||
title: title,
|
||||
content: `<div id="${opt.id}" type="${opt.type}" data-frameid="${opt.id}" src="${opt.url}">${data}</div>`,
|
||||
});
|
||||
},
|
||||
error: function (xhr, textstatus, thrown) {
|
||||
return layer.msg('Status:' + xhr.status + ',' + xhr.statusText + ',请稍后再试!');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
tabData.push(opt);
|
||||
sessionStorage.setItem(that.option.elem + "-pear-tab-page-data", JSON.stringify(tabData));
|
||||
sessionStorage.setItem(that.option.elem + "-pear-tab-page-data-current", opt.id);
|
||||
|
||||
} else {
|
||||
|
||||
var isData = false;
|
||||
$.each($(".layui-tab[lay-filter='" + this.option.elem + "'] .layui-tab-title li[lay-id]"),
|
||||
function () {
|
||||
if ($(this).attr("lay-id") == opt.id) {
|
||||
isData = true;
|
||||
}
|
||||
})
|
||||
|
||||
if (isData == false) {
|
||||
|
||||
if (this.option.tabMax != false) {
|
||||
if ($(".layui-tab[lay-filter='" + this.option.elem + "'] .layui-tab-title li[lay-id]")
|
||||
.length >= this.option.tabMax) {
|
||||
layer.msg("最多打开" + this.option.tabMax + "个标签页", {
|
||||
icon: 2,
|
||||
time: 1000,
|
||||
shift: 6
|
||||
});
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
var that = this;
|
||||
if (opt.type === "_iframe") {
|
||||
element.tabAdd(this.option.elem, {
|
||||
id: opt.id,
|
||||
title: title,
|
||||
content: `<iframe id="${opt.id}" type="${opt.type}" data-frameid="${opt.id}" scrolling="auto" frameborder="0" src="${opt.url}" style="width:100%;height:100%;" allowfullscreen="true"></iframe>`
|
||||
});
|
||||
} else {
|
||||
$.ajax({
|
||||
url: opt.url,
|
||||
type: 'get',
|
||||
dataType: 'html',
|
||||
async: false,
|
||||
success: function (data) {
|
||||
element.tabAdd(that.option.elem, {
|
||||
id: opt.id,
|
||||
title: title,
|
||||
content: `<div id="${opt.id}" type="${opt.type}" data-frameid="${opt.id}" src="${opt.url}">${data}</div>`,
|
||||
});
|
||||
},
|
||||
error: function (xhr, textstatus, thrown) {
|
||||
return layer.msg('Status:' + xhr.status + ',' + xhr.statusText + ',请稍后再试!');
|
||||
}
|
||||
});
|
||||
}
|
||||
tabData.push(opt);
|
||||
sessionStorage.setItem(that.option.elem + "-pear-tab-page-data", JSON.stringify(tabData));
|
||||
sessionStorage.setItem(that.option.elem + "-pear-tab-page-data-current", opt.id);
|
||||
}
|
||||
}
|
||||
element.tabChange(this.option.elem, opt.id);
|
||||
sessionStorage.setItem(this.option.elem + "-pear-tab-page-data-current", opt.id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 刷新当前选型卡
|
||||
*
|
||||
* @param time 动画时长
|
||||
*/
|
||||
tabPage.prototype.refresh = function (time) {
|
||||
|
||||
var $iframe = $(".layui-tab[lay-filter='" + this.option.elem + "'] .layui-tab-content .layui-show > div[data-frameid]");
|
||||
var $iframeLoad;
|
||||
|
||||
if (time != false && time != 0) {
|
||||
$iframeLoad = $("#" + this.option.elem).find(".pear-tab-page-loading");
|
||||
$iframeLoad.css({
|
||||
display: "block"
|
||||
});
|
||||
}
|
||||
|
||||
if ($iframe.attr("type") === "_iframe") {
|
||||
$iframe.attr("src", $iframe.attr("src"));
|
||||
$iframe.on("load", function () {
|
||||
$iframeLoad.fadeOut(1000, function () {
|
||||
$iframeLoad.css({
|
||||
display: "none"
|
||||
});
|
||||
});
|
||||
})
|
||||
} else {
|
||||
$.ajax({
|
||||
url: $iframe.attr("src"),
|
||||
type: 'get',
|
||||
dataType: 'html',
|
||||
success: function (data) {
|
||||
$iframe.html(data);
|
||||
if ($iframeLoad != undefined) {
|
||||
$iframeLoad.fadeOut(1000, function () {
|
||||
$iframeLoad.css({
|
||||
display: "none"
|
||||
});
|
||||
});
|
||||
}
|
||||
},
|
||||
error: function (xhr) {
|
||||
return layer.msg('Status:' + xhr.status + ',' + xhr.statusText + ',请稍后再试!');
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function tabDelete(elem, id, callback) {
|
||||
var tabTitle = $(".layui-tab[lay-filter='" + elem + "']").find(".layui-tab-title");
|
||||
var removeTab = tabTitle.find("li[lay-id='" + id + "']");
|
||||
var nextNode = removeTab.next("li");
|
||||
if (!removeTab.hasClass("layui-this")) {
|
||||
removeTab.remove();
|
||||
var tabContent = $(".layui-tab[lay-filter='" + elem + "']").find("*[id='" + id + "']")
|
||||
.parent();
|
||||
tabContent.remove();
|
||||
|
||||
tabData = JSON.parse(sessionStorage.getItem(elem + "-pear-tab-page-data"));
|
||||
tabDataCurrent = sessionStorage.getItem(elem + "-pear-tab-page-data-current");
|
||||
tabData = tabData.filter(function (item) {
|
||||
return item.id != id;
|
||||
})
|
||||
sessionStorage.setItem(elem + "-pear-tab-page-data", JSON.stringify(tabData));
|
||||
return false;
|
||||
}
|
||||
|
||||
var currId;
|
||||
if (nextNode.length) {
|
||||
nextNode.addClass("layui-this");
|
||||
currId = nextNode.attr("lay-id");
|
||||
$("#" + elem + " [id='" + currId + "']").parent().addClass("layui-show");
|
||||
} else {
|
||||
var prevNode = removeTab.prev("li");
|
||||
prevNode.addClass("layui-this");
|
||||
currId = prevNode.attr("lay-id");
|
||||
$("#" + elem + " [id='" + currId + "']").parent().addClass("layui-show");
|
||||
}
|
||||
callback(currId);
|
||||
tabData = JSON.parse(sessionStorage.getItem(elem + "-pear-tab-page-data"));
|
||||
tabDataCurrent = sessionStorage.getItem(elem + "-pear-tab-page-data-current");
|
||||
tabData = tabData.filter(function (item) {
|
||||
return item.id != id;
|
||||
})
|
||||
sessionStorage.setItem(elem + "-pear-tab-page-data", JSON.stringify(tabData));
|
||||
sessionStorage.setItem(elem + "-pear-tab-page-data-current", currId);
|
||||
removeTab.remove();
|
||||
var tabContent = $(".layui-tab[lay-filter='" + elem + "']").find("*[id='" + id + "']").parent();
|
||||
tabContent.remove();
|
||||
}
|
||||
|
||||
/**
|
||||
* @since Pear Admin 4.0
|
||||
*/
|
||||
function createTab(option) {
|
||||
|
||||
var type = "";
|
||||
if (option.roll == true) {
|
||||
type = "layui-tab-roll";
|
||||
}
|
||||
if (option.tool != false) {
|
||||
type = "layui-tab-tool";
|
||||
}
|
||||
if (option.roll == true && option.tool != false) {
|
||||
type = "layui-tab-rollTool";
|
||||
}
|
||||
var tab = '<div class="pear-tab-page ' + type + ' layui-tab" lay-filter="' + option.elem +
|
||||
'" lay-allowClose="true">';
|
||||
|
||||
var headers = '<ul class="layui-tab-title">';
|
||||
var content = '<div class="layui-tab-content">';
|
||||
var loading = '<div class="pear-tab-page-loading"><div class="ball-loader"><span></span><span></span><span></span><span></span></div></div>'
|
||||
var control = `<div class="layui-tab-control">
|
||||
<li class="layui-tab-prev layui-icon layui-icon-left"></li>
|
||||
<li class="layui-tab-next layui-icon layui-icon-right"></li>
|
||||
<li class="layui-tab-tool layui-icon layui-icon-down"></li>
|
||||
</div>`;
|
||||
|
||||
// 处 理 选 项 卡 头 部
|
||||
var index = 0;
|
||||
|
||||
$.each(option.data, function (i, item) {
|
||||
|
||||
var titleItem = `<li lay-id="${item.id}" class="${option.index == index ? 'layui-this' : ''}">
|
||||
<span class="pear-tab-page-active"></span>
|
||||
<span class="${item.close ? 'able-close' : 'disable-close'} title">
|
||||
${item.title}
|
||||
</span>
|
||||
<i class="layui-icon layui-unselect layui-tab-close">ဆ</i></li>
|
||||
</li>`;
|
||||
|
||||
headers += titleItem;
|
||||
|
||||
if (item.type === "_iframe") {
|
||||
|
||||
content += `<div class="${option.index == index ? 'layui-show' : ''} layui-tab-item"><iframe id="${item.id}" type="${item.type}" data-frameid="${item.id}" scrolling="auto" frameborder="0" src="${item.url}" style="width:100%;height:100%;" allowfullscreen="true"></iframe></div>`
|
||||
|
||||
} else {
|
||||
|
||||
$.ajax({
|
||||
url: item.url,
|
||||
type: 'get',
|
||||
dataType: 'html',
|
||||
async: false,
|
||||
success: function (data) {
|
||||
content += `<div class="${option.index == index ? 'layui-show' : ''} layui-tab-item"><div id="${item.id}" type="${item.type}" data-frameid="${item.id}" src="${item.url}">${data}</div></div>`;
|
||||
},
|
||||
error: function (xhr) {
|
||||
return layer.msg('Status:' + xhr.status + ',' + xhr.statusText + ',请稍后再试!');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
index++;
|
||||
});
|
||||
|
||||
headers += '</ul>';
|
||||
content += '</div>';
|
||||
|
||||
tab += headers;
|
||||
tab += control;
|
||||
tab += content;
|
||||
tab += loading;
|
||||
tab += '</div>';
|
||||
tab += ''
|
||||
return tab;
|
||||
}
|
||||
|
||||
function rollPage(d, option) {
|
||||
var $tabTitle = $('#' + option.elem + ' .layui-tab-title');
|
||||
var left = $tabTitle.scrollLeft();
|
||||
if ('left' === d) {
|
||||
$tabTitle.animate({
|
||||
scrollLeft: left - 450
|
||||
}, 200);
|
||||
} else {
|
||||
$tabTitle.animate({
|
||||
scrollLeft: left + 450
|
||||
}, 200);
|
||||
}
|
||||
}
|
||||
|
||||
function closeEvent(option) {
|
||||
$(".layui-tab[lay-filter='" + option.elem + "']")
|
||||
.on("click", ".layui-tab-close", function () {
|
||||
var layid = $(this).parent().attr("lay-id");
|
||||
tabDelete(option.elem, layid, option.closeEvent, option);
|
||||
})
|
||||
.on("mousedown", ".layui-tab-title li", function (e) {
|
||||
if (e.buttons === 4 && $(this).find("span").is(".able-close")) {
|
||||
tabDelete(option.elem, $(this).attr("lay-id"), option.closeEvent, option);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function menuEvent(option, index) {
|
||||
|
||||
$("#" + option.elem + "closeThis").click(function () {
|
||||
var currentTab = contextTabDOM;
|
||||
|
||||
if (currentTab.find("span").is(".able-close")) {
|
||||
var currentId = currentTab.attr("lay-id");
|
||||
tabDelete(option.elem, currentId, option.closeEvent, option);
|
||||
} else {
|
||||
layer.msg("当前页面不允许关闭", {
|
||||
icon: 3,
|
||||
time: 800
|
||||
})
|
||||
}
|
||||
layer.close(index);
|
||||
})
|
||||
|
||||
$("#" + option.elem + "closeOther").click(function () {
|
||||
var currentId = contextTabDOM.attr("lay-id");
|
||||
var tabtitle = $(".layui-tab[lay-filter='" + option.elem + "'] .layui-tab-title li");
|
||||
$.each(tabtitle, function (i) {
|
||||
if ($(this).attr("lay-id") != currentId) {
|
||||
if ($(this).find("span").is(".able-close")) {
|
||||
tabDelete(option.elem, $(this).attr("lay-id"), option.closeEvent,
|
||||
option);
|
||||
}
|
||||
}
|
||||
})
|
||||
layer.close(index);
|
||||
})
|
||||
|
||||
$("#" + option.elem + "closeAll").click(function () {
|
||||
var tabtitle = $(".layui-tab[lay-filter='" + option.elem + "'] .layui-tab-title li");
|
||||
$.each(tabtitle, function (i) {
|
||||
if ($(this).find("span").is(".able-close")) {
|
||||
tabDelete(option.elem, $(this).attr("lay-id"), option.closeEvent, option);
|
||||
}
|
||||
})
|
||||
layer.close(index);
|
||||
})
|
||||
}
|
||||
|
||||
function mousewheelAndTouchmoveHandler(option) {
|
||||
var $bodyTab = $("body .layui-tab[lay-filter='" + option.elem + "'] .layui-tab-title")
|
||||
var $tabTitle = $('#' + option.elem + ' .layui-tab-title');
|
||||
var mouseScrollStep = 100
|
||||
// 鼠标滚轮
|
||||
$bodyTab.on("mousewheel DOMMouseScroll", function (e) {
|
||||
e.originalEvent.preventDefault()
|
||||
var delta = (e.originalEvent.wheelDelta && (e.originalEvent.wheelDelta > 0 ? "top" :
|
||||
"down")) || // chrome & ie
|
||||
(e.originalEvent.detail && (e.originalEvent.detail > 0 ? "down" : "top")); // firefox
|
||||
var scrollLeft = $tabTitle.scrollLeft();
|
||||
|
||||
if (delta === "top") {
|
||||
scrollLeft -= mouseScrollStep
|
||||
} else if (delta === "down") {
|
||||
scrollLeft += mouseScrollStep
|
||||
}
|
||||
$tabTitle.scrollLeft(scrollLeft)
|
||||
});
|
||||
|
||||
// 触摸移动
|
||||
var touchX = 0;
|
||||
$bodyTab.on("touchstart", function (e) {
|
||||
var touch = e.originalEvent.targetTouches[0];
|
||||
touchX = touch.pageX
|
||||
})
|
||||
|
||||
$bodyTab.on("touchmove", function (e) {
|
||||
var event = e.originalEvent;
|
||||
if (event.targetTouches.length > 1) return;
|
||||
event.preventDefault();
|
||||
var touch = event.targetTouches[0];
|
||||
var distanceX = touchX - touch.pageX
|
||||
var scrollLeft = $tabTitle.scrollLeft();
|
||||
touchX = touch.pageX
|
||||
$tabTitle.scrollLeft(scrollLeft += distanceX)
|
||||
});
|
||||
}
|
||||
|
||||
exports(MOD_NAME, new tabPage());
|
||||
})
|
||||
@@ -0,0 +1,40 @@
|
||||
layui.define(['jquery', 'element'],
|
||||
function (exports) {
|
||||
|
||||
var $ = layui.jquery;
|
||||
var tools = new function () {
|
||||
|
||||
/**
|
||||
* @since 防抖算法
|
||||
*
|
||||
* @param fn 要执行的方法
|
||||
* @param time 防抖时间参数
|
||||
*/
|
||||
this.debounce = function (fn, time) {
|
||||
var timer = null
|
||||
return function () {
|
||||
var arguments = arguments[0]
|
||||
if (timer) {
|
||||
clearTimeout(timer)
|
||||
}
|
||||
timer = setTimeout(function () {
|
||||
fn(arguments)
|
||||
}, time)
|
||||
}
|
||||
}
|
||||
|
||||
// image 转 base64
|
||||
this.imageToBase64 = function (img) {
|
||||
var canvas = document.createElement("canvas");
|
||||
canvas.width = img.width;
|
||||
canvas.height = img.height;
|
||||
var ctx = canvas.getContext("2d");
|
||||
ctx.drawImage(img, 0, 0, img.width, img.height);
|
||||
var ext = img.src.substring(img.src.lastIndexOf(".") + 1).toLowerCase();
|
||||
var dataURL = canvas.toDataURL("image/" + ext);
|
||||
return dataURL;
|
||||
}
|
||||
};
|
||||
|
||||
exports('tools', tools);
|
||||
})
|
||||
@@ -7,45 +7,23 @@ window.rootPath = (function (src) {
|
||||
|
||||
layui.config({
|
||||
base: rootPath + "module/",
|
||||
version: "3.40.0"
|
||||
version: "4.0.3"
|
||||
}).extend({
|
||||
admin: "admin", // 框架布局组件
|
||||
common: "common", // 公共方法封装
|
||||
menu: "menu", // 数据菜单组件
|
||||
frame: "frame", // 内容页面组件
|
||||
tab: "tab", // 多选项卡组件
|
||||
echarts: "echarts", // 数据图表组件
|
||||
echartsTheme: "echartsTheme",// 数据图表主题
|
||||
encrypt: "encrypt", // 数据加密组件
|
||||
select: "select", // 下拉多选组件
|
||||
drawer: "drawer", // 抽屉弹层组件
|
||||
notice: "notice", // 消息提示组件
|
||||
step:"step", // 分布表单组件
|
||||
tag:"tag", // 多标签页组件
|
||||
popup:"popup", // 弹层封装
|
||||
treetable:"treetable", // 树状表格
|
||||
dtree:"dtree", // 树结构
|
||||
tinymce:"tinymce/tinymce", // 编辑器
|
||||
area:"area", // 省市级联
|
||||
count:"count", // 数字滚动
|
||||
topBar: "topBar", // 置顶组件
|
||||
button: "button", // 加载按钮
|
||||
design: "design", // 表单设计
|
||||
card: "card", // 数据卡片组件
|
||||
loading: "loading", // 加载组件
|
||||
cropper:"cropper", // 裁剪组件
|
||||
convert:"convert", // 数据转换
|
||||
yaml:"yaml", // yaml 解析组件
|
||||
context: "context", // 上下文组件
|
||||
http: "http", // 网络请求组件
|
||||
theme: "theme", // 主题转换
|
||||
message: "message", // 通知组件
|
||||
toast: "toast", // 消息通知
|
||||
iconPicker: "iconPicker", // 图标选择
|
||||
nprogress: "nprogress", // 进度过渡
|
||||
watermark:"watermark/watermark", //水印组件
|
||||
fullscreen:"fullscreen", //全屏组件
|
||||
popover:"popover/popover" //汽泡组件
|
||||
}).use(['layer', 'theme'], function () {
|
||||
layui.theme.changeTheme(window, false);
|
||||
});
|
||||
admin: "admin",
|
||||
page: "page",
|
||||
tabPage: "tabPage",
|
||||
menu: "menu",
|
||||
fullscreen: "fullscreen",
|
||||
messageCenter: "messageCenter",
|
||||
menuSearch: "menuSearch",
|
||||
button: "button",
|
||||
tools: "tools",
|
||||
popup: "extends/popup",
|
||||
count: "extends/count",
|
||||
toast: "extends/toast",
|
||||
nprogress: "extends/nprogress",
|
||||
echarts: "extends/echarts",
|
||||
echartsTheme: "extends/echartsTheme",
|
||||
yaml: "extends/yaml",
|
||||
dtree: "dtree"
|
||||
}).use([], function () { });
|
||||
@@ -0,0 +1,394 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>分析页</title>
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='system/admin/css/other/analysis.css') }}"/>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="pear-container">
|
||||
<div class="layui-row layui-col-space10">
|
||||
<div class="layui-col-xs6 layui-col-md3">
|
||||
<div class="layui-card top-panel">
|
||||
<div class="layui-card-header">今日访问</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-row layui-col-space5">
|
||||
<div class="layui-col-xs8 layui-col-md8 top-panel-number" style="color: #28333E;"
|
||||
id="value1">
|
||||
0
|
||||
</div>
|
||||
<div class="layui-col-xs4 layui-col-md4 top-panel-tips">
|
||||
<svg t="1688201011061" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg" p-id="1411" width="200" height="200">
|
||||
<path
|
||||
d="M716.8 0H307.2C137.5488 0 0 137.5488 0 307.2v409.6c0 169.6512 137.5488 307.2 307.2 307.2h409.6c169.6512 0 307.2-137.5488 307.2-307.2V307.2c0-169.6512-137.5488-307.2-307.2-307.2z"
|
||||
fill="#D8F4EE" p-id="1412"></path>
|
||||
<path
|
||||
d="M691.8656 639.1296a257.4592 257.4592 0 0 1-52.736 52.736l60.928 60.928a37.2992 37.2992 0 0 0 52.736-52.736l-60.928-60.928z"
|
||||
fill="#75E8CD" p-id="1413"></path>
|
||||
<path
|
||||
d="M486.4 716.8a230.4 230.4 0 1 0 0-460.8 230.4 230.4 0 0 0 0 460.8z m130.9696-302.5152a16.64 16.64 0 0 1 0.3584 23.5008l-115.84 119.296a16.5376 16.5376 0 0 1-3.84 3.3792 16.64 16.64 0 0 1-22.144-3.5072l-67.328-60.5184-47.232 48.64a16.64 16.64 0 0 1-23.8336-23.168l56.32-57.984a16.6912 16.6912 0 0 1 24.8832-3.072l69.5552 62.5152 105.6-108.7232a16.6144 16.6144 0 0 1 23.5008-0.3584z"
|
||||
fill="#01C3A3" p-id="1414"></path>
|
||||
<path
|
||||
d="M341.257236 436.535528m-7.948259-21.87091l0 0q-7.948258-21.87091-29.819168-13.922652l0 0q-21.87091 7.948258-13.922652 29.819169l0 0q7.948258 21.87091 29.819168 13.922651l0 0q21.87091-7.948258 13.922652-29.819168Z"
|
||||
fill="#FFFFFF" p-id="1415"></path>
|
||||
<path
|
||||
d="M331.4432 370.7392a17.2544 17.2544 0 0 0 29.3888-3.584l5.9648-13.5168a26.112 26.112 0 0 1 14.9504-13.9264l30.1056-10.9312a15.2576 15.2576 0 0 0 8.8832-20.224 15.0272 15.0272 0 0 0-18.4576-8.6016c-47.7696 15.4368-67.0976 29.3888-73.9584 57.5232a15.6672 15.6672 0 0 0 3.1488 13.2608z"
|
||||
fill="#FFFFFF" p-id="1416"></path>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs6 layui-col-md3">
|
||||
<div class="layui-card top-panel">
|
||||
<div class="layui-card-header">提交次数</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-row layui-col-space5">
|
||||
<div class="layui-col-xs8 layui-col-md8 top-panel-number" style="color: #28333E;"
|
||||
id="value2">
|
||||
0
|
||||
</div>
|
||||
<div class="layui-col-xs4 layui-col-md4 top-panel-tips">
|
||||
<svg t="1688201051691" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg" p-id="1560" width="200" height="200">
|
||||
<path
|
||||
d="M716.8 0H307.2C137.5488 0 0 137.5488 0 307.2v409.6c0 169.6512 137.5488 307.2 307.2 307.2h409.6c169.6512 0 307.2-137.5488 307.2-307.2V307.2c0-169.6512-137.5488-307.2-307.2-307.2z"
|
||||
fill="#D8F4EE" p-id="1561"></path>
|
||||
<path
|
||||
d="M257.92 354.304a12.8 12.8 0 0 1 12.8-12.8h51.2a12.8 12.8 0 1 1 0 25.6h-51.2a12.8 12.8 0 0 1-12.8-12.8zM258.048 485.6832a12.8 12.8 0 0 1 12.8512-12.7488l51.2 0.1536a12.8 12.8 0 1 1-0.0768 25.6l-51.2-0.1536a12.8 12.8 0 0 1-12.7488-12.8512zM257.8432 613.5808c0-7.296 5.76-13.184 12.8-13.184l51.2 0.1024c7.0912 0 12.8 5.9392 12.8 13.2096a13.0048 13.0048 0 0 1-12.8256 13.1584l-51.2-0.1024a13.0048 13.0048 0 0 1-12.8-13.184z"
|
||||
fill="#75E8CD" p-id="1562"></path>
|
||||
<path
|
||||
d="M281.6 307.2a51.2 51.2 0 0 1 51.2-51.2h307.2a51.2 51.2 0 0 1 51.2 51.2 51.2 51.2 0 0 1 51.2 51.2v358.4a51.2 51.2 0 0 1-51.2 51.2H332.8a51.2 51.2 0 0 1-51.2-51.2v-76.8h51.2a25.6 25.6 0 0 0 0-51.2h-51.2v-76.8h51.2a25.6 25.6 0 0 0 0-51.2h-51.2v-76.8h51.2a25.6 25.6 0 0 0 0-51.2h-51.2v-25.6z m51.2 409.6c-9.3184 0-18.0736-2.4832-25.6-6.8352V716.8a25.6 25.6 0 0 0 25.6 25.6h358.4a25.6 25.6 0 0 0 25.6-25.6V358.4a25.6 25.6 0 0 0-25.6-25.6v332.8a51.2 51.2 0 0 1-51.2 51.2H332.8z"
|
||||
fill="#01C3A3" p-id="1563"></path>
|
||||
<path
|
||||
d="M358.4 293.2224c0-6.4 5.1968-11.6224 11.6224-11.6224h209.4592a11.648 11.648 0 0 1 0 23.296h-209.4592a11.648 11.648 0 0 1-11.6224-11.6736zM614.4 293.2224a11.648 11.648 0 0 1 23.2704 0 11.648 11.648 0 0 1-23.2704 0z"
|
||||
fill="#FFFFFF" p-id="1564"></path>
|
||||
<path
|
||||
d="M426.7264 401.9712a13.568 13.568 0 0 1 5.8368-17.9456l26.624-13.952a12.8512 12.8512 0 0 1 17.5616 5.7088l18.0224 36.3264-50.3552 25.5488-17.6896-35.6864z m23.552 47.5136l84.7872 170.8544-5.0432 2.6624c-3.8144 1.9968-4.1984 7.296-0.6656 9.5232l55.3472 35.2256c3.5072 2.2272 8.2688-0.256 8.576-4.5056l4.7616-66.7136a5.3248 5.3248 0 0 0-7.9104-5.0432l-5.0176 2.6624-84.48-170.24-50.3552 25.5744z"
|
||||
fill="#75E8CD" p-id="1565"></path>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs6 layui-col-md3">
|
||||
<div class="layui-card top-panel">
|
||||
<div class="layui-card-header">下载数量</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-row layui-col-space5">
|
||||
<div class="layui-col-xs8 layui-col-md8 top-panel-number" style="color: #28333E;"
|
||||
id="value3">
|
||||
0
|
||||
</div>
|
||||
<div class="layui-col-xs4 layui-col-md4 top-panel-tips">
|
||||
<svg t="1688201066494" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg" p-id="1709" width="200" height="200">
|
||||
<path
|
||||
d="M716.8 0H307.2C137.5488 0 0 137.5488 0 307.2v409.6c0 169.6512 137.5488 307.2 307.2 307.2h409.6c169.6512 0 307.2-137.5488 307.2-307.2V307.2c0-169.6512-137.5488-307.2-307.2-307.2z"
|
||||
fill="#D8F4EE" p-id="1710"></path>
|
||||
<path
|
||||
d="M349.056 373.2992L461.1072 512l-112.0512 138.7008C311.9872 696.6272 342.4 768 399.0528 768h225.8944c56.6528 0 87.0656-71.3728 49.9968-117.2992L562.8928 512l112.0512-138.7008c37.0688-45.9008 6.656-117.2992-49.9968-117.2992h-225.8944c-56.6528 0-87.0656 71.3984-49.9968 117.2992z m134.2464 123.904l-67.7376-84.4288c-22.2208-27.7248 22.5024-38.9632 54.7328-17.6896 29.1328 19.2 53.5808 18.1504 62.2336 17.7664l2.2272-0.0768c1.1264 0 5.7088-1.1008 12.1344-2.6368 25.9072-6.1952 81.8944-19.584 64.0768 2.6368l-67.7376 84.4544c-15.7952 19.712-44.1344 19.712-59.9296 0z"
|
||||
fill="#01C99A" p-id="1711"></path>
|
||||
<path
|
||||
d="M256 294.4a38.4 38.4 0 0 1 38.4-38.4h435.2a38.4 38.4 0 0 1 0 76.8h-435.2a38.4 38.4 0 0 1-38.4-38.4zM768 729.6a38.4 38.4 0 0 1-38.4 38.4h-435.2a38.4 38.4 0 0 1 0-76.8h435.2a38.4 38.4 0 0 1 38.4 38.4z"
|
||||
fill="#75E8CD" p-id="1712"></path>
|
||||
<path
|
||||
d="M402.7392 614.9632m7.7068-10.219845l42.926877-56.924536q7.7068-10.219845 17.926645-2.513045l0 0q10.219845 7.7068 2.513045 17.926645l-42.926877 56.924536q-7.7068 10.219845-17.926645 2.513045l0 0q-10.219845-7.7068-2.513045-17.926645Z"
|
||||
fill="#FFFFFF" p-id="1713"></path>
|
||||
<path
|
||||
d="M419.824586 634.79804m-7.7068 10.219845l0 0q-7.7068 10.219845-17.926645 2.513044l0 0q-10.219845-7.7068-2.513045-17.926645l0 0q7.7068-10.219845 17.926645-2.513044l0 0q10.219845 7.7068 2.513045 17.926645Z"
|
||||
fill="#FFFFFF" p-id="1714"></path>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs6 layui-col-md3">
|
||||
<div class="layui-card top-panel">
|
||||
<div class="layui-card-header">流量统计</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-row layui-col-space5">
|
||||
<div class="layui-col-xs8 layui-col-md8 top-panel-number" style="color: #28333E;"
|
||||
id="value4">
|
||||
0
|
||||
</div>
|
||||
<div class="layui-col-xs4 layui-col-md4 top-panel-tips">
|
||||
<svg t="1688201079590" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg" p-id="1858" width="200" height="200">
|
||||
<path
|
||||
d="M716.8 0H307.2C137.5488 0 0 137.5488 0 307.2v409.6c0 169.6512 137.5488 307.2 307.2 307.2h409.6c169.6512 0 307.2-137.5488 307.2-307.2V307.2c0-169.6512-137.5488-307.2-307.2-307.2z"
|
||||
fill="#D8F4EE" p-id="1859"></path>
|
||||
<path
|
||||
d="M327.936 280.3712a24.3712 24.3712 0 0 1 48.7424 0v48.768a24.3712 24.3712 0 1 1-48.768 0v-48.768z m195.0464 0h-121.9072v73.1392a24.3712 24.3712 0 0 1-24.3968 24.3968H327.936a24.3712 24.3712 0 0 1-24.3712-24.3968v-73.1392h-24.3712A48.768 48.768 0 0 0 230.4 329.1392v390.0928C230.4 746.1632 252.2368 768 279.168 768H644.864c3.0208 0 5.9904-0.256 8.8832-0.8192a146.304 146.304 0 1 1 39.8592-289.7408v-148.3008a48.768 48.768 0 0 0-48.7424-48.768h-24.3968v73.1392a24.3712 24.3712 0 0 1-24.3712 24.3968H547.328a24.3712 24.3712 0 0 1-24.3712-24.3968v-73.1392zM571.7248 256a24.3712 24.3712 0 0 0-24.3712 24.3712v48.768a24.3712 24.3712 0 0 0 48.768 0v-48.768a24.3712 24.3712 0 0 0-24.3968-24.3712z m-292.5568 182.8608c0-6.7328 5.4528-12.1856 12.1856-12.1856h316.928a12.1856 12.1856 0 1 1 0 24.3712h-316.928a12.1856 12.1856 0 0 1-12.1856-12.1856z m12.1856 109.7216a12.1856 12.1856 0 1 1 0-24.3968h170.6752a12.1856 12.1856 0 1 1 0 24.3968H291.328z m-12.1856 85.3248c0-6.7328 5.4528-12.1856 12.1856-12.1856h170.6752a12.1856 12.1856 0 1 1 0 24.3712H291.328a12.1856 12.1856 0 0 1-12.1856-12.1856z"
|
||||
fill="#01C3A3" p-id="1860"></path>
|
||||
<path
|
||||
d="M675.968 742.4a115.2 115.2 0 1 0 0-230.4 115.2 115.2 0 0 0 0 230.4z m25.7024-101.8112l30.208 30.2336a8.704 8.704 0 0 1-12.288 12.3136l-30.2336-30.2336a52.224 52.224 0 1 1 12.3136-12.288z m-7.7568-30.2848a34.816 34.816 0 1 1-69.6576 0 34.816 34.816 0 0 1 69.632 0z"
|
||||
fill="#75E8CD" p-id="1861"></path>
|
||||
<path d="M637.568 627.2a12.8 12.8 0 0 1 25.6 0 12.8 12.8 0 1 1-25.6 0z"
|
||||
fill="#FFFFFF" p-id="1862"></path>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-row layui-col-space10">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-row">
|
||||
<div class="layui-col layui-col-md9">
|
||||
<div id="echarts-records" style="height:400px;"></div>
|
||||
</div>
|
||||
<div class="layui-col layui-col-md3">
|
||||
<div style="padding: 40px 0px 0px 50px;">
|
||||
<div class="layui-timeline">
|
||||
<div class="layui-timeline-item">
|
||||
<i class="layui-icon layui-timeline-axis layui-icon-circle"></i>
|
||||
<div class="layui-timeline-content layui-text">
|
||||
<div class="layui-timeline-title">最初,Layui 在爱与期许中孵化。</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-timeline-item">
|
||||
<i class="layui-icon layui-timeline-axis layui-icon-circle"></i>
|
||||
<div class="layui-timeline-content layui-text">
|
||||
<div class="layui-timeline-title">最初,Layui 在爱与期许中孵化。</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-timeline-item">
|
||||
<i class="layui-icon layui-timeline-axis layui-icon-circle"></i>
|
||||
<div class="layui-timeline-content layui-text">
|
||||
<div class="layui-timeline-title">最初,Layui 在爱与期许中孵化。</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-timeline-item">
|
||||
<i class="layui-icon layui-timeline-axis layui-icon-circle"></i>
|
||||
<div class="layui-timeline-content layui-text">
|
||||
<div class="layui-timeline-title">最初,Layui 在爱与期许中孵化。</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-timeline-item">
|
||||
<i class="layui-icon layui-timeline-axis layui-icon-circle"></i>
|
||||
<div class="layui-timeline-content layui-text">
|
||||
<div class="layui-timeline-title">最初,Layui 在爱与期许中孵化。</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-timeline-item">
|
||||
<i class="layui-icon layui-timeline-axis layui-icon-circle"></i>
|
||||
<div class="layui-timeline-content layui-text">
|
||||
<div class="layui-timeline-title">最初,Layui 在爱与期许中孵化。</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-timeline-item">
|
||||
<i
|
||||
class="layui-icon layui-anim layui-anim-rotate layui-anim-loop layui-timeline-axis"></i>
|
||||
<div class="layui-timeline-content layui-text">
|
||||
<div class="layui-timeline-title">最初,Layui 在爱与期许中孵化。</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md9">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<dl class="dynamic-status">
|
||||
<dd>
|
||||
<div class="dynamic-status-img"><a href="javascript:;"><img
|
||||
style="width: 32px;height: 32px;border-radius: 50px;"
|
||||
src="{{ url_for('static', filename='system/admin/images/avatar.jpg') }}"></a></div>
|
||||
<div>
|
||||
<p>就眠儀式 在 <a style="color: var(--global-primary-color)"
|
||||
lay-href="https://gitee.com/pear-admin/Pear-Admin-Layui">讨论区</a> 回答了 <a style="color: var(--global-primary-color)"
|
||||
lay-href="https://gitee.com/pear-admin/Pear-Admin-Layui">夏娜</a> 提出得问题
|
||||
</p>
|
||||
<span>昨天</span>
|
||||
</div>
|
||||
</dd>
|
||||
<dd>
|
||||
<div class="dynamic-status-img"><a href="javascript:;"><img
|
||||
style="width: 32px;height: 32px;border-radius: 50px;"
|
||||
src="{{ url_for('static', filename='system/admin/images/avatar.jpg') }}"></a></div>
|
||||
<div>
|
||||
<p>就眠儀式 在 <a style="color: var(--global-primary-color)"
|
||||
lay-href="https://gitee.com/pear-admin/Pear-Admin-Layui">讨论区</a> 回答了 <a style="color: var(--global-primary-color)"
|
||||
lay-href="https://gitee.com/pear-admin/Pear-Admin-Layui">夏娜</a> 提出得问题
|
||||
</p>
|
||||
<span>昨天</span>
|
||||
</div>
|
||||
</dd>
|
||||
<dd>
|
||||
<div class="dynamic-status-img"><a href="javascript:;"><img
|
||||
style="width: 32px;height: 32px;border-radius: 50px;"
|
||||
src="{{ url_for('static', filename='system/admin/images/avatar.jpg') }}"></a></div>
|
||||
<div>
|
||||
<p>就眠儀式 在 <a style="color: var(--global-primary-color)"
|
||||
lay-href="https://gitee.com/pear-admin/Pear-Admin-Layui">讨论区</a> 回答了 <a style="color: var(--global-primary-color)"
|
||||
lay-href="https://gitee.com/pear-admin/Pear-Admin-Layui">夏娜</a> 提出得问题
|
||||
</p>
|
||||
<span>昨天</span>
|
||||
</div>
|
||||
</dd>
|
||||
<dd>
|
||||
<div class="dynamic-status-img"><a href="javascript:;"><img
|
||||
style="width: 32px;height: 32px;border-radius: 50px;"
|
||||
src="{{ url_for('static', filename='system/admin/images/avatar.jpg') }}"></a></div>
|
||||
<div>
|
||||
<p>就眠儀式 在 <a style="color: var(--global-primary-color)"
|
||||
lay-href="https://gitee.com/pear-admin/Pear-Admin-Layui">讨论区</a> 回答了 <a style="color: var(--global-primary-color)"
|
||||
lay-href="https://gitee.com/pear-admin/Pear-Admin-Layui">夏娜</a> 提出得问题
|
||||
</p>
|
||||
<span>昨天</span>
|
||||
</div>
|
||||
</dd>
|
||||
<dd>
|
||||
<div class="dynamic-status-img"><a href="javascript:;"><img
|
||||
style="width: 32px;height: 32px;border-radius: 50px;"
|
||||
src="{{ url_for('static', filename='system/admin/images/avatar.jpg') }}"></a></div>
|
||||
<div>
|
||||
<p>就眠儀式 在 <a style="color: var(--global-primary-color)"
|
||||
lay-href="https://gitee.com/pear-admin/Pear-Admin-Layui">讨论区</a> 回答了 <a style="color: var(--global-primary-color)"
|
||||
lay-href="https://gitee.com/pear-admin/Pear-Admin-Layui">夏娜</a> 提出得问题
|
||||
</p>
|
||||
<span>昨天</span>
|
||||
</div>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="layui-col layui-col-md3">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body"
|
||||
style="flex-direction: column;height: 160px;display: flex; align-items: center; justify-content: center;">
|
||||
<div>
|
||||
<svg focusable="false" class="" data-icon="smile" width="6em" height="6em" fill="#16baaa"
|
||||
aria-hidden="true" viewBox="64 64 896 896">
|
||||
<path
|
||||
d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"
|
||||
fill="#16baaa"></path>
|
||||
<path
|
||||
d="M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zM288 421a48.01 48.01 0 0196 0 48.01 48.01 0 01-96 0zm224 272c-85.5 0-155.6-67.3-160-151.6a8 8 0 018-8.4h48.1c4.2 0 7.8 3.2 8.1 7.4C420 589.9 461.5 629 512 629s92.1-39.1 95.8-88.6c.3-4.2 3.9-7.4 8.1-7.4H664a8 8 0 018 8.4C667.6 625.7 597.5 693 512 693zm176-224a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"
|
||||
fill="#e6f7ff"></path>
|
||||
<path
|
||||
d="M288 421a48 48 0 1096 0 48 48 0 10-96 0zm376 112h-48.1c-4.2 0-7.8 3.2-8.1 7.4-3.7 49.5-45.3 88.6-95.8 88.6s-92-39.1-95.8-88.6c-.3-4.2-3.9-7.4-8.1-7.4H360a8 8 0 00-8 8.4c4.4 84.3 74.5 151.6 160 151.6s155.6-67.3 160-151.6a8 8 0 00-8-8.4zm-24-112a48 48 0 1096 0 48 48 0 10-96 0z"
|
||||
fill="#16baaa"></path>
|
||||
</svg>
|
||||
</div>
|
||||
<div>Hello Word</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">
|
||||
寄语
|
||||
</div>
|
||||
<div class="layui-card-body" style="line-height:40px;">
|
||||
原想将澎湃的爱平平稳稳放置你手心,奈何我徒有一股蛮劲,只顾向你跑去,一个不稳跌的满身脏兮兮。试图爬起的我,
|
||||
心想你会不会笑我 " 献爱献的这样笨拙, 怎么不知避开爱里的埋伏 "
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
layui.use(['layer', 'echarts', 'element', 'count'], function () {
|
||||
var $ = layui.jquery,
|
||||
layer = layui.layer,
|
||||
element = layui.element,
|
||||
count = layui.count,
|
||||
echarts = layui.echarts;
|
||||
|
||||
count.up("value1", {
|
||||
time: 4000,
|
||||
num: 440.34,
|
||||
bit: 2,
|
||||
regulator: 50
|
||||
})
|
||||
|
||||
count.up("value2", {
|
||||
time: 4000,
|
||||
num: 236.30,
|
||||
bit: 2,
|
||||
regulator: 50
|
||||
})
|
||||
|
||||
count.up("value3", {
|
||||
time: 4000,
|
||||
num: 634.43,
|
||||
bit: 2,
|
||||
regulator: 50
|
||||
})
|
||||
|
||||
count.up("value4", {
|
||||
time: 4000,
|
||||
bit: 2,
|
||||
num: 373.23,
|
||||
regulator: 50
|
||||
})
|
||||
|
||||
var echartsRecords = echarts.init(document.getElementById('echarts-records'), 'walden');
|
||||
|
||||
const colorList = ["#9E87FF", '#73DDFF', '#fe9a8b', '#F56948', '#9E87FF']
|
||||
var option = {
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun', 'Bai', 'Fan', 'Yue', 'Qian'],
|
||||
splitLine: false
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
splitLine: false
|
||||
},
|
||||
grid: {
|
||||
x: '50px',
|
||||
y: '50px',
|
||||
x2: '50px',
|
||||
y2: '50px',
|
||||
},
|
||||
series: [
|
||||
{
|
||||
data: [120, 200, 150, 80, 70, 110, 130, 50, 40, 70, 100],
|
||||
type: 'bar',
|
||||
showBackground: true,
|
||||
backgroundStyle: {
|
||||
color: 'rgba(180, 180, 180, 0.2)'
|
||||
},
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: '#16baaa'
|
||||
},
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
echartsRecords.setOption(option);
|
||||
|
||||
setInterval(() => {
|
||||
echartsRecords.resize();
|
||||
}, 500);
|
||||
|
||||
window.onresize = function () {
|
||||
echartsRecords.resize();
|
||||
}
|
||||
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -1,2 +1,9 @@
|
||||
<script>
|
||||
const variableKey = "--global-primary-color";
|
||||
const variableVal = localStorage.getItem("theme-color-color");
|
||||
document.documentElement.style.setProperty(variableKey, variableVal);
|
||||
</script>
|
||||
|
||||
<script src="{{ url_for('static', filename='system/component/layui/layui.js') }}"></script>
|
||||
<script src="{{ url_for('static', filename='system/component/pear/pear.js') }}"></script>
|
||||
<script src="{{ url_for('static', filename='system/component/pear/pear.js') }}"></script>
|
||||
|
||||
|
||||
@@ -2,4 +2,12 @@
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='system/component/pear/css/pear.css') }}"/>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='system/component/pear/css/pear.css') }}"/>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='system/admin/css/variables.css') }}"/>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='system/admin/css/reset.css') }}"/>
|
||||
|
||||
<style>
|
||||
.layui-form-checked:hover > div {
|
||||
background-color: unset;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,413 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>首页</title>
|
||||
{% include 'system/common/header.html' %}
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='system/admin/css/other/console1.css') }}"/>
|
||||
|
||||
<!-- 主 题 更 换 -->
|
||||
<style id="pearadmin-bg-color"></style>
|
||||
</head>
|
||||
<body class="pear-container">
|
||||
<div>
|
||||
<div class="layui-row layui-col-space10">
|
||||
<div class="layui-col-xs6 layui-col-md3">
|
||||
<div class="layui-card top-panel">
|
||||
<div class="layui-card-header">今日访问</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-row layui-col-space5">
|
||||
<div class="layui-col-xs8 layui-col-md8 top-panel-number" style="color: #28333E;" id="value1">
|
||||
0
|
||||
</div>
|
||||
<div class="layui-col-xs4 layui-col-md4 top-panel-tips">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon" viewBox="0 0 1024 1024" width="200"
|
||||
height="200" t="1591462258798"
|
||||
p-id="942" version="1.1">
|
||||
<path fill="#fcc66f"
|
||||
d="M 262.7 835 c -15.3 0 -28.1 -11.4 -29.8 -26.6 L 174.1 291 c -0.6 -5.1 1 -10.2 4.5 -14 s 8.3 -6 13.4 -6 h 640 c 5.1 0 10 2.2 13.4 6 s 5 8.9 4.5 14 l -58.8 517.4 c -1.7 15.2 -14.5 26.6 -29.8 26.6 H 262.7 Z"
|
||||
p-id="943"/>
|
||||
<path fill="#ffd79c"
|
||||
d="M 802 289 l -58.8 517.4 c -0.7 6.1 -5.8 10.6 -11.9 10.6 h 30 c 6.1 0 11.2 -4.6 11.9 -10.6 L 832 289 h -30 Z"
|
||||
p-id="944"/>
|
||||
<path fill="#f56e73"
|
||||
d="M 164 307 c -16.5 0 -30 -13.5 -30 -30 v -58 c 0 -16.5 13.5 -30 30 -30 h 696 c 16.5 0 30 13.5 30 30 v 58 c 0 16.5 -13.5 30 -30 30 H 164 Z"
|
||||
p-id="945"/>
|
||||
<path fill="#ffa1a8"
|
||||
d="M 860 207 h -30 c 6.6 0 12 5.4 12 12 v 58 c 0 6.6 -5.4 12 -12 12 h 30 c 6.6 0 12 -5.4 12 -12 v -58 c 0 -6.6 -5.4 -12 -12 -12 Z"
|
||||
p-id="946"/>
|
||||
<path fill="#65c8ff"
|
||||
d="M 190.9 651.5 c -31.4 0 -56.9 -25.5 -56.9 -56.9 V 219 c 0 -16.5 13.5 -30 30 -30 h 466.2 c 9.9 0 18 8.1 18 18 v 301.1 c 0 34.7 -28.2 62.9 -62.9 62.9 s -62.9 -28.2 -62.9 -62.9 V 393.5 c 0 -23.2 -18.8 -42 -42 -42 s -42 18.8 -42 42 v 68.1 c 0 29.4 -23.9 53.4 -53.4 53.4 s -53.4 -23.9 -53.4 -53.4 v -68.1 c 0 -23.2 -18.8 -42 -42 -42 s -42 18.8 -42 42 v 201.1 c 0.1 31.4 -25.4 56.9 -56.7 56.9 Z"
|
||||
p-id="947"/>
|
||||
<path fill="#b3eaff"
|
||||
d="M 277.8 321.5 c -33.1 0 -60 26.9 -60 60 v 201.1 c 0 21.5 -17.4 38.9 -38.9 38.9 c -7.7 0 -14.8 -2.2 -20.8 -6.1 c 6.9 10.9 19 18.1 32.8 18.1 c 21.5 0 38.9 -17.4 38.9 -38.9 V 393.5 c 0 -33.1 26.9 -60 60 -60 c 13.5 0 25.9 4.5 36 12 c -11 -14.5 -28.4 -24 -48 -24 Z M 618.3 207 v 289.1 c 0 24.8 -20.1 44.9 -44.9 44.9 c -9.3 0 -18 -2.8 -25.2 -7.7 c 8.1 11.9 21.7 19.7 37.2 19.7 c 24.8 0 44.9 -20.1 44.9 -44.9 V 207 h -12 Z M 468.5 321.5 c -33.1 0 -60 26.9 -60 60 v 68.1 c 0 19.5 -15.8 35.4 -35.4 35.4 c -6.7 0 -12.9 -1.9 -18.3 -5.1 c 6.2 10.2 17.4 17.1 30.3 17.1 c 19.5 0 35.4 -15.8 35.4 -35.4 v -68.1 c 0 -33.1 26.9 -60 60 -60 c 13.5 0 25.9 4.5 36 12 c -11 -14.5 -28.4 -24 -48 -24 Z"
|
||||
p-id="948"/>
|
||||
<path fill="#453b56" d="M 698 729.4 m -18 0 a 18 18 0 1 0 36 0 a 18 18 0 1 0 -36 0 Z"
|
||||
p-id="949"/>
|
||||
<path fill="#453b56"
|
||||
d="M 860 171 H 632.5 v 0.1 c -0.7 0 -1.5 -0.1 -2.2 -0.1 H 164 c -26.5 0 -48 21.5 -48 48 v 375.6 c 0 41.3 33.6 74.9 74.9 74.9 c 2.7 0 5.4 -0.2 8.1 -0.5 l 16 141.4 c 2.8 24.3 23.3 42.6 47.7 42.6 h 498.6 c 24.4 0 44.9 -18.3 47.7 -42.6 l 55.2 -485.6 c 24.5 -2.1 43.8 -22.7 43.8 -47.8 v -58 c 0 -26.5 -21.5 -48 -48 -48 Z M 190.9 633.5 c -21.5 0 -38.9 -17.4 -38.9 -38.9 V 219 c 0 -6.6 5.4 -12 12 -12 h 466.3 v 301.1 c 0 24.8 -20.1 44.9 -44.9 44.9 c -24.8 0 -44.9 -20.1 -44.9 -44.9 V 393.5 c 0 -33.1 -26.9 -60 -60 -60 s -60 26.9 -60 60 v 68.1 c 0 19.5 -15.8 35.4 -35.4 35.4 c -19.5 0 -35.4 -15.8 -35.4 -35.4 v -68.1 c 0 -33.1 -26.9 -60 -60 -60 s -60 26.9 -60 60 v 201.1 c 0.1 21.5 -17.4 38.9 -38.8 38.9 Z m 582.3 172.9 c -0.7 6.1 -5.8 10.6 -11.9 10.6 H 262.7 c -6.1 0 -11.2 -4.6 -11.9 -10.6 l -6.7 -59 h 396.6 c 9.9 0 18 -8.1 18 -18 s -8.1 -18 -18 -18 H 240 l -6.3 -55.4 c 19.3 -13.6 32.1 -36 32.1 -61.3 V 393.5 c 0 -13.2 10.8 -24 24 -24 s 24 10.8 24 24 v 68.1 c 0 39.4 32 71.4 71.4 71.4 s 71.4 -32 71.4 -71.4 v -68.1 c 0 -13.2 10.8 -24 24 -24 s 24 10.8 24 24 v 114.6 c 0 44.6 36.3 80.9 80.9 80.9 c 44.6 0 80.9 -36.3 80.9 -80.9 V 325 h 161.7 l -54.9 481.4 Z M 872 277 c 0 6.6 -5.4 12 -12 12 H 666.3 v -82 H 860 c 6.6 0 12 5.4 12 12 v 58 Z"
|
||||
p-id="950"/>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs6 layui-col-md3">
|
||||
<div class="layui-card top-panel">
|
||||
<div class="layui-card-header">提交次数</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-row layui-col-space5">
|
||||
<div class="layui-col-xs8 layui-col-md8 top-panel-number" style="color: #28333E;" id="value2">
|
||||
0
|
||||
</div>
|
||||
<div class="layui-col-xs4 layui-col-md4 top-panel-tips">
|
||||
<svg t="1591462430908" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
p-id="3170" width="200" height="200">
|
||||
<path d="M532 784.2c0 24.4-19.8 44.3-44.3 44.3s-44.3-19.8-44.3-44.3c0-24.4 44.3-80.3 44.3-80.3s44.3 55.8 44.3 80.3zM766 784.2c0 24.4 19.8 44.3 44.3 44.3 24.4 0 44.3-19.8 44.3-44.3 0-24.4-44.3-80.3-44.3-80.3S766 759.7 766 784.2z"
|
||||
fill="#97DCFF" p-id="3171"></path>
|
||||
<path d="M123.5 471.3c-9.9 0-18-8.1-18-18v-302c0-9.9 8.1-18 18-18h58c9.9 0 18 8.1 18 18v302c0 9.9-8.1 18-18 18h-58z"
|
||||
fill="#FCC66F" p-id="3172"></path>
|
||||
<path d="M181.5 151.3v302h-58v-302h58m0-36h-58c-19.9 0-36 16.1-36 36v302c0 19.9 16.1 36 36 36h58c19.9 0 36-16.1 36-36v-302c0-19.8-16.1-36-36-36z"
|
||||
fill="#453B56" p-id="3173"></path>
|
||||
<path d="M266.4 210.7m-18 0a18 18 0 1 0 36 0 18 18 0 1 0-36 0Z" fill="#453B56"
|
||||
p-id="3174"></path>
|
||||
<path d="M430.8 641.1c-9.9 0-18-8.1-18-18v-21.6c0-130.3 106-236.3 236.3-236.3s236.3 106 236.3 236.3v21.6c0 9.9-8.1 18-18 18H430.8z"
|
||||
fill="#FCC66F" p-id="3175"></path>
|
||||
<path d="M649 383.2c-5 0-10 0.2-15 0.6 113.5 7.7 203.3 102.2 203.3 217.7v21.6h30v-21.6c0-120.6-97.7-218.3-218.3-218.3z"
|
||||
fill="#FFD79C" p-id="3176"></path>
|
||||
<path d="M419.6 694.4c-22.1 0-40.1-18-40.1-40.1s18-40.1 40.1-40.1h458.8c22.1 0 40.1 18 40.1 40.1s-18 40.1-40.1 40.1H419.6z"
|
||||
fill="#F56E73" p-id="3177"></path>
|
||||
<path d="M878.4 632.3h-30c12.2 0 22.1 9.9 22.1 22.1s-9.9 22.1-22.1 22.1h30c12.2 0 22.1-9.9 22.1-22.1s-9.9-22.1-22.1-22.1z"
|
||||
fill="#FFA1A8" p-id="3178"></path>
|
||||
<path d="M693.3 846.4c0 24.4-19.8 44.3-44.3 44.3-24.4 0-44.3-19.8-44.3-44.3s44.3-80.3 44.3-80.3 44.3 55.9 44.3 80.3z"
|
||||
fill="#97DCFF" p-id="3179"></path>
|
||||
<path d="M649 908.7c-34.3 0-62.3-27.9-62.3-62.3 0-28.5 36.9-77.2 48.1-91.4 3.4-4.3 8.6-6.8 14.1-6.8s10.7 2.5 14.1 6.8c11.3 14.2 48.1 62.9 48.1 91.4 0.2 34.3-27.8 62.3-62.1 62.3z m0-112.3c-14.1 20.4-26.3 41.9-26.3 50 0 14.5 11.8 26.3 26.3 26.3s26.3-11.8 26.3-26.3c0-8.1-12.1-29.6-26.3-50z"
|
||||
fill="#453B56" p-id="3180"></path>
|
||||
<path d="M903.3 601.9v-0.5c0-134.1-104.4-244.3-236.3-253.6v-30.7c0-68.7-55.9-124.6-124.6-124.6H326.5c-9.9 0-18 8.1-18 18s8.1 18 18 18h215.9c48.8 0 88.6 39.7 88.6 88.6v30.7c-131.8 9.3-236.3 119.4-236.3 253.6v0.5c-19.6 9.3-33.2 29.3-33.2 52.4 0 32 26 58.1 58.1 58.1H459c-14.8 21-33.5 51.5-33.5 71.8 0 34.3 27.9 62.3 62.3 62.3 34.3 0 62.2-27.9 62.2-62.3 0-20.3-18.6-50.7-33.5-71.8h264.9c-14.8 21-33.5 51.5-33.5 71.8 0 34.3 27.9 62.3 62.3 62.3 34.3 0 62.3-27.9 62.3-62.3 0-20.3-18.6-50.7-33.5-71.8h39.4c32 0 58.1-26 58.1-58.1 0-23.1-13.6-43-33.2-52.4zM487.8 810.4c-14.5 0-26.3-11.8-26.3-26.3 0-8.1 12.1-29.6 26.3-50 14.1 20.4 26.2 41.9 26.2 50 0 14.5-11.8 26.3-26.2 26.3z m322.5 0c-14.5 0-26.3-11.8-26.3-26.3 0-8.1 12.1-29.6 26.3-50 14.1 20.4 26.3 41.9 26.3 50-0.1 14.5-11.9 26.3-26.3 26.3zM649 383.2c118.8 0 215.4 94.9 218.1 213.1H430.9c2.8-118.1 99.3-213.1 218.1-213.1z m251.5 271.1c0 12.2-9.9 22.1-22.1 22.1H419.6c-12.2 0-22.1-9.9-22.1-22.1 0-12.2 9.9-22.1 22.1-22.1h458.8c12.2 0.1 22.1 10 22.1 22.1z"
|
||||
fill="#453B56" p-id="3181"></path>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs6 layui-col-md3">
|
||||
<div class="layui-card top-panel">
|
||||
<div class="layui-card-header">下载数量</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-row layui-col-space5">
|
||||
<div class="layui-col-xs8 layui-col-md8 top-panel-number" style="color: #28333E;" id="value3">
|
||||
0
|
||||
</div>
|
||||
<div class="layui-col-xs4 layui-col-md4 top-panel-tips">
|
||||
<svg t="1591462464512" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
p-id="3311" width="200" height="200">
|
||||
<path d="M750.4 216.5h-130v-15.3c0-32.9-26.8-59.7-59.7-59.7h-97.3c-32.9 0-59.7 26.8-59.7 59.7v15.3h-130c-30.7 0-55.6 25-55.6 55.6v72.4c0 9.9 8.1 18 18 18h31.5v478c0 23.2 18.8 42 42 42h405c23.2 0 42-18.8 42-42v-478H788c9.9 0 18-8.1 18-18v-72.4c0-30.6-25-55.6-55.6-55.6z"
|
||||
fill="#FCC66F" p-id="3312"></path>
|
||||
<path d="M708.5 344.5v496c0 13.3-10.7 24-24 24h30c13.3 0 24-10.7 24-24v-496h-30z"
|
||||
fill="#FFD79C" p-id="3313"></path>
|
||||
<path d="M309.5 882.5c-23.2 0-42-18.8-42-42V596c0-9.9 8.1-18 18-18h36.8c30.2 0 54.8 24.6 54.8 54.8v231.7c0 9.9-8.1 18-18 18h-49.6zM664.9 882.5c-9.9 0-18-8.1-18-18V632.8c0-30.2 24.6-54.8 54.8-54.8h36.8c9.9 0 18 8.1 18 18v244.5c0 23.2-18.8 42-42 42h-49.6z"
|
||||
fill="#F56E73" p-id="3314"></path>
|
||||
<path d="M708.5 596v244.5c0 13.3-10.7 24-24 24h30c13.3 0 24-10.7 24-24V596h-30z"
|
||||
fill="#FFA1A8" p-id="3315"></path>
|
||||
<path d="M475.2 882.5c-9.9 0-18-8.1-18-18V632.8c0-30.2 24.6-54.8 54.8-54.8 30.2 0 54.8 24.6 54.8 54.8v231.7c0 9.9-8.1 18-18 18h-73.6z"
|
||||
fill="#F56E73" p-id="3316"></path>
|
||||
<path d="M560.7 159.5h-18c23 0 41.7 18.7 41.7 41.7V221h18v-19.8c-0.1-23-18.7-41.7-41.7-41.7zM750.4 234.5h-30c20.8 0 37.6 16.8 37.6 37.6v72.4h30v-72.4c0-20.8-16.8-37.6-37.6-37.6z"
|
||||
fill="#FFD79C" p-id="3317"></path>
|
||||
<path d="M750.4 198.5H638.2c-1.4-41.6-35.6-75-77.5-75h-97.3c-41.9 0-76.1 33.4-77.5 75H273.6c-40.6 0-73.6 33-73.6 73.6v72.4c0 19.9 16.1 36 36 36h13.5v460c0 33.1 26.9 60 60 60H714.7c33.1 0 60-26.9 60-60v-460H788c19.9 0 36-16.1 36-36v-72.4c0-40.6-33-73.6-73.6-73.6z m-287.1-39h97.3c22.1 0 40.2 17.2 41.5 39H421.8c1.4-21.8 19.4-39 41.5-39z m-104.2 705h-49.6c-13.3 0-24-10.7-24-24V596h36.8c20.3 0 36.8 16.5 36.8 36.8v231.7z m189.7 0h-73.6V632.8c0-20.3 16.5-36.8 36.8-36.8 20.3 0 36.8 16.5 36.8 36.8v231.7z m189.7-24c0 13.3-10.7 24-24 24h-49.6V632.8c0-20.3 16.5-36.8 36.8-36.8h36.8v244.5z m0-280.5h-36.8c-40.1 0-72.8 32.6-72.8 72.8v231.7h-44.2V632.8c0-40.1-32.6-72.8-72.8-72.8-40.1 0-72.8 32.6-72.8 72.8v231.7h-44.2V632.8c0-40.1-32.6-72.8-72.8-72.8h-36.8v-74.5h279c9.9 0 18-8.1 18-18s-8.1-18-18-18h-279v-69h453V560zM788 344.5H236v-72.4c0-20.8 16.8-37.6 37.6-37.6h476.8c20.8 0 37.6 16.8 37.6 37.6v72.4z"
|
||||
fill="#453B56" p-id="3318"></path>
|
||||
<path d="M621.8 467.5m-18 0a18 18 0 1 0 36 0 18 18 0 1 0-36 0Z" fill="#453B56"
|
||||
p-id="3319"></path>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs6 layui-col-md3">
|
||||
<div class="layui-card top-panel">
|
||||
<div class="layui-card-header">流量统计</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-row layui-col-space5">
|
||||
<div class="layui-col-xs8 layui-col-md8 top-panel-number" style="color: #28333E;" id="value4">
|
||||
0
|
||||
</div>
|
||||
<div class="layui-col-xs4 layui-col-md4 top-panel-tips">
|
||||
<svg t="1591462491887" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
p-id="3449" width="200" height="200">
|
||||
<path d="M363.2 807c-9.9 0-18-8.1-18-18v-75.5c0-9.9 8.1-18 18-18h108.5c9.9 0 18 8.1 18 18V789c0 9.9-8.1 18-18 18H363.2z"
|
||||
fill="#F56E73" p-id="3450"></path>
|
||||
<path d="M441.7 713.5h30V789h-30z" fill="#FFA1A8" p-id="3451"></path>
|
||||
<path d="M259.6 398c-9.9 0-18-8.1-18-18V178.6c0-23.8 19.3-43.1 43.1-43.1s43.1 19.3 43.1 43.1V380c0 9.9-8.1 18-18 18h-50.2zM525.1 398c-9.9 0-18-8.1-18-18V178.6c0-23.8 19.3-43.1 43.1-43.1s43.1 19.3 43.1 43.1V380c0 9.9-8.1 18-18 18h-50.2z"
|
||||
fill="#65C8FF" p-id="3452"></path>
|
||||
<path d="M550.2 153.5c-3.2 0-6.2 0.7-9 1.7 9.4 3.6 16.1 12.7 16.1 23.4V380h18V178.6c0.1-13.9-11.2-25.1-25.1-25.1z"
|
||||
fill="#97DCFF" p-id="3453"></path>
|
||||
<path d="M686 330.5H149c-9.9 0-18 8.1-18 18v63c0 9.9 8.1 18 18 18h33.2l45 225c8.7 43.4 47.1 75 91.4 75h197.6c44.3 0 82.7-31.5 91.4-75l45-225H686c9.9 0 18-8.1 18-18v-63c0-9.9-8.1-18-18-18z"
|
||||
fill="#FCC66F" p-id="3454"></path>
|
||||
<path d="M608 411.5L560.1 651c-7 35.2-37.9 60.5-73.8 60.5h30c35.9 0 66.7-25.3 73.8-60.5L638 411.5h-30zM656 348.5h30v63h-30z"
|
||||
fill="#FFD79C" p-id="3455"></path>
|
||||
<path d="M474.2 543.5m-18 0a18 18 0 1 0 36 0 18 18 0 1 0-36 0Z" fill="#453B56"
|
||||
p-id="3456"></path>
|
||||
<path d="M416.9 525.5h-125c-9.9 0-18 8.1-18 18s8.1 18 18 18h125c9.9 0 18-8.1 18-18s-8.1-18-18-18zM893 543.5h-33.4c-65.2 0-118.2 53-118.2 118.2v19.6c0 9.9 8.1 18 18 18s18-8.1 18-18v-19.6c0-45.3 36.9-82.2 82.2-82.2H893c9.9 0 18-8.1 18-18s-8-18-18-18zM772.2 744.2c7-7 7-18.4 0-25.5-7-7-18.4-7-25.5 0s-7 18.4 0 25.5 18.4 7.1 25.5 0z"
|
||||
fill="#453B56" p-id="3457"></path>
|
||||
<path d="M759.5 761.6c-9.9 0-18 8.1-18 18v11.6c0 43.7-35.6 79.3-79.3 79.3H487.3c-26.4 0-48.3-19.9-51.4-45.5h35.8c19.9 0 36-16.1 36-36v-41.5h8.6c52.8 0 98.7-37.6 109.1-89.4l42.1-210.6H686c19.9 0 36-16.1 36-36v-63c0-19.9-16.1-36-36-36h-74.6V178.6c0-33.7-27.4-61.1-61.1-61.1s-61.1 27.4-61.1 61.1v133.9H345.9V178.6c0-33.7-27.4-61.1-61.1-61.1s-61.1 27.4-61.1 61.1v133.9H149c-19.9 0-36 16.1-36 36v63c0 19.9 16.1 36 36 36h18.5l42.1 210.6c10.4 51.8 56.2 89.4 109.1 89.4h8.6V789c0 19.9 16.1 36 36 36h36.6c3.3 45.5 41.2 81.5 87.5 81.5h174.8c63.6 0 115.3-51.7 115.3-115.3v-11.6c0-10-8.1-18-18-18z m-234.4-583c0-13.9 11.2-25.1 25.1-25.1s25.1 11.2 25.1 25.1v133.9H525V178.6z m-265.5 0c0-13.9 11.2-25.1 25.1-25.1s25.1 11.2 25.1 25.1v133.9h-50.3V178.6zM149 411.5v-63h537v63H149z m169.7 300c-35.9 0-66.7-25.3-73.8-60.5l-40.7-203.5h426.6L590.1 651c-7 35.2-37.9 60.5-73.8 60.5H318.7z m44.5 77.5v-41.5h108.5V789H363.2z"
|
||||
fill="#453B56" p-id="3458"></path>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-row layui-col-space10">
|
||||
<div class="layui-col-md9">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-tab custom-tab layui-tab-brief" lay-filter="docDemoTabBrief">
|
||||
<div id="echarts-records" style="background-color:#ffffff;min-height:400px;padding: 10px"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">动态</div>
|
||||
<div class="layui-card-body">
|
||||
<dl class="layuiadmin-card-status">
|
||||
<dd>
|
||||
<div class="layui-status-img"><a href="javascript:;"><img
|
||||
style="width: 32px;height: 32px;border-radius: 50px;"
|
||||
src="{{ url_for('static', filename='system/admin/images/avatar.jpg') }}"></a></div>
|
||||
<div>
|
||||
<p>七彩枫叶 在 <a class="pear-text" lay-href="https://gitee.com/Jmysy/Pear-Admin-Layui">Pear
|
||||
Admin 专区</a> 回答问题</p>
|
||||
<span>几秒前</span>
|
||||
</div>
|
||||
</dd>
|
||||
<dd>
|
||||
<div class="layui-status-img"><a href="javascript:;"><img
|
||||
style="width: 32px;height: 32px;border-radius: 50px;"
|
||||
src="{{ url_for('static', filename='system/admin/images/avatar.jpg') }}"></a></div>
|
||||
<div>
|
||||
<p>简 在 <a class="pear-text" lay-href="https://gitee.com/Jmysy/Pear-Admin-Layui">Pear
|
||||
Admin 专区</a> 进行了 <a class="pear-text"
|
||||
lay-href="http://fly.layui.com/vipclub/list/layuiadmin/column/quiz/">提问</a>
|
||||
</p>
|
||||
<span>2天前</span>
|
||||
</div>
|
||||
</dd>
|
||||
<dd>
|
||||
<div class="layui-status-img"><a href="javascript:;"><img
|
||||
style="width: 32px;height: 32px;border-radius: 50px;"
|
||||
src="{{ url_for('static', filename='system/system/images/avatar.jpg') }}"></a></div>
|
||||
<div>
|
||||
<p>恒宇少年 将 <a class="pear-text" lay-href="https://gitee.com/Jmysy/Pear-Admin-Layui">Pear
|
||||
Admin </a> 更新至 2.3.0 版本</p>
|
||||
<span>7天前</span>
|
||||
</div>
|
||||
</dd>
|
||||
<dd>
|
||||
<div class="layui-status-img"><a href="javascript:;"><img
|
||||
style="width: 32px;height: 32px;border-radius: 50px;"
|
||||
src="{{ url_for('static', filename='system/admin/images/avatar.jpg') }}"></a></div>
|
||||
<div>
|
||||
<p>如花 在 <a class="pear-text" lay-href="https://gitee.com/Jmysy/Pear-Admin-Layui">Pear
|
||||
Admin 社区</a> 发布了 <a class="pear-text"
|
||||
lay-href="http://fly.layui.com/column/suggest/">建议</a></p>
|
||||
<span>7天前</span>
|
||||
</div>
|
||||
</dd>
|
||||
<dd>
|
||||
<div class="layui-status-img"><a href="javascript:;"><img
|
||||
style="width: 32px;height: 32px;border-radius: 50px;"
|
||||
src="{{ url_for('static', filename='system/admin/images/avatar.jpg') }}"></a></div>
|
||||
<div>
|
||||
<p>就眠仪式 在 <a class="pear-text" lay-href="https://gitee.com/Jmysy/Pear-Admin-Layui">Pear
|
||||
Admin 社区</a> 发布了 <a class="pear-text"
|
||||
lay-href="http://fly.layui.com/column/suggest/">建议</a></p>
|
||||
<span>8天前</span>
|
||||
</div>
|
||||
</dd>
|
||||
<dd>
|
||||
<div class="layui-status-img"><a href="javascript:;"><img
|
||||
style="width: 32px;height: 32px;border-radius: 50px;"
|
||||
src="{{ url_for('static', filename='system/admin/images/avatar.jpg') }}"></a></div>
|
||||
<div>
|
||||
<p>贤心 在 <a class="pear-text" lay-href="https://gitee.com/Jmysy/Pear-Admin-Layui">Pear
|
||||
Admin 专区</a> 进行了 <a class="pear-text"
|
||||
lay-href="http://fly.layui.com/vipclub/list/layuiadmin/column/quiz/">提问</a>
|
||||
</p>
|
||||
<span>8天前</span>
|
||||
</div>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">最近更新</div>
|
||||
<div class="layui-card-body">
|
||||
<ul class="list">
|
||||
<li class="list-item"><span class="title">优化代码格式</span><span
|
||||
class="footer">2020-06-04 11:28</span></li>
|
||||
<li class="list-item"><span class="title">新增消息组件</span><span
|
||||
class="footer">2020-06-01 04:23</span></li>
|
||||
<li class="list-item"><span class="title">移动端兼容</span><span
|
||||
class="footer">2020-05-22 21:38</span></li>
|
||||
<li class="list-item"><span class="title">系统布局优化</span><span
|
||||
class="footer">2020-05-15 14:26</span></li>
|
||||
<li class="list-item"><span class="title">兼容多系统菜单模式</span><span
|
||||
class="footer">2020-05-13 16:32</span></li>
|
||||
<li class="list-item"><span class="title">兼容多标签页切换</span><span
|
||||
class="footer">2019-12-9 14:58</span></li>
|
||||
<li class="list-item"><span class="title">扩展下拉组件</span><span
|
||||
class="footer">2019-12-7 9:06</span></li>
|
||||
<li class="list-item"><span class="title">扩展卡片样式</span><span
|
||||
class="footer">2019-12-1 10:26</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">
|
||||
链接
|
||||
</div>
|
||||
<div class="layui-card-body">
|
||||
<a target="_blank" href="http://www.pearadmin.com"
|
||||
class="pear-btn pear-btn-primary layui-btn-fluid"
|
||||
style="margin-top: 8px;height: 50px;line-height: 50px;">官 网</a>
|
||||
<br/>
|
||||
<a target="_blank" href="https://gitee.com/pear-admin/Pear-Admin-Layui"
|
||||
class="pear-btn pear-btn-warming layui-btn-fluid"
|
||||
style="margin-top: 8px;height: 50px;line-height: 50px;">下 载</a>
|
||||
<br/>
|
||||
<a target="_blank" href="https://gitee.com/pear-admin/pear-admin-flask"
|
||||
class="pear-btn pear-btn-danger layui-btn-fluid"
|
||||
style="margin-top: 8px;height: 50px;line-height: 50px;">后 端</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--</div>-->
|
||||
{% include 'system/common/footer.html' %}
|
||||
<script>
|
||||
layui.use(['layer', 'echarts', 'element', 'count'], function () {
|
||||
var $ = layui.jquery,
|
||||
layer = layui.layer,
|
||||
element = layui.element,
|
||||
count = layui.count,
|
||||
echarts = layui.echarts
|
||||
|
||||
count.up('value1', {
|
||||
time: 4000,
|
||||
num: 440.34,
|
||||
bit: 2,
|
||||
regulator: 50
|
||||
})
|
||||
|
||||
count.up('value2', {
|
||||
time: 4000,
|
||||
num: 236.30,
|
||||
bit: 2,
|
||||
regulator: 50
|
||||
})
|
||||
|
||||
count.up('value3', {
|
||||
time: 4000,
|
||||
num: 634.43,
|
||||
bit: 2,
|
||||
regulator: 50
|
||||
})
|
||||
|
||||
count.up('value4', {
|
||||
time: 4000,
|
||||
bit: 2,
|
||||
num: 373.23,
|
||||
regulator: 50
|
||||
})
|
||||
|
||||
var echartsRecords = echarts.init(document.getElementById('echarts-records'), 'walden')
|
||||
|
||||
var option = {
|
||||
tooltip: {
|
||||
trigger: 'axis'
|
||||
},
|
||||
xAxis: [{
|
||||
type: 'category',
|
||||
data: ['2019-01', '2019-02', '2019-03', '2019-04', '2019-05', '2019-06'],
|
||||
axisLine: {
|
||||
lineStyle: {
|
||||
color: '#999'
|
||||
}
|
||||
}
|
||||
}],
|
||||
yAxis: [{
|
||||
type: 'value',
|
||||
splitNumber: 4,
|
||||
splitLine: {
|
||||
lineStyle: {
|
||||
type: 'dashed',
|
||||
color: '#DDD'
|
||||
}
|
||||
},
|
||||
axisLine: {
|
||||
show: false,
|
||||
lineStyle: {
|
||||
color: '#333'
|
||||
},
|
||||
},
|
||||
nameTextStyle: {
|
||||
color: '#999'
|
||||
},
|
||||
splitArea: {
|
||||
show: false
|
||||
}
|
||||
}],
|
||||
series: [{
|
||||
name: '课时',
|
||||
type: 'line',
|
||||
data: [23, 60, 20, 36, 23, 85],
|
||||
lineStyle: {
|
||||
normal: {
|
||||
width: 8,
|
||||
color: {
|
||||
type: 'linear',
|
||||
|
||||
colorStops: [{
|
||||
offset: 0,
|
||||
color: '#A9F387' // 0% 处的颜色
|
||||
}, {
|
||||
offset: 1,
|
||||
color: '#48D8BF' // 100% 处的颜色
|
||||
}],
|
||||
globalCoord: false // 缺省为 false
|
||||
},
|
||||
shadowColor: 'rgba(72,216,191, 0.3)',
|
||||
shadowBlur: 10,
|
||||
shadowOffsetY: 20
|
||||
}
|
||||
},
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: '#fff',
|
||||
borderWidth: 10,
|
||||
/*shadowColor: 'rgba(72,216,191, 0.3)',
|
||||
shadowBlur: 100,*/
|
||||
borderColor: '#A9F387'
|
||||
}
|
||||
},
|
||||
smooth: true
|
||||
}]
|
||||
}
|
||||
echartsRecords.setOption(option)
|
||||
|
||||
window.onresize = function () {
|
||||
echartsRecords.resize()
|
||||
}
|
||||
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
+23
-33
@@ -1,10 +1,12 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
{% include 'system/common/header.html' %}
|
||||
<title> Pear Admin Flask </title>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='system/admin/css/loader.css') }}"/>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='system/admin/css/admin.css') }}"/>
|
||||
<title>Pear Admin 4.0</title>
|
||||
<meta charset="utf-8">
|
||||
{% include 'system/common/header.html' %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='system/admin/css/admin.css') }}" />
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='system/admin/css/admin.dark.css') }}" />
|
||||
</head>
|
||||
<!-- 结 构 代 码 -->
|
||||
<body class="layui-layout-body pear-admin">
|
||||
@@ -29,9 +31,8 @@
|
||||
<!-- 顶 部 右 侧 菜 单 -->
|
||||
<ul class="layui-nav layui-layout-right">
|
||||
<li class="layui-nav-item layui-hide-xs"><a href="#" class="menuSearch layui-icon layui-icon-search"></a></li>
|
||||
<li class="layui-nav-item layui-hide-xs"><a href="#" class="fullScreen layui-icon layui-icon-screen-full"></a></li>
|
||||
<li class="layui-nav-item layui-hide-xs"><a href="http://www.pearadmin.com" class="layui-icon layui-icon-website"></a></li>
|
||||
<li class="layui-nav-item layui-hide-xs message"></li>
|
||||
<li class="layui-nav-item layui-hide-xs"><a href="#" class="fullScreen layui-icon layui-icon-screen-full"></a></li>
|
||||
<li class="layui-nav-item user">
|
||||
<!-- 头 像 -->
|
||||
<a class="layui-icon layui-icon-username" href="javascript:;"></a>
|
||||
@@ -56,7 +57,7 @@
|
||||
</div>
|
||||
<!-- 菜 单 内 容 -->
|
||||
<div class="layui-side-scroll">
|
||||
<div id="sideMenu"></div>
|
||||
<div id="side"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 视 图 页 面 -->
|
||||
@@ -65,20 +66,11 @@
|
||||
<div id="content"></div>
|
||||
</div>
|
||||
<!-- 页脚 -->
|
||||
<div class="layui-footer layui-text">
|
||||
<span class="left">
|
||||
<span>
|
||||
官网:<a href="http://www.pearadmin.com/team.html" target="_blank">www.pearadmin.com</a>
|
||||
仓库:<a href="https://gitee.com/pear-admin/Pear-Admin-Layui" target="_blank">gitee.com/pear-admin</a>
|
||||
</span>
|
||||
</span>
|
||||
<span class="center"></span>
|
||||
<span class="right"></span>
|
||||
</div>
|
||||
<div class="layui-footer layui-text"></div>
|
||||
<!-- 遮 盖 层 -->
|
||||
<div class="pear-cover"></div>
|
||||
<!-- 加 载 动 画 -->
|
||||
<div class="loader-main">
|
||||
<div class="loader-wrapper">
|
||||
<!-- 动 画 对 象 -->
|
||||
<div class="loader"></div>
|
||||
</div>
|
||||
@@ -88,22 +80,23 @@
|
||||
<a href="#" class="layui-icon layui-icon-shrink-right"></a>
|
||||
</div>
|
||||
<!-- 依 赖 脚 本 -->
|
||||
{% include 'system/common/footer.html' %}
|
||||
<script src="{{ url_for('static', filename='system/component/layui/layui.js') }}"></script>
|
||||
<script src="{{ url_for('static', filename='system/component/pear/pear.js') }}"></script>
|
||||
<!-- 框 架 初 始 化 -->
|
||||
<script>
|
||||
layui.use(['admin','jquery','popup','layer'], function() {
|
||||
var $ = layui.jquery;
|
||||
layui.use(['admin','jquery','popup'], function() {
|
||||
var admin = layui.admin;
|
||||
let layer = layui.layer;
|
||||
var popup = layui.popup;
|
||||
|
||||
admin.setConfigType('json')
|
||||
admin.setConfigPath("{{ url_for('system.rights.configs') }}")
|
||||
|
||||
var $ = layui.jquery;
|
||||
|
||||
// yml | json | api
|
||||
admin.setConfigurationPath("{{ url_for('system.rights.configs') }}");
|
||||
|
||||
// 渲染
|
||||
admin.render();
|
||||
|
||||
// 登出逻辑
|
||||
admin.logout(function () {
|
||||
|
||||
// 注销
|
||||
admin.logout(function () {
|
||||
let loading = layer.load()
|
||||
$.ajax({
|
||||
url: '{{ url_for('system.passport.logout') }}',
|
||||
@@ -121,10 +114,7 @@
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
// 自定义消息点击回调
|
||||
admin.message(function(id, title, context, form) {});
|
||||
})
|
||||
</script>
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,106 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>登录</title>
|
||||
{% include 'system/common/header.html' %}
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='system/admin/css/other/login.css') }}"/>
|
||||
</head>
|
||||
<body class="login-body" background="{{ url_for('static', filename='system/admin/images/background.svg') }}">
|
||||
<form class="layui-form" action="javascript:void(0);">
|
||||
<div class="layui-form-item">
|
||||
<img class="logo" src="{{ url_for('static', filename='system/admin/images/logo.png') }}"/>
|
||||
<div class="title">Pear Admin</div>
|
||||
<div class="desc">
|
||||
明 湖 区 最 具 影 响 力 的 设 计 规 范 之 一
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<input name="username" type="text" placeholder="用户名:" value="" hover class="layui-input"/>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<input name="password" type="password" placeholder="密码:" value="" hover class="layui-input"/>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<input placeholder="验证码 : " name="captcha" hover class="code layui-input layui-input-inline"/>
|
||||
<img src="{{ url_for('system.passport.get_captcha') }}" class="codeImage" id="captchaImage"/>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<input type="checkbox" name="remember-me" title="记住密码" lay-skin="primary">
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<button class="pear-btn pear-btn-success login" lay-submit lay-filter="login">
|
||||
登 入
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
{% include 'system/common/footer.html' %}
|
||||
<script>
|
||||
layui.use(['form', 'jquery', 'layer', 'button', 'popup'], function () {
|
||||
let form = layui.form;
|
||||
let $ = layui.jquery;
|
||||
let layer = layui.layer;
|
||||
let button = layui.button;
|
||||
let popup = layui.popup;
|
||||
let captchaPath = "{{ url_for('system.passport.get_captcha') }}";
|
||||
|
||||
/**
|
||||
* 刷新验证码函数
|
||||
*/
|
||||
const refreshCaptchaImage = (function () {
|
||||
let captchaImage = document.getElementById("captchaImage")
|
||||
return function () {
|
||||
captchaImage.src = captchaPath + "?" + Math.random()
|
||||
}
|
||||
})()
|
||||
|
||||
/**
|
||||
* 立即刷新验证码并且每隔 30秒 刷新
|
||||
*/
|
||||
const initCaptchaImageTimer = (function () {
|
||||
let captchaImageTimer = null
|
||||
return function () {
|
||||
clearInterval(captchaImageTimer)
|
||||
captchaImageTimer = setInterval(function () {
|
||||
refreshCaptchaImage()
|
||||
}, 30 * 1000);
|
||||
refreshCaptchaImage()
|
||||
}
|
||||
})()
|
||||
initCaptchaImageTimer()
|
||||
|
||||
form.on('submit(login)', function (data) {
|
||||
let loader = layer.load();
|
||||
let btn = button.load({elem: '.login'});
|
||||
$.ajax({
|
||||
data: data.field,
|
||||
type: "post",
|
||||
dataType: 'json',
|
||||
success: function (result) {
|
||||
layer.close(loader);
|
||||
btn.stop(function () {
|
||||
if (result.success) {
|
||||
popup.success(result.msg, function () {
|
||||
location.href = "{{ url_for('index.index') }}";
|
||||
})
|
||||
} else {
|
||||
popup.failure(result.msg, function () {
|
||||
initCaptchaImageTimer()
|
||||
});
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
$("#captchaImage").click(function () {
|
||||
initCaptchaImageTimer()
|
||||
});
|
||||
})
|
||||
</script>
|
||||
<script>
|
||||
if (window !== top) {
|
||||
top.location.href = location.href;
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,106 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>登录</title>
|
||||
{% include 'system/common/header.html' %}
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='system/admin/css/other/login_old.css') }}"/>
|
||||
</head>
|
||||
<body class="login-body" background="{{ url_for('static', filename='system/admin/images/background.svg') }}">
|
||||
<form class="layui-form" action="javascript:void(0);">
|
||||
<div class="layui-form-item">
|
||||
<img class="logo" src="{{ url_for('static', filename='system/admin/images/logo.png') }}"/>
|
||||
<div class="title">Pear Admin</div>
|
||||
<div class="desc">
|
||||
明 湖 区 最 具 影 响 力 的 设 计 规 范 之 一
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<input name="username" type="text" placeholder="用户名" value="" hover class="layui-input"/>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<input name="password" type="password" placeholder="密码" value="" hover class="layui-input"/>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<input placeholder="验证码" name="captcha" hover class="code layui-input layui-input-inline"/>
|
||||
<img src="{{ url_for('system.passport.get_captcha') }}" class="codeImage" id="captchaImage"/>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<input type="checkbox" name="remember-me" title="记住密码" lay-skin="primary">
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<button class="layui-btn layui-btn-success login" lay-submit lay-filter="login">
|
||||
登 入
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
{% include 'system/common/footer.html' %}
|
||||
<script>
|
||||
layui.use(['form', 'jquery', 'layer', 'button', 'popup'], function () {
|
||||
let form = layui.form;
|
||||
let $ = layui.jquery;
|
||||
let layer = layui.layer;
|
||||
let button = layui.button;
|
||||
let popup = layui.popup;
|
||||
let captchaPath = "{{ url_for('system.passport.get_captcha') }}";
|
||||
|
||||
/**
|
||||
* 刷新验证码函数
|
||||
*/
|
||||
const refreshCaptchaImage = (function () {
|
||||
let captchaImage = document.getElementById("captchaImage")
|
||||
return function () {
|
||||
captchaImage.src = captchaPath + "?" + Math.random()
|
||||
}
|
||||
})()
|
||||
|
||||
/**
|
||||
* 立即刷新验证码并且每隔 30秒 刷新
|
||||
*/
|
||||
const initCaptchaImageTimer = (function () {
|
||||
let captchaImageTimer = null
|
||||
return function () {
|
||||
clearInterval(captchaImageTimer)
|
||||
captchaImageTimer = setInterval(function () {
|
||||
refreshCaptchaImage()
|
||||
}, 30 * 1000);
|
||||
refreshCaptchaImage()
|
||||
}
|
||||
})()
|
||||
initCaptchaImageTimer()
|
||||
|
||||
form.on('submit(login)', function (data) {
|
||||
let loader = layer.load();
|
||||
let btn = button.load({elem: '.login'});
|
||||
$.ajax({
|
||||
data: data.field,
|
||||
type: "post",
|
||||
dataType: 'json',
|
||||
success: function (result) {
|
||||
layer.close(loader);
|
||||
btn.stop(function () {
|
||||
if (result.success) {
|
||||
popup.success(result.msg, function () {
|
||||
location.href = "{{ url_for('index.index') }}";
|
||||
})
|
||||
} else {
|
||||
popup.failure(result.msg, function () {
|
||||
initCaptchaImageTimer()
|
||||
});
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
$("#captchaImage").click(function () {
|
||||
initCaptchaImageTimer()
|
||||
});
|
||||
})
|
||||
</script>
|
||||
<script>
|
||||
if (window !== top) {
|
||||
top.location.href = location.href;
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -12,25 +12,32 @@
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">账号</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="username" lay-verify="title" autocomplete="off" placeholder="请输入标题"
|
||||
<input type="text" name="username" lay-verify="title" autocomplete="off" placeholder="用户名"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">姓名</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="realName" lay-verify="title" autocomplete="off" placeholder="请输入标题"
|
||||
<input type="text" name="realName" lay-verify="title" autocomplete="off" placeholder="用户姓名"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">密码</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="password" lay-verify="title" autocomplete="off" placeholder="请输入标题"
|
||||
<input type="password" name="password" lay-verify="title" autocomplete="off" placeholder="用户密码"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">部门</label>
|
||||
<div class="layui-input-block">
|
||||
<ul id="selectParent" name="deptId" class="dtree" data-id="0"></ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">角色</label>
|
||||
<div class="layui-input-block">
|
||||
@@ -48,11 +55,11 @@
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="button-container">
|
||||
<button type="submit" class="pear-btn pear-btn-primary pear-btn-sm" lay-submit="" lay-filter="user-save">
|
||||
<button type="submit" class="layui-btn layui-btn-sm" lay-submit="" lay-filter="user-save">
|
||||
<i class="layui-icon layui-icon-ok"></i>
|
||||
提交
|
||||
</button>
|
||||
<button type="reset" class="pear-btn pear-btn-sm">
|
||||
<button type="reset" class="layui-btn layui-btn-primary layui-btn-sm">
|
||||
<i class="layui-icon layui-icon-refresh"></i>
|
||||
重置
|
||||
</button>
|
||||
@@ -61,9 +68,22 @@
|
||||
</form>
|
||||
{% include 'system/common/footer.html' %}
|
||||
<script>
|
||||
layui.use(['form', 'jquery'], function () {
|
||||
layui.use(['form', 'jquery', 'dtree'], function () {
|
||||
let form = layui.form
|
||||
let $ = layui.jquery
|
||||
|
||||
let dtree = layui.dtree
|
||||
|
||||
dtree.renderSelect({
|
||||
elem: '#selectParent',
|
||||
url: '/system/dept/tree',
|
||||
method: 'get',
|
||||
selectInputName: {nodeId: 'deptId', context: 'deptName'},
|
||||
skin: 'layui',
|
||||
dataFormat: 'list',
|
||||
response: {treeId: 'id', parentId: 'parent_id', title: 'dept_name'}
|
||||
})
|
||||
|
||||
form.on('submit(user-save)', function (data) {
|
||||
let roleIds = ''
|
||||
$('input[type=checkbox]:checked').each(function () {
|
||||
@@ -93,7 +113,6 @@
|
||||
})
|
||||
})
|
||||
</script>
|
||||
<script>
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,7 +2,6 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>个人中心</title>
|
||||
{% include 'system/common/header.html' %}
|
||||
<style>
|
||||
.layui-form-item {
|
||||
margin-top: 17px !important;
|
||||
@@ -82,10 +81,10 @@
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button class="pear-btn pear-btn-primary pear-btn-sm" lay-submit
|
||||
<button class="layui-btn layui-btn-primary layui-btn-sm" lay-submit
|
||||
lay-filter="user-update">修改资料
|
||||
</button>
|
||||
<button class="pear-btn pear-btn-sm edit-password">更改密码</button>
|
||||
<button class="layui-btn layui-btn-sm edit-password">更改密码</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
<!DOCTYPE html>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>用户编辑</title>
|
||||
{% include 'system/common/header.html' %}
|
||||
@@ -14,24 +12,25 @@
|
||||
<label class="layui-form-label">编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" value="{{ user.id }}" name="userId" lay-verify="title"
|
||||
autocomplete="off" placeholder="请输入标题" class="layui-input">
|
||||
autocomplete="off" placeholder="用户编号" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">账号</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" value="{{ user.username }}" name="username" lay-verify="title"
|
||||
autocomplete="off" placeholder="请输入标题" class="layui-input">
|
||||
autocomplete="off" placeholder="登录账号" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">姓名</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" value="{{ user.realname }}" name="realName" lay-verify="title"
|
||||
autocomplete="off" placeholder="请输入标题"
|
||||
autocomplete="off" placeholder="用户姓名"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">部门</label>
|
||||
<div class="layui-input-block">
|
||||
@@ -39,7 +38,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">角色</label>
|
||||
<div class="layui-input-block">
|
||||
@@ -57,12 +55,12 @@
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="button-container">
|
||||
<button type="submit" class="pear-btn pear-btn-primary pear-btn-sm" lay-submit=""
|
||||
<button type="submit" class="layui-btn layui-btn-sm" lay-submit=""
|
||||
lay-filter="user-update">
|
||||
<i class="layui-icon layui-icon-ok"></i>
|
||||
提交
|
||||
</button>
|
||||
<button type="reset" class="pear-btn pear-btn-sm">
|
||||
<button type="reset" class="layui-btn layui-btn-primary layui-btn-sm">
|
||||
<i class="layui-icon layui-icon-refresh"></i>
|
||||
重置
|
||||
</button>
|
||||
@@ -86,6 +84,7 @@
|
||||
response: {treeId: 'id', parentId: 'parent_id', title: 'dept_name'},
|
||||
selectInitVal: "{{ user.dept_id }}"
|
||||
})
|
||||
|
||||
form.on('submit(user-update)', function (data) {
|
||||
let roleIds = ''
|
||||
$('input[type=checkbox]:checked').each(function () {
|
||||
|
||||
@@ -13,21 +13,21 @@
|
||||
<label class="layui-form-label">旧密码</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="password" name="oldPassword" lay-verify="title" autocomplete="off"
|
||||
placeholder="请输入标题" class="layui-input">
|
||||
placeholder="请输入旧密码" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">新密码</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="password" name="newPassword" lay-verify="title" autocomplete="off"
|
||||
placeholder="请输入标题" class="layui-input">
|
||||
placeholder="请输入新密码" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">确认密码</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="password" name="confirmPassword" lay-verify="title" autocomplete="off"
|
||||
placeholder="请输入标题" class="layui-input">
|
||||
placeholder="请重复输入新密码" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -35,12 +35,12 @@
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="button-container">
|
||||
<button type="submit" class="pear-btn pear-btn-primary pear-btn-sm" lay-submit=""
|
||||
<button type="submit" class="layui-btn layui-btn-sm" lay-submit=""
|
||||
lay-filter="edit-password">
|
||||
<i class="layui-icon layui-icon-ok"></i>
|
||||
提交
|
||||
</button>
|
||||
<button type="reset" class="pear-btn pear-btn-sm">
|
||||
<button type="reset" class="layui-btn layui-btn-primary layui-btn-sm">
|
||||
<i class="layui-icon layui-icon-refresh"></i>
|
||||
重置
|
||||
</button>
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>用户管理</title>
|
||||
{% include 'system/common/header.html' %}
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='system/admin/css/other/user.css') }}"/>
|
||||
</head>
|
||||
<body class="pear-container">
|
||||
@@ -19,11 +18,11 @@
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="username" placeholder="" class="layui-input">
|
||||
</div>
|
||||
<button class="pear-btn pear-btn-md pear-btn-primary" lay-submit lay-filter="user-query">
|
||||
<button class="layui-btn layui-btn-md layui-btn-primary" lay-submit lay-filter="user-query">
|
||||
<i class="layui-icon layui-icon-search"></i>
|
||||
查询
|
||||
</button>
|
||||
<button type="reset" class="pear-btn pear-btn-md">
|
||||
<button type="reset" class="layui-btn layui-btn-md">
|
||||
<i class="layui-icon layui-icon-refresh"></i>
|
||||
重置
|
||||
</button>
|
||||
@@ -54,12 +53,12 @@
|
||||
{# 表格操作 #}
|
||||
<script type="text/html" id="user-toolbar">
|
||||
{% if authorize("system:user:add") %}
|
||||
<button class="pear-btn pear-btn-primary pear-btn-md" lay-event="add">
|
||||
<button class="layui-btn layui-btn-primary layui-btn-sm" lay-event="add">
|
||||
<i class="pear-icon pear-icon-add"></i>
|
||||
新增
|
||||
</button>
|
||||
{% endif %}
|
||||
<button class="pear-btn pear-btn-md" lay-event="collasped">
|
||||
<button class="layui-btn layui-btn-sm" lay-event="collasped">
|
||||
<i class="pear-icon pear-icon-modular"></i>
|
||||
高级
|
||||
</button>
|
||||
@@ -68,11 +67,11 @@
|
||||
{# 用户修改操作 #}
|
||||
<script type="text/html" id="user-bar">
|
||||
{% if authorize("system:user:edit") %}
|
||||
<button class="pear-btn pear-btn-primary pear-btn-sm" lay-event="edit"><i class="pear-icon pear-icon-edit"> 编辑</i>
|
||||
<button class="layui-btn layui-btn-xs" lay-event="edit"><i class="pear-icon pear-icon-edit"> 编辑</i>
|
||||
</button>
|
||||
{% endif %}
|
||||
{% if authorize("system:user:remove") %}
|
||||
<button class="pear-btn pear-btn-danger pear-btn-sm" lay-event="remove"><i
|
||||
<button class="layui-btn layui-btn-danger layui-btn-xs" lay-event="remove"><i
|
||||
class="pear-icon pear-icon-ashbin"> 删除</i>
|
||||
</button>
|
||||
{% endif %}
|
||||
@@ -94,7 +93,6 @@
|
||||
</script>
|
||||
{% endraw %}
|
||||
|
||||
{% include 'system/common/footer.html' %}
|
||||
|
||||
<script>
|
||||
layui.use(['table', 'dtree', 'form', 'jquery', 'popup', 'common'], function () {
|
||||
@@ -108,7 +106,7 @@
|
||||
// 表格数据
|
||||
let cols = [
|
||||
[
|
||||
{title: 'id', field: 'id', align: 'center'},
|
||||
{title: '编号', field: 'id', align: 'center'},
|
||||
{title: '姓名', field: 'realname', align: 'center', width: 110},
|
||||
{title: '账号', field: 'username', align: 'center'},
|
||||
{title: '部门', field: 'dept_name', align: 'center'},
|
||||
|
||||
Reference in New Issue
Block a user