Archived
阶段性提交
This commit is contained in:
@@ -0,0 +1,598 @@
|
||||
/** 通用 **/
|
||||
.clear {
|
||||
clear: both;
|
||||
}
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
a.disabled,
|
||||
a.disabled:hover,
|
||||
a.disabled:active,
|
||||
span.disabled {
|
||||
color: #ccc !important;
|
||||
}
|
||||
a.enabled,
|
||||
span.enabled,
|
||||
span.green {
|
||||
color: #21ba45;
|
||||
}
|
||||
span.grey,
|
||||
label.grey,
|
||||
p.grey {
|
||||
color: grey !important;
|
||||
}
|
||||
p.grey {
|
||||
margin-top: 0.8em;
|
||||
}
|
||||
span.red,
|
||||
pre.red {
|
||||
color: #db2828;
|
||||
}
|
||||
pre:not(.CodeMirror-line) {
|
||||
font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif !important;
|
||||
}
|
||||
tbody {
|
||||
background: transparent;
|
||||
}
|
||||
.table.width30 {
|
||||
width: 30em !important;
|
||||
}
|
||||
.table.width35 {
|
||||
width: 35em !important;
|
||||
}
|
||||
.table.width40 {
|
||||
width: 40em !important;
|
||||
}
|
||||
.table th,
|
||||
.table td {
|
||||
font-size: 0.9em !important;
|
||||
}
|
||||
p.comment,
|
||||
div.comment {
|
||||
color: rgba(0, 0, 0, 0.3);
|
||||
padding-top: 0.4em;
|
||||
}
|
||||
p.comment em,
|
||||
div.comment em {
|
||||
font-style: italic !important;
|
||||
}
|
||||
.truncate {
|
||||
white-space: nowrap;
|
||||
-ms-text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
div.margin,
|
||||
p.margin {
|
||||
margin-top: 1em;
|
||||
}
|
||||
/** 操作按钮容器 **/
|
||||
.op.one {
|
||||
width: 4em;
|
||||
}
|
||||
.op.two {
|
||||
width: 7.4em;
|
||||
}
|
||||
.op.three {
|
||||
width: 9em;
|
||||
}
|
||||
.op.four {
|
||||
width: 10em;
|
||||
}
|
||||
/** 主菜单 **/
|
||||
.main-menu .ui.menu {
|
||||
width: 9.5em !important;
|
||||
border-radius: 0 !important;
|
||||
}
|
||||
@media screen and (max-width: 512px) {
|
||||
.main-menu .ui.menu {
|
||||
width: 3.6em !important;
|
||||
}
|
||||
.main-menu .ui.menu .item {
|
||||
padding-top: 2em;
|
||||
padding-bottom: 2.4em;
|
||||
}
|
||||
.main-menu .ui.menu .item span {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.main-menu .ui.labeled.icon.menu .item {
|
||||
font-size: 0.9em;
|
||||
}
|
||||
/** 扩展UI **/
|
||||
.field.text {
|
||||
padding: .5em;
|
||||
}
|
||||
/** body **/
|
||||
@keyframes blink {
|
||||
from {
|
||||
opacity: 0.1;
|
||||
}
|
||||
to {
|
||||
opacity: 0.8;
|
||||
}
|
||||
}
|
||||
body .ui.menu .item .blink {
|
||||
animation: blink 1s infinite;
|
||||
}
|
||||
body.expanded .main-menu {
|
||||
display: none;
|
||||
}
|
||||
body.expanded .sub-menu {
|
||||
display: none;
|
||||
}
|
||||
body.expanded .main {
|
||||
left: 1em;
|
||||
}
|
||||
/** 布局相关 */
|
||||
.top-nav {
|
||||
border-radius: 0 !important;
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
z-index: 1000;
|
||||
overflow-x: auto;
|
||||
background: #276ac6 !important;
|
||||
}
|
||||
.top-nav::-webkit-scrollbar {
|
||||
height: 2px;
|
||||
}
|
||||
.top-nav img.avatar {
|
||||
width: 1.6em !important;
|
||||
height: 1.6em !important;
|
||||
padding: 0.2em;
|
||||
background: #fff;
|
||||
border-radius: 0.9em;
|
||||
margin-right: 0.5em !important;
|
||||
}
|
||||
.top-nav em {
|
||||
font-style: normal;
|
||||
font-size: 0.9em;
|
||||
padding-left: 0.2em;
|
||||
}
|
||||
/** 顶部菜单 **/
|
||||
.top-secondary-menu {
|
||||
position: fixed;
|
||||
top: 2.6em;
|
||||
left: 8.2em;
|
||||
right: 0;
|
||||
z-index: 100;
|
||||
background: white;
|
||||
}
|
||||
.top-secondary-menu .menu {
|
||||
margin-top: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
border-radius: 0 !important;
|
||||
}
|
||||
.top-secondary-menu .menu var {
|
||||
font-style: normal;
|
||||
}
|
||||
.top-secondary-menu .divider {
|
||||
margin-top: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
@media screen and (max-width: 512px) {
|
||||
.top-secondary-menu {
|
||||
left: 4em;
|
||||
}
|
||||
}
|
||||
/** 右侧主操作区 **/
|
||||
.main {
|
||||
position: absolute;
|
||||
left: 22em;
|
||||
top: 5.6em;
|
||||
padding-bottom: 5em;
|
||||
padding-right: 1em;
|
||||
right: 1em;
|
||||
}
|
||||
@media screen and (max-width: 512px) {
|
||||
.main {
|
||||
left: 4em;
|
||||
}
|
||||
}
|
||||
.main.without-menu {
|
||||
left: 9em;
|
||||
}
|
||||
.main.without-secondary-menu {
|
||||
top: 2.9em;
|
||||
}
|
||||
@media screen and (max-width: 512px) {
|
||||
.main.without-menu {
|
||||
left: 4em;
|
||||
}
|
||||
}
|
||||
.main table td.title {
|
||||
width: 10em;
|
||||
}
|
||||
.main table td.middle-title {
|
||||
width: 14em;
|
||||
}
|
||||
.main table td {
|
||||
vertical-align: top;
|
||||
}
|
||||
.main table td.color-border {
|
||||
border-left: 1px #276ac6 solid !important;
|
||||
}
|
||||
.main table td.vertical-top {
|
||||
vertical-align: top;
|
||||
}
|
||||
.main table td.vertical-middle {
|
||||
vertical-align: middle;
|
||||
}
|
||||
.main table td[colspan="2"] a {
|
||||
font-weight: normal;
|
||||
}
|
||||
.main table td em {
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
.main h3 {
|
||||
font-weight: normal;
|
||||
margin-top: 1em !important;
|
||||
}
|
||||
.main h3 span {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
.main h3 span.label {
|
||||
color: #6435c9;
|
||||
}
|
||||
.main h3 a {
|
||||
margin-left: 1em;
|
||||
font-size: 14px !important;
|
||||
right: 1em;
|
||||
}
|
||||
.main h3 a::before {
|
||||
content: "[";
|
||||
}
|
||||
.main h3 a::after {
|
||||
content: "]";
|
||||
}
|
||||
.main h4 {
|
||||
font-weight: normal;
|
||||
}
|
||||
.main td span.small {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
.main .button.mini {
|
||||
font-size: 0.8em;
|
||||
padding: 0.2em;
|
||||
margin-left: 1em;
|
||||
}
|
||||
.main-menu {
|
||||
position: fixed;
|
||||
/**top: 1.05em;**/
|
||||
top: 2em;
|
||||
bottom: 0;
|
||||
overflow-y: auto;
|
||||
background: #276ac6 !important;
|
||||
z-index: 10;
|
||||
}
|
||||
.main-menu .menu {
|
||||
background: #276ac6 !important;
|
||||
}
|
||||
.main-menu::-webkit-scrollbar {
|
||||
width: 2px;
|
||||
}
|
||||
.main .tab-menu {
|
||||
margin-top: 1em !important;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
.main .tab-menu .item {
|
||||
padding: 1em !important;
|
||||
}
|
||||
.main .tab-menu .item var {
|
||||
font-style: normal;
|
||||
}
|
||||
.main .tab-menu .item span {
|
||||
font-size: 0.8em;
|
||||
padding-left: 0.3em;
|
||||
}
|
||||
@media screen and (max-width: 512px) {
|
||||
.main .tab-menu {
|
||||
overflow-x: auto;
|
||||
overflow-y: hidden;
|
||||
}
|
||||
.main .tab-menu::-webkit-scrollbar {
|
||||
height: 4px;
|
||||
}
|
||||
}
|
||||
.main .go-top-btn {
|
||||
position: fixed;
|
||||
right: 2.6em;
|
||||
bottom: 2em;
|
||||
font-size: 2em;
|
||||
line-height: 1.4em;
|
||||
border-radius: 1em;
|
||||
z-index: 999999;
|
||||
background: white;
|
||||
}
|
||||
/** 子菜单 **/
|
||||
.main.without-menu .sub-menu {
|
||||
display: none;
|
||||
}
|
||||
.sub-menu {
|
||||
position: fixed;
|
||||
left: 8em;
|
||||
width: 12.5em;
|
||||
top: 3em;
|
||||
bottom: 2.8em;
|
||||
}
|
||||
.sub-menu .menus-box {
|
||||
overflow-y: auto;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
left: 0;
|
||||
padding-right: 0.4em !important;
|
||||
}
|
||||
.sub-menu .menus-box::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
height: 4px;
|
||||
}
|
||||
.sub-menu .menu {
|
||||
max-width: 12em !important;
|
||||
border-right: 0 !important;
|
||||
}
|
||||
@media screen and (max-width: 512px) {
|
||||
.sub-menu {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
left: 0;
|
||||
top: 0;
|
||||
}
|
||||
.sub-menu .menus-box {
|
||||
position: relative !important;
|
||||
}
|
||||
.sub-menu .menu {
|
||||
width: 100% !important;
|
||||
max-width: 30em !important;
|
||||
}
|
||||
.sub-menu .menus-box .menu .item {
|
||||
width: 100% !important;
|
||||
max-width: 30em !important;
|
||||
}
|
||||
}
|
||||
.sub-menu .menu .item.active {
|
||||
font-weight: normal !important;
|
||||
outline: none !important;
|
||||
}
|
||||
.sub-menu .menu .item:not(.header) {
|
||||
padding-top: 0.7em !important;
|
||||
padding-bottom: 0.7em !important;
|
||||
}
|
||||
.sub-menu .menu .item:not(.header) span {
|
||||
font-size: 0.8em;
|
||||
display: block;
|
||||
margin-top: 0.6em !important;
|
||||
line-height: 1.5;
|
||||
}
|
||||
.sub-menu .menu .item:not(.active):hover {
|
||||
background: rgba(0, 0, 0, 0.05) !important;
|
||||
border-top: 1px white solid !important;
|
||||
border-bottom: 1px white solid !important;
|
||||
margin-top: -1px !important;
|
||||
margin-bottom: -1px !important;
|
||||
}
|
||||
.sub-menu .menu .item.active {
|
||||
background: rgba(0, 0, 0, 0.05) !important;
|
||||
}
|
||||
.sub-menu .menu .item var {
|
||||
font-style: normal;
|
||||
}
|
||||
.sub-menu .menu .item:not(.active) var.grey {
|
||||
color: grey;
|
||||
}
|
||||
.sub-menu .menu .item span:not(.green) {
|
||||
color: grey;
|
||||
}
|
||||
.sub-menu .menu .item span.red {
|
||||
color: #db2828 !important;
|
||||
}
|
||||
.sub-menu .menus-box .menu .item.header {
|
||||
padding-right: 0.2em !important;
|
||||
cursor: pointer;
|
||||
}
|
||||
.sub-menu .menus-box .menu .item.header span {
|
||||
font-weight: normal;
|
||||
color: grey;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
.sub-menu .menus-box .menu a {
|
||||
display: block;
|
||||
word-break: break-all;
|
||||
line-height: 1.6 !important;
|
||||
}
|
||||
.sub-menu .menus-box .menu .item .menu {
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
.sub-menu .fourth-menu {
|
||||
margin-left: 1.2em;
|
||||
}
|
||||
.sub-menu .fourth-menu .icon,
|
||||
.sub-menu .third-menu .icon {
|
||||
float: left !important;
|
||||
}
|
||||
/** 右侧文本子菜单 **/
|
||||
.text.menu {
|
||||
overflow-x: auto;
|
||||
}
|
||||
.text.menu::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
height: 4px;
|
||||
}
|
||||
/** 脚部相关样式 **/
|
||||
#footer {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
text-align: left;
|
||||
color: gray;
|
||||
width: 100%;
|
||||
border-radius: 0 !important;
|
||||
z-index: 10;
|
||||
overflow-x: auto;
|
||||
}
|
||||
#footer::-webkit-scrollbar {
|
||||
height: 2px;
|
||||
}
|
||||
#footer a {
|
||||
font-size: 0.9em;
|
||||
}
|
||||
#footer a form {
|
||||
display: none;
|
||||
}
|
||||
#footer a:hover span,
|
||||
#footer a:active span {
|
||||
display: none;
|
||||
}
|
||||
#footer a:hover form,
|
||||
#footer a:active form {
|
||||
display: block;
|
||||
}
|
||||
#footer form input {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
#footer-outer-box {
|
||||
z-index: 999999;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
right: 0;
|
||||
background: rgba(0, 0, 0, 0.8);
|
||||
bottom: 2.6em;
|
||||
}
|
||||
#footer-outer-box .qrcode {
|
||||
width: 20em;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin-top: -14em;
|
||||
margin-left: -10em;
|
||||
}
|
||||
#footer-outer-box .qrcode img {
|
||||
width: 100%;
|
||||
}
|
||||
#footer-outer-box .qrcode a {
|
||||
position: absolute;
|
||||
right: 0.5em;
|
||||
top: 0.5em;
|
||||
}
|
||||
@media screen and (max-width: 512px) {
|
||||
#footer-outer-box .qrcode {
|
||||
margin-left: 0;
|
||||
left: 3.5em;
|
||||
}
|
||||
}
|
||||
/** Vue **/
|
||||
[v-cloak] {
|
||||
display: none !important;
|
||||
}
|
||||
/** auto complete **/
|
||||
.autocomplete-box .menu {
|
||||
background: #eee !important;
|
||||
}
|
||||
.autocomplete-box .menu::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
.autocomplete-box .menu .item {
|
||||
border-top: none !important;
|
||||
}
|
||||
/** column **/
|
||||
@media screen and (max-width: 512px) {
|
||||
.column:not(.one) {
|
||||
width: 100% !important;
|
||||
}
|
||||
}
|
||||
/** label **/
|
||||
label[for] {
|
||||
cursor: pointer !important;
|
||||
}
|
||||
label.blue {
|
||||
color: #2185d0 !important;
|
||||
}
|
||||
/** Menu **/
|
||||
.first-menu .menu.text {
|
||||
margin-top: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
.first-menu .divider {
|
||||
margin-top: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
.second-menu .menu.text {
|
||||
margin-top: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
.second-menu .menu.text em {
|
||||
font-style: normal;
|
||||
}
|
||||
.second-menu .divider {
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
.menu a {
|
||||
outline: none;
|
||||
}
|
||||
/** var **/
|
||||
span.olive,
|
||||
var.olive {
|
||||
color: #b5cc18 !important;
|
||||
}
|
||||
var.dash {
|
||||
border-bottom: 1px dashed grey;
|
||||
}
|
||||
/** Message **/
|
||||
.message .gopher {
|
||||
width: 30px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
/** checkbox **/
|
||||
.checkbox label a,
|
||||
.checkbox label {
|
||||
font-size: 0.8em !important;
|
||||
}
|
||||
/** page **/
|
||||
.page {
|
||||
margin-top: 1em;
|
||||
border-left: 1px solid #ddd;
|
||||
}
|
||||
.page a {
|
||||
display: inline-block;
|
||||
background: #fafafa;
|
||||
color: #666;
|
||||
padding: 6px 12px;
|
||||
margin: 0;
|
||||
font-size: 0.9em;
|
||||
border: 1px solid #ddd;
|
||||
border-left: 0;
|
||||
}
|
||||
.page a.active {
|
||||
background: #2185d0 !important;
|
||||
color: white;
|
||||
}
|
||||
.page a:hover {
|
||||
background: #eee;
|
||||
}
|
||||
/** popup **/
|
||||
.swal2-html-container {
|
||||
overflow-x: hidden;
|
||||
}
|
||||
.swal2-close,
|
||||
.swal2-close:focus {
|
||||
border: 0;
|
||||
}
|
||||
.swal2-confirm:focus,
|
||||
.swal2-cancel:focus {
|
||||
border: 3px #ddd solid !important;
|
||||
}
|
||||
.swal2-confirm,
|
||||
.swal2-cancel {
|
||||
border: 3px #fff solid !important;
|
||||
}
|
||||
.swal2-cancel {
|
||||
margin-left: 2em !important;
|
||||
}
|
||||
/*# sourceMappingURL=@layout.css.map */
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,86 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>{$.teaTitle}管理员系统</title>
|
||||
<meta charset="UTF-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=0">
|
||||
<link rel="shortcut icon" href="/images/favicon.png"/>
|
||||
<link rel="stylesheet" type="text/css" href="/_/@default/@layout.css" media="all"/>
|
||||
|
||||
{$TEA.SEMANTIC}
|
||||
{$TEA.VUE}
|
||||
{$echo "header"}
|
||||
<script type="text/javascript" src="/_/@default/@layout.js"></script>
|
||||
<script type="text/javascript" src="/ui/components.js?v=1.0.0"></script>
|
||||
<script type="text/javascript" src="/js/utils.js"></script>
|
||||
<script type="text/javascript" src="/js/sweetalert2/dist/sweetalert2.all.min.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div>
|
||||
<!-- 顶部导航 -->
|
||||
<div class="ui menu top-nav blue inverted small borderless" v-cloak="">
|
||||
<a href="/" class="item">
|
||||
<i class="ui icon globe"></i> {{teaName}}管理员系统
|
||||
</a>
|
||||
|
||||
<div class="right menu">
|
||||
<a href="/monitor/messages" class="item" v-if="teaBadge > 0"><span :class="{'blink':teaBadge > 0}"><i class="icon bell"></i>告警({{teaBadge}}) </span></a>
|
||||
<a href="/settings" class="item" :class="{active: teaMenu == 'settings'}">
|
||||
<i class="icon user" v-if="teaUserAvatar.length == 0"></i>
|
||||
<img class="avatar" alt="" :src="teaUserAvatar" v-if="teaUserAvatar.length > 0"/>
|
||||
{{teaUsername}}
|
||||
</a>
|
||||
<a :href="Tea.url('logout')" class="item" title="安全退出登录"><i class="icon sign out"></i>退出</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 左侧主菜单 -->
|
||||
<div class="main-menu" v-cloak="">
|
||||
<div class="ui labeled menu vertical blue inverted tiny borderless">
|
||||
<div class="item"></div>
|
||||
<!--<a :href="Tea.url('dashboard')" class="item" :class="{active:teaMenu == 'dashboard'}">
|
||||
<i class="ui dashboard icon"></i>
|
||||
<span>仪表板</span>
|
||||
</a>-->
|
||||
|
||||
<!-- 模块 -->
|
||||
<a v-for="module in teaModules" class="item" :href="Tea.url(module.code)" :class="{active:teaMenu == module.code}">
|
||||
<i class="window restore outline icon" v-if="module.icon == null"></i>
|
||||
<i class="ui icon" v-if="module.icon != null" :class="module.icon"></i>
|
||||
<span>{{module.menuName}}</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 右侧主操作栏 -->
|
||||
<div class="main" :class="{'without-menu':teaSubMenus.menus == null || teaSubMenus.menus.length == 0 || (teaSubMenus.menus.length == 1 && teaSubMenus.menus[0].alwaysActive), 'without-secondary-menu':teaSubMenus.alwaysMenu == null || teaSubMenus.alwaysMenu.items.length <= 1}" v-cloak="">
|
||||
<!-- 左侧子菜单 -->
|
||||
<div class="sub-menu" v-if="teaSubMenus.menus != null && teaSubMenus.menus.length > 0">
|
||||
<div class="menus-box">
|
||||
<div class="ui secondary menu vertical borderless blue pointing small" v-cloak="" v-for="menu in teaSubMenus.menus" v-if="!menu.alwaysActive">
|
||||
<p class="item header" v-if="menu.name.length > 0 && !menu.alwaysActive" @click.prevent="showSubMenu(menu)">
|
||||
<var v-html="menu.name"></var> <!--<span v-if="!menu.alwaysActive">({{menu.countNormalItems}})</span>--><!--<i class="icon angle" :class="{up:menu.isActive,down:!menu.isActive}" v-if="!menu.alwaysActive"></i>-->
|
||||
</p>
|
||||
<a :href="item.url" class="item" :class="{active:item.isActive,sortable:item.isSortable}" v-for="item in menu.items" v-show="true" :data-id="item.id"><var class="grey">{{item.name}}</var><sup v-if="item.supName.length > 0"> {{item.supName}}</sup><span v-if="item.subName != null && item.subName.length > 0" :class="item.subColor">{{item.subName}}</span><i v-if="item.icon != null && item.icon.length > 0" :class="'ui icon ' + item.icon"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 操作菜单 -->
|
||||
<div class="ui top menu tabular tab-menu small" v-if="teaTabbar.length > 0">
|
||||
<a class="item" v-for="item in teaTabbar" :class="{'active':item.active}" :href="item.url">
|
||||
<var>{{item.name}}<span v-if="item.subName.length > 0">({{item.subName}})</span> <i class="icon small" :class="item.icon" v-if="item.icon != null"></i> </var>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- 功能区 -->
|
||||
{$TEA.VIEW}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{$echo "footer"}
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,66 @@
|
||||
Tea.context(function () {
|
||||
this.moreOptionsVisible = false;
|
||||
|
||||
this.$delay(function () {
|
||||
if (this.$refs.focus != null) {
|
||||
this.$refs.focus.focus();
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* 左侧子菜单
|
||||
*/
|
||||
this.showSubMenu = function (menu) {
|
||||
if (menu.alwaysActive) {
|
||||
return;
|
||||
}
|
||||
if (this.teaSubMenus.menus != null && this.teaSubMenus.menus.length > 0) {
|
||||
this.teaSubMenus.menus.$each(function (k, v) {
|
||||
if (menu.id == v.id) {
|
||||
return;
|
||||
}
|
||||
v.isActive = false;
|
||||
});
|
||||
}
|
||||
menu.isActive = !menu.isActive;
|
||||
};
|
||||
});
|
||||
|
||||
window.NotifySuccess = function (message, url, params) {
|
||||
if (typeof (url) == "string" && url.length > 0) {
|
||||
if (url[0] != "/") {
|
||||
url = Tea.url(url, params);
|
||||
}
|
||||
}
|
||||
return function () {
|
||||
teaweb.success(message, function () {
|
||||
window.location = url;
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
window.NotifyDelete = function (message, url, params) {
|
||||
teaweb.confirm(message, function () {
|
||||
Tea.Vue.$post(url)
|
||||
.params(params)
|
||||
.refresh();
|
||||
});
|
||||
};
|
||||
|
||||
window.NotifyPopup = function (resp) {
|
||||
window.parent.teaweb.popupFinish(resp);
|
||||
};
|
||||
|
||||
window.ChangePageSize = function (size) {
|
||||
let url = window.location.toString();
|
||||
if (url.indexOf("pageSize") > 0) {
|
||||
url = url.replace(/pageSize=\d+/g, "pageSize=" + size);
|
||||
} else {
|
||||
if (url.indexOf("?") > 0) {
|
||||
url += "&pageSize=" + size;
|
||||
} else {
|
||||
url += "?pageSize=" + size;
|
||||
}
|
||||
}
|
||||
window.location = url;
|
||||
};
|
||||
@@ -0,0 +1,722 @@
|
||||
/** 通用 **/
|
||||
.clear {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
a.disabled, a.disabled:hover, a.disabled:active, span.disabled {
|
||||
color: #ccc !important;
|
||||
}
|
||||
|
||||
a.enabled, span.enabled, span.green {
|
||||
color: #21ba45;
|
||||
}
|
||||
|
||||
span.grey, label.grey, p.grey {
|
||||
color: grey !important;
|
||||
}
|
||||
|
||||
p.grey {
|
||||
margin-top: 0.8em;
|
||||
}
|
||||
|
||||
span.red, pre.red {
|
||||
color: #db2828;
|
||||
}
|
||||
|
||||
pre:not(.CodeMirror-line) {
|
||||
font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif !important;
|
||||
}
|
||||
|
||||
tbody {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.table.width30 {
|
||||
width: 30em !important;
|
||||
}
|
||||
|
||||
.table.width35 {
|
||||
width: 35em !important;
|
||||
}
|
||||
|
||||
.table.width40 {
|
||||
width: 40em !important;
|
||||
}
|
||||
|
||||
.table th, .table td {
|
||||
font-size: 0.9em !important;
|
||||
}
|
||||
|
||||
p.comment, div.comment {
|
||||
color: rgba(0, 0, 0, 0.3);
|
||||
padding-top: 0.4em;
|
||||
}
|
||||
|
||||
p.comment em, div.comment em {
|
||||
font-style: italic !important;
|
||||
}
|
||||
|
||||
.truncate {
|
||||
white-space: nowrap;
|
||||
-ms-text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
div.margin, p.margin {
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
/** 操作按钮容器 **/
|
||||
.op.one {
|
||||
width: 4em;
|
||||
}
|
||||
|
||||
.op.two {
|
||||
width: 7.4em;
|
||||
}
|
||||
|
||||
.op.three {
|
||||
width: 9em;
|
||||
}
|
||||
|
||||
.op.four {
|
||||
width: 10em;
|
||||
}
|
||||
|
||||
/** 主菜单 **/
|
||||
.main-menu .ui.menu {
|
||||
width: 9.5em !important;
|
||||
border-radius: 0 !important;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 512px) {
|
||||
.main-menu .ui.menu {
|
||||
width: 3.6em !important;
|
||||
}
|
||||
|
||||
.main-menu .ui.menu .item {
|
||||
padding-top: 2em;
|
||||
padding-bottom: 2.4em;
|
||||
}
|
||||
|
||||
.main-menu .ui.menu .item span {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.main-menu .ui.labeled.icon.menu .item {
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.main-menu .ui.menu .item {
|
||||
|
||||
}
|
||||
|
||||
/** 扩展UI **/
|
||||
.field.text {
|
||||
padding: .5em;
|
||||
}
|
||||
|
||||
/** body **/
|
||||
@keyframes blink {
|
||||
from {
|
||||
opacity: 0.1;
|
||||
}
|
||||
to {
|
||||
opacity: 0.8;
|
||||
}
|
||||
}
|
||||
|
||||
body .ui.menu .item .blink {
|
||||
animation: blink 1s infinite;
|
||||
}
|
||||
|
||||
body.expanded .main-menu {
|
||||
display: none;
|
||||
}
|
||||
|
||||
body.expanded .sub-menu {
|
||||
display: none;
|
||||
}
|
||||
|
||||
body.expanded .main {
|
||||
left: 1em;
|
||||
}
|
||||
|
||||
/** 布局相关 */
|
||||
.top-nav {
|
||||
border-radius: 0 !important;
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
z-index: 1000;
|
||||
overflow-x: auto;
|
||||
background: #276ac6 !important;
|
||||
}
|
||||
|
||||
.top-nav::-webkit-scrollbar {
|
||||
height: 2px;
|
||||
}
|
||||
|
||||
.top-nav img.avatar {
|
||||
width: 1.6em !important;
|
||||
height: 1.6em !important;
|
||||
padding: 0.2em;
|
||||
background: #fff;
|
||||
border-radius: 0.9em;
|
||||
margin-right: 0.5em !important;
|
||||
}
|
||||
|
||||
.top-nav em {
|
||||
font-style: normal;
|
||||
font-size: 0.9em;
|
||||
padding-left: 0.2em;
|
||||
}
|
||||
|
||||
/** 顶部菜单 **/
|
||||
.top-secondary-menu {
|
||||
position: fixed;
|
||||
top: 2.6em;
|
||||
left: 8.2em;
|
||||
right: 0;
|
||||
z-index: 100;
|
||||
background: white;
|
||||
}
|
||||
|
||||
.top-secondary-menu .menu {
|
||||
margin-top: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
border-radius: 0 !important;
|
||||
}
|
||||
|
||||
.top-secondary-menu .menu var {
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.top-secondary-menu .divider {
|
||||
margin-top: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 512px) {
|
||||
.top-secondary-menu {
|
||||
left: 4em;
|
||||
}
|
||||
}
|
||||
|
||||
/** 右侧主操作区 **/
|
||||
.main {
|
||||
position: absolute;
|
||||
left: 22em;
|
||||
top: 5.6em;
|
||||
padding-bottom: 5em;
|
||||
padding-right: 1em;
|
||||
right: 1em;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 512px) {
|
||||
.main {
|
||||
left: 4em;
|
||||
}
|
||||
}
|
||||
|
||||
.main.without-menu {
|
||||
left: 9em;
|
||||
}
|
||||
|
||||
.main.without-secondary-menu {
|
||||
top: 2.9em;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 512px) {
|
||||
.main.without-menu {
|
||||
left: 4em;
|
||||
}
|
||||
}
|
||||
|
||||
.main table td.title {
|
||||
width: 10em;
|
||||
}
|
||||
|
||||
.main table td.middle-title {
|
||||
width: 14em;
|
||||
}
|
||||
|
||||
.main table td {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.main table td.color-border {
|
||||
border-left: 1px #276ac6 solid !important;
|
||||
}
|
||||
|
||||
.main table td.vertical-top {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.main table td.vertical-middle {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.main table td[colspan="2"] a {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.main table td em {
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.main h3 {
|
||||
font-weight: normal;
|
||||
margin-top: 1em !important;
|
||||
}
|
||||
|
||||
.main h3 span {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
.main h3 span.label {
|
||||
color: #6435c9;
|
||||
}
|
||||
|
||||
.main h3 a {
|
||||
margin-left: 1em;
|
||||
font-size: 14px !important;
|
||||
right: 1em;
|
||||
}
|
||||
|
||||
.main h3 a::before {
|
||||
content: "[";
|
||||
}
|
||||
|
||||
.main h3 a::after {
|
||||
content: "]";
|
||||
}
|
||||
|
||||
.main h4 {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.main td span.small {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
.main .button.mini {
|
||||
font-size: 0.8em;
|
||||
padding: 0.2em;
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
.main-menu {
|
||||
position: fixed;
|
||||
/**top: 1.05em;**/
|
||||
top: 2em;
|
||||
bottom: 0;
|
||||
overflow-y: auto;
|
||||
background: #276ac6 !important;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.main-menu .menu {
|
||||
background: #276ac6 !important;
|
||||
}
|
||||
|
||||
.main-menu::-webkit-scrollbar {
|
||||
width: 2px;
|
||||
}
|
||||
|
||||
.main .tab-menu {
|
||||
margin-top: 1em !important;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
.main .tab-menu .item {
|
||||
padding: 1em !important;
|
||||
}
|
||||
|
||||
.main .tab-menu .item var {
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.main .tab-menu .item span {
|
||||
font-size: 0.8em;
|
||||
padding-left: 0.3em;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 512px) {
|
||||
.main .tab-menu {
|
||||
overflow-x: auto;
|
||||
overflow-y: hidden;
|
||||
}
|
||||
|
||||
.main .tab-menu::-webkit-scrollbar {
|
||||
height: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
.main .go-top-btn {
|
||||
position: fixed;
|
||||
right: 2.6em;
|
||||
bottom: 2em;
|
||||
font-size: 2em;
|
||||
line-height: 1.4em;
|
||||
border-radius: 1em;
|
||||
z-index: 999999;
|
||||
background: white;
|
||||
}
|
||||
|
||||
/** 子菜单 **/
|
||||
.main.without-menu .sub-menu {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.sub-menu {
|
||||
position: fixed;
|
||||
left: 8em;
|
||||
width: 12.5em;
|
||||
top: 3em;
|
||||
bottom: 2.8em;
|
||||
}
|
||||
|
||||
.sub-menu .menus-box {
|
||||
overflow-y: auto;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
left: 0;
|
||||
padding-right: 0.4em !important;
|
||||
}
|
||||
|
||||
.sub-menu .menus-box::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
height: 4px;
|
||||
}
|
||||
|
||||
.sub-menu .menu {
|
||||
max-width: 12em !important;
|
||||
border-right: 0 !important;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 512px) {
|
||||
.sub-menu {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
left: 0;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.sub-menu .menus-box {
|
||||
position: relative !important;
|
||||
}
|
||||
|
||||
.sub-menu .menu {
|
||||
width: 100% !important;
|
||||
max-width: 30em !important;
|
||||
}
|
||||
|
||||
.sub-menu .menus-box .menu .item {
|
||||
width: 100% !important;
|
||||
max-width: 30em !important;
|
||||
}
|
||||
}
|
||||
|
||||
.sub-menu .menu .item.active {
|
||||
font-weight: normal !important;
|
||||
outline: none !important;
|
||||
}
|
||||
|
||||
.sub-menu .menu .item:not(.header) {
|
||||
padding-top: 0.7em !important;
|
||||
padding-bottom: 0.7em !important;
|
||||
}
|
||||
|
||||
.sub-menu .menu .item:not(.header) span {
|
||||
font-size: 0.8em;
|
||||
display: block;
|
||||
margin-top: 0.6em !important;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sub-menu .menu .item:not(.active):hover {
|
||||
background: rgba(0, 0, 0, 0.05) !important;
|
||||
border-top: 1px white solid !important;
|
||||
border-bottom: 1px white solid !important;
|
||||
margin-top: -1px !important;
|
||||
margin-bottom: -1px !important;
|
||||
}
|
||||
|
||||
.sub-menu .menu .item.active {
|
||||
background: rgba(0, 0, 0, 0.05) !important;
|
||||
}
|
||||
|
||||
.sub-menu .menu .item var {
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.sub-menu .menu .item:not(.active) var.grey {
|
||||
color: grey;
|
||||
}
|
||||
|
||||
.sub-menu .menu .item span:not(.green) {
|
||||
color: grey;
|
||||
}
|
||||
|
||||
.sub-menu .menu .item span.red {
|
||||
color: #db2828 !important;
|
||||
}
|
||||
|
||||
.sub-menu .menus-box .menu .item.header {
|
||||
padding-right: 0.2em !important;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.sub-menu .menus-box .menu .item.header span {
|
||||
font-weight: normal;
|
||||
color: grey;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
.sub-menu .menus-box .menu a {
|
||||
display: block;
|
||||
word-break: break-all;
|
||||
line-height: 1.6 !important;
|
||||
}
|
||||
|
||||
.sub-menu .menus-box .menu .item .menu {
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
|
||||
.sub-menu .fourth-menu {
|
||||
margin-left: 1.2em;
|
||||
}
|
||||
|
||||
.sub-menu .fourth-menu .icon, .sub-menu .third-menu .icon {
|
||||
float: left !important;
|
||||
}
|
||||
|
||||
/** 右侧文本子菜单 **/
|
||||
.text.menu {
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.text.menu::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
height: 4px;
|
||||
}
|
||||
|
||||
/** 脚部相关样式 **/
|
||||
#footer {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
text-align: left;
|
||||
color: gray;
|
||||
width: 100%;
|
||||
border-radius: 0 !important;
|
||||
z-index: 10;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
#footer::-webkit-scrollbar {
|
||||
height: 2px;
|
||||
}
|
||||
|
||||
#footer a {
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
#footer a form {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#footer a:hover span, #footer a:active span {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#footer a:hover form, #footer a:active form {
|
||||
display: block;
|
||||
}
|
||||
|
||||
#footer form input {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#footer-outer-box {
|
||||
z-index: 999999;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
right: 0;
|
||||
background: rgba(0, 0, 0, 0.8);
|
||||
bottom: 2.6em;
|
||||
}
|
||||
|
||||
#footer-outer-box .qrcode {
|
||||
width: 20em;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin-top: -14em;
|
||||
margin-left: -10em;
|
||||
}
|
||||
|
||||
#footer-outer-box .qrcode img {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#footer-outer-box .qrcode a {
|
||||
position: absolute;
|
||||
right: 0.5em;
|
||||
top: 0.5em;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 512px) {
|
||||
#footer-outer-box .qrcode {
|
||||
margin-left: 0;
|
||||
left: 3.5em;
|
||||
}
|
||||
}
|
||||
|
||||
/** Vue **/
|
||||
[v-cloak] {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/** auto complete **/
|
||||
.autocomplete-box .menu {
|
||||
background: #eee !important;
|
||||
}
|
||||
|
||||
.autocomplete-box .menu::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.autocomplete-box .menu .item {
|
||||
border-top: none !important;
|
||||
}
|
||||
|
||||
select {
|
||||
}
|
||||
|
||||
/** column **/
|
||||
@media screen and (max-width: 512px) {
|
||||
.column:not(.one) {
|
||||
width: 100% !important;
|
||||
}
|
||||
}
|
||||
|
||||
/** label **/
|
||||
label[for] {
|
||||
cursor: pointer !important;
|
||||
}
|
||||
|
||||
label.blue {
|
||||
color: #2185d0 !important;
|
||||
}
|
||||
|
||||
/** Menu **/
|
||||
.first-menu .menu.text {
|
||||
margin-top: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
.first-menu .divider {
|
||||
margin-top: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
.second-menu .menu.text {
|
||||
margin-top: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
.second-menu .menu.text em {
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.second-menu .divider {
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
|
||||
.menu a {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
/** var **/
|
||||
span.olive, var.olive {
|
||||
color: #b5cc18 !important;
|
||||
}
|
||||
|
||||
var.dash {
|
||||
border-bottom: 1px dashed grey;
|
||||
}
|
||||
|
||||
/** Message **/
|
||||
.message .gopher {
|
||||
width: 30px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
/** checkbox **/
|
||||
.checkbox label a, .checkbox label {
|
||||
font-size: 0.8em !important;
|
||||
}
|
||||
|
||||
/** page **/
|
||||
.page {
|
||||
margin-top: 1em;
|
||||
|
||||
border-left: 1px solid #ddd;
|
||||
|
||||
a {
|
||||
display: inline-block;
|
||||
background: #fafafa;
|
||||
color: #666;
|
||||
padding: 6px 12px;
|
||||
margin: 0;
|
||||
font-size: 0.9em;
|
||||
border: 1px solid #ddd;
|
||||
border-left: 0;
|
||||
}
|
||||
|
||||
a.active {
|
||||
background: #2185d0 !important;
|
||||
color: white;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
background: #eee;
|
||||
}
|
||||
}
|
||||
|
||||
/** popup **/
|
||||
.swal2-html-container {
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.swal2-close, .swal2-close:focus {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.swal2-confirm:focus, .swal2-cancel:focus {
|
||||
border: 3px #ddd solid !important;
|
||||
}
|
||||
|
||||
.swal2-confirm, .swal2-cancel {
|
||||
border: 3px #fff solid !important;
|
||||
}
|
||||
|
||||
.swal2-cancel {
|
||||
margin-left: 2em !important;
|
||||
}
|
||||
@@ -0,0 +1,290 @@
|
||||
/** 通用 **/
|
||||
.clear {
|
||||
clear: both;
|
||||
}
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
a.disabled,
|
||||
a.disabled:hover,
|
||||
a.disabled:active,
|
||||
span.disabled {
|
||||
color: #ccc !important;
|
||||
}
|
||||
a.enabled,
|
||||
span.enabled,
|
||||
span.green {
|
||||
color: #21ba45;
|
||||
}
|
||||
span.grey,
|
||||
label.grey,
|
||||
p.grey {
|
||||
color: grey !important;
|
||||
}
|
||||
p.grey {
|
||||
margin-top: 0.8em;
|
||||
}
|
||||
span.red,
|
||||
pre.red {
|
||||
color: #db2828;
|
||||
}
|
||||
pre:not(.CodeMirror-line) {
|
||||
font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif !important;
|
||||
}
|
||||
tbody {
|
||||
background: transparent;
|
||||
}
|
||||
.table.width30 {
|
||||
width: 30em !important;
|
||||
}
|
||||
.table.width35 {
|
||||
width: 35em !important;
|
||||
}
|
||||
.table.width40 {
|
||||
width: 40em !important;
|
||||
}
|
||||
.table th,
|
||||
.table td {
|
||||
font-size: 0.9em !important;
|
||||
}
|
||||
p.comment,
|
||||
div.comment {
|
||||
color: rgba(0, 0, 0, 0.3);
|
||||
padding-top: 0.4em;
|
||||
}
|
||||
p.comment em,
|
||||
div.comment em {
|
||||
font-style: italic !important;
|
||||
}
|
||||
.truncate {
|
||||
white-space: nowrap;
|
||||
-ms-text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
div.margin,
|
||||
p.margin {
|
||||
margin-top: 1em;
|
||||
}
|
||||
/** 操作按钮容器 **/
|
||||
.op.one {
|
||||
width: 4em;
|
||||
}
|
||||
.op.two {
|
||||
width: 7.4em;
|
||||
}
|
||||
.op.three {
|
||||
width: 9em;
|
||||
}
|
||||
.op.four {
|
||||
width: 10em;
|
||||
}
|
||||
/** 扩展UI **/
|
||||
.field.text {
|
||||
padding: .5em;
|
||||
}
|
||||
/** 右侧主操作区 **/
|
||||
.main {
|
||||
position: absolute;
|
||||
left: 22em;
|
||||
top: 5.6em;
|
||||
padding-bottom: 5em;
|
||||
padding-right: 1em;
|
||||
right: 1em;
|
||||
}
|
||||
@media screen and (max-width: 512px) {
|
||||
.main {
|
||||
left: 4em;
|
||||
}
|
||||
}
|
||||
.main.without-menu {
|
||||
left: 9em;
|
||||
}
|
||||
.main.without-secondary-menu {
|
||||
top: 2.9em;
|
||||
}
|
||||
@media screen and (max-width: 512px) {
|
||||
.main.without-menu {
|
||||
left: 4em;
|
||||
}
|
||||
}
|
||||
.main table td.title {
|
||||
width: 10em;
|
||||
}
|
||||
.main table td.middle-title {
|
||||
width: 14em;
|
||||
}
|
||||
.main table td {
|
||||
vertical-align: top;
|
||||
}
|
||||
.main table td.color-border {
|
||||
border-left: 1px #276ac6 solid !important;
|
||||
}
|
||||
.main table td.vertical-top {
|
||||
vertical-align: top;
|
||||
}
|
||||
.main table td.vertical-middle {
|
||||
vertical-align: middle;
|
||||
}
|
||||
.main table td[colspan="2"] a {
|
||||
font-weight: normal;
|
||||
}
|
||||
.main table td em {
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
.main h3 {
|
||||
font-weight: normal;
|
||||
margin-top: 0.5em !important;
|
||||
}
|
||||
.main h3 span {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
.main h3 span.label {
|
||||
color: #6435c9;
|
||||
}
|
||||
.main h3 a {
|
||||
margin-left: 1em;
|
||||
font-size: 14px !important;
|
||||
right: 1em;
|
||||
}
|
||||
.main h3 a::before {
|
||||
content: "[";
|
||||
}
|
||||
.main h3 a::after {
|
||||
content: "]";
|
||||
}
|
||||
.main h4 {
|
||||
font-weight: normal;
|
||||
}
|
||||
.main td span.small {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
.main .button.mini {
|
||||
font-size: 0.8em;
|
||||
padding: 0.2em;
|
||||
margin-left: 1em;
|
||||
}
|
||||
/** 右侧文本子菜单 **/
|
||||
.text.menu {
|
||||
overflow-x: auto;
|
||||
}
|
||||
.text.menu::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
height: 4px;
|
||||
}
|
||||
/** Vue **/
|
||||
[v-cloak] {
|
||||
display: none !important;
|
||||
}
|
||||
/** auto complete **/
|
||||
.autocomplete-box .menu {
|
||||
background: #eee !important;
|
||||
}
|
||||
.autocomplete-box .menu::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
.autocomplete-box .menu .item {
|
||||
border-top: none !important;
|
||||
}
|
||||
/** column **/
|
||||
@media screen and (max-width: 512px) {
|
||||
.column:not(.one) {
|
||||
width: 100% !important;
|
||||
}
|
||||
}
|
||||
/** label **/
|
||||
label[for] {
|
||||
cursor: pointer !important;
|
||||
}
|
||||
label.blue {
|
||||
color: #2185d0 !important;
|
||||
}
|
||||
td .label.tiny {
|
||||
padding: 2px;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
/** Menu **/
|
||||
.first-menu .menu.text {
|
||||
margin-top: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
.first-menu .divider {
|
||||
margin-top: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
.second-menu .menu.text {
|
||||
margin-top: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
.second-menu .menu.text em {
|
||||
font-style: normal;
|
||||
}
|
||||
.second-menu .divider {
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
.menu a {
|
||||
outline: none;
|
||||
}
|
||||
/** var **/
|
||||
span.olive,
|
||||
var.olive {
|
||||
color: #b5cc18 !important;
|
||||
}
|
||||
var.dash {
|
||||
border-bottom: 1px dashed grey;
|
||||
}
|
||||
/** Message **/
|
||||
.message .gopher {
|
||||
width: 30px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
/** checkbox **/
|
||||
.checkbox label a,
|
||||
.checkbox label {
|
||||
font-size: 0.8em !important;
|
||||
}
|
||||
/** page **/
|
||||
.page {
|
||||
margin-top: 1em;
|
||||
border-left: 1px solid #ddd;
|
||||
}
|
||||
.page a {
|
||||
display: inline-block;
|
||||
background: #fafafa;
|
||||
color: #666;
|
||||
padding: 6px 12px;
|
||||
margin: 0;
|
||||
font-size: 0.9em;
|
||||
border: 1px solid #ddd;
|
||||
border-left: 0;
|
||||
}
|
||||
.page a.active {
|
||||
background: #2185d0 !important;
|
||||
color: white;
|
||||
}
|
||||
.page a:hover {
|
||||
background: #eee;
|
||||
}
|
||||
/** popup **/
|
||||
.swal2-html-container {
|
||||
overflow-x: hidden;
|
||||
}
|
||||
.swal2-confirm:focus,
|
||||
.swal2-cancel:focus,
|
||||
.swal2-close:focus {
|
||||
border: 3px #ddd solid !important;
|
||||
}
|
||||
.swal2-confirm,
|
||||
.swal2-cancel,
|
||||
.swal2-close {
|
||||
border: 3px #fff solid !important;
|
||||
}
|
||||
.swal2-cancel {
|
||||
margin-left: 2em !important;
|
||||
}
|
||||
/*# sourceMappingURL=@layout_popup.css.map */
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["@layout_popup.less"],"names":[],"mappings":"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","file":"@layout_popup.css"}
|
||||
@@ -0,0 +1,40 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>{$.teaTitle}控制台</title>
|
||||
<meta charset="UTF-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=0">
|
||||
<link rel="shortcut icon" href="/images/favicon.png"/>
|
||||
<link rel="stylesheet" type="text/css" href="/_/@default/@layout_popup.css" media="all"/>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/css/semantic.iframe.min.css?v=bRafhK" media="all"/>
|
||||
{$TEA.VUE}
|
||||
{$echo "header"}
|
||||
<script type="text/javascript" src="/_/@default/@layout.js"></script>
|
||||
<script type="text/javascript" src="/ui/components.js"></script>
|
||||
<script type="text/javascript" src="/js/utils.js"></script>
|
||||
<script type="text/javascript" src="/js/sweetalert2/dist/sweetalert2.all.min.js"></script>
|
||||
<style type="text/css">
|
||||
.main {
|
||||
left: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
overflow-y: auto;
|
||||
padding-bottom: 0em;
|
||||
}
|
||||
|
||||
.main::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="main">
|
||||
<!-- 功能区 -->
|
||||
{$TEA.VIEW}
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,347 @@
|
||||
/** 通用 **/
|
||||
.clear {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
a.disabled, a.disabled:hover, a.disabled:active, span.disabled {
|
||||
color: #ccc !important;
|
||||
}
|
||||
|
||||
a.enabled, span.enabled, span.green {
|
||||
color: #21ba45;
|
||||
}
|
||||
|
||||
span.grey, label.grey, p.grey {
|
||||
color: grey !important;
|
||||
}
|
||||
|
||||
p.grey {
|
||||
margin-top: 0.8em;
|
||||
}
|
||||
|
||||
span.red, pre.red {
|
||||
color: #db2828;
|
||||
}
|
||||
|
||||
pre:not(.CodeMirror-line) {
|
||||
font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif !important;
|
||||
}
|
||||
|
||||
tbody {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.table.width30 {
|
||||
width: 30em !important;
|
||||
}
|
||||
|
||||
.table.width35 {
|
||||
width: 35em !important;
|
||||
}
|
||||
|
||||
.table.width40 {
|
||||
width: 40em !important;
|
||||
}
|
||||
|
||||
.table th, .table td {
|
||||
font-size: 0.9em !important;
|
||||
}
|
||||
|
||||
p.comment, div.comment {
|
||||
color: rgba(0, 0, 0, 0.3);
|
||||
padding-top: 0.4em;
|
||||
}
|
||||
|
||||
p.comment em, div.comment em {
|
||||
font-style: italic !important;
|
||||
}
|
||||
|
||||
.truncate {
|
||||
white-space: nowrap;
|
||||
-ms-text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
div.margin, p.margin {
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
/** 操作按钮容器 **/
|
||||
.op.one {
|
||||
width: 4em;
|
||||
}
|
||||
|
||||
.op.two {
|
||||
width: 7.4em;
|
||||
}
|
||||
|
||||
.op.three {
|
||||
width: 9em;
|
||||
}
|
||||
|
||||
.op.four {
|
||||
width: 10em;
|
||||
}
|
||||
|
||||
/** 扩展UI **/
|
||||
.field.text {
|
||||
padding: .5em;
|
||||
}
|
||||
|
||||
/** 右侧主操作区 **/
|
||||
.main {
|
||||
position: absolute;
|
||||
left: 22em;
|
||||
top: 5.6em;
|
||||
padding-bottom: 5em;
|
||||
padding-right: 1em;
|
||||
right: 1em;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 512px) {
|
||||
.main {
|
||||
left: 4em;
|
||||
}
|
||||
}
|
||||
|
||||
.main.without-menu {
|
||||
left: 9em;
|
||||
}
|
||||
|
||||
.main.without-secondary-menu {
|
||||
top: 2.9em;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 512px) {
|
||||
.main.without-menu {
|
||||
left: 4em;
|
||||
}
|
||||
}
|
||||
|
||||
.main table td.title {
|
||||
width: 10em;
|
||||
}
|
||||
|
||||
.main table td.middle-title {
|
||||
width: 14em;
|
||||
}
|
||||
|
||||
.main table td {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.main table td.color-border {
|
||||
border-left: 1px #276ac6 solid !important;
|
||||
}
|
||||
|
||||
.main table td.vertical-top {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.main table td.vertical-middle {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.main table td[colspan="2"] a {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.main table td em {
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.main h3 {
|
||||
font-weight: normal;
|
||||
margin-top: 0.5em !important;
|
||||
}
|
||||
|
||||
.main h3 span {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
.main h3 span.label {
|
||||
color: #6435c9;
|
||||
}
|
||||
|
||||
.main h3 a {
|
||||
margin-left: 1em;
|
||||
font-size: 14px !important;
|
||||
right: 1em;
|
||||
}
|
||||
|
||||
.main h3 a::before {
|
||||
content: "[";
|
||||
}
|
||||
|
||||
.main h3 a::after {
|
||||
content: "]";
|
||||
}
|
||||
|
||||
.main h4 {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.main td span.small {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
.main .button.mini {
|
||||
font-size: 0.8em;
|
||||
padding: 0.2em;
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
/** 右侧文本子菜单 **/
|
||||
.text.menu {
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.text.menu::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
height: 4px;
|
||||
}
|
||||
|
||||
/** Vue **/
|
||||
[v-cloak] {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/** auto complete **/
|
||||
.autocomplete-box .menu {
|
||||
background: #eee !important;
|
||||
}
|
||||
|
||||
.autocomplete-box .menu::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.autocomplete-box .menu .item {
|
||||
border-top: none !important;
|
||||
}
|
||||
|
||||
select {
|
||||
}
|
||||
|
||||
/** column **/
|
||||
@media screen and (max-width: 512px) {
|
||||
.column:not(.one) {
|
||||
width: 100% !important;
|
||||
}
|
||||
}
|
||||
|
||||
/** label **/
|
||||
label[for] {
|
||||
cursor: pointer !important;
|
||||
}
|
||||
|
||||
label.blue {
|
||||
color: #2185d0 !important;
|
||||
}
|
||||
|
||||
td .label.tiny {
|
||||
padding: 2px;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
/** Menu **/
|
||||
.first-menu .menu.text {
|
||||
margin-top: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
.first-menu .divider {
|
||||
margin-top: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
.second-menu .menu.text {
|
||||
margin-top: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
.second-menu .menu.text em {
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.second-menu .divider {
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
|
||||
.menu a {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
/** var **/
|
||||
span.olive, var.olive {
|
||||
color: #b5cc18 !important;
|
||||
}
|
||||
|
||||
var.dash {
|
||||
border-bottom: 1px dashed grey;
|
||||
}
|
||||
|
||||
/** Message **/
|
||||
.message .gopher {
|
||||
width: 30px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
/** checkbox **/
|
||||
.checkbox label a, .checkbox label {
|
||||
font-size: 0.8em !important;
|
||||
}
|
||||
|
||||
/** page **/
|
||||
.page {
|
||||
margin-top: 1em;
|
||||
|
||||
border-left: 1px solid #ddd;
|
||||
|
||||
a {
|
||||
display: inline-block;
|
||||
background: #fafafa;
|
||||
color: #666;
|
||||
padding: 6px 12px;
|
||||
margin: 0;
|
||||
font-size: 0.9em;
|
||||
border: 1px solid #ddd;
|
||||
border-left: 0;
|
||||
}
|
||||
|
||||
a.active {
|
||||
background: #2185d0 !important;
|
||||
color: white;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
background: #eee;
|
||||
}
|
||||
}
|
||||
|
||||
/** popup **/
|
||||
.swal2-html-container {
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.swal2-confirm:focus, .swal2-cancel:focus, .swal2-close:focus {
|
||||
border: 3px #ddd solid !important;
|
||||
}
|
||||
|
||||
.swal2-confirm, .swal2-cancel, .swal2-close {
|
||||
border: 3px #fff solid !important;
|
||||
}
|
||||
|
||||
.swal2-cancel {
|
||||
margin-left: 2em !important;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
<!-- 预留的菜单位置 -->
|
||||
@@ -0,0 +1,38 @@
|
||||
.form-box {
|
||||
position: fixed;
|
||||
top: 2.5em;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
}
|
||||
form {
|
||||
position: fixed;
|
||||
width: 21em;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin-left: -10em;
|
||||
margin-top: -16em;
|
||||
}
|
||||
form .header {
|
||||
text-align: center;
|
||||
font-size: 1em !important;
|
||||
}
|
||||
form p {
|
||||
font-size: 0.8em;
|
||||
margin-top: 0.3em;
|
||||
margin-bottom: 0;
|
||||
font-weight: normal;
|
||||
padding: 0;
|
||||
}
|
||||
form .comment {
|
||||
margin-top: 0.5em;
|
||||
padding: 0.5em;
|
||||
color: gray;
|
||||
}
|
||||
@media screen and (max-width: 512px) {
|
||||
form {
|
||||
width: 80%;
|
||||
margin-left: -40%;
|
||||
}
|
||||
}
|
||||
/*# sourceMappingURL=index.css.map */
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["index.less"],"names":[],"mappings":"AAAA;EACI,eAAA;EACA,UAAA;EACA,SAAA;EACA,OAAA;EACA,QAAA;;AAGJ;EACI,eAAA;EACA,WAAA;EACA,QAAA;EACA,SAAA;EACA,kBAAA;EACA,iBAAA;;AANJ,IAQC;EACC,kBAAA;EACA,yBAAA;;AAVF,IAaC;EACC,gBAAA;EACA,iBAAA;EACA,gBAAA;EACA,mBAAA;EACA,UAAA;;AAlBF,IAqBC;EACC,iBAAA;EACA,cAAA;EACA,WAAA;;AASD,mBALoC;EACjC;IACI,UAAA;IACA,iBAAA","file":"index.css"}
|
||||
@@ -0,0 +1,58 @@
|
||||
<!doctype html>
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<link rel="shortcut icon" href="/images/favicon.png"/>
|
||||
<title>登录Edge管理员系统</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=0">
|
||||
{$TEA.VUE}
|
||||
{$TEA.SEMANTIC}
|
||||
<script type="text/javascript" src="/js/md5.min.js"></script>
|
||||
<script type="text/javascript" src="/js/utils.js"></script>
|
||||
<script type="text/javascript" src="/js/sweetalert2/dist/sweetalert2.all.min.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div>
|
||||
{$template "/menu"}
|
||||
|
||||
|
||||
<div class="form-box">
|
||||
<form class="ui form" data-tea-action="$" data-tea-before="submitBefore" data-tea-done="submitDone" data-tea-success="submitSuccess" autocomplete="off">
|
||||
<input type="hidden" name="password" v-model="passwordMd5"/>
|
||||
<input type="hidden" name="token" v-model="token"/>
|
||||
<div class="ui segment stacked">
|
||||
<div class="ui header">
|
||||
登录Edge管理员系统
|
||||
</div>
|
||||
<div class="ui field">
|
||||
<div class="ui left icon input">
|
||||
<i class="ui user icon"></i>
|
||||
<input type="text" name="username" v-model="username" placeholder="请输入用户名" maxlength="200" ref="usernameRef"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui field">
|
||||
<div class="ui left icon input">
|
||||
<i class="ui lock icon"></i>
|
||||
<input type="password" v-model="password" placeholder="请输入密码" maxlength="200" @input="changePassword()" ref="passwordRef"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui field">
|
||||
<a href="" @click.prevent="showMoreOptions()">更多选项 <i class="icon angle" :class="{down:!moreOptionsVisible, up:moreOptionsVisible}"></i> </a>
|
||||
</div>
|
||||
<div class="ui field" v-show="moreOptionsVisible">
|
||||
<div class="ui checkbox">
|
||||
<input type="checkbox" name="remember" value="1" checked="checked"/>
|
||||
<label>在这个电脑上记住登录(14天)</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button class="ui button primary fluid" type="submit" v-if="!isSubmitting">登录</button>
|
||||
<button class="ui button primary fluid disabled" type="submit" v-if="isSubmitting">登录中...</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,39 @@
|
||||
Tea.context(function () {
|
||||
this.username = "";
|
||||
this.password = "";
|
||||
this.passwordMd5 = "";
|
||||
this.encodedFrom = window.encodeURIComponent(this.from);
|
||||
|
||||
this.isSubmitting = false;
|
||||
|
||||
this.$delay(function () {
|
||||
this.$find("form input[name='username']").focus();
|
||||
this.changePassword();
|
||||
});
|
||||
|
||||
this.changePassword = function () {
|
||||
this.passwordMd5 = md5(this.password.trim());
|
||||
};
|
||||
|
||||
// 更多选项
|
||||
this.moreOptionsVisible = false;
|
||||
this.showMoreOptions = function () {
|
||||
this.moreOptionsVisible = !this.moreOptionsVisible;
|
||||
};
|
||||
|
||||
this.submitBefore = function () {
|
||||
this.isSubmitting = true;
|
||||
};
|
||||
|
||||
this.submitDone = function () {
|
||||
this.isSubmitting = false;
|
||||
};
|
||||
|
||||
this.submitSuccess = function () {
|
||||
if (this.from.length == 0) {
|
||||
window.location = "/dashboard";
|
||||
} else {
|
||||
window.location = this.from;
|
||||
}
|
||||
};
|
||||
});
|
||||
@@ -0,0 +1,42 @@
|
||||
.form-box {
|
||||
position: fixed;
|
||||
top: 2.5em;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
form {
|
||||
position: fixed;
|
||||
width: 21em;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin-left: -10em;
|
||||
margin-top: -16em;
|
||||
|
||||
.header {
|
||||
text-align: center;
|
||||
font-size: 1em !important;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 0.8em;
|
||||
margin-top: 0.3em;
|
||||
margin-bottom: 0;
|
||||
font-weight: normal;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.comment {
|
||||
margin-top: 0.5em;
|
||||
padding: 0.5em;
|
||||
color: gray;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 512px) {
|
||||
form {
|
||||
width: 80%;
|
||||
margin-left: -40%;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
<first-menu>
|
||||
<menu-item href="/nodes" code="index">节点列表</menu-item>
|
||||
<menu-item href="/nodes/create" code="create">创建节点</menu-item>
|
||||
</first-menu>
|
||||
@@ -0,0 +1,28 @@
|
||||
{$layout}
|
||||
{$template "menu"}
|
||||
|
||||
<form class="ui form" data-tea-action="$" data-tea-success="success">
|
||||
<table class="ui table definition selectable">
|
||||
<tr>
|
||||
<td class="title">节点名称 *</td>
|
||||
<td>
|
||||
<input type="text" name="name" maxlength="50" ref="focus"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>所属集群</td>
|
||||
<td>
|
||||
<select class="ui dropdown" name="clusterId" style="width:10em">
|
||||
<option v-for="cluster in clusters" :value="cluster.id">{{cluster.name}}</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>SSH登录授权</td>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<submit-btn></submit-btn>
|
||||
</form>
|
||||
@@ -0,0 +1,6 @@
|
||||
{$layout}
|
||||
{$template "menu"}
|
||||
|
||||
<table class="ui table selectable">
|
||||
|
||||
</table>
|
||||
@@ -0,0 +1,4 @@
|
||||
<first-menu>
|
||||
<menu-item code="index">服务列表</menu-item>
|
||||
<menu-item code="create">创建服务</menu-item>
|
||||
</first-menu>
|
||||
@@ -0,0 +1,3 @@
|
||||
{$layout}
|
||||
{$template "menu"}
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
{$layout}
|
||||
|
||||
<p class="comment">暂未开通此功能。</p>
|
||||
Reference in New Issue
Block a user