优化操作流程界面,修改任务列表搜索和排序等

This commit is contained in:
george
2018-11-21 11:10:22 +08:00
parent 26637736ee
commit 1257371fe3
60 changed files with 378 additions and 264 deletions

View File

@@ -33,6 +33,6 @@ email.pool = 10
# 短信通知方式配置
msg.url = http://chanxiyou.com/api/tools/send_sms
msg.url = http://xx.com/api/tools/send_sms
msg.pool = 10

View File

@@ -30,7 +30,6 @@ func (self *AdminController) List() {
func (self *AdminController) Add() {
self.Data["pageTitle"] = "新增管理员"
// 角色
filters := make([]interface{}, 0)
filters = append(filters, "status", 1)

View File

@@ -13,9 +13,10 @@ import (
"fmt"
"strconv"
"github.com/astaxie/beego"
"github.com/george518/PPGo_Job/models"
"strconv"
)
type ServerGroupController struct {
@@ -29,10 +30,12 @@ func (self *ServerGroupController) List() {
func (self *ServerGroupController) Add() {
self.Data["pageTitle"] = "新增分组"
self.Data["hideTop"] = true
self.display()
}
func (self *ServerGroupController) Edit() {
self.Data["pageTitle"] = "编辑分组"
self.Data["hideTop"] = true
id, _ := self.GetInt("id", 0)
group, _ := models.TaskGroupGetById(id)

View File

@@ -28,10 +28,10 @@ func (self *TaskController) List() {
self.Data["pageTitle"] = "任务管理"
self.Data["taskGroup"] = taskGroupLists(self.taskGroups, self.userId)
self.Data["groupId"] = 0
arr := strings.Split(self.Ctx.GetCookie("groupid"), "|")
if len(arr) > 0 {
self.Data["groupId"], _ = strconv.Atoi(arr[0])
}
//arr := strings.Split(self.Ctx.GetCookie("groupid"), "|")
//if len(arr) > 0 {
// self.Data["groupId"], _ = strconv.Atoi(arr[0])
//}
self.display()
}
@@ -498,21 +498,22 @@ func (self *TaskController) Table() {
//0-全部,-1如果存在n,如果不存在0
if groupId == -1 {
groupId = 0
arr := strings.Split(self.Ctx.GetCookie("groupid"), "|")
if len(arr) > 0 {
groupId, _ = strconv.Atoi(arr[0])
}
}
//if groupId == -1 {
// groupId = 0
// arr := strings.Split(self.Ctx.GetCookie("groupid"), "|")
// if len(arr) > 0 {
// groupId, _ = strconv.Atoi(arr[0])
// }
//}
if groupId > 0 {
self.Ctx.SetCookie("groupid", strconv.Itoa(groupId)+"|job")
}
//if groupId > 0 {
// self.Ctx.SetCookie("groupid", strconv.Itoa(groupId)+"|job")
//}
status, _ := self.GetInt("status")
taskName := strings.TrimSpace(self.GetString("taskName"))
taskName := strings.TrimSpace(self.GetString("task_name"))
StatusText := []string{
"<font color='red'><i class='fa fa-minus-square'></i></font>",
"<font color='green'><i class='fa fa-check-square'></i></font>",
@@ -552,6 +553,8 @@ func (self *TaskController) Table() {
filters = append(filters, "task_name__icontains", taskName)
}
//fmt.Println(filters, "----------", taskName)
result, count := models.TaskGetList(page, self.pageSize, filters...)
list := make([]map[string]interface{}, len(result))

View File

@@ -13,9 +13,10 @@ import (
"fmt"
"strconv"
"github.com/astaxie/beego"
"github.com/george518/PPGo_Job/models"
"strconv"
)
type GroupController struct {
@@ -29,11 +30,12 @@ func (self *GroupController) List() {
func (self *GroupController) Add() {
self.Data["pageTitle"] = "新增分组"
self.Data["hideTop"] = true
self.display()
}
func (self *GroupController) Edit() {
self.Data["pageTitle"] = "编辑分组"
self.Data["hideTop"] = true
id, _ := self.GetInt("id", 0)
group, _ := models.GroupGetById(id)
row := make(map[string]interface{})

View File

@@ -8,9 +8,10 @@
package jobs
import (
"sync"
"github.com/astaxie/beego"
"github.com/george518/PPGo_Job/crons"
"sync"
)
var (

View File

@@ -83,7 +83,7 @@ func TaskGetList(page, pageSize int, filters ...interface{}) ([]*Task, int64) {
}
}
total, _ := query.Count()
query.OrderBy("-id").Limit(pageSize, offset).All(&tasks)
query.OrderBy("-status", "task_name", "-id").Limit(pageSize, offset).All(&tasks)
return tasks, total
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,2 +1,2 @@
/** layui-v2.2.6 MIT License By https://www.layui.com */
/** layui-v2.4.3 MIT License By https://www.layui.com */
html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 269 KiB

After

Width:  |  Height:  |  Size: 274 KiB

Binary file not shown.

Binary file not shown.

View File

@@ -1,2 +1,2 @@
/** layui-v2.2.6 MIT License By https://www.layui.com */
/** layui-v2.4.3 MIT License By https://www.layui.com */
;layui.define("jquery",function(e){"use strict";var i=layui.$,n=(layui.hint(),layui.device(),{config:{},set:function(e){var n=this;return n.config=i.extend({},n.config,e),n},on:function(e,i){return layui.onevent.call(this,t,e,i)}}),t="carousel",a="layui-this",l=">*[carousel-item]>*",o="layui-carousel-left",r="layui-carousel-right",d="layui-carousel-prev",s="layui-carousel-next",u="layui-carousel-arrow",c="layui-carousel-ind",m=function(e){var t=this;t.config=i.extend({},t.config,n.config,e),t.render()};m.prototype.config={width:"600px",height:"280px",full:!1,arrow:"hover",indicator:"inside",autoplay:!0,interval:3e3,anim:"",trigger:"click",index:0},m.prototype.render=function(){var e=this,n=e.config;n.elem=i(n.elem),n.elem[0]&&(e.elemItem=n.elem.find(l),n.index<0&&(n.index=0),n.index>=e.elemItem.length&&(n.index=e.elemItem.length-1),n.interval<800&&(n.interval=800),n.full?n.elem.css({position:"fixed",width:"100%",height:"100%",zIndex:9999}):n.elem.css({width:n.width,height:n.height}),n.elem.attr("lay-anim",n.anim),e.elemItem.eq(n.index).addClass(a),e.elemItem.length<=1||(e.indicator(),e.arrow(),e.autoplay(),e.events()))},m.prototype.reload=function(e){var n=this;clearInterval(n.timer),n.config=i.extend({},n.config,e),n.render()},m.prototype.prevIndex=function(){var e=this,i=e.config,n=i.index-1;return n<0&&(n=e.elemItem.length-1),n},m.prototype.nextIndex=function(){var e=this,i=e.config,n=i.index+1;return n>=e.elemItem.length&&(n=0),n},m.prototype.addIndex=function(e){var i=this,n=i.config;e=e||1,n.index=n.index+e,n.index>=i.elemItem.length&&(n.index=0)},m.prototype.subIndex=function(e){var i=this,n=i.config;e=e||1,n.index=n.index-e,n.index<0&&(n.index=i.elemItem.length-1)},m.prototype.autoplay=function(){var e=this,i=e.config;i.autoplay&&(e.timer=setInterval(function(){e.slide()},i.interval))},m.prototype.arrow=function(){var e=this,n=e.config,t=i(['<button class="layui-icon '+u+'" lay-type="sub">'+("updown"===n.anim?"&#xe619;":"&#xe603;")+"</button>",'<button class="layui-icon '+u+'" lay-type="add">'+("updown"===n.anim?"&#xe61a;":"&#xe602;")+"</button>"].join(""));n.elem.attr("lay-arrow",n.arrow),n.elem.find("."+u)[0]&&n.elem.find("."+u).remove(),n.elem.append(t),t.on("click",function(){var n=i(this),t=n.attr("lay-type");e.slide(t)})},m.prototype.indicator=function(){var e=this,n=e.config,t=e.elemInd=i(['<div class="'+c+'"><ul>',function(){var i=[];return layui.each(e.elemItem,function(e){i.push("<li"+(n.index===e?' class="layui-this"':"")+"></li>")}),i.join("")}(),"</ul></div>"].join(""));n.elem.attr("lay-indicator",n.indicator),n.elem.find("."+c)[0]&&n.elem.find("."+c).remove(),n.elem.append(t),"updown"===n.anim&&t.css("margin-top",-(t.height()/2)),t.find("li").on("hover"===n.trigger?"mouseover":n.trigger,function(){var t=i(this),a=t.index();a>n.index?e.slide("add",a-n.index):a<n.index&&e.slide("sub",n.index-a)})},m.prototype.slide=function(e,i){var n=this,l=n.elemItem,u=n.config,c=u.index,m=u.elem.attr("lay-filter");n.haveSlide||("sub"===e?(n.subIndex(i),l.eq(u.index).addClass(d),setTimeout(function(){l.eq(c).addClass(r),l.eq(u.index).addClass(r)},50)):(n.addIndex(i),l.eq(u.index).addClass(s),setTimeout(function(){l.eq(c).addClass(o),l.eq(u.index).addClass(o)},50)),setTimeout(function(){l.removeClass(a+" "+d+" "+s+" "+o+" "+r),l.eq(u.index).addClass(a),n.haveSlide=!1},300),n.elemInd.find("li").eq(u.index).addClass(a).siblings().removeClass(a),n.haveSlide=!0,layui.event.call(this,t,"change("+m+")",{index:u.index,prevIndex:c,item:l.eq(u.index)}))},m.prototype.events=function(){var e=this,i=e.config;i.elem.data("haveEvents")||(i.elem.on("mouseenter",function(){clearInterval(e.timer)}).on("mouseleave",function(){e.autoplay()}),i.elem.data("haveEvents",!0))},n.render=function(e){var i=new m(e);return i},e(t,n)});

View File

@@ -1,2 +1,2 @@
/** layui-v2.2.6 MIT License By https://www.layui.com */
/** layui-v2.4.3 MIT License By https://www.layui.com */
;layui.define("jquery",function(e){"use strict";var a=layui.$,l="http://www.layui.com/doc/modules/code.html";e("code",function(e){var t=[];e=e||{},e.elem=a(e.elem||".layui-code"),e.about=!("about"in e)||e.about,e.elem.each(function(){t.push(this)}),layui.each(t.reverse(),function(t,i){var c=a(i),o=c.html();(c.attr("lay-encode")||e.encode)&&(o=o.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#39;").replace(/"/g,"&quot;")),c.html('<ol class="layui-code-ol"><li>'+o.replace(/[\r\t\n]+/g,"</li><li>")+"</li></ol>"),c.find(">.layui-code-h3")[0]||c.prepend('<h3 class="layui-code-h3">'+(c.attr("lay-title")||e.title||"code")+(e.about?'<a href="'+l+'" target="_blank">layui.code</a>':"")+"</h3>");var d=c.find(">.layui-code-ol");c.addClass("layui-box layui-code-view"),(c.attr("lay-skin")||e.skin)&&c.addClass("layui-code-"+(c.attr("lay-skin")||e.skin)),(d.find("li").length/100|0)>0&&d.css("margin-left",(d.find("li").length/100|0)+"px"),(c.attr("lay-height")||e.height)&&d.css("max-height",c.attr("lay-height")||e.height)})})}).addcss("modules/code.css","skincodecss");

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,2 +1,2 @@
/** layui-v2.2.6 MIT License By https://www.layui.com */
/** layui-v2.4.3 MIT License By https://www.layui.com */
;layui.define("jquery",function(e){"use strict";var l=layui.$,o=function(e){},t='<i class="layui-anim layui-anim-rotate layui-anim-loop layui-icon ">&#xe63e;</i>';o.prototype.load=function(e){var o,i,n,r,a=this,c=0;e=e||{};var f=l(e.elem);if(f[0]){var m=l(e.scrollElem||document),u=e.mb||50,s=!("isAuto"in e)||e.isAuto,v=e.end||"没有更多了",y=e.scrollElem&&e.scrollElem!==document,d="<cite>加载更多</cite>",h=l('<div class="layui-flow-more"><a href="javascript:;">'+d+"</a></div>");f.find(".layui-flow-more")[0]||f.append(h);var p=function(e,t){e=l(e),h.before(e),t=0==t||null,t?h.html(v):h.find("a").html(d),i=t,o=null,n&&n()},g=function(){o=!0,h.find("a").html(t),"function"==typeof e.done&&e.done(++c,p)};if(g(),h.find("a").on("click",function(){l(this);i||o||g()}),e.isLazyimg)var n=a.lazyimg({elem:e.elem+" img",scrollElem:e.scrollElem});return s?(m.on("scroll",function(){var e=l(this),t=e.scrollTop();r&&clearTimeout(r),i||(r=setTimeout(function(){var i=y?e.height():l(window).height(),n=y?e.prop("scrollHeight"):document.documentElement.scrollHeight;n-t-i<=u&&(o||g())},100))}),a):a}},o.prototype.lazyimg=function(e){var o,t=this,i=0;e=e||{};var n=l(e.scrollElem||document),r=e.elem||"img",a=e.scrollElem&&e.scrollElem!==document,c=function(e,l){var o=n.scrollTop(),r=o+l,c=a?function(){return e.offset().top-n.offset().top+o}():e.offset().top;if(c>=o&&c<=r&&!e.attr("src")){var m=e.attr("lay-src");layui.img(m,function(){var l=t.lazyimg.elem.eq(i);e.attr("src",m).removeAttr("lay-src"),l[0]&&f(l),i++})}},f=function(e,o){var f=a?(o||n).height():l(window).height(),m=n.scrollTop(),u=m+f;if(t.lazyimg.elem=l(r),e)c(e,f);else for(var s=0;s<t.lazyimg.elem.length;s++){var v=t.lazyimg.elem.eq(s),y=a?function(){return v.offset().top-n.offset().top+m}():v.offset().top;if(c(v,f),i=s,y>u)break}};if(f(),!o){var m;n.on("scroll",function(){var e=l(this);m&&clearTimeout(m),m=setTimeout(function(){f(null,e)},50)}),o=!0}return f},e("flow",new o)});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,2 +1,2 @@
/** layui-v2.2.6 MIT License By https://www.layui.com */
;layui.define(function(e){"use strict";var a=document,t="getElementById",n="getElementsByTagName",i="laypage",r="layui-disabled",u=function(e){var a=this;a.config=e||{},a.config.index=++s.index,a.render(!0)};u.prototype.type=function(){var e=this.config;if("object"==typeof e.elem)return void 0===e.elem.length?2:3},u.prototype.view=function(){var e=this,a=e.config,t=a.groups="groups"in a?0|a.groups:5;a.layout="object"==typeof a.layout?a.layout:["prev","page","next"],a.count=0|a.count,a.curr=0|a.curr||1,a.limits="object"==typeof a.limits?a.limits:[10,20,30,40,50],a.limit=0|a.limit||10,a.pages=Math.ceil(a.count/a.limit)||1,a.curr>a.pages&&(a.curr=a.pages),t<0?t=1:t>a.pages&&(t=a.pages),a.prev="prev"in a?a.prev:"&#x4E0A;&#x4E00;&#x9875;",a.next="next"in a?a.next:"&#x4E0B;&#x4E00;&#x9875;";var n=a.pages>t?Math.ceil((a.curr+(t>1?1:0))/(t>0?t:1)):1,i={prev:function(){return a.prev?'<a href="javascript:;" class="layui-laypage-prev'+(1==a.curr?" "+r:"")+'" data-page="'+(a.curr-1)+'">'+a.prev+"</a>":""}(),page:function(){var e=[];if(a.count<1)return"";n>1&&a.first!==!1&&0!==t&&e.push('<a href="javascript:;" class="layui-laypage-first" data-page="1" title="&#x9996;&#x9875;">'+(a.first||1)+"</a>");var i=Math.floor((t-1)/2),r=n>1?a.curr-i:1,u=n>1?function(){var e=a.curr+(t-i-1);return e>a.pages?a.pages:e}():t;for(u-r<t-1&&(r=u-t+1),a.first!==!1&&r>2&&e.push('<span class="layui-laypage-spr">&#x2026;</span>');r<=u;r++)r===a.curr?e.push('<span class="layui-laypage-curr"><em class="layui-laypage-em" '+(/^#/.test(a.theme)?'style="background-color:'+a.theme+';"':"")+"></em><em>"+r+"</em></span>"):e.push('<a href="javascript:;" data-page="'+r+'">'+r+"</a>");return a.pages>t&&a.pages>u&&a.last!==!1&&(u+1<a.pages&&e.push('<span class="layui-laypage-spr">&#x2026;</span>'),0!==t&&e.push('<a href="javascript:;" class="layui-laypage-last" title="&#x5C3E;&#x9875;" data-page="'+a.pages+'">'+(a.last||a.pages)+"</a>")),e.join("")}(),next:function(){return a.next?'<a href="javascript:;" class="layui-laypage-next'+(a.curr==a.pages?" "+r:"")+'" data-page="'+(a.curr+1)+'">'+a.next+"</a>":""}(),count:'<span class="layui-laypage-count"> '+a.count+" 条</span>",limit:function(){var e=['<span class="layui-laypage-limits"><select lay-ignore>'];return layui.each(a.limits,function(t,n){e.push('<option value="'+n+'"'+(n===a.limit?"selected":"")+">"+n+" 条/页</option>")}),e.join("")+"</select></span>"}(),skip:function(){return['<span class="layui-laypage-skip">&#x5230;&#x7B2C;','<input type="text" min="1" value="'+a.curr+'" class="layui-input">','&#x9875;<button type="button" class="layui-laypage-btn">&#x786e;&#x5b9a;</button>',"</span>"].join("")}()};return['<div class="layui-box layui-laypage layui-laypage-'+(a.theme?/^#/.test(a.theme)?"molv":a.theme:"default")+'" id="layui-laypage-'+a.index+'">',function(){var e=[];return layui.each(a.layout,function(a,t){i[t]&&e.push(i[t])}),e.join("")}(),"</div>"].join("")},u.prototype.jump=function(e,a){if(e){var t=this,i=t.config,r=e.children,u=e[n]("button")[0],l=e[n]("input")[0],p=e[n]("select")[0],c=function(){var e=0|l.value.replace(/\s|\D/g,"");e&&(i.curr=e,t.render())};if(a)return c();for(var o=0,y=r.length;o<y;o++)"a"===r[o].nodeName.toLowerCase()&&s.on(r[o],"click",function(){var e=0|this.getAttribute("data-page");e<1||e>i.pages||(i.curr=e,t.render())});p&&s.on(p,"change",function(){var e=this.value;i.curr*e>i.count&&(i.curr=Math.ceil(i.count/e)),i.limit=e,t.render()}),u&&s.on(u,"click",function(){c()})}},u.prototype.skip=function(e){if(e){var a=this,t=e[n]("input")[0];t&&s.on(t,"keyup",function(t){var n=this.value,i=t.keyCode;/^(37|38|39|40)$/.test(i)||(/\D/.test(n)&&(this.value=n.replace(/\D/,"")),13===i&&a.jump(e,!0))})}},u.prototype.render=function(e){var n=this,i=n.config,r=n.type(),u=n.view();2===r?i.elem&&(i.elem.innerHTML=u):3===r?i.elem.html(u):a[t](i.elem)&&(a[t](i.elem).innerHTML=u),i.jump&&i.jump(i,e);var s=a[t]("layui-laypage-"+i.index);n.jump(s),i.hash&&!e&&(location.hash="!"+i.hash+"="+i.curr),n.skip(s)};var s={render:function(e){var a=new u(e);return a.index},index:layui.laypage?layui.laypage.index+1e4:0,on:function(e,a,t){return e.attachEvent?e.attachEvent("on"+a,function(a){a.target=a.srcElement,t.call(e,a)}):e.addEventListener(a,t,!1),this}};e(i,s)});
/** layui-v2.4.3 MIT License By https://www.layui.com */
;layui.define(function(e){"use strict";var a=document,t="getElementById",n="getElementsByTagName",i="laypage",r="layui-disabled",u=function(e){var a=this;a.config=e||{},a.config.index=++s.index,a.render(!0)};u.prototype.type=function(){var e=this.config;if("object"==typeof e.elem)return void 0===e.elem.length?2:3},u.prototype.view=function(){var e=this,a=e.config,t=a.groups="groups"in a?0|a.groups:5;a.layout="object"==typeof a.layout?a.layout:["prev","page","next"],a.count=0|a.count,a.curr=0|a.curr||1,a.limits="object"==typeof a.limits?a.limits:[10,20,30,40,50],a.limit=0|a.limit||10,a.pages=Math.ceil(a.count/a.limit)||1,a.curr>a.pages&&(a.curr=a.pages),t<0?t=1:t>a.pages&&(t=a.pages),a.prev="prev"in a?a.prev:"&#x4E0A;&#x4E00;&#x9875;",a.next="next"in a?a.next:"&#x4E0B;&#x4E00;&#x9875;";var n=a.pages>t?Math.ceil((a.curr+(t>1?1:0))/(t>0?t:1)):1,i={prev:function(){return a.prev?'<a href="javascript:;" class="layui-laypage-prev'+(1==a.curr?" "+r:"")+'" data-page="'+(a.curr-1)+'">'+a.prev+"</a>":""}(),page:function(){var e=[];if(a.count<1)return"";n>1&&a.first!==!1&&0!==t&&e.push('<a href="javascript:;" class="layui-laypage-first" data-page="1" title="&#x9996;&#x9875;">'+(a.first||1)+"</a>");var i=Math.floor((t-1)/2),r=n>1?a.curr-i:1,u=n>1?function(){var e=a.curr+(t-i-1);return e>a.pages?a.pages:e}():t;for(u-r<t-1&&(r=u-t+1),a.first!==!1&&r>2&&e.push('<span class="layui-laypage-spr">&#x2026;</span>');r<=u;r++)r===a.curr?e.push('<span class="layui-laypage-curr"><em class="layui-laypage-em" '+(/^#/.test(a.theme)?'style="background-color:'+a.theme+';"':"")+"></em><em>"+r+"</em></span>"):e.push('<a href="javascript:;" data-page="'+r+'">'+r+"</a>");return a.pages>t&&a.pages>u&&a.last!==!1&&(u+1<a.pages&&e.push('<span class="layui-laypage-spr">&#x2026;</span>'),0!==t&&e.push('<a href="javascript:;" class="layui-laypage-last" title="&#x5C3E;&#x9875;" data-page="'+a.pages+'">'+(a.last||a.pages)+"</a>")),e.join("")}(),next:function(){return a.next?'<a href="javascript:;" class="layui-laypage-next'+(a.curr==a.pages?" "+r:"")+'" data-page="'+(a.curr+1)+'">'+a.next+"</a>":""}(),count:'<span class="layui-laypage-count"> '+a.count+" 条</span>",limit:function(){var e=['<span class="layui-laypage-limits"><select lay-ignore>'];return layui.each(a.limits,function(t,n){e.push('<option value="'+n+'"'+(n===a.limit?"selected":"")+">"+n+" 条/页</option>")}),e.join("")+"</select></span>"}(),refresh:['<a href="javascript:;" data-page="'+a.curr+'" class="layui-laypage-refresh">','<i class="layui-icon layui-icon-refresh"></i>',"</a>"].join(""),skip:function(){return['<span class="layui-laypage-skip">&#x5230;&#x7B2C;','<input type="text" min="1" value="'+a.curr+'" class="layui-input">','&#x9875;<button type="button" class="layui-laypage-btn">&#x786e;&#x5b9a;</button>',"</span>"].join("")}()};return['<div class="layui-box layui-laypage layui-laypage-'+(a.theme?/^#/.test(a.theme)?"molv":a.theme:"default")+'" id="layui-laypage-'+a.index+'">',function(){var e=[];return layui.each(a.layout,function(a,t){i[t]&&e.push(i[t])}),e.join("")}(),"</div>"].join("")},u.prototype.jump=function(e,a){if(e){var t=this,i=t.config,r=e.children,u=e[n]("button")[0],l=e[n]("input")[0],p=e[n]("select")[0],c=function(){var e=0|l.value.replace(/\s|\D/g,"");e&&(i.curr=e,t.render())};if(a)return c();for(var o=0,y=r.length;o<y;o++)"a"===r[o].nodeName.toLowerCase()&&s.on(r[o],"click",function(){var e=0|this.getAttribute("data-page");e<1||e>i.pages||(i.curr=e,t.render())});p&&s.on(p,"change",function(){var e=this.value;i.curr*e>i.count&&(i.curr=Math.ceil(i.count/e)),i.limit=e,t.render()}),u&&s.on(u,"click",function(){c()})}},u.prototype.skip=function(e){if(e){var a=this,t=e[n]("input")[0];t&&s.on(t,"keyup",function(t){var n=this.value,i=t.keyCode;/^(37|38|39|40)$/.test(i)||(/\D/.test(n)&&(this.value=n.replace(/\D/,"")),13===i&&a.jump(e,!0))})}},u.prototype.render=function(e){var n=this,i=n.config,r=n.type(),u=n.view();2===r?i.elem&&(i.elem.innerHTML=u):3===r?i.elem.html(u):a[t](i.elem)&&(a[t](i.elem).innerHTML=u),i.jump&&i.jump(i,e);var s=a[t]("layui-laypage-"+i.index);n.jump(s),i.hash&&!e&&(location.hash="!"+i.hash+"="+i.curr),n.skip(s)};var s={render:function(e){var a=new u(e);return a.index},index:layui.laypage?layui.laypage.index+1e4:0,on:function(e,a,t){return e.attachEvent?e.attachEvent("on"+a,function(a){a.target=a.srcElement,t.call(e,a)}):e.addEventListener(a,t,!1),this}};e(i,s)});

View File

@@ -1,2 +1,2 @@
/** layui-v2.2.6 MIT License By https://www.layui.com */
/** layui-v2.4.3 MIT License By https://www.layui.com */
;layui.define(function(e){"use strict";var r={open:"{{",close:"}}"},c={exp:function(e){return new RegExp(e,"g")},query:function(e,c,t){var o=["#([\\s\\S])+?","([^{#}])*?"][e||0];return n((c||"")+r.open+o+r.close+(t||""))},escape:function(e){return String(e||"").replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#39;").replace(/"/g,"&quot;")},error:function(e,r){var c="Laytpl Error";return"object"==typeof console&&console.error(c+e+"\n"+(r||"")),c+e}},n=c.exp,t=function(e){this.tpl=e};t.pt=t.prototype,window.errors=0,t.pt.parse=function(e,t){var o=this,p=e,a=n("^"+r.open+"#",""),l=n(r.close+"$","");e=e.replace(/\s+|\r|\t|\n/g," ").replace(n(r.open+"#"),r.open+"# ").replace(n(r.close+"}"),"} "+r.close).replace(/\\/g,"\\\\").replace(n(r.open+"!(.+?)!"+r.close),function(e){return e=e.replace(n("^"+r.open+"!"),"").replace(n("!"+r.close),"").replace(n(r.open+"|"+r.close),function(e){return e.replace(/(.)/g,"\\$1")})}).replace(/(?="|')/g,"\\").replace(c.query(),function(e){return e=e.replace(a,"").replace(l,""),'";'+e.replace(/\\/g,"")+';view+="'}).replace(c.query(1),function(e){var c='"+(';return e.replace(/\s/g,"")===r.open+r.close?"":(e=e.replace(n(r.open+"|"+r.close),""),/^=/.test(e)&&(e=e.replace(/^=/,""),c='"+_escape_('),c+e.replace(/\\/g,"")+')+"')}),e='"use strict";var view = "'+e+'";return view;';try{return o.cache=e=new Function("d, _escape_",e),e(t,c.escape)}catch(u){return delete o.cache,c.error(u,p)}},t.pt.render=function(e,r){var n,t=this;return e?(n=t.cache?t.cache(e,c.escape):t.parse(t.tpl,e),r?void r(n):n):c.error("no data")};var o=function(e){return"string"!=typeof e?c.error("Template not found"):new t(e)};o.config=function(e){e=e||{};for(var c in e)r[c]=e[c]},o.v="1.2.0",e("laytpl",o)});

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,2 @@
/** layui-v2.4.3 MIT License By https://www.layui.com */
;layui.define("jquery",function(e){"use strict";var a=layui.jquery,i={config:{},index:layui.rate?layui.rate.index+1e4:0,set:function(e){var i=this;return i.config=a.extend({},i.config,e),i},on:function(e,a){return layui.onevent.call(this,n,e,a)}},l=function(){var e=this,a=e.config;return{setvalue:function(a){e.setvalue.call(e,a)},config:a}},n="rate",t="layui-rate",o="layui-icon-rate",s="layui-icon-rate-solid",u="layui-icon-rate-half",r="layui-icon-rate-solid layui-icon-rate-half",c="layui-icon-rate-solid layui-icon-rate",f="layui-icon-rate layui-icon-rate-half",v=function(e){var l=this;l.index=++i.index,l.config=a.extend({},l.config,i.config,e),l.render()};v.prototype.config={length:5,text:!1,readonly:!1,half:!1,value:0,theme:""},v.prototype.render=function(){var e=this,i=e.config,l=i.theme?'style="color: '+i.theme+';"':"";i.elem=a(i.elem),parseInt(i.value)!==i.value&&(i.half||(i.value=Math.ceil(i.value)-i.value<.5?Math.ceil(i.value):Math.floor(i.value)));for(var n='<ul class="layui-rate" '+(i.readonly?"readonly":"")+">",u=1;u<=i.length;u++){var r='<li class="layui-inline"><i class="layui-icon '+(u>Math.floor(i.value)?o:s)+'" '+l+"></i></li>";i.half&&parseInt(i.value)!==i.value&&u==Math.ceil(i.value)?n=n+'<li><i class="layui-icon layui-icon-rate-half" '+l+"></i></li>":n+=r}n+="</ul>"+(i.text?'<span class="layui-inline">'+i.value+"星":"")+"</span>";var c=i.elem,f=c.next("."+t);f[0]&&f.remove(),e.elemTemp=a(n),i.span=e.elemTemp.next("span"),i.setText&&i.setText(i.value),c.html(e.elemTemp),c.addClass("layui-inline"),i.readonly||e.action()},v.prototype.setvalue=function(e){var a=this,i=a.config;i.value=e,a.render()},v.prototype.action=function(){var e=this,i=e.config,l=e.elemTemp,n=l.find("i").width();l.children("li").each(function(e){var t=e+1,v=a(this);v.on("click",function(e){if(i.value=t,i.half){var o=e.pageX-a(this).offset().left;o<=n/2&&(i.value=i.value-.5)}i.text&&l.next("span").text(i.value+"星"),i.choose&&i.choose(i.value),i.setText&&i.setText(i.value)}),v.on("mousemove",function(e){if(l.find("i").each(function(){a(this).addClass(o).removeClass(r)}),l.find("i:lt("+t+")").each(function(){a(this).addClass(s).removeClass(f)}),i.half){var c=e.pageX-a(this).offset().left;c<=n/2&&v.children("i").addClass(u).removeClass(s)}}),v.on("mouseleave",function(){l.find("i").each(function(){a(this).addClass(o).removeClass(r)}),l.find("i:lt("+Math.floor(i.value)+")").each(function(){a(this).addClass(s).removeClass(f)}),i.half&&parseInt(i.value)!==i.value&&l.children("li:eq("+Math.floor(i.value)+")").children("i").addClass(u).removeClass(c)})})},v.prototype.events=function(){var e=this;e.config},i.render=function(e){var a=new v(e);return l.call(a)},e(n,i)});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,2 +1,2 @@
/** layui-v2.2.6 MIT License By https://www.layui.com */
/** layui-v2.4.3 MIT License By https://www.layui.com */
;layui.define("jquery",function(e){"use strict";var o=layui.$,a=layui.hint(),i="layui-tree-enter",r=function(e){this.options=e},t={arrow:["&#xe623;","&#xe625;"],checkbox:["&#xe626;","&#xe627;"],radio:["&#xe62b;","&#xe62a;"],branch:["&#xe622;","&#xe624;"],leaf:"&#xe621;"};r.prototype.init=function(e){var o=this;e.addClass("layui-box layui-tree"),o.options.skin&&e.addClass("layui-tree-skin-"+o.options.skin),o.tree(e),o.on(e)},r.prototype.tree=function(e,a){var i=this,r=i.options,n=a||r.nodes;layui.each(n,function(a,n){var l=n.children&&n.children.length>0,c=o('<ul class="'+(n.spread?"layui-show":"")+'"></ul>'),s=o(["<li "+(n.spread?'data-spread="'+n.spread+'"':"")+">",function(){return l?'<i class="layui-icon layui-tree-spread">'+(n.spread?t.arrow[1]:t.arrow[0])+"</i>":""}(),function(){return r.check?'<i class="layui-icon layui-tree-check">'+("checkbox"===r.check?t.checkbox[0]:"radio"===r.check?t.radio[0]:"")+"</i>":""}(),function(){return'<a href="'+(n.href||"javascript:;")+'" '+(r.target&&n.href?'target="'+r.target+'"':"")+">"+('<i class="layui-icon layui-tree-'+(l?"branch":"leaf")+'">'+(l?n.spread?t.branch[1]:t.branch[0]:t.leaf)+"</i>")+("<cite>"+(n.name||"未命名")+"</cite></a>")}(),"</li>"].join(""));l&&(s.append(c),i.tree(c,n.children)),e.append(s),"function"==typeof r.click&&i.click(s,n),i.spread(s,n),r.drag&&i.drag(s,n)})},r.prototype.click=function(e,o){var a=this,i=a.options;e.children("a").on("click",function(e){layui.stope(e),i.click(o)})},r.prototype.spread=function(e,o){var a=this,i=(a.options,e.children(".layui-tree-spread")),r=e.children("ul"),n=e.children("a"),l=function(){e.data("spread")?(e.data("spread",null),r.removeClass("layui-show"),i.html(t.arrow[0]),n.find(".layui-icon").html(t.branch[0])):(e.data("spread",!0),r.addClass("layui-show"),i.html(t.arrow[1]),n.find(".layui-icon").html(t.branch[1]))};r[0]&&(i.on("click",l),n.on("dblclick",l))},r.prototype.on=function(e){var a=this,r=a.options,t="layui-tree-drag";e.find("i").on("selectstart",function(e){return!1}),r.drag&&o(document).on("mousemove",function(e){var i=a.move;if(i.from){var r=(i.to,o('<div class="layui-box '+t+'"></div>'));e.preventDefault(),o("."+t)[0]||o("body").append(r);var n=o("."+t)[0]?o("."+t):r;n.addClass("layui-show").html(i.from.elem.children("a").html()),n.css({left:e.pageX+10,top:e.pageY+10})}}).on("mouseup",function(){var e=a.move;e.from&&(e.from.elem.children("a").removeClass(i),e.to&&e.to.elem.children("a").removeClass(i),a.move={},o("."+t).remove())})},r.prototype.move={},r.prototype.drag=function(e,a){var r=this,t=(r.options,e.children("a")),n=function(){var t=o(this),n=r.move;n.from&&(n.to={item:a,elem:e},t.addClass(i))};t.on("mousedown",function(){var o=r.move;o.from={item:a,elem:e}}),t.on("mouseenter",n).on("mousemove",n).on("mouseleave",function(){var e=o(this),a=r.move;a.from&&(delete a.to,e.removeClass(i))})},e("tree",function(e){var i=new r(e=e||{}),t=o(e.elem);return t[0]?void i.init(t):a.error("layui.tree 没有找到"+e.elem+"元素")})});

File diff suppressed because one or more lines are too long

View File

@@ -1,2 +1,2 @@
/** layui-v2.2.6 MIT License By https://www.layui.com */
;layui.define("jquery",function(e){"use strict";var t=layui.$,i={fixbar:function(e){var i,o,a="layui-fixbar",r="layui-fixbar-top",n=t(document),l=t("body");e=t.extend({showHeight:200},e),e.bar1=e.bar1===!0?"&#xe606;":e.bar1,e.bar2=e.bar2===!0?"&#xe607;":e.bar2,e.bgcolor=e.bgcolor?"background-color:"+e.bgcolor:"";var c=[e.bar1,e.bar2,"&#xe604;"],g=t(['<ul class="'+a+'">',e.bar1?'<li class="layui-icon" lay-type="bar1" style="'+e.bgcolor+'">'+c[0]+"</li>":"",e.bar2?'<li class="layui-icon" lay-type="bar2" style="'+e.bgcolor+'">'+c[1]+"</li>":"",'<li class="layui-icon '+r+'" lay-type="top" style="'+e.bgcolor+'">'+c[2]+"</li>","</ul>"].join("")),s=g.find("."+r),u=function(){var t=n.scrollTop();t>=e.showHeight?i||(s.show(),i=1):i&&(s.hide(),i=0)};t("."+a)[0]||("object"==typeof e.css&&g.css(e.css),l.append(g),u(),g.find("li").on("click",function(){var i=t(this),o=i.attr("lay-type");"top"===o&&t("html,body").animate({scrollTop:0},200),e.click&&e.click.call(this,o)}),n.on("scroll",function(){clearTimeout(o),o=setTimeout(function(){u()},100)}))},countdown:function(e,t,i){var o=this,a="function"==typeof t,r=new Date(e).getTime(),n=new Date(!t||a?(new Date).getTime():t).getTime(),l=r-n,c=[Math.floor(l/864e5),Math.floor(l/36e5)%24,Math.floor(l/6e4)%60,Math.floor(l/1e3)%60];a&&(i=t);var g=setTimeout(function(){o.countdown(e,n+1e3,i)},1e3);return i&&i(l>0?c:[0,0,0,0],t,g),l<=0&&clearTimeout(g),g},timeAgo:function(e,t){var i=this,o=[[],[]],a=(new Date).getTime()-new Date(e).getTime();return a>6912e5?(a=new Date(e),o[0][0]=i.digit(a.getFullYear(),4),o[0][1]=i.digit(a.getMonth()+1),o[0][2]=i.digit(a.getDate()),t||(o[1][0]=i.digit(a.getHours()),o[1][1]=i.digit(a.getMinutes()),o[1][2]=i.digit(a.getSeconds())),o[0].join("-")+" "+o[1].join(":")):a>=864e5?(a/1e3/60/60/24|0)+"天前":a>=36e5?(a/1e3/60/60|0)+"小时前":a>=12e4?(a/1e3/60|0)+"分钟前":a<0?"未来":"刚刚"},digit:function(e,t){var i="";e=String(e),t=t||2;for(var o=e.length;o<t;o++)i+="0";return e<Math.pow(10,t)?i+(0|e):e},toDateString:function(e,t){var i=this,o=new Date(e||new Date),a=[i.digit(o.getFullYear(),4),i.digit(o.getMonth()+1),i.digit(o.getDate())],r=[i.digit(o.getHours()),i.digit(o.getMinutes()),i.digit(o.getSeconds())];return t=t||"yyyy-MM-dd HH:mm:ss",t.replace(/yyyy/g,a[0]).replace(/MM/g,a[1]).replace(/dd/g,a[2]).replace(/HH/g,r[0]).replace(/mm/g,r[1]).replace(/ss/g,r[2])}};e("util",i)});
/** layui-v2.4.3 MIT License By https://www.layui.com */
;layui.define("jquery",function(t){"use strict";var e=layui.$,i={fixbar:function(t){var i,a,n="layui-fixbar",r="layui-fixbar-top",o=e(document),l=e("body");t=e.extend({showHeight:200},t),t.bar1=t.bar1===!0?"&#xe606;":t.bar1,t.bar2=t.bar2===!0?"&#xe607;":t.bar2,t.bgcolor=t.bgcolor?"background-color:"+t.bgcolor:"";var c=[t.bar1,t.bar2,"&#xe604;"],g=e(['<ul class="'+n+'">',t.bar1?'<li class="layui-icon" lay-type="bar1" style="'+t.bgcolor+'">'+c[0]+"</li>":"",t.bar2?'<li class="layui-icon" lay-type="bar2" style="'+t.bgcolor+'">'+c[1]+"</li>":"",'<li class="layui-icon '+r+'" lay-type="top" style="'+t.bgcolor+'">'+c[2]+"</li>","</ul>"].join("")),s=g.find("."+r),u=function(){var e=o.scrollTop();e>=t.showHeight?i||(s.show(),i=1):i&&(s.hide(),i=0)};e("."+n)[0]||("object"==typeof t.css&&g.css(t.css),l.append(g),u(),g.find("li").on("click",function(){var i=e(this),a=i.attr("lay-type");"top"===a&&e("html,body").animate({scrollTop:0},200),t.click&&t.click.call(this,a)}),o.on("scroll",function(){clearTimeout(a),a=setTimeout(function(){u()},100)}))},countdown:function(t,e,i){var a=this,n="function"==typeof e,r=new Date(t).getTime(),o=new Date(!e||n?(new Date).getTime():e).getTime(),l=r-o,c=[Math.floor(l/864e5),Math.floor(l/36e5)%24,Math.floor(l/6e4)%60,Math.floor(l/1e3)%60];n&&(i=e);var g=setTimeout(function(){a.countdown(t,o+1e3,i)},1e3);return i&&i(l>0?c:[0,0,0,0],e,g),l<=0&&clearTimeout(g),g},timeAgo:function(t,e){var i=this,a=[[],[]],n=(new Date).getTime()-new Date(t).getTime();return n>6912e5?(n=new Date(t),a[0][0]=i.digit(n.getFullYear(),4),a[0][1]=i.digit(n.getMonth()+1),a[0][2]=i.digit(n.getDate()),e||(a[1][0]=i.digit(n.getHours()),a[1][1]=i.digit(n.getMinutes()),a[1][2]=i.digit(n.getSeconds())),a[0].join("-")+" "+a[1].join(":")):n>=864e5?(n/1e3/60/60/24|0)+"天前":n>=36e5?(n/1e3/60/60|0)+"小时前":n>=12e4?(n/1e3/60|0)+"分钟前":n<0?"未来":"刚刚"},digit:function(t,e){var i="";t=String(t),e=e||2;for(var a=t.length;a<e;a++)i+="0";return t<Math.pow(10,e)?i+(0|t):t},toDateString:function(t,e){var i=this,a=new Date(t||new Date),n=[i.digit(a.getFullYear(),4),i.digit(a.getMonth()+1),i.digit(a.getDate())],r=[i.digit(a.getHours()),i.digit(a.getMinutes()),i.digit(a.getSeconds())];return e=e||"yyyy-MM-dd HH:mm:ss",e.replace(/yyyy/g,n[0]).replace(/MM/g,n[1]).replace(/dd/g,n[2]).replace(/HH/g,r[0]).replace(/mm/g,r[1]).replace(/ss/g,r[2])},escape:function(t){return String(t||"").replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#39;").replace(/"/g,"&quot;")}};!function(t,e,i){"$:nomunge";function a(){n=e[l](function(){r.each(function(){var e=t(this),i=e.width(),a=e.height(),n=t.data(this,g);(i!==n.w||a!==n.h)&&e.trigger(c,[n.w=i,n.h=a])}),a()},o[s])}var n,r=t([]),o=t.resize=t.extend(t.resize,{}),l="setTimeout",c="resize",g=c+"-special-event",s="delay",u="throttleWindow";o[s]=250,o[u]=!0,t.event.special[c]={setup:function(){if(!o[u]&&this[l])return!1;var e=t(this);r=r.add(e),t.data(this,g,{w:e.width(),h:e.height()}),1===r.length&&a()},teardown:function(){if(!o[u]&&this[l])return!1;var e=t(this);r=r.not(e),e.removeData(g),r.length||clearTimeout(n)},add:function(e){function a(e,a,r){var o=t(this),l=t.data(this,g)||{};l.w=a!==i?a:o.width(),l.h=r!==i?r:o.height(),n.apply(this,arguments)}if(!o[u]&&this[l])return!1;var n;return t.isFunction(e)?(n=e,a):(n=e.handler,void(e.handler=a))}}}(e,window),t("util",i)});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -101,7 +101,7 @@ var $;
$.post('{{urlfor "AdminController.AjaxSave"}}', form_data, function (out) {
if (out.status == 0) {
layer.msg("操作成功",{icon: 1,shade:0.3,time:1000},function () {
window.history.go(-1)
window.location.reload()
})
} else {
layer.msg(out.message)

View File

@@ -1,7 +1,7 @@
<div class="layui-layout layui-layout-admin" style="padding-left: 20px;">
<div class="layui-row" style="margin-top: 20px;">
<div class="layui-col-xs6">
<a class="layui-btn" data-type="tabAdd" href="/admin/add">新增</a>
<button class="layui-btn" data-type="tabAdd" id="add">新增</button>
</div>
<div class="layui-col-xs6 search_text">
<form class="layui-form" action="" onsubmit="javascript:return false;">
@@ -70,11 +70,17 @@
}
};
$("#add").on("click",function() {
window.parent.openTab("/admin/add",'新增用户',"admin_user_add-0",'fa-plus');
})
//监听工具条
table.on('tool(table_filter)', function(obj){
var data = obj.data;
var real_name = data.real_name;
if(obj.event === 'edit'){
window.location.href="/admin/edit?id="+data.id
// window.location.href="/admin/edit?id="+data.id
window.parent.openTab("/admin/edit?id="+data.id,real_name+' 用户编辑',"admin_user_edit-"+data.id,'fa-edit');
} else if(obj.event === 'status'){
acts = "禁用";

View File

@@ -1,9 +1,5 @@
<div class="layui-layout layui-layout-admin" style="padding-left: 40px;margin-top: 20px;">
<div style="margin: 10px 0px">
<blockquote class="layui-elem-quote">
说明新建任务分组
</blockquote>
</div>
<form class="layui-form" action="" method="post" >
<div class="layui-form-item">
<label class="layui-form-label">分组名称</label>
@@ -15,7 +11,7 @@
<div class="layui-form-item">
<label class="layui-form-label">分组说明</label>
<div class="layui-input-inline" style="min-width: 400px;">
<div class="layui-input-inline" style="min-width: 300px;">
<textarea name="description" id="description" placeholder="请输入内容" class="layui-textarea"></textarea>
</div>
@@ -30,14 +26,14 @@
</form>
</div>
<script>
var $;
layui.use(['form','element','layer','jquery'],function(){
var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
var $ = layui.jquery;
var error_info = "{{.flash.error}}";
if(error_info){
layer.msg(error_info,{icon: 2,shade:0.3},function () {
window.history.go(-1)
layer.msg(error_info,{icon: 2},function () {
window.parent.layer.closeAll();
window.parent.location.reload();
})
return;
}
@@ -45,8 +41,9 @@ var $;
var form_data = $("form").serialize();
$.post('{{urlfor "GroupController.AjaxSave"}}', form_data, function (out) {
if (out.status == 0) {
layer.msg("操作成功",{icon: 1,shade:0.3,time:1000},function () {
window.history.go(-1)
layer.msg("操作成功",{icon: 1,shade:0.5,time:1000},function () {
window.parent.layer.closeAll();
window.parent.location.reload();
})
} else {
layer.msg(out.message)
@@ -54,9 +51,9 @@ var $;
}, "json");
return false;
});
//但是如果你的HTML是动态生成的自动渲染就会失效
//因此你需要在相应的地方,执行下述方法来手动渲染,跟这类似的还有 element.init();
form.render();
});
//但是如果你的HTML是动态生成的自动渲染就会失效
//因此你需要在相应的地方,执行下述方法来手动渲染,跟这类似的还有 element.init();
form.render();
});
</script>

View File

@@ -1,9 +1,5 @@
<div class="layui-layout layui-layout-admin" style="padding-left: 40px;margin-top: 20px;">
<div style="margin: 10px 0px">
<blockquote class="layui-elem-quote">
说明编辑任务分组
</blockquote>
</div>
<form class="layui-form" action="" method="post" >
<div class="layui-form-item">
<label class="layui-form-label">分组名称</label>
@@ -15,7 +11,7 @@
<div class="layui-form-item">
<label class="layui-form-label">分组说明</label>
<div class="layui-input-inline" style="min-width: 400px;">
<div class="layui-input-inline" style="min-width: 300px;">
<textarea name="description" id="description" placeholder="请输入内容" class="layui-textarea">{{.group.description}}</textarea>
</div>
@@ -36,8 +32,10 @@
var $ = layui.jquery;
var error_info = "{{.flash.error}}";
if(error_info){
layer.msg(error_info,{icon: 2,shade:0.3},function () {
window.history.go(-1)
layer.msg(error_info,{icon: 2},function () {
// window.history.go(-1)
window.parent.layer.closeAll();
window.parent.location.reload();
})
return;
}
@@ -45,8 +43,10 @@
var form_data = $("form").serialize();
$.post('{{urlfor "GroupController.AjaxSave"}}', form_data, function (out) {
if (out.status == 0) {
layer.msg("操作成功",{icon: 1,shade:0.3,time:1000},function () {
window.history.go(-1)
layer.msg("操作成功",{icon: 1,shade:0.5,time:1000},function () {
// window.history.go(-1)
window.parent.layer.closeAll();
window.parent.location.reload();
})
} else {
layer.msg(out.message)

View File

@@ -1,7 +1,7 @@
<div class="layui-layout layui-layout-admin" style="padding-left: 20px;">
<div class="layui-row" style="margin-top: 20px;">
<div class="layui-col-xs6">
<a class="layui-btn" data-type="tabAdd" href="/group/add">新增</a>
<button class="layui-btn" data-type="tabAdd" id="add">新增</button>
</div>
<div class="layui-col-xs6 search_text">
<form class="layui-form" action="" onsubmit="javascript:return false;">
@@ -67,11 +67,26 @@
}
};
$("#add").on("click",function() {
layer.open({
title:'添加分组',
type: 2,
area: ['560px', '300px'],
content: ["/group/add",'no'],
});
})
//监听工具条
table.on('tool(table_filter)', function(obj){
var data = obj.data;
if(obj.event === 'edit'){
window.location.href="/group/edit?id="+data.id
// window.location.href="/group/edit?id="+data.id
layer.open({
title:'编辑分组',
type: 2,
area: ['560px', '300px'],
content: ["/group/edit?id="+data.id,'no'],
});
} else if(obj.event === 'del'){
layer.confirm('真的删除'+data.group_name+'分组么', function(index){

View File

@@ -12,17 +12,21 @@
<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>
<style>
.modal-hide{
display: none;
}
</style>
<body>
<!-- 公共头部 start-->
<div class="nav-title">
<div class="nav-title {{if .hideTop}} modal-hide {{end}}">
<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>
<i class="fa fa-clock-o fa-spin" style="font-size: 18px;" aria-hidden="true"></i>
{{.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>
</div>
</div>
<!-- 公共头部 end-->
@@ -30,16 +34,16 @@
{{.LayoutContent}}
<script>
{{/*<script>*/}}
layui.use(['table','form','element'], function(){
var table = layui.table;
var form = layui.form;
var element = layui.element;
{{/*layui.use(['table','form','element'], function(){*/}}
{{/*var table = layui.table;*/}}
{{/*var form = layui.form;*/}}
{{/*var element = layui.element;*/}}
});
{{/*});*/}}
</script>
{{/*</script>*/}}
</body>

View File

@@ -52,7 +52,7 @@
{{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}}">
<a data-url="{{$e.AuthUrl}}" data-icon="{{$e.Icon}}" data-title="{{$e.AuthName}}" class="pointer" data-id="{{$e.Id}}">
<i class="fa {{$e.Icon}}"></i> &nbsp;&nbsp;<span>{{$e.AuthName}}</span>
</a>
</dd>
@@ -91,13 +91,59 @@
<script>
//JavaScript代码区域
var $;
var element;
var width,height;
function delHtmlTag(str){
return str.replace(/<[^>]+>/g,"");//去掉所有的html标记
}
function getDelimiterLastString(str,delimiter) {
arr = str.split(delimiter);
if (arr.length>1){
return arr[arr.length-1];
}
return str;
}
function openTab(url,title,id,icon){
if (!url || !title || !id) {
return;
}
if (!icon) {
icon = " fa-clock-o ";
}
//判断是否存在
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);
}
}
layui.use(['element','jquery','layer'], function(){
var element = layui.element;
element = layui.element;
$ = layui.jquery;
var layer = layui.layer;
var width,height;
//frame大小适应开始
resizeFrame();
window.onresize = function(){
@@ -143,6 +189,7 @@
var title = elem.attr('data-title');
var id = elem.attr('data-id');
var icon = elem.attr('data-icon');
if (!url || !title || !id) {
return;
}

View File

@@ -85,6 +85,7 @@ var $,form;
if(error_info){
layer.msg(error_info,{icon: 2,shade:0.3},function () {
window.history.go(-1)
// window.location.reload();
})
return;
}
@@ -144,7 +145,8 @@ var $,form;
$.post('{{urlfor "RoleController.AjaxSave"}}', data, function (out) {
if (out.status == 0) {
layer.alert('保存成功了', {icon: 1,shade:0.3,time:1000},function(index){
window.history.go(-1)
// window.history.go(-1)
window.location.reload();
});
} else {
layer.msg(out.message)

View File

@@ -148,9 +148,10 @@ var $,form;
// return;
$.post('{{urlfor "RoleController.AjaxSave"}}', data, function (out) {
if (out.status == 0) {
layer.msg('保存成功了', {icon: 1,shade:0.3,time:1000},function(index){
layer.close(index);
window.location.href="/role/list"
layer.msg('保存成功了,去列表页查看', {icon: 1,shade:0.3,time:1000},function(index){
// layer.close(index);
// window.location.href="/role/list"
window.location.reload()
});
} else {
layer.msg(out.message)

View File

@@ -1,7 +1,7 @@
<div class="layui-layout layui-layout-admin" style="padding-left: 20px;">
<div class="layui-row" style="margin-top: 20px;">
<div class="layui-col-xs6">
<a class="layui-btn" data-type="tabAdd" href="/role/add">新增</a>
<button class="layui-btn" data-type="tabAdd" id="add">新增</button>
</div>
<div class="layui-col-xs6 search_text">
<form class="layui-form" action="" onsubmit="javascript:return false;">
@@ -65,9 +65,14 @@
var type = $(this).data('type');
active[type] ? active[type].call(this) : '';
});
$("#add").on("click",function() {
window.parent.openTab("/role/add",'新增角色',"admin_role_add-0",'fa-plus');
})
//监听工具条
table.on('tool(table_filter)', function(obj){
var data = obj.data;
var role_name = data.role_name;
if(obj.event === 'detail'){
//layer.msg('ID'+ data.id + ' 的查看操作');
} else if(obj.event === 'del'){
@@ -87,7 +92,7 @@
layer.close(index);
});
} else if(obj.event === 'edit'){
window.location.href="/role/edit?id="+data.id
window.parent.openTab("/role/edit?id="+data.id,role_name+' 角色编辑',"admin_role-"+data.id,'fa-edit');
}
});
});

View File

@@ -145,7 +145,8 @@
$.post('{{urlfor "ServerController.AjaxSave"}}', form_data, function (out) {
if (out.status == 0) {
layer.msg("操作成功",{icon: 1,shade:0.3,time:1000},function () {
window.history.go(-1)
// window.history.go(-1)//
window.location.reload()
})
} else {
layer.msg(out.message)

View File

@@ -143,7 +143,8 @@
$.post('{{urlfor "ServerController.AjaxSave"}}', form_data, function (out) {
if (out.status == 0) {
layer.msg("操作成功",{icon: 1,shade:0.3,time:1000},function () {
window.location.href = "/server/list"
//window.location.href = "/server/list"
windwo.location.reload();
})
} else {
layer.msg(out.message)

View File

@@ -144,7 +144,8 @@
$.post('{{urlfor "ServerController.AjaxSave"}}', form_data, function (out) {
if (out.status == 0) {
layer.msg("操作成功",{icon: 1,shade:0.3,time:1000},function () {
window.history.go(-1)
// window.history.go(-1)
window.location.reload()
})
} else {
layer.msg(out.message)

View File

@@ -1,7 +1,7 @@
<div class="layui-layout layui-layout-admin" style="padding-left: 20px;">
<div class="layui-row" style="margin-top: 20px;">
<div class="layui-col-xs6">
<a class="layui-btn" data-type="tabAdd" href="/server/add">新增</a>
<button class="layui-btn" data-type="tabAdd" id="add">新增</button>
</div>
<div class="layui-col-xs6 search_text">
<form class="layui-form" action="" onsubmit="javascript:return false;">
@@ -68,11 +68,16 @@
}
};
$("#add").on("click",function() {
window.parent.openTab("/server/add",'新增资源',"admin_server_add-0",'fa-plus');
})
//监听工具条
table.on('tool(table_filter)', function(obj){
var data = obj.data;
var server_name = data.server_name
if(obj.event === 'edit'){
window.location.href="/server/edit?id="+data.id
window.parent.openTab("/server/edit?id="+data.id,server_name+'编辑',"admin_server_edit-"+data.id,'fa-edit');
} else if(obj.event === 'del'){
layer.confirm('真的删除'+data.server_name+'服务器资源么', function(index){
var jsData = {'id':data.id}
@@ -91,7 +96,8 @@
})
} else if(obj.event === 'copy'){
window.location.href="/server/copy?id="+data.id
window.parent.openTab("/server/copy?id="+data.id,server_name+'复制',"admin_server_copy-"+data.id,'fa-copy');
// window.location.href="/server/copy?id="+data.id
}else{
layer.msg('操作不存在');
}

View File

@@ -1,9 +1,5 @@
<div class="layui-layout layui-layout-admin" style="padding-left: 40px;margin-top: 20px;">
<div style="margin: 10px 0px">
<blockquote class="layui-elem-quote">
说明新建资源分组
</blockquote>
</div>
<form class="layui-form" action="" method="post" >
<div class="layui-form-item">
<label class="layui-form-label">分组名称</label>
@@ -15,7 +11,7 @@
<div class="layui-form-item">
<label class="layui-form-label">分组说明</label>
<div class="layui-input-inline" style="min-width: 400px;">
<div class="layui-input-inline" style="min-width: 300px;">
<textarea name="description" id="description" placeholder="请输入内容" class="layui-textarea"></textarea>
</div>
@@ -36,8 +32,9 @@ var $;
var $ = layui.jquery;
var error_info = "{{.flash.error}}";
if(error_info){
layer.msg(error_info,{icon: 2,shade:0.3},function () {
window.history.go(-1)
layer.msg(error_info,{icon: 2,shade:0.5},function () {
window.parent.layer.closeAll();
window.parent.location.reload();
})
return;
}
@@ -45,8 +42,9 @@ var $;
var form_data = $("form").serialize();
$.post('{{urlfor "ServerGroupController.AjaxSave"}}', form_data, function (out) {
if (out.status == 0) {
layer.msg("操作成功",{icon: 1,shade:0.3,time:1000},function () {
window.history.go(-1)
layer.msg("操作成功",{icon: 1,shade:0.5,time:1000},function () {
window.parent.layer.closeAll();
window.parent.location.reload();
})
} else {
layer.msg(out.message)

View File

@@ -1,9 +1,4 @@
<div class="layui-layout layui-layout-admin" style="padding-left: 40px;margin-top: 20px;">
<div style="margin: 10px 0px">
<blockquote class="layui-elem-quote">
说明新建资源分组
</blockquote>
</div>
<form class="layui-form" action="" method="post" >
<div class="layui-form-item">
<label class="layui-form-label">分组名称</label>
@@ -15,7 +10,7 @@
<div class="layui-form-item">
<label class="layui-form-label">分组说明</label>
<div class="layui-input-inline" style="min-width: 400px;">
<div class="layui-input-inline" style="min-width: 300px;">
<textarea name="description" id="description" placeholder="请输入内容" class="layui-textarea">{{.group.description}}</textarea>
</div>
@@ -36,8 +31,9 @@
var $ = layui.jquery;
var error_info = "{{.flash.error}}";
if(error_info){
layer.msg(error_info,{icon: 2,shade:0.3},function () {
window.history.go(-1)
layer.msg(error_info,{icon: 2,shade:0.5},function () {
window.parent.layer.closeAll();
window.parent.location.reload();
})
return;
}
@@ -45,8 +41,9 @@
var form_data = $("form").serialize();
$.post('{{urlfor "ServerGroupController.AjaxSave"}}', form_data, function (out) {
if (out.status == 0) {
layer.msg("操作成功",{icon: 1,shade:0.3,time:1000},function () {
window.history.go(-1)
layer.msg("操作成功",{icon: 1,shade:0.5,time:1000},function () {
window.parent.layer.closeAll();
window.parent.location.reload();
})
} else {
layer.msg(out.message)

View File

@@ -1,7 +1,7 @@
<div class="layui-layout layui-layout-admin" style="padding-left: 20px;">
<div class="layui-row" style="margin-top: 20px;">
<div class="layui-col-xs6">
<a class="layui-btn" data-type="tabAdd" href="/servergroup/add">新增</a>
<button class="layui-btn" data-type="tabAdd" id="add">新增</button>
</div>
<div class="layui-col-xs6 search_text">
<form class="layui-form" action="" onsubmit="javascript:return false;">
@@ -67,11 +67,24 @@
}
};
$("#add").on("click",function() {
layer.open({
title:'添加资源分组',
type: 2,
area: ['560px', '300px'],
content: ["/servergroup/add",'no'],
});
})
//监听工具条
table.on('tool(table_filter)', function(obj){
var data = obj.data;
if(obj.event === 'edit'){
window.location.href="/servergroup/edit?id="+data.id
layer.open({
title:'编辑资源分组',
type: 2,
area: ['560px', '300px'],
content: ["/servergroup/edit?id="+data.id,'no'],
});
} else if(obj.event === 'del'){
layer.confirm('真的删除'+data.group_name+'分组么', function(index){

View File

@@ -172,8 +172,10 @@
$.post('{{urlfor "TaskController.AjaxSave"}}', form_data, function (out) {
if (out.status == 0) {
layer.msg("操作成功",{icon: 1,shade:0.3,time:1000},function () {
window.history.go(-1)
// window.history.go(-1)
window.location.reload();
})
} else {
layer.msg(out.message)
}

View File

@@ -78,12 +78,15 @@
//监听工具条
table.on('tool(table_filter)', function(obj){
var data = obj.data;
var task_name = window.parent.delHtmlTag(data.task_name)
task_name = window.parent.getDelimiterLastString(task_name,"-")
if(obj.event === 'edit'){
window.location.href="/task/edit?id="+data.id
} else if(obj.event === 'log'){
window.location.href="/tasklog/list?task_id="+data.id;
}else if (obj.event==='detail'){
window.location.href='/task/detail?id='+data.id;
// window.location.href='/task/detail?id='+data.id;
window.parent.openTab('/task/detail?id='+data.id,task_name+'详情',"admin_task_audit_detail-"+data.id,'fa-folder-open-o');
}else if (obj.event==='del'){
layer.confirm("确认要删除这条任务吗?", {icon: 3, title:'提示'}, function(index){
layer.load();

View File

@@ -171,8 +171,9 @@
var form_data = data.field;
$.post('{{urlfor "TaskController.AjaxSave"}}', form_data, function (out) {
if (out.status == 0) {
layer.msg("操作成功",{icon: 1,shade:0.3,time:1000},function () {
self.location=document.referrer;
layer.msg("复制成功!,请到列表中查看",{icon: 1,shade:0.3,time:1000},function () {
//self.location=document.referrer;
window.location.reload();
})
} else {
layer.msg(out.message)

View File

@@ -157,26 +157,31 @@
})
return;
}
var task_name = "{{.task.TaskName}}";
$('.layui-btn-container button').on('click',function () {
var event = $(this).attr('lay-filter');
if (event==='edit'){
var status =" {{.task.Status}}";
if(status==1){
layer.msg("运行状态无法编辑任务,请先暂停任务");
return;
}
window.location.href="/task/edit?id="+id
window.parent.openTab("/task/edit?id="+id,task_name+' 编辑',"admin_task_edit-"+id,'fa-edit');
}else if(event==='log'){
window.location.href="/tasklog/list?task_id="+id;
window.parent.openTab("/tasklog/list?task_id="+id,task_name+'日志',"admin_log-"+id,'');
}else if(event==='copy'){
window.location.href="/task/copy?id="+id;
window.parent.openTab("/task/copy?id="+id,task_name+' 复制',"admin_task_copy-"+id,'fa-copy');
}else if (event==='run'){
layer.confirm("测试执行任务,注意不要超时,请确认执行", {icon: 3, title:'提示'}, function(index){
layer.load();
$.post('/task/ajaxrun', {id:id}, function (out) {
if (out.status == 0) {
layer.msg("操作成功",{icon: 1,shade:0.3,time:1000},function () {
window.location.href="/tasklog/list?task_id="+id
window.parent.openTab("/tasklog/list?task_id="+id,task_name+' 日志',"admin_task_log-"+id,'');
})
} else {
layer.msg(out.message)

View File

@@ -184,8 +184,10 @@
$.post('{{urlfor "TaskController.AjaxSave"}}', form_data, function (out) {
if (out.status == 0) {
layer.msg(okmsg,{icon: 1,shade:0.3,time:1000},function () {
self.location=document.referrer;
// self.location=document.referrer;
window.location.reload();
})
} else {
layer.msg(out.message)
return

View File

@@ -2,33 +2,29 @@
<div class="layui-row" style="margin-top: 20px;">
<div class="layui-col-xs6">
<div class="layui-btn-group">
<a class="layui-btn" data-type="tabAdd" href="/task/add">新增</a>
<button class="layui-btn" data-type="tabAdd" id="add">新增</button>
<button class="layui-btn batch" data-type="batchstart" >启动</button>
<button class="layui-btn layui-btn-danger batch" data-type="batchpause" >暂停</button>cron
</div>
</div>
<div class="layui-col-xs6 search_text">
<div class="layui-col-xs6 search_text" style="text-align: right;">
<form class="layui-form" action="" onsubmit="javascript:return false;">
<div class="demoTable">
<div class="layui-inline" style="width: 40%">
{{/*<label class="layui-form-label">搜索选择框</label>*/}}
<div class="layui-input-inline" style="text-align: left">
<select name="modules" lay-verify="required" lay-filter="select_group" id="group_id" lay-search="">
<option value="0">全部</option>
{{range $k, $v := .taskGroup}}
<option value="{{$k}}" {{if eq $k $.groupId}} selected {{end}}>{{$v}}</option>
{{end}}
</select>
</div>
{{/*<input class="layui-input" name="taskName" id="taskName" autocomplete="off" placeholder="任务名称" >*/}}
<input class="layui-input" name="task_name" id="task_name" autocomplete="off" placeholder="任务名称" >
</div>
<button class="layui-btn" data-type="reload" id="reload" style="display: none">查询</button>
<div class="layui-inline pp-search" style="width: 20%;text-align: left;">
<select name="modules" lay-verify="required" lay-filter="select_group" id="group_id" lay-search="">
<option value="0">全部</option>
{{range $k, $v := .taskGroup}}
<option value="{{$k}}" {{if eq $k $.groupId}} selected {{end}}>{{$v}}</option>
{{end}}
</select>
</div>
<button class="layui-btn" data-type="reload" id="reload"><i class="fa fa-search"></i>查询</button>
</div>
</form>
</div>
</div>
@@ -82,32 +78,39 @@
table.reload('listReload', {
where: {
group_id: $('#group_id').val(),
task_name:$('#task_name').val(),
}
});
}
};
form.on('select(select_group)', function(data){
$("#reload").click()
form.render('select'); //刷新select选择框渲染
});
$("#add").on("click",function() {
window.parent.openTab("/task/add",'新增任务',"admin_task_add-0",'fa-plus');
})
// form.on('select(select_group)', function(data){
// $("#reload").click()
// form.render('select'); //刷新select选择框渲染
// });
//监听工具条
table.on('tool(table_filter)', function(obj){
var data = obj.data;
var task_name = window.parent.delHtmlTag(data.task_name)
task_name = window.parent.getDelimiterLastString(task_name,"-")
if(obj.event === 'edit'){
window.location.href="/task/edit?id="+data.id
window.parent.openTab("/task/edit?id="+data.id,task_name+' 编辑',"admin_task_edit-"+data.id,'fa-edit');
} else if(obj.event === 'log'){
window.location.href="/tasklog/list?task_id="+data.id;
window.parent.openTab("/tasklog/list?task_id="+data.id,task_name+'日志',"admin_log-"+data.id,'');
}else if (obj.event==='detail'){
window.location.href='/task/detail?id='+data.id;
window.parent.openTab('/task/detail?id='+data.id,task_name+'详情',"admin_task_detail-"+data.id,'fa-folder-open-o');
}else if (obj.event==='run'){
layer.confirm("测试执行任务,注意不要超时,请确认执行", {icon: 3, title:'提示'}, function(index){
layer.load();
$.post('/task/ajaxrun', {id:data.id}, function (out) {
if (out.status == 0) {
layer.msg("操作成功",{icon: 1,shade:0.3,time:1000},function () {
window.location.href="/tasklog/list?task_id="+data.id
window.parent.openTab("/tasklog/list?task_id="+data.id,task_name+'运行日志',"admin_task_log-"+data.id,'');
})
} else {
layer.msg(out.message)