支持多台服务器同时执行任务+优化页面

一个定时任务可以允许多台服务器同时执行任务,优化页面关闭并刷新列表页
This commit is contained in:
georgehao
2019-04-16 23:40:07 +08:00
parent 07aff7ee72
commit 830d49ee1c
24 changed files with 391 additions and 137 deletions

View File

@@ -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 {

View File

@@ -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)

View File

@@ -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