v2版本正式上线测试版

This commit is contained in:
george
2018-07-13 17:53:34 +08:00
parent 092ecf605b
commit 7bbe5585d8
661 changed files with 40153 additions and 2053 deletions

View File

@@ -1,349 +1,46 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
<title>定时任务管理后台</title>
<link href="/static/bootstrap/css/bootstrap.min.css" title="" rel="stylesheet" />
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>{{.siteName}}</title>
{{if .zTree}}
<link rel="stylesheet" href="/static/zTree3/css/demo.css?t=5" type="text/css">
<link rel="stylesheet" href="/static/zTree3/css/zTreeStyle/zTreeStyle.css" type="text/css">
{{end}}
<link rel="stylesheet" href="/static/layui/css/layui.css">
<link rel="stylesheet" href="/static/admin/css/app.css?t=2">
<link rel="stylesheet" href="/static/font-awesome/css/font-awesome.min.css" media="all">
</head>
<body>
<!-- 公共头部 start-->
<div class="nav-title">
<div class="tl fl">
<a onclick="javascript:history.go(-1);" style="font-size: 14px;"><i class="fa fa-arrow-left" aria-hidden="true"></i></a>
{{.pageTitle}}
</div>
<div class="tr fr">
<button class="layui-btn layui-btn-radius layui-btn-primary layui-btn-xs" onclick="javascript:history.go(-1);"><i class="fa fa-arrow-left" aria-hidden="true"></i></button>
<button class="layui-btn layui-btn-radius layui-btn-primary layui-btn-xs" onclick="javascript:window.location.reload();"><i class="fa fa-refresh" aria-hidden="true"></i></button>
<link title="" href="/static/css/style.css" rel="stylesheet" type="text/css" />
<link title="blue" href="/static/css/dermadefault.css" rel="stylesheet" type="text/css"/>
<link title="green" href="/static/css/dermagreen.css" rel="stylesheet" type="text/css" disabled="disabled"/>
<link title="orange" href="/static/css/dermaorange.css" rel="stylesheet" type="text/css" disabled="disabled"/>
<link href="/static/css/templatecss.css" rel="stylesheet" title="" type="text/css" />
<script src="/static/js/jquery-1.11.1.min.js" type="text/javascript"></script>
<script src="/static/js/jquery.cookie.js" type="text/javascript"></script>
<script src="/static/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
</head>
<body>
<nav class="nav navbar-default navbar-mystyle navbar-fixed-top">
<div class="navbar-header">
<button class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand mystyle-brand">
<span class="glyphicon glyphicon-time"></span>
</a>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li class="li-border">
<a class="mystyle-color" href="#" style="font-size: 20px">定时任务管理后台 <span style="font-size: 12px">V1.2</span></a>
</li>
</ul>
<ul class="nav navbar-nav pull-right">
<li class="li-border">
<a class="mystyle-color" href="#" id="server-time" style="font-size: 10px"></a>
</li>
</ul>
<ul class="nav navbar-nav pull-right">
<li class="li-border">
<a href="#" class="mystyle-color">
<span class="glyphicon glyphicon-bell"></span>
<span class="topbar-num">0</span>
</a>
</li>
<li class="dropdown li-border">
<a href="#" class="dropdown-toggle mystyle-color" data-toggle="dropdown">
帮助文档<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="/help">帮助文档</a></li>
</ul>
</li>
<li class="dropdown li-border">
<a href="#" class="dropdown-toggle mystyle-color" data-toggle="dropdown">
{{.loginUserName}}<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="/logout">退出</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle mystyle-color" data-toggle="dropdown">
换肤<span class="caret"></span>
</a>
<ul class="dropdown-menu changecolor">
<li id="blue"><a href="#">蓝色</a></li>
<li class="divider"></li>
<li id="green"><a href="#">绿色</a></li>
<li class="divider"></li>
<li id="orange"><a href="#">橙色</a></li>
</ul>
</li>
</ul>
</div>
</nav>
</div>
</div>
<!-- 公共头部 end-->
<script src="/static/layui/layui.js"></script>
{{.LayoutContent}}
<div class="down-main">
<div class="left-main left-full">
<div class="sidebar-fold">
<span class="glyphicon glyphicon-menu-hamburger"></span>
</div>
<script>
<div class="subNavBox">
<div class="sBox">
<ul class="navContent" >
<li {{if eq .curRoute "main.index"}}class="active"{{end}} id="home_page">
<a href="/">
<span class="sublist-icon glyphicon glyphicon-home"></span><span class="sub-title">系统首页</span>
</a>
</li>
</ul>
</div>
</div>
<div class="subNavBox">
<div class="sBox">
<div class="subNav sublist-down">
<span class="title-icon glyphicon glyphicon-chevron-down"></span>
<span class="sublist-title">任务管理</span>
</div>
<ul class="navContent" style="display:block">
<li {{if eq .menuTag "task"}}class="active"{{end}}>
<div class="showtitle" style="width:100px;">
任务列表
</div>
<a href="/task/list">
<span class="sublist-icon glyphicon glyphicon-th-list"></span>
<span class="sub-title">任务列表</span>
</a>
</li>
layui.use(['table','form','element'], function(){
var table = layui.table;
var form = layui.form;
var element = layui.element;
<li {{if eq .menuTag "group"}}class="active"{{end}}>
<div class="showtitle" style="width:100px;">
任务分类
</div>
<a href="/group/list">
<span class="sublist-icon glyphicon glyphicon-bookmark"></span>
<span class="sub-title">任务分类</span>
</a>
</li>
<li {{if eq .curRoute "help.index"}}class="active"{{end}}>
<div class="showtitle" style="width:100px;">
使用帮助
</div>
<a href="/help">
<span class="sublist-icon glyphicon glyphicon-question-sign"></span>
<span class="sub-title">使用帮助</span>
</a>
</li>
</ul>
</div>
</div>
});
<div class="subNavBox">
<div class="sBox">
<div class="subNav sublist-down">
<span class="title-icon glyphicon glyphicon-chevron-down"></span>
<span class="sublist-title">资源管理</span>
</div>
<ul class="navContent" >
<li {{if eq .menuTag "server"}}class="active"{{end}}>
<div class="showtitle" style="width:100px;">
服务器
</div>
<a href="/server/list">
<span class="sublist-icon glyphicon glyphicon-hdd"></span>
<span class="sub-title">服务器</span>
</a>
</li>
</ul>
</div>
</div>
<div class="subNavBox">
<div class="sBox">
<div class="subNav sublist-down">
<span class="title-icon glyphicon glyphicon-chevron-down"></span>
<span class="sublist-title">账户管理</span>
</div>
<ul class="navContent" >
<li {{if eq .curRoute "main.profile"}}class="active"{{end}}>
<div class="showtitle" style="width:100px;">
资料修改
</div>
<a href="/profile">
<span class="sublist-icon glyphicon glyphicon-user"></span>
<span class="sub-title">资料修改</span>
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="right-product view-product right-full">
<!--message start-->
<div class="message">
<div class="alert alert-danger box" role="alert" style="padding: 0px; line-height: 40px">
<div class="col-sm-1 pull-right">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
</div>
<div class="col-sm-11 pull-left">
<strong id="message">保存成功</strong>
</div>
</div>
</div>
<!--message end-->
{{.LayoutContent}}
</div>
</div>
<script type="text/javascript">
function alert_message(message,addClass,removeClass)
{
$('.box').addClass(addClass);
$('.box').removeClass(removeClass);
$("#message").html(message);
$('.message').fadeIn(1000);
$('.message').fadeOut(5000);
}
$(function(){
/*换肤*/
$(".dropdown .changecolor li").click(function(){
var style = $(this).attr("id");
$("link[title!='']").attr("disabled","disabled");
$("link[title='"+style+"']").removeAttr("disabled");
$.cookie('mystyle', style, { expires: 7 }); // 存储一个带7天期限的 cookie
})
var cookie_style = $.cookie("mystyle");
if(cookie_style!=null){
$("link[title!='']").attr("disabled","disabled");
$("link[title='"+cookie_style+"']").removeAttr("disabled");
}
/*左侧导航栏显示隐藏功能*/
$(".subNav").click(function(){
/*显示*/
if($(this).find("span:first-child").attr('class')=="title-icon glyphicon glyphicon-chevron-down")
{
$(this).find("span:first-child").removeClass("glyphicon-chevron-down");
$(this).find("span:first-child").addClass("glyphicon-chevron-up");
$(this).removeClass("sublist-down");
$(this).addClass("sublist-up");
}
/*隐藏*/
else
{
$(this).find("span:first-child").removeClass("glyphicon-chevron-up");
$(this).find("span:first-child").addClass("glyphicon-chevron-down");
$(this).removeClass("sublist-up");
$(this).addClass("sublist-down");
}
// 修改数字控制速度, slideUp(500)控制卷起速度
$(this).next(".navContent").slideToggle(300).siblings(".navContent").slideUp(300);
})
/*左侧导航栏缩进功能*/
$(".left-main .sidebar-fold").click(function(){
if($(this).parent().attr('class')=="left-main left-full")
{
$(this).parent().removeClass("left-full");
$(this).parent().addClass("left-off");
$(this).parent().parent().find(".right-product").removeClass("right-full");
$(this).parent().parent().find(".right-product").addClass("right-off");
}
else
{
$(this).parent().removeClass("left-off");
$(this).parent().addClass("left-full");
$(this).parent().parent().find(".right-product").removeClass("right-off");
$(this).parent().parent().find(".right-product").addClass("right-full");
}
})
/*左侧鼠标移入提示功能*/
$(".sBox ul li").mouseenter(function(){
if($(this).find("span:last-child").css("display")=="none")
{$(this).find("div").show();}
}).mouseleave(function(){$(this).find("div").hide();})
});
/*刷新*/
$(".refresh").on("click",function() {
window.location.reload();
});
/*返回上一页*/
$(".reback").on("click",function() {
window.history.go(-1);
});
/*全选*/
$("input[name=all_check]").click(function(){
var all_status = this.checked;
//全选
if(all_status == true){
$(".chk").find("input[type=checkbox]").each(function(){
if($(this).val()>0){
$(this).prop("checked",true);
}
});
}
if(all_status == false){
//反选
$(".chk").find("input[type=checkbox]:checked").each(function(){
if($(this).val()>0){
$(this).prop("checked",false);
}
});
}
});
</script>
//服务器时间
Date.prototype.Format = function (fmt) {
var o = {
"M+": this.getMonth() + 1,
"d+": this.getDate(),
"h+": this.getHours(),
"m+": this.getMinutes(),
"s+": this.getSeconds(),
"q+": Math.floor((this.getMonth() + 3) / 3),
"S": this.getMilliseconds()
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
$(function () {
$('.subnavbar').find ('li').each (function (i) {
var mod = i % 3;
if (mod === 2) {
$(this).addClass ('subnavbar-open-right');
}
});
initTime = new Date().getTime();
$.getJSON("/gettime", function(out) {
setTime(initTime, out.time);
});
});
function setTime(initTime,serverTime) {
ellapsedTime = new Date().getTime()-initTime;
$('#server-time').html('当前服务器时间: <strong>'+new Date(serverTime+ellapsedTime).Format("yyyy-MM-dd hh:mm:ss")+'</strong>');
setTimeout('setTime('+initTime+','+serverTime+');',500);
}
</script>
</body>
</html>
</body>
</html>

View File

@@ -1,93 +0,0 @@
<!DOCTYPE html>
<html class="login_page_html">
<head>
<meta charset="UTF-8">
<title>登录</title>
<link rel='shortcut icon' href="/static/img/favicon.png"/>
<link rel="stylesheet" type="text/css" href="/static/login/style.css" />
<link href="/static/bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
</head>
<!--登录超时跳出框架显示登录页 start-->
<script>
if(self.location !== top.location){
top.location = self.location;
}
</script>
<style type="text/css">
/**
* 提示信息框
*/
.message{
width: 100%;
height: 100%;
position: fixed;
left: 0px;
top: 0px;
z-index: 9999;
display: none;
}
.message .box{
position: absolute;
left: 0%;
top: 0%;
width: 100%;
height: 40px;
text-align: center;
}
</style>
<!--登录超时跳出框架显示登录页 end-->
<body class="login_page">
<div class="login_page_bg">
<div class="login_page_panel">
<h1 style="color: #fff;font-size: 40px;text-align:center;">定时任务管理</h1>
<form action="/login" method="post">
<div class="username">
<input type="text" name="username" id="username" class="box_sizing" autofocus="autofocus" autocomplete="off" placeholder="账号" required />
</div>
<div class="password">
<input type="password" name="password" id="password" class="box_sizing" placeholder="密码" required />
</div>
<div class="remember" style="margin-top: 10px;color: #fff">
<input type="checkbox" name="remember" id="remember" value="yes"> &nbsp;&nbsp;一周内自动登录
</div>
<div class="login_button">
<button id="login_button" class="box_sizing">&nbsp;&nbsp;</button>
</div>
</form>
</div>
</div>
<!--message start-->
<div class="message">
<div class="alert alert-danger box" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<strong id="message">保存成功</strong>
</div>
</div>
<!--message end-->
<script src="/static/js/jquery-1.11.1.min.js"></script>
<script src="/static/bootstrap/js/bootstrap.js"></script>
<script type="text/javascript">
//alert-success alert-danger
function alert_message(message,addClass,removeClass)
{
$('.box').addClass(addClass);
$('.box').removeClass(removeClass);
$("#message").html(message);
$('.message').fadeIn(1000);
$('.message').fadeOut(4000);
}
var error_info = "{{.flash.error}}";
if(error_info)
{
alert_message(error_info,"alert-danger","alert-success");
}
</script>
</body>
</html>

196
views/public/main.html Normal file
View File

@@ -0,0 +1,196 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>{{.siteName}}</title>
<link rel="stylesheet" href="/static/layui/css/layui.css">
<link rel="stylesheet" href="/static/admin/css/main.css?t=10">
<link rel="stylesheet" href="/static/font-awesome/css/font-awesome.min.css" media="all">
</head>
<body class="layui-layout-body">
<div class="layui-layout layui-layout-admin">
<div class="layui-header">
<div class="layui-logo">{{.siteName}}{{.version}}</div>
<!-- 头部区域可配合layui已有的水平导航 -->
<ul class="layui-nav layui-layout-left">
</ul>
<ul class="layui-nav layui-layout-right pp-nav-item" >
<li class="layui-nav-item"><a href="/login_out">使用手册</a></li>
<li class="layui-nav-item pp-nav-item" >
<a href="javascript:;">
<img src="/static/admin/images/header.jpg" class="layui-nav-img"> {{.loginUserName}}
</a>
<dl class="layui-nav-child pp-nav-child">
{{/*<dd><a href="/user/edit">资料修改</a></dd>*/}}
<dd><a href="/login_out">华丽退出</a></dd>
</dl>
</li>
</ul>
</div>
<div class="layui-side layui-bg-black pp-side">
<div class="layui-side-scroll" style="width: 100%">
<div class="pp-side-fold"><i class="fa fa-navicon" aria-hidden="true"></i></div>
<!-- 左侧导航区域可配合layui已有的垂直导航 -->
<ul class="layui-nav layui-nav-tree" lay-filter="nav-side">
<li class="layui-nav-item layui-nav-itemed layui-this">
<a data-url="start.html" data-icon="fa-home" data-title="系统首页" data-id="0" class="pointer">
<i class="fa fa-home back_space1"></i><span>系统首页</span>
</a>
</li>
{{range $index, $elem := .SideMenu1}}
{{if $elem}}
<li class="layui-nav-item">
<a class="" href="javascript:;">
<i class="fa {{$elem.Icon}}"></i> &nbsp;&nbsp;<span>{{$elem.AuthName}}</span>
</a>
<dl class="layui-nav-child pp-nav-childs">
{{range $i, $e := $.SideMenu2}}
{{if eq $e.Pid $elem.Id}}
<dd>
<a data-url="{{$e.AuthUrl}}" data-icon="&#xe715;" data-title="{{$e.AuthName}}" class="pointer" data-id="{{$e.Id}}">
<i class="fa {{$e.Icon}}"></i> &nbsp;&nbsp;<span>{{$e.AuthName}}</span>
</a>
</dd>
{{end}}
{{end}}
</dl>
</li>
{{end}}
{{end}}
</ul>
</div>
</div>
<div class="layui-body" style="overflow: hidden;">
<!-- 内容主体区域 -->
<div class="layui-tab pp-tab" lay-filter="main_tab" lay-allowClose="true">
<ul class="layui-tab-title" style="background: #efefef">
<li class="pp-tab-li layui-this" id="default_tab" lay-id="0"><i class="fa fa-home back_space1"></i>系统首页</li>
</ul>
<div class="layui-tab-content" style="padding: 0px; ">
<div class="layui-tab-item layui-show" style="margin: 0px;overflow:hidden;">
<iframe src="/home/start" frameborder="0" scrolling="yes"></iframe>
</div>
</div>
</div>
</div>
<div class="layui-footer" style="border-top: 2px solid #e4e4e4">
<!-- 底部固定区域 -->
© Power by <a href="http://www.haodaquan.com" target="_blank">PPGo_Job V2</a>
</div>
</div>
<script src="/static/layui/layui.js"></script>
<script>
//JavaScript代码区域
var $;
layui.use(['element','jquery','layer'], function(){
var element = layui.element;
$ = layui.jquery;
var layer = layui.layer;
var width,height;
//frame大小适应开始
resizeFrame();
window.onresize = function(){
resizeFrame();
}
function resizeFrame()
{
height = $(".layui-body").height()-40;
width = $(".layui-body").width();
$(".ayui-tab-content").width(width);
$(".ayui-tab-content").height(height);
$(".layui-tab-item").height(height);
$(".layui-tab-item").find("iframe").height(height);
$(".layui-tab-item").find("iframe").width(width);
}
//frame大小适应结束
//左侧菜单栏缩放
$('.pp-side-fold').on('click',function(){
var side_width = $(".layui-side").width();
if (side_width>50) {
$(".layui-side").width(50);
$(this).parent().find('span').hide();
$(".layui-body").addClass('pp-main');
$(".layui-footer").addClass('pp-main');
$(".layui-nav-child").find('dd').addClass('pp-ddsided');
$(".layui-nav-child").find('a').addClass('pp-pointer');
resizeFrame();
}else{
$(".layui-side").width(200);
$(this).parent().find('span').show();
$(".layui-body").removeClass('pp-main');
$(".layui-footer").removeClass('pp-main');
$(".layui-nav-child").find('dd').removeClass('pp-ddsided');
$(".layui-nav-child").find('a').removeClass('pp-pointer');
resizeFrame();
}
})
//添加标签
element.on('nav(nav-side)', function(elem){
var url = elem.attr('data-url');
var title = elem.attr('data-title');
var id = elem.attr('data-id');
var icon = elem.attr('data-icon');
if (!url || !title || !id) {
return;
}
//判断是否存在
var is_exist = 0;
$(".layui-tab-title").find("li").each(function(){
var nav_id = $(this).attr("lay-id");
if (nav_id==id) {
is_exist = 1
}
})
if (is_exist==1) {
element.tabChange("main_tab", id);
}else{
var content = '<iframe src="'+url+'" scrolling="yes" width="'+width+'" height="'+height+'" frameborder="0"></iframe>';
title = '<i class="fa '+icon+' back_space1"></i>'+title;
element.tabAdd('main_tab', {
title: title
,content: content //支持传入html
,id: id
});
element.tabChange("main_tab", id);
}
});
//tab标签选中菜单栏状态
$(".layui-tab-title").on("click","li",function(){
var id = $(this).attr('lay-id');
if (!id) {return;}
var sid = 0;
$(".layui-nav-item").find("a").each(function(){
sid = $(this).attr("data-id");
if (sid==id) {
$(this).click();
}
})
})
//tips
$(".pp-nav-childs").find('a').hover(function(){
layer.tips($(this).attr('data-title'), $(this),{time:1000});
});
element.render();
// $("#default_tab").html('<i class="fa fa-home back_space1"></i>系统首页');
});
</script>
</body>
</html>