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

一个定时任务可以允许多台服务器同时执行任务,优化页面关闭并刷新列表页
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

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