支持多台服务器同时执行任务+优化页面
一个定时任务可以允许多台服务器同时执行任务,优化页面关闭并刷新列表页
This commit is contained in:
@@ -106,7 +106,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.location.reload()
|
||||
window.parent.deleteCurrentTab();
|
||||
})
|
||||
} else {
|
||||
layer.msg(out.message)
|
||||
|
||||
@@ -113,7 +113,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.location.reload()
|
||||
window.parent.deleteCurrentTab();
|
||||
})
|
||||
} else {
|
||||
layer.msg(out.message)
|
||||
|
||||
@@ -89,8 +89,7 @@
|
||||
$.post('{{urlfor "NotifyTplController.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()
|
||||
window.parent.deleteCurrentTab();
|
||||
})
|
||||
} else {
|
||||
layer.msg(out.message)
|
||||
|
||||
@@ -89,8 +89,7 @@
|
||||
$.post('{{urlfor "NotifyTplController.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()
|
||||
window.parent.deleteCurrentTab();
|
||||
})
|
||||
} else {
|
||||
layer.msg(out.message)
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
{{.pageTitle}}
|
||||
</div>
|
||||
<div class="tr fr">
|
||||
<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>
|
||||
<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" id="reload"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 公共头部 end-->
|
||||
|
||||
@@ -106,6 +106,29 @@
|
||||
return str;
|
||||
}
|
||||
|
||||
//新页面编辑或者新增,完成后关闭本页并刷新上一页
|
||||
function deleteCurrentTab(){
|
||||
//关闭
|
||||
var lay_id = $(parent.document).find("ul.layui-tab-title").children("li.layui-this").find(".layui-tab-close");
|
||||
lay_id.click();
|
||||
|
||||
//刷新
|
||||
var currents =$(parent.document).find("div.layui-tab-content").find("div.layui-show").find("iframe").contents();
|
||||
$(currents[0]).find("body").find("#reload").click();
|
||||
}
|
||||
|
||||
function getCheckboxValue(name)
|
||||
{
|
||||
var arr = new Array();
|
||||
$("input:checkbox[name="+name+"]:checked").each(function(){
|
||||
console.log($(this).val());
|
||||
arr.push($(this).val());
|
||||
});
|
||||
|
||||
return arr.join(",");
|
||||
}
|
||||
|
||||
|
||||
function openTab(url,title,id,icon){
|
||||
|
||||
if (!url || !title || !id) {
|
||||
@@ -235,6 +258,9 @@
|
||||
layer.tips($(this).attr('data-title'), $(this),{time:1000});
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
element.render();
|
||||
// $("#default_tab").html('<i class="fa fa-home back_space1"></i>系统首页');
|
||||
|
||||
|
||||
@@ -156,7 +156,7 @@
|
||||
if (out.status == 0) {
|
||||
layer.msg("操作成功",{icon: 1,shade:0.3,time:1000},function () {
|
||||
// window.history.go(-1)//
|
||||
window.location.reload()
|
||||
window.parent.deleteCurrentTab();
|
||||
})
|
||||
} else {
|
||||
layer.msg(out.message)
|
||||
|
||||
@@ -154,7 +154,7 @@
|
||||
if (out.status == 0) {
|
||||
layer.msg("操作成功",{icon: 1,shade:0.3,time:1000},function () {
|
||||
//window.location.href = "/server/list"
|
||||
windwo.location.reload();
|
||||
window.parent.deleteCurrentTab();
|
||||
})
|
||||
} else {
|
||||
layer.msg(out.message)
|
||||
|
||||
@@ -155,7 +155,9 @@
|
||||
if (out.status == 0) {
|
||||
layer.msg("操作成功",{icon: 1,shade:0.3,time:1000},function () {
|
||||
// window.history.go(-1)
|
||||
window.location.reload()
|
||||
// window.location.reload()
|
||||
|
||||
window.parent.deleteCurrentTab();
|
||||
})
|
||||
} else {
|
||||
layer.msg(out.message)
|
||||
|
||||
@@ -27,19 +27,22 @@
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label mw200">服务器资源</label>
|
||||
<div class="layui-inline">
|
||||
|
||||
<div class="layui-input-inline">
|
||||
<select name="server_id">
|
||||
<option value="0">本地服务器</option>
|
||||
{{range $k, $v := .serverGroup}}
|
||||
<optgroup label="{{$v.GroupName}}">
|
||||
{{range $kk, $vv := $v.Servers}}
|
||||
<option value="{{$kk}}">{{$vv}}</option>
|
||||
<div class="layui-block">
|
||||
<div class="layui-col-md3"></div>
|
||||
<div class="layui-col-md9">
|
||||
<div style="margin-bottom: 20px;">
|
||||
<input type="checkbox" name="server_id" lay-skin="primary" title="本地服务器" value="0">
|
||||
</div>
|
||||
<div class="layui-row layui-col-space10">
|
||||
{{range $k, $v := .serverGroup}}
|
||||
<div class="layui-col-md12" style="background: #efefef;">{{$v.GroupName}}</div>
|
||||
{{range $kk, $vv := $v.Servers}}
|
||||
<div class="layui-col-md4">
|
||||
<input type="checkbox" name="server_id" lay-skin="primary" title="{{$vv}}" value="{{$kk}}">
|
||||
</div>
|
||||
{{end}}
|
||||
{{end}}
|
||||
</optgroup>
|
||||
{{end}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -129,7 +132,7 @@
|
||||
<input type="checkbox" name="notify_user" lay-filter="notify_user" title="{{$v.RealName}}"
|
||||
value="{{$v.Id}}" lay-skin="primary">
|
||||
{{end}}
|
||||
<input type="hidden" name="notify_user_ids" id="notify_user_ids" value="">
|
||||
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux"></div>
|
||||
</div>
|
||||
@@ -159,7 +162,7 @@
|
||||
layer.tips('设为“是”的话,如果该任务在上一个时间点还没执行完,则略过不执行', '#des', {
|
||||
tips: [1, '#0FA6D8'] //还可配置颜色
|
||||
});
|
||||
})
|
||||
});
|
||||
|
||||
|
||||
var notify_user_ids = [];
|
||||
@@ -176,6 +179,7 @@
|
||||
}
|
||||
$("#notify_user_ids").val(notify_user_ids.join(","));
|
||||
});
|
||||
|
||||
form.on('radio(is_notify)', function (data) {
|
||||
if (data.value == 1) {
|
||||
$(".notify").show()
|
||||
@@ -185,12 +189,36 @@
|
||||
});
|
||||
|
||||
form.on('submit(sub)', function (data) {
|
||||
|
||||
var form_data = data.field;
|
||||
var server_arr = new Array();
|
||||
$("input:checkbox[name=server_id]:checked").each(function(){
|
||||
server_arr.push($(this).val());
|
||||
});
|
||||
|
||||
form_data.server_ids = server_arr.join(",");
|
||||
|
||||
if (form_data.server_ids==="" || form_data.server_ids===null){
|
||||
layer.msg("请选择服务器资源");
|
||||
return false;
|
||||
}
|
||||
|
||||
var notify_user_arr = new Array();
|
||||
$("input:checkbox[name=notify_user]:checked").each(function(){
|
||||
notify_user_arr.push($(this).val());
|
||||
});
|
||||
form_data.notify_user_ids = notify_user_arr.join(",");
|
||||
|
||||
if (form_data.is_notify==1 && form_data.notify_user_ids==="") {
|
||||
layer.msg("请选择通知用户");
|
||||
return false;
|
||||
}
|
||||
|
||||
$.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.location.reload();
|
||||
window.parent.deleteCurrentTab();
|
||||
})
|
||||
|
||||
} else {
|
||||
|
||||
@@ -175,7 +175,7 @@
|
||||
if (out.status == 0) {
|
||||
layer.msg("复制成功!,请到列表中查看",{icon: 1,shade:0.3,time:1000},function () {
|
||||
//self.location=document.referrer;
|
||||
window.location.reload();
|
||||
window.parent.deleteCurrentTab();
|
||||
})
|
||||
} else {
|
||||
layer.msg(out.message)
|
||||
|
||||
@@ -26,20 +26,24 @@
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label mw200">服务器资源</label>
|
||||
<div class="layui-inline">
|
||||
|
||||
<div class="layui-input-inline">
|
||||
<select name="server_id">
|
||||
<option value="0">本地服务器</option>
|
||||
{{range $k, $v := .serverGroup}}
|
||||
<optgroup label="{{$v.GroupName}}">
|
||||
{{range $kk, $vv := $v.Servers}}
|
||||
<option value="{{$kk}}" {{if eq $kk $.task.ServerId}}selected{{end}} >{{$vv}}</option>
|
||||
<div class="layui-block">
|
||||
<div class="layui-col-md3"></div>
|
||||
<div class="layui-col-md9">
|
||||
<div style="margin-bottom: 20px;">
|
||||
<input type="checkbox" name="server_id" lay-skin="primary" title="本地服务器" value="0" {{range $ks,$vs:=$.service_ids}} {{if eq 0 $vs}}checked{{end}}{{end}}>
|
||||
</div>
|
||||
<div class="layui-row layui-col-space10">
|
||||
{{range $k, $v := .serverGroup}}
|
||||
<div class="layui-col-md12" style="background: #efefef;">{{$v.GroupName}}</div>
|
||||
{{range $kk, $vv := $v.Servers}}
|
||||
<div class="layui-col-md4">
|
||||
<input type="checkbox" name="server_id" lay-skin="primary" title="{{$vv}}" value="{{$kk}}" {{range $ks,$vs:=$.service_ids}} {{if eq $kk $vs}}checked{{end}}{{end}}>
|
||||
</div>
|
||||
{{end}}
|
||||
{{end}}
|
||||
</optgroup>
|
||||
{{end}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -182,6 +186,7 @@
|
||||
$("#notify_user_ids").val(notify_user_ids.join(","));
|
||||
});
|
||||
|
||||
|
||||
form.on('submit(sub)', function(data){
|
||||
var isAdmin = "{{.isAdmin}}";
|
||||
var msg = "编辑任务需要重新审核,是否确认需要编辑?";
|
||||
@@ -193,15 +198,26 @@
|
||||
}
|
||||
|
||||
layer.confirm(msg, {icon: 3, title:'提示'}, function(index){
|
||||
layer.load();
|
||||
|
||||
var form_data = data.field;
|
||||
var ids = [];
|
||||
$("input[name=server_id][type=checkbox]").each(function() {
|
||||
if ($(this).prop("checked")) {
|
||||
ids.push($(this).val());
|
||||
}
|
||||
});
|
||||
if (ids.length<1){
|
||||
layer.msg("请选择服务资源");
|
||||
return false;
|
||||
}
|
||||
form_data.server_ids = ids.join(",");
|
||||
|
||||
$.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;
|
||||
window.location.reload();
|
||||
window.parent.deleteCurrentTab();
|
||||
})
|
||||
|
||||
} else {
|
||||
layer.msg(out.message)
|
||||
return
|
||||
|
||||
@@ -50,6 +50,12 @@
|
||||
<td>{{.taskLog.status|str2html}}</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>运行服务器</td>
|
||||
<td>{{.taskLog.server_name}}</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
@@ -46,12 +46,13 @@
|
||||
,url: "/tasklog/table?task_id={{.task_id}}"
|
||||
,cols: [[
|
||||
{checkbox: true, fixed: true}
|
||||
,{field:'id', title: 'ID', align:'center',sort: true, width:150}
|
||||
,{field:'task_id', title: '任务ID', align:'center',sort: true, width:150}
|
||||
// ,{field:'id', title: 'ID', align:'center',sort: true, width:150}
|
||||
,{field:'task_id', title: '任务ID', align:'center',width:100}
|
||||
,{field:'server_name', title: '服务器', width:150}
|
||||
,{field:'start_time',title: '开始时间'}
|
||||
,{field:'process_time',width:100, title: '执行时间'}
|
||||
,{field:'output_size',title: '输出'}
|
||||
,{field:'status', width:170,title: '状态'}
|
||||
,{field:'status', width:100,title: '状态'}
|
||||
,{fixed: 'right', align:'center', title:'操作', toolbar: '#bar'}
|
||||
]]
|
||||
,id: 'listReload'
|
||||
|
||||
Reference in New Issue
Block a user