mirror of https://github.com/ouqiang/gocron
147 lines
5.7 KiB
HTML
147 lines
5.7 KiB
HTML
{{{ template "common/header" . }}}
|
||
<div class="ui grid">
|
||
{{{template "task/menu" .}}}
|
||
<div class="twelve wide column">
|
||
<div class="pageHeader">
|
||
<div class="segment">
|
||
<h3 class="ui dividing header">
|
||
<i class="large add icon"></i>
|
||
<div class="content">
|
||
{{{.Title}}}
|
||
</div>
|
||
</h3>
|
||
</div>
|
||
</div>
|
||
<form class="ui form fluid vertical segment">
|
||
<input type="hidden" name="id" value="{{{.Task.Id}}}">
|
||
<div class="two fields">
|
||
<div class="field">
|
||
<label>任务名称</label>
|
||
<div class="ui small left icon input">
|
||
<input type="text" name="name" value="{{{.Task.Task.Name}}}">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="two fields">
|
||
<div class="field">
|
||
<label>crontab表达式</label>
|
||
<div class="ui small left icon input">
|
||
<textarea rows="5" name="spec">{{{.Task.Spec}}}</textarea>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="three fields">
|
||
<div class="field">
|
||
<label>协议</label>
|
||
<select name="protocol" id="protocol">
|
||
<option value="3" {{{if .Task}}} {{{if eq .Task.Protocol 3}}}selected{{{end}}} {{{end}}}>本地命令</option>
|
||
<option value="2" {{{if .Task}}} {{{if eq .Task.Protocol 2}}}selected{{{end}}} {{{end}}} data-match="host_id" data-validate-type="selectProtocol">SSH</option>
|
||
<option value="1" {{{if .Task}}} {{{if eq .Task.Protocol 1}}}selected{{{end}}} {{{end}}}>HTTP</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<div class="field">
|
||
<label>主机</label>
|
||
<select name="host_id" id="hostId">
|
||
<option value="">选择主机</option>
|
||
{{{range $i, $v := .Hosts}}}
|
||
<option value="{{{.Id}}}" {{{if $.Task}}}{{{if eq $.Task.HostId .Id }}} selected {{{end}}} {{{end}}}>{{{.Alias}}}-{{{.Name}}}</option>
|
||
</div>
|
||
{{{end}}}
|
||
</select>
|
||
</div>
|
||
<div class="two fields">
|
||
<div class="field">
|
||
<label>命令(shell命令|URL地址, 多条shell命令";"分隔)</label>
|
||
<textarea rows="5" name="command">{{{.Task.Command}}}</textarea>
|
||
</div>
|
||
</div>
|
||
<div class="three fields">
|
||
<div class="field">
|
||
<label>任务超时时间 (单位秒, 默认0,不限制超时)</label>
|
||
<input type="text" name="timeout" value="{{{.Task.Timeout}}}">
|
||
</div>
|
||
<div class="field">
|
||
<label>任务重试次数 (默认0, 取值范围1-10)</label>
|
||
<input type="text" name="timeout" value="{{{.Task.Timeout}}}">
|
||
</div>
|
||
</div>
|
||
<div class="three fields">
|
||
<div class="field">
|
||
<label>任务状态 (任务添加成功后,是否立即调度)</label>
|
||
<select name="status">
|
||
<option value="2"{{{if .Task}}} {{{if eq .Task.Status 2}}}selected{{{end}}} {{{end}}}>暂停</option>
|
||
<option value="1" {{{if .Task}}} {{{if eq .Task.Status 1}}}selected{{{end}}} {{{end}}}>激活</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<div class="two fields">
|
||
<div class="field">
|
||
<label>备注</label>
|
||
<textarea rows="5" name="remark">{{{.Task.Remark}}}</textarea>
|
||
</div>
|
||
</div>
|
||
<div class="ui primary submit button">保存</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<script type="text/javascript">
|
||
$('.ui.checkbox')
|
||
.checkbox()
|
||
;
|
||
var $uiForm = $('.ui.form');
|
||
registerSelectFormValidation("selectProtocol", $uiForm, $('#protocol'), 'protocol');
|
||
$($uiForm).form(
|
||
{
|
||
onSuccess: function(event, fields) {
|
||
util.post('/task/store', fields, function(code, message) {
|
||
location.href = "/task"
|
||
});
|
||
|
||
return false;
|
||
},
|
||
fields: {
|
||
name: {
|
||
identifier : 'name',
|
||
rules: [
|
||
{
|
||
type : 'empty',
|
||
prompt : '请输入任务名称'
|
||
}
|
||
]
|
||
},
|
||
spec: {
|
||
identifier : 'spec',
|
||
rules: [
|
||
{
|
||
type : 'empty',
|
||
prompt : '请输入crontab格式表达式'
|
||
}
|
||
]
|
||
},
|
||
command: {
|
||
identifier : 'command',
|
||
rules: [
|
||
{
|
||
type : 'empty',
|
||
prompt : '请输入任务命令'
|
||
}
|
||
]
|
||
},
|
||
hosts: {
|
||
identifier : 'host_id',
|
||
rules: [
|
||
{
|
||
type : 'selectProtocol',
|
||
prompt : '请选择主机'
|
||
}
|
||
]
|
||
}
|
||
},
|
||
inline : true
|
||
});
|
||
</script>
|
||
|
||
{{{ template "common/footer" . }}} |