ui
@ -377,7 +377,8 @@ func convertToUITree(data []*db.SysMenu, parentID int32) []*dto.MenuUIDto {
|
||||
Icon: item.Avatar,
|
||||
Type: 1,
|
||||
OpenType: "_iframe",
|
||||
Href: item.Url,
|
||||
// OpenType: "_component",
|
||||
Href: item.Url,
|
||||
}
|
||||
root = append(root, temp)
|
||||
} else {
|
||||
|
||||
@ -3,6 +3,7 @@ package tpl
|
||||
import (
|
||||
"html/template"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"management/internal/db/model/dto"
|
||||
)
|
||||
@ -18,9 +19,10 @@ func (r *render) btnFuncs() map[string]any {
|
||||
var res string
|
||||
for _, action := range actionNames {
|
||||
for _, btn := range btns {
|
||||
btn.Style = strings.ReplaceAll(btn.Style, "pear", "layui")
|
||||
base := filepath.Base(btn.Url)
|
||||
if base == action {
|
||||
res += `<button type="button" class="pear-btn ` + btn.Style + `" lay-event="` + firstLower(action) + `" lay-on="` + firstLower(action) + `">`
|
||||
res += `<button type="button" class="layui-btn ` + btn.Style + `" lay-event="` + firstLower(action) + `" lay-on="` + firstLower(action) + `">`
|
||||
if len(btn.Avatar) > 0 {
|
||||
res += `<i class="` + btn.Avatar + `"></i> `
|
||||
}
|
||||
@ -40,9 +42,10 @@ func (r *render) btnFuncs() map[string]any {
|
||||
var res string
|
||||
for _, action := range actionNames {
|
||||
for _, btn := range btns {
|
||||
btn.Style = strings.ReplaceAll(btn.Style, "pear", "layui")
|
||||
base := filepath.Base(btn.Url)
|
||||
if base == action {
|
||||
res += `<button type="button" style="font-size:12px !important;" class="pear-btn ` + btn.Style + `" lay-event="` + firstLower(action) + `" lay-on="` + firstLower(action) + `">`
|
||||
res += `<button type="button" style="font-size:12px !important;" class="layui-btn ` + btn.Style + `" lay-event="` + firstLower(action) + `" lay-on="` + firstLower(action) + `">`
|
||||
if len(btn.Avatar) > 0 {
|
||||
res += `<i class="` + btn.Avatar + `"></i> `
|
||||
}
|
||||
@ -69,9 +72,10 @@ func (r *render) btnFuncs() map[string]any {
|
||||
var res string
|
||||
for _, action := range actionNames {
|
||||
for _, btn := range btns {
|
||||
btn.Style = strings.ReplaceAll(btn.Style, "pear", "layui")
|
||||
base := filepath.Base(btn.Url)
|
||||
if base == action {
|
||||
res += `<button type="submit" class="pear-btn ` + btn.Style + `" lay-submit lay-filter="` + firstLower(action) + `">`
|
||||
res += `<button type="submit" class="layui-btn ` + btn.Style + `" lay-submit lay-filter="` + firstLower(action) + `">`
|
||||
if len(btn.Avatar) > 0 {
|
||||
res += `<i class="` + btn.Avatar + `"></i> `
|
||||
}
|
||||
|
||||
BIN
management
@ -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,13 +156,62 @@ body,
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 768px) {
|
||||
.pear-admin.banner-layout .layui-header .layui-logo {
|
||||
display: none;
|
||||
}
|
||||
.pear-admin.banner-layout .layui-header .layui-layout-left {
|
||||
left: 0px;
|
||||
}
|
||||
/** 通栏布局 */
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
/** 收缩布局 */
|
||||
@ -215,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 {
|
||||
@ -238,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 {
|
||||
@ -287,10 +316,6 @@ body,
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
.pear-mini .bottom-nav {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pear-mini .layui-side-scroll {
|
||||
height: calc(100% - 62px);
|
||||
}
|
||||
@ -372,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;
|
||||
|
||||
}
|
||||
|
||||
@ -399,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 {
|
||||
@ -454,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;
|
||||
}
|
||||
@ -474,13 +499,7 @@ body,
|
||||
-webkit-transition: all .3s;
|
||||
opacity: 0;
|
||||
}
|
||||
@media screen and (max-width: 450px) {
|
||||
.pearone-color .layui-form-item .layui-input-inline {
|
||||
float: left !important;
|
||||
width: 190px !important;
|
||||
margin: 0 10px 0 0!important;
|
||||
}
|
||||
}
|
||||
|
||||
.select-color {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
@ -496,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);
|
||||
}
|
||||
}
|
||||
@ -1,99 +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: #2d8cf0 !important;
|
||||
font-weight: 550 !important;
|
||||
}
|
||||
|
||||
.layui-form-checked[lay-skin=primary] i {
|
||||
border-color: #2d8cf0 !important;
|
||||
background-color: #2d8cf0 !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 #2d8cf0 !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: #2d8cf0 !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 {
|
||||
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%;}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -1,14 +1,40 @@
|
||||
@charset "UTF-8";
|
||||
|
||||
{{/* xm-select { border-color: var(--global-primary-color) !important; }
|
||||
xm-select { border-color: var(--global-primary-color) !important; }
|
||||
xm-select .xm-label .label-content .xm-label-block { background-color: var(--global-primary-color) !important; }
|
||||
xm-select .xm-body .xm-option .xm-option-icon { border-color: var(--global-primary-color) !important; }
|
||||
xm-select .xm-body .xm-option.selected .xm-option-icon { color: var(--global-primary-color) !important; } */}}
|
||||
xm-select .xm-body .xm-option.selected .xm-option-icon { color: var(--global-primary-color) !important; }
|
||||
|
||||
.layui-table-box input[type="radio"]{
|
||||
font-size: 16px !important;
|
||||
}
|
||||
|
||||
.layui-table td, .layui-table th {
|
||||
font-size: 13px !important;
|
||||
}
|
||||
|
||||
.layui-input-sm {
|
||||
height: 30px!important;
|
||||
line-height: 30px!important;
|
||||
}
|
||||
|
||||
.layui-input-xs {
|
||||
height: 25px!important;
|
||||
line-height: 25px!important;
|
||||
}
|
||||
|
||||
.layui-form-item-sm {
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
.layui-form-item-sm .layui-form-label {
|
||||
padding: 4px 10px;
|
||||
}
|
||||
|
||||
.layui-card-header-slipt {
|
||||
border-bottom: 1px solid #eeeeee;
|
||||
}
|
||||
|
||||
.btn-fixbar-box {
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
@ -81,4 +107,72 @@ xm-select .xm-body .xm-option.selected .xm-option-icon { color: var(--global-pri
|
||||
font-size: 14px;
|
||||
color: #333;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
}
|
||||
|
||||
.edit-box {
|
||||
padding-bottom: 80px;
|
||||
background: #fafafa;
|
||||
}
|
||||
|
||||
.search-layer {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.search-layer-open .layui-layer-btn .layui-layer-btn0{
|
||||
background-color: var(--global-primary-color);
|
||||
}
|
||||
|
||||
.search-layer-open .layui-layer-btn .layui-layer-btn1{
|
||||
background-color: transparent !important;
|
||||
color: #5f5f5f !important;
|
||||
}
|
||||
|
||||
.search-layer-open .layui-layer-btn .layui-layer-btn1:hover{
|
||||
border: 1px solid var(--global-primary-color);
|
||||
}
|
||||
|
||||
.layui-form-column {
|
||||
padding: 10px 20px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.layui-form-column .tips {
|
||||
font-size: 14px;
|
||||
color: #333;
|
||||
margin-bottom: 7px;
|
||||
}
|
||||
|
||||
@mideia screen and (max-width: 640px) {
|
||||
.layui-form-column {
|
||||
padding: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
.bg01 {
|
||||
background-color: #f8f8f8;
|
||||
}
|
||||
|
||||
.bg01 .layui-table-view {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
/* 设置滚动条整体样式 */
|
||||
/*::-webkit-scrollbar {*/
|
||||
/*width: 20px; /* 滚动条宽度 */
|
||||
/*}*/
|
||||
|
||||
/* 设置滚动条滑块样式 */
|
||||
/*::-webkit-scrollbar-thumb {*/
|
||||
/*background-color: #888; /* 滑块颜色 */
|
||||
/*border-radius: 5px; /* 滑块圆角 */
|
||||
/*height: 20px;*/
|
||||
/*}*/
|
||||
/*::-webkit-scrollbar-thumb:hover {*/
|
||||
/*background-color: #888; /* 滑块颜色 */
|
||||
/*}*/
|
||||
|
||||
/* 设置滚动条轨道样式 */
|
||||
/*::-webkit-scrollbar-track {
|
||||
/*background-color: #f1f1f1; /* 轨道颜色 */
|
||||
/*}*/
|
||||
@ -1,42 +1,312 @@
|
||||
[
|
||||
{
|
||||
"id": "system",
|
||||
"title": "系统管理",
|
||||
"icon": "layui-icon layui-icon-set-fill",
|
||||
"id": 1,
|
||||
"title": "工作空间",
|
||||
"icon": "layui-icon layui-icon-console",
|
||||
"type": 0,
|
||||
"children": [
|
||||
{
|
||||
"id": "10",
|
||||
"title": "分析页",
|
||||
"icon": "layui-icon layui-icon-console",
|
||||
"type": 1,
|
||||
"openType": "_component",
|
||||
"href": "view/analysis/index.html"
|
||||
},
|
||||
{
|
||||
"id": "11",
|
||||
"title": "工作台",
|
||||
"icon": "layui-icon layui-icon-console",
|
||||
"type": 1,
|
||||
"openType": "_component",
|
||||
"href": "view/console/index.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"title": "列表页面",
|
||||
"icon": "layui-icon layui-icon-auz",
|
||||
"type": 0,
|
||||
"children": [
|
||||
{
|
||||
"id": 91,
|
||||
"title": "查询表格",
|
||||
"icon": "layui-icon layui-icon-face-smile",
|
||||
"type": 1,
|
||||
"openType": "_component",
|
||||
"href": "view/listing/table.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"title": "扩展组件",
|
||||
"icon": "layui-icon layui-icon-auz",
|
||||
"type": 0,
|
||||
"children": [
|
||||
{
|
||||
"id": 21,
|
||||
"title": "核心方法",
|
||||
"icon": "layui-icon layui-icon-face-smile",
|
||||
"type": 1,
|
||||
"openType": "_component",
|
||||
"href": "view/component/admin.html"
|
||||
},
|
||||
{
|
||||
"id": 23,
|
||||
"title": "高级栅格",
|
||||
"icon": "layui-icon layui-icon-face-smile",
|
||||
"type": 1,
|
||||
"openType": "_component",
|
||||
"href": "view/component/grid.html"
|
||||
},
|
||||
{
|
||||
"id": 24,
|
||||
"title": "消息提示",
|
||||
"icon": "layui-icon layui-icon-face-smile",
|
||||
"type": 1,
|
||||
"openType": "_component",
|
||||
"href": "view/component/toast.html"
|
||||
},
|
||||
{
|
||||
"id": 25,
|
||||
"title": "路由过渡",
|
||||
"icon": "layui-icon layui-icon-face-smile",
|
||||
"type": 1,
|
||||
"openType": "_component",
|
||||
"href": "view/component/nprogress.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "result",
|
||||
"title": "结果页面",
|
||||
"icon": "layui-icon layui-icon-auz",
|
||||
"type": 0,
|
||||
"href": "",
|
||||
"children": [
|
||||
{
|
||||
"id": 604,
|
||||
"title": "部门管理",
|
||||
"icon": "layui-icon layui-icon-face-cry",
|
||||
"type": 1,
|
||||
"openType": "_iframe",
|
||||
"href": "/system/department/list"
|
||||
},
|
||||
{
|
||||
"id": 601,
|
||||
"title": "用户管理",
|
||||
"id": "success",
|
||||
"title": "成功页面",
|
||||
"icon": "layui-icon layui-icon-face-smile",
|
||||
"type": 1,
|
||||
"openType": "_iframe",
|
||||
"href": "/system/user/list"
|
||||
"openType": "_component",
|
||||
"href": "view/result/success.html"
|
||||
},
|
||||
{
|
||||
"id": 602,
|
||||
"title": "角色管理",
|
||||
"id": "failure",
|
||||
"title": "失败页面",
|
||||
"icon": "layui-icon layui-icon-face-cry",
|
||||
"type": 1,
|
||||
"openType": "_component",
|
||||
"href": "view/result/error.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "exception",
|
||||
"title": "异常页面",
|
||||
"icon": "layui-icon layui-icon-auz",
|
||||
"type": 0,
|
||||
"href": "",
|
||||
"children": [
|
||||
{
|
||||
"id": "403",
|
||||
"title": "403",
|
||||
"icon": "layui-icon layui-icon-face-smile",
|
||||
"type": 1,
|
||||
"openType": "_component",
|
||||
"href": "view/exception/403.html"
|
||||
},
|
||||
{
|
||||
"id": "404",
|
||||
"title": "404",
|
||||
"icon": "layui-icon layui-icon-face-cry",
|
||||
"type": 1,
|
||||
"openType": "_component",
|
||||
"href": "view/exception/404.html"
|
||||
},
|
||||
{
|
||||
"id": "500",
|
||||
"title": "500",
|
||||
"icon": "layui-icon layui-icon-face-cry",
|
||||
"type": 1,
|
||||
"openType": "_component",
|
||||
"href": "view/exception/500.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "open",
|
||||
"title": "菜单模式",
|
||||
"icon": "layui-icon layui-icon-auz",
|
||||
"type": 0,
|
||||
"children": [
|
||||
{
|
||||
"id": "a",
|
||||
"title": "普通路由",
|
||||
"icon": "layui-icon layui-icon-face-smile",
|
||||
"type": 1,
|
||||
"openType": "_component",
|
||||
"href": "view/result/success.html"
|
||||
},
|
||||
{
|
||||
"id": "b",
|
||||
"title": "嵌套网页",
|
||||
"icon": "layui-icon layui-icon-face-cry",
|
||||
"type": 1,
|
||||
"openType": "_iframe",
|
||||
"href": "/system/role/list"
|
||||
"href": "http://www.layui-vue.com"
|
||||
},
|
||||
{
|
||||
"id": 603,
|
||||
"title": "菜单管理",
|
||||
"id": "c",
|
||||
"title": "新建标签",
|
||||
"icon": "layui-icon layui-icon-face-cry",
|
||||
"type": 1,
|
||||
"openType": "_iframe",
|
||||
"href": "/system/menu/list"
|
||||
"openType": "_blank",
|
||||
"href": "http://www.layui-vue.com"
|
||||
},
|
||||
{
|
||||
"id": "d",
|
||||
"title": "弹窗网页",
|
||||
"icon": "layui-icon layui-icon-face-cry",
|
||||
"type": 1,
|
||||
"openType": "_layer",
|
||||
"href": "http://www.layui-vue.com"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "deep",
|
||||
"title": "深度测试",
|
||||
"icon": "layui-icon layui-icon-auz",
|
||||
"type": 0,
|
||||
"href": "",
|
||||
"children": [
|
||||
{
|
||||
"id": "deep1-1",
|
||||
"title": "二级菜单",
|
||||
"icon": "layui-icon layui-icon-face-smile",
|
||||
"type": 0,
|
||||
"openType": "_component",
|
||||
"href": "view/result/success.html",
|
||||
"children": [
|
||||
{
|
||||
"id": "deep1-1-1",
|
||||
"title": "三级菜单",
|
||||
"icon": "layui-icon layui-icon-face-smile",
|
||||
"type": 0,
|
||||
"openType": "_component",
|
||||
"href": "view/result/success.html",
|
||||
"children": [
|
||||
{
|
||||
"id": "deep1-1-1-1",
|
||||
"title": "四级菜单",
|
||||
"icon": "layui-icon layui-icon-face-smile",
|
||||
"type": 1,
|
||||
"openType": "_component",
|
||||
"href": "view/result/success.html"
|
||||
},
|
||||
{
|
||||
"id": "deep1-1-1-2",
|
||||
"title": "四级菜单",
|
||||
"icon": "layui-icon layui-icon-face-cry",
|
||||
"type": 1,
|
||||
"openType": "_blank",
|
||||
"href": "http://www.layui-vue.com"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "deep1-1-2",
|
||||
"title": "三级菜单",
|
||||
"icon": "layui-icon layui-icon-face-cry",
|
||||
"type": 0,
|
||||
"openType": "_blank",
|
||||
"href": "http://www.layui-vue.com",
|
||||
"children": [
|
||||
{
|
||||
"id": "deep1-1-2-1",
|
||||
"title": "四级菜单",
|
||||
"icon": "layui-icon layui-icon-face-smile",
|
||||
"type": 1,
|
||||
"openType": "_component",
|
||||
"href": "view/result/success.html"
|
||||
},
|
||||
{
|
||||
"id": "deep1-1-2-2",
|
||||
"title": "四级菜单",
|
||||
"icon": "layui-icon layui-icon-face-cry",
|
||||
"type": 1,
|
||||
"openType": "_blank",
|
||||
"href": "http://www.layui-vue.com"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "deep1-2",
|
||||
"title": "二级菜单",
|
||||
"icon": "layui-icon layui-icon-face-cry",
|
||||
"type": 0,
|
||||
"openType": "_blank",
|
||||
"href": "http://www.layui-vue.com",
|
||||
"children": [
|
||||
{
|
||||
"id": "deep1-2-1",
|
||||
"title": "三级菜单",
|
||||
"icon": "layui-icon layui-icon-face-smile",
|
||||
"type": 0,
|
||||
"openType": "_component",
|
||||
"href": "view/result/success.html",
|
||||
"children": [
|
||||
{
|
||||
"id": "deep1-2-1-1",
|
||||
"title": "四级菜单",
|
||||
"icon": "layui-icon layui-icon-face-smile",
|
||||
"type": 1,
|
||||
"openType": "_component",
|
||||
"href": "view/result/success.html"
|
||||
},
|
||||
{
|
||||
"id": "deep1-2-1-2",
|
||||
"title": "四级菜单",
|
||||
"icon": "layui-icon layui-icon-face-cry",
|
||||
"type": 1,
|
||||
"openType": "_blank",
|
||||
"href": "http://www.layui-vue.com"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "deep1-2-2",
|
||||
"title": "三级菜单",
|
||||
"icon": "layui-icon layui-icon-face-cry",
|
||||
"type": 0,
|
||||
"openType": "_blank",
|
||||
"href": "http://www.layui-vue.com",
|
||||
"children": [
|
||||
{
|
||||
"id": "deep1-2-2-1",
|
||||
"title": "四级菜单",
|
||||
"icon": "layui-icon layui-icon-face-smile",
|
||||
"type": 1,
|
||||
"openType": "_component",
|
||||
"href": "view/result/success.html"
|
||||
},
|
||||
{
|
||||
"id": "deep1-2-2-2",
|
||||
"title": "四级菜单",
|
||||
"icon": "layui-icon layui-icon-face-cry",
|
||||
"type": 1,
|
||||
"openType": "_blank",
|
||||
"href": "http://www.layui-vue.com"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -1,90 +1,102 @@
|
||||
[{
|
||||
"id": 1,
|
||||
"title": "通知",
|
||||
"children": [{
|
||||
"id": 11,
|
||||
"avatar":"https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png",
|
||||
"title": "你收到了 14 份新周报",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
}, {
|
||||
"id": 12,
|
||||
"avatar":"https://gw.alipayobjects.com/zos/rmsportal/OKJXDXrmkNshAMvwtvhu.png",
|
||||
"title": "曲妮妮 已通过第三轮面试",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"avatar":"https://gw.alipayobjects.com/zos/rmsportal/kISTdvpyTAhtGxpovNWd.png",
|
||||
"title": "可以区分多种通知类型",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
}, {
|
||||
"id": 12,
|
||||
"avatar":"https://gw.alipayobjects.com/zos/rmsportal/GvqBnKhFgObvnSGkDsje.png",
|
||||
"title": "左侧图标用于区分不同的类型",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"avatar":"https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png",
|
||||
"title": "内容不要超过两行字",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
}]
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"title": "消息",
|
||||
"children": [{
|
||||
"id": 11,
|
||||
"avatar":"https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png",
|
||||
"title": "你收到了 14 份新周报",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
}, {
|
||||
"id": 12,
|
||||
"avatar":"https://gw.alipayobjects.com/zos/rmsportal/OKJXDXrmkNshAMvwtvhu.png",
|
||||
"title": "曲妮妮 已通过第三轮面试",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"avatar":"https://gw.alipayobjects.com/zos/rmsportal/kISTdvpyTAhtGxpovNWd.png",
|
||||
"title": "可以区分多种通知类型",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
}, {
|
||||
"id": 12,
|
||||
"avatar":"https://gw.alipayobjects.com/zos/rmsportal/GvqBnKhFgObvnSGkDsje.png",
|
||||
"title": "左侧图标用于区分不同的类型",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"avatar":"https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png",
|
||||
"title": "内容不要超过两行字",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
}]
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"title": "代办",
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
{
|
||||
"code": 200,
|
||||
"data": [
|
||||
{
|
||||
"id": 1,
|
||||
"title": "通知",
|
||||
"children": [
|
||||
{
|
||||
"id": 11,
|
||||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png",
|
||||
"title": "你收到了 14 份新周报",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/OKJXDXrmkNshAMvwtvhu.png",
|
||||
"title": "曲妮妮 已通过第三轮面试",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/kISTdvpyTAhtGxpovNWd.png",
|
||||
"title": "可以区分多种通知类型",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/GvqBnKhFgObvnSGkDsje.png",
|
||||
"title": "左侧图标用于区分不同的类型",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png",
|
||||
"title": "内容不要超过两行字",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"title": "消息",
|
||||
"children": [
|
||||
{
|
||||
"id": 11,
|
||||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png",
|
||||
"title": "你收到了 14 份新周报",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/OKJXDXrmkNshAMvwtvhu.png",
|
||||
"title": "曲妮妮 已通过第三轮面试",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/kISTdvpyTAhtGxpovNWd.png",
|
||||
"title": "可以区分多种通知类型",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/GvqBnKhFgObvnSGkDsje.png",
|
||||
"title": "左侧图标用于区分不同的类型",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png",
|
||||
"title": "内容不要超过两行字",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"title": "代办",
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -1,132 +1,303 @@
|
||||
{
|
||||
"code": 0,
|
||||
"msg": "...",
|
||||
"count": 3,
|
||||
"data": [{
|
||||
"userId": "1",
|
||||
"username": "admin",
|
||||
"password": "$2a$10$1K7E1.IYCrsoZVCb6utOo.5jENtfOzhdKWhc49t2lk.UQd7Oam4FG",
|
||||
"salt": null,
|
||||
"status": null,
|
||||
"realName": "超级'管'理员",
|
||||
"email": "854085'4@'qq.com",
|
||||
"avatar": null,
|
||||
"sex": "1",
|
||||
"phone": "15543526531",
|
||||
"enable": "1",
|
||||
"login": "1",
|
||||
"roleIds": null
|
||||
}, {
|
||||
"userId": "2",
|
||||
"username": "854085467",
|
||||
"password": null,
|
||||
"salt": null,
|
||||
"status": null,
|
||||
"realName": "就\"眠\"仪式",
|
||||
"email": null,
|
||||
"avatar": null,
|
||||
"sex": "1",
|
||||
"phone": "1555324324234",
|
||||
"enable": "1",
|
||||
"login": "1",
|
||||
"roleIds": null
|
||||
}, {
|
||||
"userId": "3",
|
||||
"username": "970796069",
|
||||
"password": null,
|
||||
"salt": null,
|
||||
"status": null,
|
||||
"realName": "王二麻子",
|
||||
"email": null,
|
||||
"avatar": null,
|
||||
"sex": "1",
|
||||
"phone": "1555324324234",
|
||||
"enable": "1",
|
||||
"login": "1",
|
||||
"roleIds": null
|
||||
}, {
|
||||
"userId": "4",
|
||||
"username": "admin",
|
||||
"password": "$2a$10$1K7E1.IYCrsoZVCb6utOo.5jENtfOzhdKWhc49t2lk.UQd7Oam4FG",
|
||||
"salt": null,
|
||||
"status": null,
|
||||
"realName": "超级管理员",
|
||||
"email": "8540854@qq.com",
|
||||
"avatar": null,
|
||||
"sex": "1",
|
||||
"phone": "15543526531",
|
||||
"enable": "1",
|
||||
"login": "1",
|
||||
"roleIds": null
|
||||
}, {
|
||||
"userId": "5",
|
||||
"username": "854085467",
|
||||
"password": null,
|
||||
"salt": null,
|
||||
"status": null,
|
||||
"realName": "就眠仪式",
|
||||
"email": null,
|
||||
"avatar": null,
|
||||
"sex": "1",
|
||||
"phone": "1555324324234",
|
||||
"enable": "1",
|
||||
"login": "1",
|
||||
"roleIds": null
|
||||
}, {
|
||||
"userId": "6",
|
||||
"username": "970796069",
|
||||
"password": null,
|
||||
"salt": null,
|
||||
"status": null,
|
||||
"realName": "王二麻子",
|
||||
"email": null,
|
||||
"avatar": null,
|
||||
"sex": "1",
|
||||
"phone": "1555324324234",
|
||||
"enable": "1",
|
||||
"login": "1",
|
||||
"roleIds": null
|
||||
}, {
|
||||
"userId": "7",
|
||||
"username": "admin",
|
||||
"password": "$2a$10$1K7E1.IYCrsoZVCb6utOo.5jENtfOzhdKWhc49t2lk.UQd7Oam4FG",
|
||||
"salt": null,
|
||||
"status": null,
|
||||
"realName": "超级管理员",
|
||||
"email": "8540854@qq.com",
|
||||
"avatar": null,
|
||||
"sex": "1",
|
||||
"phone": "15543526531",
|
||||
"enable": "1",
|
||||
"login": "1",
|
||||
"roleIds": null
|
||||
}, {
|
||||
"userId": "8",
|
||||
"username": "854085467",
|
||||
"password": null,
|
||||
"salt": null,
|
||||
"status": null,
|
||||
"realName": "就眠仪式",
|
||||
"email": null,
|
||||
"avatar": null,
|
||||
"sex": "1",
|
||||
"phone": "1555324324234",
|
||||
"enable": "1",
|
||||
"login": "1",
|
||||
"roleIds": null
|
||||
}, {
|
||||
"userId": "9",
|
||||
"username": "970796069",
|
||||
"password": null,
|
||||
"salt": null,
|
||||
"status": null,
|
||||
"realName": "王二麻子",
|
||||
"email": null,
|
||||
"avatar": null,
|
||||
"sex": "1",
|
||||
"phone": "1555324324234",
|
||||
"enable": "1",
|
||||
"login": "1",
|
||||
"roleIds": null
|
||||
}]
|
||||
}
|
||||
"code": 0,
|
||||
"msg": "",
|
||||
"count": 1000,
|
||||
"totalRow": {
|
||||
"era": {
|
||||
"tang": "2",
|
||||
"song": "2",
|
||||
"xian": "20"
|
||||
}
|
||||
},
|
||||
"data": [
|
||||
{
|
||||
"id": "10001",
|
||||
"username": "就眠儀式",
|
||||
"email": "test1@email.com",
|
||||
"sex": "男",
|
||||
"city": "浙江杭州",
|
||||
"sign": "花开堪折直须折,莫待无花空折枝.",
|
||||
"experience": "100",
|
||||
"ip": "192.168.0.8",
|
||||
"checkin": "106",
|
||||
"joinTime": "2016-10-14"
|
||||
},
|
||||
{
|
||||
"id": "10002",
|
||||
"username": "杜甫",
|
||||
"email": "test2@email.com",
|
||||
"sex": "男",
|
||||
"city": "浙江杭州",
|
||||
"sign": "花开堪折直须折,莫待无花空折枝.",
|
||||
"experience": "100",
|
||||
"ip": "192.168.0.8",
|
||||
"checkin": "108",
|
||||
"joinTime": "2016-10-14",
|
||||
"LAY_CHECKED": true
|
||||
},
|
||||
{
|
||||
"id": "10003",
|
||||
"username": "就眠儀式",
|
||||
"email": "test3@email.com",
|
||||
"sex": "男",
|
||||
"city": "浙江杭州",
|
||||
"sign": "花开堪折直须折,莫待无花空折枝.",
|
||||
"experience": "100",
|
||||
"ip": "192.168.0.8",
|
||||
"checkin": "106",
|
||||
"joinTime": "2016-10-14"
|
||||
},
|
||||
{
|
||||
"id": "10004",
|
||||
"username": "就眠儀式",
|
||||
"email": "test4@email.com",
|
||||
"sex": "女",
|
||||
"city": "浙江杭州",
|
||||
"sign": "花开堪折直须折,莫待无花空折枝.",
|
||||
"experience": "100",
|
||||
"ip": "192.168.0.8",
|
||||
"checkin": "106",
|
||||
"joinTime": "2016-10-14"
|
||||
},
|
||||
{
|
||||
"id": "10005",
|
||||
"username": "就眠儀式",
|
||||
"email": "test5@email.com",
|
||||
"sex": "女",
|
||||
"city": "浙江杭州",
|
||||
"sign": "花开堪折直须折,莫待无花空折枝.",
|
||||
"experience": "100",
|
||||
"ip": "192.168.0.8",
|
||||
"checkin": "106",
|
||||
"joinTime": "2016-10-14"
|
||||
},
|
||||
{
|
||||
"id": "10006",
|
||||
"username": "就眠儀式",
|
||||
"email": "test6@email.com",
|
||||
"sex": "男",
|
||||
"city": "浙江杭州",
|
||||
"sign": "花开堪折直须折,莫待无花空折枝.",
|
||||
"experience": "100",
|
||||
"ip": "192.168.0.8",
|
||||
"checkin": "106",
|
||||
"joinTime": "2016-10-14"
|
||||
},
|
||||
{
|
||||
"id": "10007",
|
||||
"username": "就眠儀式",
|
||||
"email": "test7@email.com",
|
||||
"sex": "男",
|
||||
"city": "浙江杭州",
|
||||
"sign": "花开堪折直须折,莫待无花空折枝.",
|
||||
"experience": "100",
|
||||
"ip": "192.168.0.8",
|
||||
"checkin": "106",
|
||||
"joinTime": "2016-10-14"
|
||||
},
|
||||
{
|
||||
"id": "10008",
|
||||
"username": "就眠儀式",
|
||||
"email": "test8@email.com",
|
||||
"sex": "男",
|
||||
"city": "浙江杭州",
|
||||
"sign": "花开堪折直须折,莫待无花空折枝.",
|
||||
"experience": "100",
|
||||
"ip": "192.168.0.8",
|
||||
"checkin": "106",
|
||||
"joinTime": "2016-10-14"
|
||||
},
|
||||
{
|
||||
"id": "10009",
|
||||
"username": "就眠儀式",
|
||||
"email": "test9@email.com",
|
||||
"sex": "男",
|
||||
"city": "浙江杭州",
|
||||
"sign": "花开堪折直须折,莫待无花空折枝.",
|
||||
"experience": "100",
|
||||
"ip": "192.168.0.8",
|
||||
"checkin": "106",
|
||||
"joinTime": "2016-10-14"
|
||||
},
|
||||
{
|
||||
"id": "10010",
|
||||
"username": "就眠儀式",
|
||||
"email": "test10@email.com",
|
||||
"sex": "男",
|
||||
"city": "浙江杭州",
|
||||
"sign": "花开堪折直须折,莫待无花空折枝.",
|
||||
"experience": "100",
|
||||
"ip": "192.168.0.8",
|
||||
"checkin": "106",
|
||||
"joinTime": "2016-10-14"
|
||||
},
|
||||
{
|
||||
"id": "10011",
|
||||
"username": "就眠儀式",
|
||||
"email": "test11@email.com",
|
||||
"sex": "男",
|
||||
"city": "浙江杭州",
|
||||
"sign": "花开堪折直须折,莫待无花空折枝.",
|
||||
"experience": "100",
|
||||
"ip": "192.168.0.8",
|
||||
"checkin": "106",
|
||||
"joinTime": "2016-10-14"
|
||||
},
|
||||
{
|
||||
"id": "10012",
|
||||
"username": "就眠儀式",
|
||||
"email": "test12@email.com",
|
||||
"sex": "男",
|
||||
"city": "浙江杭州",
|
||||
"sign": "花开堪折直须折,莫待无花空折枝.",
|
||||
"experience": "100",
|
||||
"ip": "192.168.0.8",
|
||||
"checkin": "106",
|
||||
"joinTime": "2016-10-14"
|
||||
},
|
||||
{
|
||||
"id": "10013",
|
||||
"username": "就眠儀式",
|
||||
"email": "test13@email.com",
|
||||
"sex": "男",
|
||||
"city": "浙江杭州",
|
||||
"sign": "花开堪折直须折,莫待无花空折枝.",
|
||||
"experience": "100",
|
||||
"ip": "192.168.0.8",
|
||||
"checkin": "106",
|
||||
"joinTime": "2016-10-14"
|
||||
},
|
||||
{
|
||||
"id": "10014",
|
||||
"username": "就眠儀式",
|
||||
"email": "test14@email.com",
|
||||
"sex": "男",
|
||||
"city": "浙江杭州",
|
||||
"sign": "花开堪折直须折,莫待无花空折枝.",
|
||||
"experience": "100",
|
||||
"ip": "192.168.0.8",
|
||||
"checkin": "106",
|
||||
"joinTime": "2016-10-14"
|
||||
},
|
||||
{
|
||||
"id": "10015",
|
||||
"username": "就眠儀式",
|
||||
"email": "test15@email.com",
|
||||
"sex": "男",
|
||||
"city": "浙江杭州",
|
||||
"sign": "花开堪折直须折,莫待无花空折枝.",
|
||||
"experience": "100",
|
||||
"ip": "192.168.0.8",
|
||||
"checkin": "106",
|
||||
"joinTime": "2016-10-14"
|
||||
},
|
||||
{
|
||||
"id": "10016",
|
||||
"username": "就眠儀式",
|
||||
"email": "test16@email.com",
|
||||
"sex": "男",
|
||||
"city": "浙江杭州",
|
||||
"sign": "花开堪折直须折,莫待无花空折枝.",
|
||||
"experience": "100",
|
||||
"ip": "192.168.0.8",
|
||||
"checkin": "106",
|
||||
"joinTime": "2016-10-14"
|
||||
},
|
||||
{
|
||||
"id": "10017",
|
||||
"username": "就眠儀式",
|
||||
"email": "test17@email.com",
|
||||
"sex": "男",
|
||||
"city": "浙江杭州",
|
||||
"sign": "花开堪折直须折,莫待无花空折枝.",
|
||||
"experience": "100",
|
||||
"ip": "192.168.0.8",
|
||||
"checkin": "106",
|
||||
"joinTime": "2016-10-14"
|
||||
},
|
||||
{
|
||||
"id": "10018",
|
||||
"username": "就眠儀式",
|
||||
"email": "test18@email.com",
|
||||
"sex": "男",
|
||||
"city": "浙江杭州",
|
||||
"sign": "花开堪折直须折,莫待无花空折枝.",
|
||||
"experience": "100",
|
||||
"ip": "192.168.0.8",
|
||||
"checkin": "106",
|
||||
"joinTime": "2016-10-14"
|
||||
},
|
||||
{
|
||||
"id": "10019",
|
||||
"username": "就眠儀式",
|
||||
"email": "test19@email.com",
|
||||
"sex": "男",
|
||||
"city": "浙江杭州",
|
||||
"sign": "花开堪折直须折,莫待无花空折枝.",
|
||||
"experience": "100",
|
||||
"ip": "192.168.0.8",
|
||||
"checkin": "106",
|
||||
"joinTime": "2016-10-14"
|
||||
},
|
||||
{
|
||||
"id": "10020",
|
||||
"username": "就眠儀式",
|
||||
"email": "test20@email.com",
|
||||
"sex": "男",
|
||||
"city": "浙江杭州",
|
||||
"sign": "花开堪折直须折,莫待无花空折枝.",
|
||||
"experience": "100",
|
||||
"ip": "192.168.0.8",
|
||||
"checkin": "106",
|
||||
"joinTime": "2016-10-14"
|
||||
},
|
||||
{
|
||||
"id": "10021",
|
||||
"username": "就眠儀式",
|
||||
"email": "test21@email.com",
|
||||
"sex": "男",
|
||||
"city": "浙江杭州",
|
||||
"sign": "花开堪折直须折,莫待无花空折枝.",
|
||||
"experience": "100",
|
||||
"ip": "192.168.0.8",
|
||||
"checkin": "106",
|
||||
"joinTime": "2016-10-14"
|
||||
},
|
||||
{
|
||||
"id": "10022",
|
||||
"username": "就眠儀式",
|
||||
"email": "test22@email.com",
|
||||
"sex": "男",
|
||||
"city": "浙江杭州",
|
||||
"sign": "花开堪折直须折,莫待无花空折枝.",
|
||||
"experience": "100",
|
||||
"ip": "192.168.0.8",
|
||||
"checkin": "106",
|
||||
"joinTime": "2016-10-14"
|
||||
},
|
||||
{
|
||||
"id": "10023",
|
||||
"username": "就眠儀式",
|
||||
"email": "test23@email.com",
|
||||
"sex": "男",
|
||||
"city": "浙江杭州",
|
||||
"sign": "花开堪折直须折,莫待无花空折枝.",
|
||||
"experience": "100",
|
||||
"ip": "192.168.0.8",
|
||||
"checkin": "106",
|
||||
"joinTime": "2016-10-14"
|
||||
},
|
||||
{
|
||||
"id": "10024",
|
||||
"username": "就眠儀式",
|
||||
"email": "test24@email.com",
|
||||
"sex": "男",
|
||||
"city": "浙江杭州",
|
||||
"sign": "花开堪折直须折,莫待无花空折枝.",
|
||||
"experience": "100",
|
||||
"ip": "192.168.0.8",
|
||||
"checkin": "106",
|
||||
"joinTime": "2016-10-14"
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -1,24 +1,68 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" baseProfile="full" width="100%" height="100%" viewBox="0 0 1400 800">
|
||||
|
||||
<rect x="1300" y="400" rx="40" ry="40" width="300" height="300" stroke="rgb(129, 201, 149)" fill="rgb(129, 201, 149)">
|
||||
<animateTransform attributeType="XML" attributeName="transform" begin="0s" dur="35s" type="rotate" from="0 1450 550" to="360 1450 550" repeatCount="indefinite"/>
|
||||
</rect>
|
||||
|
||||
<path d="M 100 350 A 150 150 0 1 1 400 350 Q400 370 380 370 L 250 370 L 120 370 Q100 370 100 350" stroke="rgb(253, 214, 99)" fill="rgb(253, 214, 99)">
|
||||
<animateMotion path="M 800 -200 L 800 -300 L 800 -200" dur="20s" begin="0s" repeatCount="indefinite"/>
|
||||
<animateTransform attributeType="XML" attributeName="transform" begin="0s" dur="30s" type="rotate" values="0 210 530 ; -30 210 530 ; 0 210 530" keyTimes="0 ; 0.5 ; 1" repeatCount="indefinite"/>
|
||||
</path>
|
||||
|
||||
<circle cx="200" cy="150" r="20" stroke="#1a73e8" fill="#1a73e8">
|
||||
<animateMotion path="M 0 0 L 40 20 Z" dur="5s" repeatCount="indefinite"/>
|
||||
</circle>
|
||||
|
||||
<!-- 三角形 -->
|
||||
<path d="M 165 580 L 270 580 Q275 578 270 570 L 223 483 Q220 480 217 483 L 165 570 Q160 578 165 580" stroke="rgb(238, 103, 92)" fill="rgb(238, 103, 92)">
|
||||
<animateTransform attributeType="XML" attributeName="transform" begin="0s" dur="35s" type="rotate" from="0 210 530" to="360 210 530" repeatCount="indefinite"/>
|
||||
</path>
|
||||
|
||||
<rect x="400" y="600" rx="40" ry="40" width="100" height="100" stroke="rgb(129, 201, 149)" fill="rgb(129, 201, 149)">
|
||||
<animateTransform attributeType="XML" attributeName="transform" begin="0s" dur="35s" type="rotate" from="-30 550 750" to="330 550 750" repeatCount="indefinite"/>
|
||||
</rect>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1361px" height="609px" viewBox="0 0 1361 609" version="1.1">
|
||||
<!-- Generator: Sketch 46.2 (44496) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>Group 21</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs/>
|
||||
<g id="Ant-Design-Pro-3.0" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="账户密码登录-校验" transform="translate(-79.000000, -82.000000)">
|
||||
<g id="Group-21" transform="translate(77.000000, 73.000000)">
|
||||
<g id="Group-18" opacity="0.8" transform="translate(74.901416, 569.699158) rotate(-7.000000) translate(-74.901416, -569.699158) translate(4.901416, 525.199158)">
|
||||
<ellipse id="Oval-11" fill="#CFDAE6" opacity="0.25" cx="63.5748792" cy="32.468367" rx="21.7830479" ry="21.766008"/>
|
||||
<ellipse id="Oval-3" fill="#CFDAE6" opacity="0.599999964" cx="5.98746479" cy="13.8668601" rx="5.2173913" ry="5.21330997"/>
|
||||
<path d="M38.1354514,88.3520215 C43.8984227,88.3520215 48.570234,83.6838647 48.570234,77.9254015 C48.570234,72.1669383 43.8984227,67.4987816 38.1354514,67.4987816 C32.3724801,67.4987816 27.7006688,72.1669383 27.7006688,77.9254015 C27.7006688,83.6838647 32.3724801,88.3520215 38.1354514,88.3520215 Z" id="Oval-3-Copy" fill="#CFDAE6" opacity="0.45"/>
|
||||
<path d="M64.2775582,33.1704963 L119.185836,16.5654915" id="Path-12" stroke="#CFDAE6" stroke-width="1.73913043" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M42.1431708,26.5002681 L7.71190162,14.5640702" id="Path-16" stroke="#E0B4B7" stroke-width="0.702678964" opacity="0.7" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="1.405357899873153,2.108036953469981"/>
|
||||
<path d="M63.9262187,33.521561 L43.6721326,69.3250951" id="Path-15" stroke="#BACAD9" stroke-width="0.702678964" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="1.405357899873153,2.108036953469981"/>
|
||||
<g id="Group-17" transform="translate(126.850922, 13.543654) rotate(30.000000) translate(-126.850922, -13.543654) translate(117.285705, 4.381889)" fill="#CFDAE6">
|
||||
<ellipse id="Oval-4" opacity="0.45" cx="9.13482653" cy="9.12768076" rx="9.13482653" ry="9.12768076"/>
|
||||
<path d="M18.2696531,18.2553615 C18.2696531,13.2142826 14.1798519,9.12768076 9.13482653,9.12768076 C4.08980114,9.12768076 0,13.2142826 0,18.2553615 L18.2696531,18.2553615 Z" id="Oval-4" transform="translate(9.134827, 13.691521) scale(-1, -1) translate(-9.134827, -13.691521) "/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group-14" transform="translate(216.294700, 123.725600) rotate(-5.000000) translate(-216.294700, -123.725600) translate(106.294700, 35.225600)">
|
||||
<ellipse id="Oval-2" fill="#CFDAE6" opacity="0.25" cx="29.1176471" cy="29.1402439" rx="29.1176471" ry="29.1402439"/>
|
||||
<ellipse id="Oval-2" fill="#CFDAE6" opacity="0.3" cx="29.1176471" cy="29.1402439" rx="21.5686275" ry="21.5853659"/>
|
||||
<ellipse id="Oval-2-Copy" stroke="#CFDAE6" opacity="0.4" cx="179.019608" cy="138.146341" rx="23.7254902" ry="23.7439024"/>
|
||||
<ellipse id="Oval-2" fill="#BACAD9" opacity="0.5" cx="29.1176471" cy="29.1402439" rx="10.7843137" ry="10.7926829"/>
|
||||
<path d="M29.1176471,39.9329268 L29.1176471,18.347561 C23.1616351,18.347561 18.3333333,23.1796097 18.3333333,29.1402439 C18.3333333,35.1008781 23.1616351,39.9329268 29.1176471,39.9329268 Z" id="Oval-2" fill="#BACAD9"/>
|
||||
<g id="Group-9" opacity="0.45" transform="translate(172.000000, 131.000000)" fill="#E6A1A6">
|
||||
<ellipse id="Oval-2-Copy-2" cx="7.01960784" cy="7.14634146" rx="6.47058824" ry="6.47560976"/>
|
||||
<path d="M0.549019608,13.6219512 C4.12262681,13.6219512 7.01960784,10.722722 7.01960784,7.14634146 C7.01960784,3.56996095 4.12262681,0.670731707 0.549019608,0.670731707 L0.549019608,13.6219512 Z" id="Oval-2-Copy-2" transform="translate(3.784314, 7.146341) scale(-1, 1) translate(-3.784314, -7.146341) "/>
|
||||
</g>
|
||||
<ellipse id="Oval-10" fill="#CFDAE6" cx="218.382353" cy="138.685976" rx="1.61764706" ry="1.61890244"/>
|
||||
<ellipse id="Oval-10-Copy-2" fill="#E0B4B7" opacity="0.35" cx="179.558824" cy="175.381098" rx="1.61764706" ry="1.61890244"/>
|
||||
<ellipse id="Oval-10-Copy" fill="#E0B4B7" opacity="0.35" cx="180.098039" cy="102.530488" rx="2.15686275" ry="2.15853659"/>
|
||||
<path d="M28.9985381,29.9671598 L171.151018,132.876024" id="Path-11" stroke="#CFDAE6" opacity="0.8"/>
|
||||
</g>
|
||||
<g id="Group-10" opacity="0.799999952" transform="translate(1054.100635, 36.659317) rotate(-11.000000) translate(-1054.100635, -36.659317) translate(1026.600635, 4.659317)">
|
||||
<ellipse id="Oval-7" stroke="#CFDAE6" stroke-width="0.941176471" cx="43.8135593" cy="32" rx="11.1864407" ry="11.2941176"/>
|
||||
<g id="Group-12" transform="translate(34.596774, 23.111111)" fill="#BACAD9">
|
||||
<ellipse id="Oval-7" opacity="0.45" cx="9.18534718" cy="8.88888889" rx="8.47457627" ry="8.55614973"/>
|
||||
<path d="M9.18534718,17.4450386 C13.8657264,17.4450386 17.6599235,13.6143199 17.6599235,8.88888889 C17.6599235,4.16345787 13.8657264,0.332739156 9.18534718,0.332739156 L9.18534718,17.4450386 Z" id="Oval-7"/>
|
||||
</g>
|
||||
<path d="M34.6597385,24.809694 L5.71666084,4.76878945" id="Path-2" stroke="#CFDAE6" stroke-width="0.941176471"/>
|
||||
<ellipse id="Oval" stroke="#CFDAE6" stroke-width="0.941176471" cx="3.26271186" cy="3.29411765" rx="3.26271186" ry="3.29411765"/>
|
||||
<ellipse id="Oval-Copy" fill="#F7E1AD" cx="2.79661017" cy="61.1764706" rx="2.79661017" ry="2.82352941"/>
|
||||
<path d="M34.6312443,39.2922712 L5.06366663,59.785082" id="Path-10" stroke="#CFDAE6" stroke-width="0.941176471"/>
|
||||
</g>
|
||||
<g id="Group-19" opacity="0.33" transform="translate(1282.537219, 446.502867) rotate(-10.000000) translate(-1282.537219, -446.502867) translate(1142.537219, 327.502867)">
|
||||
<g id="Group-17" transform="translate(141.333539, 104.502742) rotate(275.000000) translate(-141.333539, -104.502742) translate(129.333539, 92.502742)" fill="#BACAD9">
|
||||
<circle id="Oval-4" opacity="0.45" cx="11.6666667" cy="11.6666667" r="11.6666667"/>
|
||||
<path d="M23.3333333,23.3333333 C23.3333333,16.8900113 18.1099887,11.6666667 11.6666667,11.6666667 C5.22334459,11.6666667 0,16.8900113 0,23.3333333 L23.3333333,23.3333333 Z" id="Oval-4" transform="translate(11.666667, 17.500000) scale(-1, -1) translate(-11.666667, -17.500000) "/>
|
||||
</g>
|
||||
<circle id="Oval-5-Copy-6" fill="#CFDAE6" cx="201.833333" cy="87.5" r="5.83333333"/>
|
||||
<path d="M143.5,88.8126685 L155.070501,17.6038544" id="Path-17" stroke="#BACAD9" stroke-width="1.16666667"/>
|
||||
<path d="M17.5,37.3333333 L127.466252,97.6449735" id="Path-18" stroke="#BACAD9" stroke-width="1.16666667"/>
|
||||
<polyline id="Path-19" stroke="#CFDAE6" stroke-width="1.16666667" points="143.902597 120.302281 174.935455 231.571342 38.5 147.510847 126.366941 110.833333"/>
|
||||
<path d="M159.833333,99.7453842 L195.416667,89.25" id="Path-20" stroke="#E0B4B7" stroke-width="1.16666667" opacity="0.6"/>
|
||||
<path d="M205.333333,82.1372105 L238.719406,36.1666667" id="Path-24" stroke="#BACAD9" stroke-width="1.16666667"/>
|
||||
<path d="M266.723424,132.231988 L207.083333,90.4166667" id="Path-25" stroke="#CFDAE6" stroke-width="1.16666667"/>
|
||||
<circle id="Oval-5" fill="#C1D1E0" cx="156.916667" cy="8.75" r="8.75"/>
|
||||
<circle id="Oval-5-Copy-3" fill="#C1D1E0" cx="39.0833333" cy="148.75" r="5.25"/>
|
||||
<circle id="Oval-5-Copy-2" fill-opacity="0.6" fill="#D1DEED" cx="8.75" cy="33.25" r="8.75"/>
|
||||
<circle id="Oval-5-Copy-4" fill-opacity="0.6" fill="#D1DEED" cx="243.833333" cy="30.3333333" r="5.83333333"/>
|
||||
<circle id="Oval-5-Copy-5" fill="#E0B4B7" cx="175.583333" cy="232.75" r="5.25"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 9.9 MiB After Width: | Height: | Size: 9.9 MiB |
|
Before Width: | Height: | Size: 197 KiB After Width: | Height: | Size: 197 KiB |
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
|
||||
@ -1,30 +1,10 @@
|
||||
@import url("../../layui/css/layui.css");
|
||||
@import url("../font/iconfont.css");
|
||||
|
||||
@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/messageCenter.css");
|
||||
@import url("module/global.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/menuSearch.css");
|
||||
@import url("module/page.css");
|
||||
@import url("module/tabPage.css");
|
||||
@import url("module/toast.css");
|
||||
@ -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());
|
||||
});
|
||||
|
||||
@ -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,31 +5,34 @@ 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: opt.async || true,
|
||||
parseData: opt.parseData,
|
||||
url: opt.url,
|
||||
method: opt.method ? opt.method : "GET",
|
||||
defaultOpen: opt.defaultOpen,
|
||||
defaultSelect: opt.defaultSelect,
|
||||
control: opt.control,
|
||||
defaultMenu: opt.defaultMenu,
|
||||
controlWidth: opt.controlWidth ? opt.controlWidth : "auto",
|
||||
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);
|
||||
}
|
||||
@ -49,18 +52,45 @@ layui.define(['table', 'jquery', 'element'], function (exports) {
|
||||
});
|
||||
}
|
||||
} else {
|
||||
// 延时返回,和 javascript 执行时序关联
|
||||
window.setTimeout(function () { renderMenu(option); }, 500);
|
||||
}
|
||||
|
||||
// 处理高度
|
||||
$("#" + opt.elem).height(option.height)
|
||||
|
||||
setTimeout(function () {
|
||||
$("#" + opt.control + " .control").on("mousewheel DOMMouseScroll", function (event) {
|
||||
|
||||
return new pearMenu(option);
|
||||
var delta = (event.originalEvent.wheelDelta && (event.originalEvent.wheelDelta > 0 ? 1 : -1)) || // chrome & ie
|
||||
(event.originalEvent.detail && (event.originalEvent.detail > 0 ? -1 : 1)); // firefox
|
||||
|
||||
if (delta > 0) {
|
||||
for (var num = 1; num < 20; num++) {
|
||||
setTimeout(function () {
|
||||
if ($("#" + opt.control + " .control ul").css('left').replace("px", "") < 0) {
|
||||
$("#" + opt.control + " .control ul").css("left", "+=2px");
|
||||
}
|
||||
}, 10)
|
||||
}
|
||||
} else if (delta < 0) {
|
||||
if (((Number)($("#" + opt.control + " .control ul").css("left").replace("px", "")) + ($("#" + opt.control + " .control ul").width() - $("#" + opt.control + " .control").width())) > 0) {
|
||||
for (var num = 1; num < 20; num++) {
|
||||
setTimeout(function () {
|
||||
$("#" + opt.control + " .control ul").css("left", "-=2px");
|
||||
}, 10)
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}, 1000)
|
||||
|
||||
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);
|
||||
@ -70,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) {
|
||||
@ -113,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"
|
||||
@ -183,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")) {
|
||||
@ -197,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");
|
||||
@ -212,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);
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@ -252,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) {
|
||||
@ -278,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>';
|
||||
@ -296,8 +326,7 @@ layui.define(['table', 'jquery', 'element'], function (exports) {
|
||||
}
|
||||
|
||||
function createMenuAndControl(option) {
|
||||
var control = '<div class="control"><ul class="layui-nav pear-nav-control pc layui-hide-xs" style="width: fit-content;">';
|
||||
control+= '<li class="layui-nav-item tabdrop layui-hide" style="float:right !important;"><a href="javascript:;"><i class="layui-icon layui-icon-more layui-font-20"></i></a><dl class="layui-nav-child"></dl></li>';
|
||||
var control = '<div style="width: ' + option.controlWidth + 'px;white-space: nowrap;overflow-x: scroll;overflow: hidden;" class="control"><ul class="layui-nav pear-nav-control pc layui-hide-xs" style="width: fit-content;">';
|
||||
var controlPe = '<ul class="layui-nav pear-nav-control layui-hide-sm">';
|
||||
// 声 明 头 部
|
||||
var menu = '<div class="layui-side-scroll ' + option.theme + '">'
|
||||
@ -349,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>';
|
||||
@ -408,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>';
|
||||
}
|
||||
@ -425,48 +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 {
|
||||
ele.animate({
|
||||
height: "0px"
|
||||
}, 240, function () {
|
||||
ele.css({
|
||||
height: "auto"
|
||||
});
|
||||
$(this).parent().removeClass("layui-nav-itemed");
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/** 二 级 悬 浮 菜 单*/
|
||||
function isHoverMenu(b, option) {
|
||||
if (b) {
|
||||
@ -525,68 +512,22 @@ layui.define(['table', 'jquery', 'element'], function (exports) {
|
||||
rationalizeWidth = $headerControl.parent().innerWidth() - $headerControl.position().left;
|
||||
}
|
||||
|
||||
$("#" + option.control + " .control").css({"width": rationalizeWidth});
|
||||
|
||||
var navobj = $("#" + option.control+' ul.pear-nav-control.pc');
|
||||
var dropdown = $(".tabdrop", navobj);
|
||||
|
||||
var collection = 0;
|
||||
var maxwidth = rationalizeWidth - 60;
|
||||
|
||||
var liwidth = 0;
|
||||
//检查超过一行的标签页
|
||||
$('.tabdrop').find('dd').each(function(){
|
||||
var newLI = $('<li></li>').html($(this).html());
|
||||
newLI.addClass('layui-nav-item');
|
||||
newLI.attr('pear-href', $(this).attr('pear-href'));
|
||||
newLI.attr('pear-title', $(this).attr('pear-title'));
|
||||
newLI.attr('pear-id', $(this).attr('pear-id'));
|
||||
navobj.append(newLI);
|
||||
$(this).remove();
|
||||
|
||||
})
|
||||
var litabs = navobj.find('>li').not('.tabdrop');
|
||||
|
||||
var totalwidth = 0;
|
||||
litabs.each(function () {
|
||||
totalwidth += $(this).outerWidth(true);
|
||||
});
|
||||
|
||||
if (rationalizeWidth < totalwidth) {
|
||||
litabs.each(function () {
|
||||
liwidth += $(this).outerWidth(true);
|
||||
if (liwidth > maxwidth) {
|
||||
var newDD = $('<dd></dd>').html($(this).html());
|
||||
newDD.attr('pear-href', $(this).attr('pear-href'));
|
||||
newDD.attr('pear-title', $(this).attr('pear-title'));
|
||||
newDD.attr('pear-id', $(this).attr('pear-id'));
|
||||
dropdown.find('dl').append(newDD);
|
||||
collection++;
|
||||
$(this).remove();
|
||||
}
|
||||
});
|
||||
if (collection > 0) {
|
||||
dropdown.removeClass('layui-hide');
|
||||
if (dropdown.find('.active').length === 1) {
|
||||
dropdown.addClass('active');
|
||||
} else {
|
||||
dropdown.removeClass('active');
|
||||
}
|
||||
}
|
||||
}else {
|
||||
dropdown.addClass('layui-hide');
|
||||
}
|
||||
if (option.controlWidth && rationalizeWidth >= option.controlWidth) {
|
||||
rationalizeWidth = option.controlWidth;
|
||||
}
|
||||
$("#" + 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());
|
||||
})
|
||||
@ -1,11 +1,11 @@
|
||||
layui.define(['jquery', 'element'], function(exports) {
|
||||
layui.define(['jquery', 'element'], function (exports) {
|
||||
"use strict";
|
||||
|
||||
var MOD_NAME = 'tab',
|
||||
$ = layui.jquery,
|
||||
element = layui.element;
|
||||
|
||||
var pearTab = function(opt) {
|
||||
var pearTab = function (opt) {
|
||||
this.option = opt;
|
||||
};
|
||||
|
||||
@ -13,7 +13,7 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
var tabDataCurrent = 0;
|
||||
var contextTabDOM;
|
||||
|
||||
pearTab.prototype.render = function(opt) {
|
||||
pearTab.prototype.render = function (opt) {
|
||||
|
||||
var option = {
|
||||
elem: opt.elem,
|
||||
@ -27,7 +27,7 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
session: opt.session ? opt.session : false,
|
||||
preload: opt.preload ? opt.preload : false,
|
||||
closeEvent: opt.closeEvent,
|
||||
success: opt.success ? opt.success : function(id) {}
|
||||
success: opt.success ? opt.success : function (id) { }
|
||||
}
|
||||
|
||||
if (option.session) {
|
||||
@ -35,7 +35,7 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
tabData = JSON.parse(sessionStorage.getItem(option.elem + "-pear-tab-data"));
|
||||
option.data = JSON.parse(sessionStorage.getItem(option.elem + "-pear-tab-data"));
|
||||
tabDataCurrent = sessionStorage.getItem(option.elem + "-pear-tab-data-current");
|
||||
tabData.forEach(function(item, index) {
|
||||
tabData.forEach(function (item, index) {
|
||||
if (item.id == tabDataCurrent) {
|
||||
option.index = index;
|
||||
}
|
||||
@ -48,10 +48,10 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
var lastIndex;
|
||||
var tab = createTab(option);
|
||||
$("#" + option.elem).html(tab);
|
||||
$(".layui-tab[lay-filter='" + option.elem + "'] .layui-tab-prev").click(function() {
|
||||
$(".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() {
|
||||
$(".layui-tab[lay-filter='" + option.elem + "'] .layui-tab-next").click(function () {
|
||||
rollPage("right", option);
|
||||
})
|
||||
element.init();
|
||||
@ -66,7 +66,7 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
option.success(sessionStorage.getItem(option.elem + "-pear-tab-data-current"));
|
||||
|
||||
$("body .layui-tab[lay-filter='" + option.elem + "'] .layui-tab-title").on("contextmenu", "li",
|
||||
function(e) {
|
||||
function (e) {
|
||||
// 获取当前元素位置
|
||||
var top = e.clientY;
|
||||
var left = e.clientX;
|
||||
@ -95,23 +95,23 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
isOutAnim: false,
|
||||
offset: [top, left],
|
||||
content: menu, //iframe的url,
|
||||
success: function(layero, index) {
|
||||
success: function (layero, index) {
|
||||
layer.close(lastIndex);
|
||||
lastIndex = index;
|
||||
menuEvent(option, index);
|
||||
var timer;
|
||||
$(layero).on('mouseout', function() {
|
||||
timer = setTimeout(function() {
|
||||
$(layero).on('mouseout', function () {
|
||||
timer = setTimeout(function () {
|
||||
layer.close(index);
|
||||
}, 30)
|
||||
});
|
||||
|
||||
$(layero).on('mouseover', function() {
|
||||
$(layero).on('mouseover', function () {
|
||||
clearTimeout(timer);
|
||||
});
|
||||
|
||||
// 清除 item 右击
|
||||
$(layero).on('contextmenu', function() {
|
||||
$(layero).on('contextmenu', function () {
|
||||
return false;
|
||||
})
|
||||
|
||||
@ -124,10 +124,10 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
return new pearTab(option);
|
||||
}
|
||||
|
||||
pearTab.prototype.click = function(callback) {
|
||||
pearTab.prototype.click = function (callback) {
|
||||
var elem = this.option.elem;
|
||||
var option = this.option;
|
||||
element.on('tab(' + this.option.elem + ')', function(data) {
|
||||
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-data-current", id);
|
||||
if (!option.preload) {
|
||||
@ -136,7 +136,7 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
var iframeUrl = $iframe.attr("src");
|
||||
if (!iframeUrl || iframeUrl === "about:blank") {
|
||||
// 获取 url 并重载
|
||||
tabData.forEach(function(item, index) {
|
||||
tabData.forEach(function (item, index) {
|
||||
if (item.id === id) {
|
||||
iframeUrl = item.url;
|
||||
}
|
||||
@ -149,10 +149,10 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
});
|
||||
}
|
||||
|
||||
pearTab.prototype.positionTab = function() {
|
||||
pearTab.prototype.positionTab = function () {
|
||||
var $tabTitle = $('.layui-tab[lay-filter=' + this.option.elem + '] .layui-tab-title');
|
||||
var autoLeft = 0;
|
||||
$tabTitle.children("li").each(function() {
|
||||
$tabTitle.children("li").each(function () {
|
||||
if ($(this).hasClass('layui-this')) {
|
||||
return false;
|
||||
} else {
|
||||
@ -164,12 +164,12 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
}, 200);
|
||||
}
|
||||
|
||||
pearTab.prototype.clear = function() {
|
||||
pearTab.prototype.clear = function () {
|
||||
sessionStorage.removeItem(this.option.elem + "-pear-tab-data");
|
||||
sessionStorage.removeItem(this.option.elem + "-pear-tab-data-current");
|
||||
}
|
||||
|
||||
pearTab.prototype.addTab = function(opt) {
|
||||
pearTab.prototype.addTab = function (opt) {
|
||||
var title = '';
|
||||
if (opt.close) {
|
||||
title += '<span class="pear-tab-active"></span><span class="able-close title">' + opt.title +
|
||||
@ -193,25 +193,25 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
|
||||
var index = 0;
|
||||
// 根据过滤 fliter 标识, 重置选项卡标题
|
||||
pearTab.prototype.changeTabTitleById = function(elem, id, title) {
|
||||
pearTab.prototype.changeTabTitleById = function (elem, id, title) {
|
||||
var currentTab = $(".layui-tab[lay-filter='" + elem + "'] .layui-tab-title [lay-id='" + id +
|
||||
"'] .title");
|
||||
currentTab.html(title);
|
||||
}
|
||||
|
||||
// 根据过滤 filter 标识, 删除指定选项卡
|
||||
pearTab.prototype.delTabByElem = function(elem, id, callback) {
|
||||
pearTab.prototype.delTabByElem = function (elem, id, callback) {
|
||||
var currentTab = $(".layui-tab[lay-filter='" + elem + "'] .layui-tab-title [lay-id='" + id + "']");
|
||||
if (currentTab.find("span").is(".able-close")) {
|
||||
tabDelete(elem, id, callback);
|
||||
}
|
||||
}
|
||||
// 根据过滤 filter 标识, 删除其他选项卡
|
||||
pearTab.prototype.delOtherTabByElem = function(elem, callback) {
|
||||
pearTab.prototype.delOtherTabByElem = function (elem, callback) {
|
||||
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(i) {
|
||||
$.each(tabtitle, function (i) {
|
||||
if ($(this).attr("lay-id") != currentId) {
|
||||
if ($(this).find("span").is(".able-close")) {
|
||||
tabDelete(elem, $(this).attr("lay-id"), callback);
|
||||
@ -221,18 +221,18 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
}
|
||||
|
||||
// 根据过滤 filter 标识, 删除全部选项卡
|
||||
pearTab.prototype.delAllTabByElem = function(elem, callback) {
|
||||
pearTab.prototype.delAllTabByElem = function (elem, callback) {
|
||||
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(i) {
|
||||
$.each(tabtitle, function (i) {
|
||||
if ($(this).find("span").is(".able-close")) {
|
||||
tabDelete(elem, $(this).attr("lay-id"), callback);
|
||||
}
|
||||
})
|
||||
}
|
||||
// 根据过滤 filter 标识, 删除当前选项卡
|
||||
pearTab.prototype.delCurrentTabByElem = function(elem, callback) {
|
||||
pearTab.prototype.delCurrentTabByElem = function (elem, callback) {
|
||||
var currentTab = $(".layui-tab[lay-filter='" + elem + "'] .layui-tab-title .layui-this");
|
||||
if (currentTab.find("span").is(".able-close")) {
|
||||
var currentId = currentTab.attr("lay-id");
|
||||
@ -241,7 +241,7 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
}
|
||||
|
||||
// 通过过滤 filter 标识, 新增标签页
|
||||
pearTab.prototype.addTabOnlyByElem = function(elem, opt, time) {
|
||||
pearTab.prototype.addTabOnlyByElem = function (elem, opt, time) {
|
||||
var title = '';
|
||||
if (opt.close) {
|
||||
title += '<span class="pear-tab-active"></span><span class="able-close title">' + opt.title +
|
||||
@ -265,7 +265,7 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
sessionStorage.setItem(elem + "-pear-tab-data", JSON.stringify(tabData));
|
||||
} else {
|
||||
var isData = false;
|
||||
$.each($(".layui-tab[lay-filter='" + elem + "'] .layui-tab-title li[lay-id]"), function() {
|
||||
$.each($(".layui-tab[lay-filter='" + elem + "'] .layui-tab-title li[lay-id]"), function () {
|
||||
if ($(this).attr("lay-id") == opt.id) {
|
||||
isData = true;
|
||||
}
|
||||
@ -292,7 +292,7 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
}
|
||||
|
||||
/** 添 加 唯 一 选 项 卡 */
|
||||
pearTab.prototype.addTabOnly = function(opt, time) {
|
||||
pearTab.prototype.addTabOnly = function (opt, time) {
|
||||
var title = '';
|
||||
if (opt.close) {
|
||||
title += '<span class="pear-tab-active"></span><span class="able-close title">' + opt.title +
|
||||
@ -319,7 +319,7 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
} else {
|
||||
var isData = false;
|
||||
$.each($(".layui-tab[lay-filter='" + this.option.elem + "'] .layui-tab-title li[lay-id]"),
|
||||
function() {
|
||||
function () {
|
||||
if ($(this).attr("lay-id") == opt.id) {
|
||||
isData = true;
|
||||
}
|
||||
@ -358,7 +358,7 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
}
|
||||
|
||||
// 刷 新 指 定 的 选 项 卡
|
||||
pearTab.prototype.refresh = function(time) {
|
||||
pearTab.prototype.refresh = function (time) {
|
||||
// 刷 新 指 定 的 选 项 卡
|
||||
var $iframe = $(".layui-tab[lay-filter='" + this.option.elem + "'] .layui-tab-content .layui-show")
|
||||
.find("iframe");
|
||||
@ -385,8 +385,8 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
display: "block"
|
||||
});
|
||||
index++;
|
||||
$iframe.on("load", function() {
|
||||
pearLoad.fadeOut(1000, function() {
|
||||
$iframe.on("load", function () {
|
||||
pearLoad.fadeOut(1000, function () {
|
||||
pearLoad.remove();
|
||||
});
|
||||
})
|
||||
@ -402,12 +402,12 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
if (!removeTab.hasClass("layui-this")) {
|
||||
removeTab.remove();
|
||||
var tabContent = $(".layui-tab[lay-filter='" + elem + "']").find("iframe[id='" + id + "']")
|
||||
.parent();
|
||||
.parent();
|
||||
tabContent.remove();
|
||||
|
||||
tabData = JSON.parse(sessionStorage.getItem(elem + "-pear-tab-data"));
|
||||
tabDataCurrent = sessionStorage.getItem(elem + "-pear-tab-data-current");
|
||||
tabData = tabData.filter(function(item) {
|
||||
tabData = tabData.filter(function (item) {
|
||||
return item.id != id;
|
||||
})
|
||||
sessionStorage.setItem(elem + "-pear-tab-data", JSON.stringify(tabData));
|
||||
@ -428,7 +428,7 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
callback(currId);
|
||||
tabData = JSON.parse(sessionStorage.getItem(elem + "-pear-tab-data"));
|
||||
tabDataCurrent = sessionStorage.getItem(elem + "-pear-tab-data-current");
|
||||
tabData = tabData.filter(function(item) {
|
||||
tabData = tabData.filter(function (item) {
|
||||
return item.id != id;
|
||||
})
|
||||
sessionStorage.setItem(elem + "-pear-tab-data", JSON.stringify(tabData));
|
||||
@ -463,7 +463,7 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
|
||||
// 处 理 选 项 卡 头 部
|
||||
var index = 0;
|
||||
$.each(option.data, function(i, item) {
|
||||
$.each(option.data, function (i, item) {
|
||||
var TitleItem = '';
|
||||
if (option.index == index) {
|
||||
TitleItem += '<li lay-id="' + item.id +
|
||||
@ -531,7 +531,7 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
}
|
||||
|
||||
function closeEvent(option) {
|
||||
$(".layui-tab[lay-filter='" + option.elem + "']").on("click", ".layui-tab-close", function() {
|
||||
$(".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);
|
||||
})
|
||||
@ -539,7 +539,7 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
|
||||
function menuEvent(option, index) {
|
||||
|
||||
$("#" + option.elem + "closeThis").click(function() {
|
||||
$("#" + option.elem + "closeThis").click(function () {
|
||||
var currentTab = contextTabDOM;
|
||||
|
||||
if (currentTab.find("span").is(".able-close")) {
|
||||
@ -554,10 +554,10 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
layer.close(index);
|
||||
})
|
||||
|
||||
$("#" + option.elem + "closeOther").click(function() {
|
||||
$("#" + 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) {
|
||||
$.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,
|
||||
@ -568,10 +568,10 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
layer.close(index);
|
||||
})
|
||||
|
||||
$("#" + option.elem + "closeAll").click(function() {
|
||||
$("#" + option.elem + "closeAll").click(function () {
|
||||
var currentId = contextTabDOM.attr("lay-id");
|
||||
var tabtitle = $(".layui-tab[lay-filter='" + option.elem + "'] .layui-tab-title li");
|
||||
$.each(tabtitle, function(i) {
|
||||
$.each(tabtitle, function (i) {
|
||||
if ($(this).find("span").is(".able-close")) {
|
||||
tabDelete(option.elem, $(this).attr("lay-id"), option.closeEvent, option);
|
||||
}
|
||||
@ -581,7 +581,7 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
}
|
||||
|
||||
function toolEvent(option) {
|
||||
$("body .layui-tab[lay-filter='" + option.elem + "']").on("click", "#closeThis", function() {
|
||||
$("body .layui-tab[lay-filter='" + option.elem + "']").on("click", "#closeThis", function () {
|
||||
var currentTab = $(".layui-tab[lay-filter='" + option.elem +
|
||||
"'] .layui-tab-title .layui-this");
|
||||
if (currentTab.find("span").is(".able-close")) {
|
||||
@ -595,11 +595,11 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
}
|
||||
})
|
||||
|
||||
$("body .layui-tab[lay-filter='" + option.elem + "']").on("click", "#closeOther", function() {
|
||||
$("body .layui-tab[lay-filter='" + option.elem + "']").on("click", "#closeOther", function () {
|
||||
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) {
|
||||
$.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,
|
||||
@ -609,11 +609,11 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
})
|
||||
})
|
||||
|
||||
$("body .layui-tab[lay-filter='" + option.elem + "']").on("click", "#closeAll", function() {
|
||||
$("body .layui-tab[lay-filter='" + option.elem + "']").on("click", "#closeAll", function () {
|
||||
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) {
|
||||
$.each(tabtitle, function (i) {
|
||||
if ($(this).find("span").is(".able-close")) {
|
||||
tabDelete(option.elem, $(this).attr("lay-id"), option.closeEvent, option);
|
||||
}
|
||||
@ -626,10 +626,10 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
var $tabTitle = $('#' + option.elem + ' .layui-tab-title');
|
||||
var mouseScrollStep = 100
|
||||
// 鼠标滚轮
|
||||
$bodyTab.on("mousewheel DOMMouseScroll", function(e) {
|
||||
$bodyTab.on("mousewheel DOMMouseScroll", function (e) {
|
||||
e.originalEvent.preventDefault()
|
||||
var delta = (e.originalEvent.wheelDelta && (e.originalEvent.wheelDelta > 0 ? "top" :
|
||||
"down")) || // chrome & ie
|
||||
"down")) || // chrome & ie
|
||||
(e.originalEvent.detail && (e.originalEvent.detail > 0 ? "down" : "top")); // firefox
|
||||
var scrollLeft = $tabTitle.scrollLeft();
|
||||
|
||||
@ -643,11 +643,11 @@ layui.define(['jquery', 'element'], function(exports) {
|
||||
|
||||
// 触摸移动
|
||||
var touchX = 0;
|
||||
$bodyTab.on("touchstart", function(e) {
|
||||
$bodyTab.on("touchstart", function (e) {
|
||||
var touch = e.originalEvent.targetTouches[0];
|
||||
touchX = touch.pageX
|
||||
})
|
||||
$bodyTab.on("touchmove", function(e) {
|
||||
$bodyTab.on("touchmove", function (e) {
|
||||
var event = e.originalEvent;
|
||||
if (event.targetTouches.length > 1) return;
|
||||
event.preventDefault();
|
||||
|
||||
@ -192,7 +192,12 @@ layui.define(['jquery', 'element', 'dropdown'], function (exports) {
|
||||
var $tabTitle = $('.layui-tab[lay-filter=' + this.option.elem + '] .layui-tab-title');
|
||||
var autoLeft = 0;
|
||||
$tabTitle.children("li").each(function () {
|
||||
var id = $(this).attr('lay-id');
|
||||
if ($(this).hasClass('layui-this')) {
|
||||
var isrc = $('.layui-tab-content .layui-show').find('iframe').attr('src');
|
||||
if (isrc === '') {
|
||||
$('.layui-tab-content .layui-show').find('iframe').attr('src', id);
|
||||
}
|
||||
return false;
|
||||
} else {
|
||||
autoLeft += $(this).outerWidth();
|
||||
@ -511,10 +516,17 @@ layui.define(['jquery', 'element', 'dropdown'], function (exports) {
|
||||
|
||||
if (item.type === "_iframe") {
|
||||
|
||||
// console.log("itemid: ", item.id);
|
||||
// console.log("itemurl: ", item.url);
|
||||
tabDataCurrent = sessionStorage.getItem(option.elem + "-pear-tab-page-data-current");
|
||||
// console.log("current: ", tabDataCurrent);
|
||||
if (tabDataCurrent != item.url) {
|
||||
item.url = '';
|
||||
}
|
||||
|
||||
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',
|
||||
@ -3,49 +3,77 @@ window.rootPath = (function (src) {
|
||||
? document.currentScript.src
|
||||
: document.scripts[document.scripts.length - 1].src;
|
||||
return src.substring(0, src.lastIndexOf("/") + 1);
|
||||
|
||||
// src = document.currentScript
|
||||
// ? document.currentScript.src
|
||||
// : null;
|
||||
|
||||
// if (!src) {
|
||||
// var scriptsArray = [];
|
||||
// if (document.scripts) {
|
||||
// for (var i = 0; i < document.scripts.length; i++) {
|
||||
// var item = document.scripts[i];
|
||||
|
||||
// if (!item.src) { continue; }
|
||||
|
||||
// // 只需要 pear 框架的脚本
|
||||
// if (item.src.indexOf('/component/pear') === -1) { continue; }
|
||||
|
||||
// scriptsArray.push(item);
|
||||
// }
|
||||
// }
|
||||
// if (scriptsArray.length) {
|
||||
// src = scriptsArray[scriptsArray.length - 1].src;
|
||||
// }
|
||||
// }
|
||||
|
||||
// return src ? src.substring(0, src.lastIndexOf("/") + 1) : '';
|
||||
})();
|
||||
|
||||
layui.config({
|
||||
base: rootPath + "module/",
|
||||
version: "3.40.0"
|
||||
version: "4.0.3"
|
||||
}).extend({
|
||||
admin: "admin", // 框架布局组件
|
||||
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", // 数字滚动
|
||||
step: "step", // 分布表单组件
|
||||
tag: "tag", // 多标签页组件
|
||||
treetable: "treetable", // 树状表格
|
||||
dtree: "dtree", // 树结构
|
||||
tinymce: "tinymce/tinymce", // 编辑器
|
||||
area: "area", // 省市级联
|
||||
topBar: "topBar", // 置顶组件
|
||||
button: "button", // 加载按钮
|
||||
design: "design", // 表单设计
|
||||
card: "card", // 数据卡片组件
|
||||
loading: "loading", // 加载组件
|
||||
cropper:"cropper", // 裁剪组件
|
||||
convert:"convert", // 数据转换
|
||||
yaml:"yaml", // yaml 解析组件
|
||||
cropper: "cropper", // 裁剪组件
|
||||
convert: "convert", // 数据转换
|
||||
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);
|
||||
});
|
||||
watermark: "watermark/watermark", //水印组件
|
||||
popover: "popover/popover", //汽泡组件
|
||||
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"
|
||||
}).use([], function () { });
|
||||
1
web/statics/dashboard.html
Normal file
@ -0,0 +1 @@
|
||||
<h1>Dashboard</h1>
|
||||
@ -86,4 +86,35 @@ function saveData(data, filename) {
|
||||
aLink.click()
|
||||
//没有清理的 DOM 元素引用
|
||||
//document.body.removeChild(aLink)
|
||||
}
|
||||
|
||||
function getCurrentYearStart() {
|
||||
const currentDate = new Date();
|
||||
return new Date(currentDate.getFullYear(), 0, 1, 0, 0, 0, 0);
|
||||
}
|
||||
|
||||
function formatDate(date, format) {
|
||||
const year = date.getFullYear();
|
||||
const month = String(date.getMonth() + 1).padStart(2, '0');
|
||||
const day = String(date.getDate()).padStart(2, '0');
|
||||
const hours = String(date.getHours()).padStart(2, '0');
|
||||
const minutes = String(date.getMinutes()).padStart(2, '0');
|
||||
const seconds = String(date.getSeconds()).padStart(2, '0');
|
||||
|
||||
return format
|
||||
.replace('YYYY', year)
|
||||
.replace('MM', month)
|
||||
.replace('DD', day)
|
||||
.replace('HH', hours)
|
||||
.replace('mm', minutes)
|
||||
.replace('ss', seconds);
|
||||
}
|
||||
|
||||
function getCurrentMonthEnd() {
|
||||
const currentDate = new Date();
|
||||
const currentYear = currentDate.getFullYear();
|
||||
const currentMonth = currentDate.getMonth();
|
||||
const lastDayOfMonth = new Date(currentYear, currentMonth + 1, 0);
|
||||
const lastDate = lastDayOfMonth.getDate();
|
||||
return new Date(currentYear, currentMonth, lastDate, 23, 59, 59, 999);
|
||||
}
|
||||
70
web/statics/pear.config.json
Normal file
@ -0,0 +1,70 @@
|
||||
{
|
||||
"logo": {
|
||||
"title": "Pear Admin",
|
||||
"image": "/statics/admin/images/logo.png"
|
||||
},
|
||||
"menu": {
|
||||
"data": "/system/menus",
|
||||
"method": "GET",
|
||||
"accordion": true,
|
||||
"collapse": false,
|
||||
"control": false,
|
||||
"controlWidth": 500,
|
||||
"select": "10",
|
||||
"async": true
|
||||
},
|
||||
"tab": {
|
||||
"enable": true,
|
||||
"keepState": true,
|
||||
"session": true,
|
||||
"preload": false,
|
||||
"max": "30",
|
||||
"index": {
|
||||
"id": "10",
|
||||
"href": "",
|
||||
"title": "首页"
|
||||
}
|
||||
},
|
||||
"theme": {
|
||||
"defaultColor": "2",
|
||||
"defaultMenu": "dark-theme",
|
||||
"defaultHeader": "light-theme",
|
||||
"allowCustom": true,
|
||||
"banner": false
|
||||
},
|
||||
"colors": [
|
||||
{
|
||||
"id": "1",
|
||||
"color": "#2d8cf0",
|
||||
"second": "#ecf5ff"
|
||||
},
|
||||
{
|
||||
"id": "2",
|
||||
"color": "#36b368",
|
||||
"second": "#f0f9eb"
|
||||
},
|
||||
{
|
||||
"id": "3",
|
||||
"color": "#f6ad55",
|
||||
"second": "#fdf6ec"
|
||||
},
|
||||
{
|
||||
"id": "4",
|
||||
"color": "#f56c6c",
|
||||
"second": "#fef0f0"
|
||||
},
|
||||
{
|
||||
"id": "5",
|
||||
"color": "#3963bc",
|
||||
"second": "#ecf5ff"
|
||||
}
|
||||
],
|
||||
"other": {
|
||||
"keepLoad": "1200",
|
||||
"autoHead": false,
|
||||
"footer": false
|
||||
},
|
||||
"header": {
|
||||
"message": "/statics/admin/data/message.json"
|
||||
}
|
||||
}
|
||||
@ -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,15 +25,38 @@ 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 .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 .layui-logo {
|
||||
@ -56,6 +79,7 @@ body,
|
||||
left: 230px;
|
||||
width: calc(100% - 230px);
|
||||
background-color: white;
|
||||
border-bottom: 1px solid whitesmoke;
|
||||
}
|
||||
|
||||
.pear-admin .layui-layout-control {
|
||||
@ -68,13 +92,12 @@ body,
|
||||
}
|
||||
|
||||
.pear-admin .layui-logo {
|
||||
height: 60px;
|
||||
line-height: 60px;
|
||||
border-bottom: 1px solid rgba(0, 0, 0, .12);
|
||||
box-sizing: border-box;
|
||||
width: 230px;
|
||||
height: 59px;
|
||||
line-height: 59px;
|
||||
position: relative;
|
||||
background-color: #28333E;
|
||||
width: 230px;
|
||||
border-bottom: 1px solid rgba(0, 0, 0, .12);
|
||||
}
|
||||
|
||||
.pear-admin .layui-logo img {
|
||||
@ -85,7 +108,7 @@ body,
|
||||
.pear-admin .layui-logo .title {
|
||||
font-size: 21px;
|
||||
font-weight: 550;
|
||||
color: var(--global-primary-color);
|
||||
color: #5FB878;
|
||||
position: relative;
|
||||
top: 5px;
|
||||
margin-left: 5px;
|
||||
@ -120,16 +143,9 @@ 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 {
|
||||
@ -138,8 +154,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;
|
||||
@ -156,62 +172,13 @@ 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;
|
||||
@media screen and (max-width: 768px) {
|
||||
.pear-admin.banner-layout .layui-header .layui-logo {
|
||||
display: none;
|
||||
}
|
||||
.pear-admin.banner-layout .layui-header .layui-layout-left {
|
||||
left: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
/** 收缩布局 */
|
||||
@ -248,14 +215,18 @@ 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 {
|
||||
@ -267,18 +238,18 @@ body,
|
||||
}
|
||||
|
||||
.pear-collapsed-pe {
|
||||
right: 30px;
|
||||
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: 4px;
|
||||
line-height: 50px;
|
||||
display: none;
|
||||
height: 50px;
|
||||
width: 50px;
|
||||
position: absolute;
|
||||
z-index: 400000;
|
||||
bottom: 30px;
|
||||
right: 30px;
|
||||
background-color: #5FB878 !important;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
text-align: center;
|
||||
border-radius: 50px;
|
||||
box-shadow: 2px 0 6px rgba(0, 21, 41, .35);
|
||||
}
|
||||
|
||||
.pear-collapsed-pe a {
|
||||
@ -316,6 +287,10 @@ body,
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
.pear-mini .bottom-nav {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pear-mini .layui-side-scroll {
|
||||
height: calc(100% - 62px);
|
||||
}
|
||||
@ -397,8 +372,8 @@ body,
|
||||
}
|
||||
|
||||
.layer-anim-right {
|
||||
-webkit-animation: am-horizontal-roll_show .5s ease-out;
|
||||
animation: am-horizontal-roll_show .5s ease-out;
|
||||
-webkit-animation: am-horizontal-roll_show .6s ease-out;
|
||||
animation: am-horizontal-roll_show .6s ease-out;
|
||||
|
||||
}
|
||||
|
||||
@ -424,8 +399,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 {
|
||||
@ -479,9 +454,9 @@ body,
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
padding: 4px;
|
||||
top: -6px;
|
||||
left: -6px;
|
||||
border: var(--global-primary-color) 2px solid;
|
||||
top: -5px;
|
||||
left: -5px;
|
||||
border: #5FB878 2px solid;
|
||||
opacity: 1;
|
||||
border-radius: 4px;
|
||||
}
|
||||
@ -499,7 +474,13 @@ body,
|
||||
-webkit-transition: all .3s;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 450px) {
|
||||
.pearone-color .layui-form-item .layui-input-inline {
|
||||
float: left !important;
|
||||
width: 190px !important;
|
||||
margin: 0 10px 0 0!important;
|
||||
}
|
||||
}
|
||||
.select-color {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
@ -515,133 +496,77 @@ body,
|
||||
}
|
||||
|
||||
.select-color .select-color-content .select-color-item {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
color: white;
|
||||
margin-left: 24px;
|
||||
border-radius: 6px;
|
||||
background-color: gray;
|
||||
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .15);
|
||||
text-align: center;
|
||||
line-height: 24px;
|
||||
font-size: 12px;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
border-radius: 3px;
|
||||
float: left;
|
||||
margin-left: 20px;
|
||||
color: white;
|
||||
font-size: 18px;
|
||||
text-align: center;
|
||||
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .15);
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.message .layui-tab-title li:not(:last-child) {
|
||||
border-right: 1px solid #eee;
|
||||
}
|
||||
|
||||
/** 首屏加载 */
|
||||
.loader-wrapper {
|
||||
position: fixed;
|
||||
/* 搜索面板 */
|
||||
.menu-search-content .layui-input {
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
.menu-search-content {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.menu-search-input-wrapper {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: whitesmoke;
|
||||
z-index: 9999999;
|
||||
padding: 15px 15px;
|
||||
}
|
||||
|
||||
.loader {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
margin: 30px auto 40px;
|
||||
margin-top: 20%;
|
||||
.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;
|
||||
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;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
flex-wrap: nowrap;
|
||||
height: 50px;
|
||||
border-radius: 10px;
|
||||
background-color: var(--global-primary-color);
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
animation: loading .5s linear infinite;
|
||||
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;
|
||||
}
|
||||
|
||||
@-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);
|
||||
}
|
||||
.menu-search-list li:hover {
|
||||
background-color: #5FB878;
|
||||
color: white;
|
||||
}
|
||||
|
||||
@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);
|
||||
}
|
||||
.menu-search-list li.this {
|
||||
background-color: #5FB878;
|
||||
color: white;
|
||||
}
|
||||
|
||||
@-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);
|
||||
}
|
||||
}
|
||||
/* 搜索面板结束 */
|
||||
99
web/statics_3.40/admin/css/other/login.css
Normal file
@ -0,0 +1,99 @@
|
||||
.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: #2d8cf0 !important;
|
||||
font-weight: 550 !important;
|
||||
}
|
||||
|
||||
.layui-form-checked[lay-skin=primary] i {
|
||||
border-color: #2d8cf0 !important;
|
||||
background-color: #2d8cf0 !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 #2d8cf0 !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: #2d8cf0 !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 {
|
||||
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,40 +1,39 @@
|
||||
.pear-result {
|
||||
.result {
|
||||
text-align: center;
|
||||
|
||||
}
|
||||
.pear-result .success svg {
|
||||
.result .success svg {
|
||||
color: #32C682;
|
||||
text-align: center;
|
||||
margin-top: 40px;
|
||||
|
||||
}
|
||||
.pear-result .error svg {
|
||||
.result .error svg {
|
||||
color: #f56c6c;
|
||||
text-align: center;
|
||||
margin-top: 40px;
|
||||
|
||||
}
|
||||
.pear-result .title {
|
||||
.result .title {
|
||||
margin-top: 25px;
|
||||
|
||||
}
|
||||
.pear-result .description {
|
||||
.result .desc {
|
||||
margin-top: 25px;
|
||||
width: 60%;
|
||||
margin-left: 20%;
|
||||
color: rgba(0, 0, 0, .45);
|
||||
}
|
||||
.pear-result .content {
|
||||
.result .content {
|
||||
margin-top: 20px;
|
||||
width: 80%;
|
||||
border-radius: 4px;
|
||||
border-radius: 10px;
|
||||
background-color: whitesmoke;
|
||||
padding: 20px 32px;
|
||||
height: 200px;
|
||||
margin-left: 10%;
|
||||
margin-bottom: 30px;
|
||||
text-align: left;
|
||||
}
|
||||
.pear-result .extra {
|
||||
.result .action {
|
||||
padding-top: 10px;
|
||||
border-top: 1px whitesmoke solid;
|
||||
margin-top: 25px;
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
@charset "UTF-8";
|
||||
|
||||
xm-select { border-color: var(--global-primary-color) !important; }
|
||||
{{/* xm-select { border-color: var(--global-primary-color) !important; }
|
||||
xm-select .xm-label .label-content .xm-label-block { background-color: var(--global-primary-color) !important; }
|
||||
xm-select .xm-body .xm-option .xm-option-icon { border-color: var(--global-primary-color) !important; }
|
||||
xm-select .xm-body .xm-option.selected .xm-option-icon { color: var(--global-primary-color) !important; }
|
||||
xm-select .xm-body .xm-option.selected .xm-option-icon { color: var(--global-primary-color) !important; } */}}
|
||||
|
||||
.layui-table-box input[type="radio"]{
|
||||
font-size: 16px !important;
|
||||
43
web/statics_3.40/admin/data/menu.json
Normal file
@ -0,0 +1,43 @@
|
||||
[
|
||||
{
|
||||
"id": "system",
|
||||
"title": "系统管理",
|
||||
"icon": "layui-icon layui-icon-set-fill",
|
||||
"type": 0,
|
||||
"href": "",
|
||||
"children": [
|
||||
{
|
||||
"id": 604,
|
||||
"title": "部门管理",
|
||||
"icon": "layui-icon layui-icon-face-cry",
|
||||
"type": 1,
|
||||
"openType": "_iframe",
|
||||
"href": "/system/department/list"
|
||||
},
|
||||
{
|
||||
"id": 601,
|
||||
"title": "用户管理",
|
||||
"icon": "layui-icon layui-icon-face-smile",
|
||||
"type": 1,
|
||||
"openType": "_iframe",
|
||||
"href": "/system/user/list"
|
||||
},
|
||||
{
|
||||
"id": 602,
|
||||
"title": "角色管理",
|
||||
"icon": "layui-icon layui-icon-face-cry",
|
||||
"type": 1,
|
||||
"openType": "_iframe",
|
||||
"href": "/system/role/list"
|
||||
},
|
||||
{
|
||||
"id": 603,
|
||||
"title": "菜单管理",
|
||||
"icon": "layui-icon layui-icon-face-cry",
|
||||
"type": 1,
|
||||
"openType": "_iframe",
|
||||
"href": "/system/menu/list"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
90
web/statics_3.40/admin/data/message.json
Normal file
@ -0,0 +1,90 @@
|
||||
[{
|
||||
"id": 1,
|
||||
"title": "通知",
|
||||
"children": [{
|
||||
"id": 11,
|
||||
"avatar":"https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png",
|
||||
"title": "你收到了 14 份新周报",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
}, {
|
||||
"id": 12,
|
||||
"avatar":"https://gw.alipayobjects.com/zos/rmsportal/OKJXDXrmkNshAMvwtvhu.png",
|
||||
"title": "曲妮妮 已通过第三轮面试",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"avatar":"https://gw.alipayobjects.com/zos/rmsportal/kISTdvpyTAhtGxpovNWd.png",
|
||||
"title": "可以区分多种通知类型",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
}, {
|
||||
"id": 12,
|
||||
"avatar":"https://gw.alipayobjects.com/zos/rmsportal/GvqBnKhFgObvnSGkDsje.png",
|
||||
"title": "左侧图标用于区分不同的类型",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"avatar":"https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png",
|
||||
"title": "内容不要超过两行字",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
}]
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"title": "消息",
|
||||
"children": [{
|
||||
"id": 11,
|
||||
"avatar":"https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png",
|
||||
"title": "你收到了 14 份新周报",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
}, {
|
||||
"id": 12,
|
||||
"avatar":"https://gw.alipayobjects.com/zos/rmsportal/OKJXDXrmkNshAMvwtvhu.png",
|
||||
"title": "曲妮妮 已通过第三轮面试",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"avatar":"https://gw.alipayobjects.com/zos/rmsportal/kISTdvpyTAhtGxpovNWd.png",
|
||||
"title": "可以区分多种通知类型",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
}, {
|
||||
"id": 12,
|
||||
"avatar":"https://gw.alipayobjects.com/zos/rmsportal/GvqBnKhFgObvnSGkDsje.png",
|
||||
"title": "左侧图标用于区分不同的类型",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"avatar":"https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png",
|
||||
"title": "内容不要超过两行字",
|
||||
"context": "这是消息内容。",
|
||||
"form": "就眠仪式",
|
||||
"time": "刚刚"
|
||||
}]
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"title": "代办",
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
132
web/statics_3.40/admin/data/table.json
Normal file
@ -0,0 +1,132 @@
|
||||
{
|
||||
"code": 0,
|
||||
"msg": "...",
|
||||
"count": 3,
|
||||
"data": [{
|
||||
"userId": "1",
|
||||
"username": "admin",
|
||||
"password": "$2a$10$1K7E1.IYCrsoZVCb6utOo.5jENtfOzhdKWhc49t2lk.UQd7Oam4FG",
|
||||
"salt": null,
|
||||
"status": null,
|
||||
"realName": "超级'管'理员",
|
||||
"email": "854085'4@'qq.com",
|
||||
"avatar": null,
|
||||
"sex": "1",
|
||||
"phone": "15543526531",
|
||||
"enable": "1",
|
||||
"login": "1",
|
||||
"roleIds": null
|
||||
}, {
|
||||
"userId": "2",
|
||||
"username": "854085467",
|
||||
"password": null,
|
||||
"salt": null,
|
||||
"status": null,
|
||||
"realName": "就\"眠\"仪式",
|
||||
"email": null,
|
||||
"avatar": null,
|
||||
"sex": "1",
|
||||
"phone": "1555324324234",
|
||||
"enable": "1",
|
||||
"login": "1",
|
||||
"roleIds": null
|
||||
}, {
|
||||
"userId": "3",
|
||||
"username": "970796069",
|
||||
"password": null,
|
||||
"salt": null,
|
||||
"status": null,
|
||||
"realName": "王二麻子",
|
||||
"email": null,
|
||||
"avatar": null,
|
||||
"sex": "1",
|
||||
"phone": "1555324324234",
|
||||
"enable": "1",
|
||||
"login": "1",
|
||||
"roleIds": null
|
||||
}, {
|
||||
"userId": "4",
|
||||
"username": "admin",
|
||||
"password": "$2a$10$1K7E1.IYCrsoZVCb6utOo.5jENtfOzhdKWhc49t2lk.UQd7Oam4FG",
|
||||
"salt": null,
|
||||
"status": null,
|
||||
"realName": "超级管理员",
|
||||
"email": "8540854@qq.com",
|
||||
"avatar": null,
|
||||
"sex": "1",
|
||||
"phone": "15543526531",
|
||||
"enable": "1",
|
||||
"login": "1",
|
||||
"roleIds": null
|
||||
}, {
|
||||
"userId": "5",
|
||||
"username": "854085467",
|
||||
"password": null,
|
||||
"salt": null,
|
||||
"status": null,
|
||||
"realName": "就眠仪式",
|
||||
"email": null,
|
||||
"avatar": null,
|
||||
"sex": "1",
|
||||
"phone": "1555324324234",
|
||||
"enable": "1",
|
||||
"login": "1",
|
||||
"roleIds": null
|
||||
}, {
|
||||
"userId": "6",
|
||||
"username": "970796069",
|
||||
"password": null,
|
||||
"salt": null,
|
||||
"status": null,
|
||||
"realName": "王二麻子",
|
||||
"email": null,
|
||||
"avatar": null,
|
||||
"sex": "1",
|
||||
"phone": "1555324324234",
|
||||
"enable": "1",
|
||||
"login": "1",
|
||||
"roleIds": null
|
||||
}, {
|
||||
"userId": "7",
|
||||
"username": "admin",
|
||||
"password": "$2a$10$1K7E1.IYCrsoZVCb6utOo.5jENtfOzhdKWhc49t2lk.UQd7Oam4FG",
|
||||
"salt": null,
|
||||
"status": null,
|
||||
"realName": "超级管理员",
|
||||
"email": "8540854@qq.com",
|
||||
"avatar": null,
|
||||
"sex": "1",
|
||||
"phone": "15543526531",
|
||||
"enable": "1",
|
||||
"login": "1",
|
||||
"roleIds": null
|
||||
}, {
|
||||
"userId": "8",
|
||||
"username": "854085467",
|
||||
"password": null,
|
||||
"salt": null,
|
||||
"status": null,
|
||||
"realName": "就眠仪式",
|
||||
"email": null,
|
||||
"avatar": null,
|
||||
"sex": "1",
|
||||
"phone": "1555324324234",
|
||||
"enable": "1",
|
||||
"login": "1",
|
||||
"roleIds": null
|
||||
}, {
|
||||
"userId": "9",
|
||||
"username": "970796069",
|
||||
"password": null,
|
||||
"salt": null,
|
||||
"status": null,
|
||||
"realName": "王二麻子",
|
||||
"email": null,
|
||||
"avatar": null,
|
||||
"sex": "1",
|
||||
"phone": "1555324324234",
|
||||
"enable": "1",
|
||||
"login": "1",
|
||||
"roleIds": null
|
||||
}]
|
||||
}
|
||||
|
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 87 KiB |
|
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 87 KiB |
|
Before Width: | Height: | Size: 197 KiB After Width: | Height: | Size: 197 KiB |
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 74 KiB |
24
web/statics_3.40/admin/images/background.svg
Normal file
@ -0,0 +1,24 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" baseProfile="full" width="100%" height="100%" viewBox="0 0 1400 800">
|
||||
|
||||
<rect x="1300" y="400" rx="40" ry="40" width="300" height="300" stroke="rgb(129, 201, 149)" fill="rgb(129, 201, 149)">
|
||||
<animateTransform attributeType="XML" attributeName="transform" begin="0s" dur="35s" type="rotate" from="0 1450 550" to="360 1450 550" repeatCount="indefinite"/>
|
||||
</rect>
|
||||
|
||||
<path d="M 100 350 A 150 150 0 1 1 400 350 Q400 370 380 370 L 250 370 L 120 370 Q100 370 100 350" stroke="rgb(253, 214, 99)" fill="rgb(253, 214, 99)">
|
||||
<animateMotion path="M 800 -200 L 800 -300 L 800 -200" dur="20s" begin="0s" repeatCount="indefinite"/>
|
||||
<animateTransform attributeType="XML" attributeName="transform" begin="0s" dur="30s" type="rotate" values="0 210 530 ; -30 210 530 ; 0 210 530" keyTimes="0 ; 0.5 ; 1" repeatCount="indefinite"/>
|
||||
</path>
|
||||
|
||||
<circle cx="200" cy="150" r="20" stroke="#1a73e8" fill="#1a73e8">
|
||||
<animateMotion path="M 0 0 L 40 20 Z" dur="5s" repeatCount="indefinite"/>
|
||||
</circle>
|
||||
|
||||
<!-- 三角形 -->
|
||||
<path d="M 165 580 L 270 580 Q275 578 270 570 L 223 483 Q220 480 217 483 L 165 570 Q160 578 165 580" stroke="rgb(238, 103, 92)" fill="rgb(238, 103, 92)">
|
||||
<animateTransform attributeType="XML" attributeName="transform" begin="0s" dur="35s" type="rotate" from="0 210 530" to="360 210 530" repeatCount="indefinite"/>
|
||||
</path>
|
||||
|
||||
<rect x="400" y="600" rx="40" ry="40" width="100" height="100" stroke="rgb(129, 201, 149)" fill="rgb(129, 201, 149)">
|
||||
<animateTransform attributeType="XML" attributeName="transform" begin="0s" dur="35s" type="rotate" from="-30 550 750" to="330 550 750" repeatCount="indefinite"/>
|
||||
</rect>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 296 KiB After Width: | Height: | Size: 296 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 55 KiB |
1
web/statics_3.40/component/layui/css/layui.css
Normal file
|
Before Width: | Height: | Size: 322 KiB After Width: | Height: | Size: 322 KiB |