增加定时器功能

This commit is contained in:
zhangwei
2019-01-26 18:02:44 +06:00
parent 0fb4bf08a4
commit f90ef5ab85
47 changed files with 5923 additions and 356 deletions

View File

@@ -0,0 +1,111 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<script type="text/javascript">
$(function(){
//字段添加索引
function refreshIndex(){
$("div.row.cron").each(function(i,n){
var $this = $(this);
$this.find("input").each(function(){
var $input = $(this);
var name = $input.attr("name");
console.log(name);
$input.attr("name",name.replace(/\[\d*\]/,"["+i+"]"));
});
});
}
//cron 动态添加
$("span.CronAdd").on("click",function(){
var hourCnt = $("div.cron");
if (hourCnt.length < 5) {//输入框限制为4个包含 template 为 5个
var $tpl = $(".cron.template");
var clone = $tpl.clone().removeClass("template").removeClass("hidden").removeClass("disabled");
$tpl.before(clone);
clone.find(".cronDiv").each(function(ii,nn){
$(this).cron({
initial: "0 0 1 * *",//每月1号执行
onChange: function() {
$(this).siblings("input[type='hidden']").val($(this).cron("value"));
},
});
});
refreshIndex();
}
});
//动态删除
$(document).on("click","span.CronRemove",function(event){
$(this).closest("div.cron").remove();
refreshIndex();
});
});
</script>
<style>
.row.cron {
border: 1px solid #eee;
margin: 0px 0px 5px 0px;
padding: 0px;
}
div.cronDiv {
padding-top: 7px;
}
</style>
<!-- 周期任务 -->
<h4 class="form-section">
<spring:message code="Schedule"/>
<small>
<!-- 定时任务 添加按钮 -->
<span class="glyphicon glyphicon-plus CronAdd" title="add Schedule"></span>
</small>
</h4>
<!-- 复现cron配置 start -->
<c:forEach items="${_cfg.schedules }" var="cron" varStatus="vs">
<div class="row cron">
<div class="row">
<div class="pull-right">
<input type="hidden" name="schedules[${vs.index}].id" value="${cron.id }"/>
<span class="glyphicon glyphicon-remove pull-right CronRemove" title="remove Schedule"/>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-2"><spring:message code="Valid" /></label>
<div class="col-md-9 cronDiv" ></div>
<input type="hidden" name="schedules[${vs.index}].cronValid" value="${cron.cronValid }">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-2"><spring:message code="Invalid" /></label>
<div class="col-md-9 cronDiv" ></div>
<input type="hidden" name="schedules[${vs.index}].cronInvalid" value="${cron.cronInvalid }">
</div>
</div>
</div>
</c:forEach>
<!-- 复现cron配置 end -->
<div class="row cron template hidden disabled">
<div class="row">
<div class="pull-right">
<span class="glyphicon glyphicon-remove pull-right CronRemove" title="remove Schedule"/>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-2"><spring:message code="Valid" /></label>
<div class="col-md-9 cronDiv" ></div>
<input type="hidden" name="schedules[].cronValid" value="">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-2"><spring:message code="Invalid" /></label>
<div class="col-md-9 cronDiv" ></div>
<input type="hidden" name="schedules[].cronInvalid" value="">
</div>
</div>
</div>

View File

@@ -0,0 +1,307 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<style>
#cron{
margin-bottom: 10px;
}
.detail{
border-left: 2px solid #999;
}
</style>
<script>
$(function(){
//day week 切换
function initDayWeek(){
var dayWeekCheck = $("input.dayWeek:checked");
$("div.dayWeek select").attr("disabled","disabled");
var selects = dayWeekCheck.parents(".dayWeek").find("select");
selects.attr("disabled",false)
$("div.dayWeek select").selectpicker('refresh');
}
function modeChange(){
var modeCheck = $("#cron input.every:checked");
var val = modeCheck.val();
//隐藏 cronRight 所有元素
$(".detail > div").addClass("hidden");
$(".detail > div").addClass("disabled");
$(".detail ." +val ).removeClass("hidden");
$(".detail ." +val ).removeClass("disabled");
}
function init(){
//初始化 mode 模式,一次,每天,每周,每月
modeChange();
//初始化 每月 day week切换
initDayWeek();
var modeCheck = $("#cron input.every:checked");
var val = modeCheck.val();
//复现内容,清除 其它 选项下的值
$(".detail > div").not("."+val).find("input[type!='radio']").val("");
$(".detail > div").not("."+val).find("select").val("");
//初始化 number 的默认值
$("input[type='number']").each(function(){
var val = $(this).val();
if(!val || '' == val ){
$(this).val(1);
}
});
}
$("#cron input.every").on("click",function(){
var $this = $(this);
modeChange();
});
//每月 日 和 周切换按钮
$("input.dayWeek").on("click",function(){
var $this = $(this);
initDayWeek();
});
init();
//删除
$(document).on("click","span.CronRemove",function(event){
$("#cron").addClass("hidden").addClass("disabled");
$(".CronAdd").removeClass("hidden");
});
//cron 动态添加
$("span.CronAdd").on("click",function(){
$("#cron").removeClass("hidden").removeClass("disabled");
$(".CronAdd").addClass("hidden");
});
});
</script>
<!-- 周期任务 -->
<h4 class="form-section">
<spring:message code="Schedule"/>
<small>
<!-- 定时任务 添加按钮 -->
<span class='glyphicon glyphicon-plus CronAdd <c:if test="${not empty _cfg.schedule }">hidden</c:if>' title="add Schedule" ></span>
</small>
</h4>
<div id="cron" class='row <c:if test="${empty _cfg.schedule }">hidden disabled</c:if>' >
<div class="row">
<div class="pull-right">
<span class="glyphicon glyphicon-remove pull-right CronRemove" title="remove Schedule"/>
</div>
</div>
<div class="col-md-2 zhanwei"></div>
<div class="col-md-1 mode"><!-- 一次,每天,每周,每月选择 -->
<div class="form-group">
<label class="radio-inline">
<input id="single" type="radio" class="required every" name="schedule.userRegion1" value="single" checked="checked" <c:if test="${_cfg.schedule.userRegion1 == 'single' }">checked="checked"</c:if>><spring:message code="single"/>
</label>
</div>
<div class="form-group">
<label class="radio-inline">
<input id="everyDay" type="radio" class="required every" name="schedule.userRegion1" value="everyDay" <c:if test="${_cfg.schedule.userRegion1 == 'everyDay' }">checked="checked"</c:if>><spring:message code="everyDay"/>
</label>
</div>
<div class="form-group">
<label class="radio-inline">
<input id="everyWeek" type="radio" class="required every" name="schedule.userRegion1" value="everyWeek" <c:if test="${_cfg.schedule.userRegion1 == 'everyWeek' }">checked="checked"</c:if>><spring:message code="everyWeek"/>
</label>
</div>
<div class="form-group">
<label class="radio-inline">
<input id="everyMonth" type="radio" class="required every" name="schedule.userRegion1" value="everyMonth" <c:if test="${_cfg.schedule.userRegion1 == 'everyMonth' }">checked="checked"</c:if>><spring:message code="everyMonth"/>
</label>
</div>
</div>
<div class="col-md-9 detail">
<!-- 一次执行 -->
<div class="single">
<div class="form-group ">
<label class="control-label col-md-2"><spring:message code="startTime"/></label>
<div class="col-md-4">
<input name="schedule.cronValid" id="singleValid" type="text" class="form-control Wdate required" readonly="readonly" value="${_cfg.schedule.cronValid }" onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,minDate:'%y-%M-%d %H:{%m+2}:%s', maxDate:'#F{$dp.$D(\'singleInvalid\')}'});"/>
</div>
<div for="schedule.cronValid"></div>
</div>
<div class="form-group ">
<label class="control-label col-md-2"><spring:message code="endTime"/></label>
<div class="col-md-4">
<input name="schedule.cronInvalid" id="singleInvalid" type="text" class="form-control Wdate required" readonly="readonly" value="${_cfg.schedule.cronInvalid }" onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,minDate:'#F{$dp.$D(\'singleValid\')}'});"/>
</div>
<div for="schedule.cronInvalid"></div>
</div>
</div>
<!-- 每天执行 -->
<div class="everyDay hidden">
<div class="form-group ">
<label class="control-label col-md-2"><spring:message code="interval"/></label>
<div class="col-md-2">
<!-- 间隔 interval -->
<input name="schedule.userRegion2" type="number" class="form-control required" value="${_cfg.schedule.userRegion2 }" min="1" />
<%-- <spring:message code="day"/> --%>
</div>
<div for="schedule.userRegion2"></div>
</div>
<div class="form-group ">
<label class="control-label col-md-2"><spring:message code="startTime"></spring:message></label>
<div class="col-md-4">
<input name="schedule.cronValid" type="text" class="form-control Wdate required" readonly="readonly" value="${_cfg.schedule.cronValid }" onClick="WdatePicker({dateFmt:'H:mm:ss'})"/>
</div>
<div for="schedule.cronValid"></div>
</div>
<div class="form-group ">
<label class="control-label col-md-2"><spring:message code="endTime"/></label>
<div class="col-md-4">
<input name="schedule.cronInvalid" type="text" class="form-control Wdate required" readonly="readonly" value="${_cfg.schedule.cronInvalid }" onClick="WdatePicker({dateFmt:'H:mm:ss'})"/>
</div>
<div for="schedule.cronInvalid"></div>
</div>
</div>
<!-- 每周执行 -->
<div class="everyWeek hidden">
<div class="form-group ">
<label class="control-label col-md-2"><spring:message code="interval"/></label>
<div class="col-md-2">
<input name="schedule.userRegion2" type="number" class="form-control required" value="${_cfg.schedule.userRegion2 }" min="1" />
<%-- <spring:message code="week"/> --%>
</div>
<div for="schedule.userRegion2"></div>
</div>
<div class="form-group ">
<label class="control-label col-md-2"><spring:message code="on"/></label>
<div class="col-md-4">
<select name="schedule.userRegion3" multiple data-actions-box="true" class="selectpicker form-control required">
<option value="1" <c:if test='${fn:contains(_cfg.schedule.userRegion3,"1")}'>selected="selected"</c:if>><spring:message code="Monday"/></option>
<option value="2" <c:if test='${fn:contains(_cfg.schedule.userRegion3,"2")}'>selected="selected"</c:if>><spring:message code="Tuesday"/></option>
<option value="3" <c:if test='${fn:contains(_cfg.schedule.userRegion3,"3")}'>selected="selected"</c:if>><spring:message code="Wednesday"/></option>
<option value="4" <c:if test='${fn:contains(_cfg.schedule.userRegion3,"4")}'>selected="selected"</c:if>><spring:message code="Thursday"/></option>
<option value="5" <c:if test='${fn:contains(_cfg.schedule.userRegion3,"5")}'>selected="selected"</c:if>><spring:message code="Friday"/></option>
<option value="6" <c:if test='${fn:contains(_cfg.schedule.userRegion3,"6")}'>selected="selected"</c:if>><spring:message code="Saturday"/></option>
<option value="7" <c:if test='${fn:contains(_cfg.schedule.userRegion3,"7")}'>selected="selected"</c:if>><spring:message code="Sunday"/></option>
</select>
</div>
<div for="schedule.userRegion3"></div>
</div>
<div class="form-group ">
<label class="control-label col-md-2"><spring:message code="startTime"></spring:message></label>
<div class="col-md-4">
<input name="schedule.cronValid" type="text" class="form-control Wdate required" readonly="readonly" value="${_cfg.schedule.cronValid }" onClick="WdatePicker({dateFmt:'H:mm:ss'})"/>
</div>
<div for="schedule.cronValid"></div>
</div>
<div class="form-group ">
<label class="control-label col-md-2"><spring:message code="endTime"/></label>
<div class="col-md-4">
<input name="schedule.cronInvalid" type="text" class="form-control Wdate required" readonly="readonly" value="${_cfg.schedule.cronInvalid }" onClick="WdatePicker({dateFmt:'H:mm:ss'})"/>
</div>
<div for="schedule.cronInvalid"></div>
</div>
</div>
<!-- 每月执行 -->
<div class="everyMonth hidden">
<div class="form-group ">
<label class="control-label col-md-2"><spring:message code="month"/></label>
<div class="col-md-6">
<select name="schedule.userRegion2" multiple data-actions-box="true" class="selectpicker form-control required">
<c:set var="months" value=",${_cfg.schedule.userRegion2},"></c:set>
<option value="1" <c:if test='${fn:contains(months , ",1,")}'>selected="selected"</c:if>><spring:message code="January"/></option>
<option value="2" <c:if test='${fn:contains(months , ",2,")}'>selected="selected"</c:if>><spring:message code="February"/></option>
<option value="3" <c:if test='${fn:contains(months , ",3,")}'>selected="selected"</c:if>><spring:message code="March"/></option>
<option value="4" <c:if test='${fn:contains(months , ",4,")}'>selected="selected"</c:if>><spring:message code="April"/></option>
<option value="5" <c:if test='${fn:contains(months , ",5,")}'>selected="selected"</c:if>><spring:message code="May"/></option>
<option value="6" <c:if test='${fn:contains(months , ",6,")}'>selected="selected"</c:if>><spring:message code="June"/></option>
<option value="7" <c:if test='${fn:contains(months , ",7,")}'>selected="selected"</c:if>><spring:message code="July"/></option>
<option value="8" <c:if test='${fn:contains(months , ",8,")}'>selected="selected"</c:if>><spring:message code="August"/></option>
<option value="9" <c:if test='${fn:contains(months , ",9,")}'>selected="selected"</c:if>><spring:message code="September"/></option>
<option value="10" <c:if test='${fn:contains(months , ",10,")}'>selected="selected"</c:if>><spring:message code="October"/></option>
<option value="11" <c:if test='${fn:contains(months , ",11,")}'>selected="selected"</c:if>><spring:message code="November"/></option>
<option value="12" <c:if test='${fn:contains(months , ",12,")}'>selected="selected"</c:if>><spring:message code="December"/></option>
</select>
</div>
<div for="schedule.userRegion2"></div>
</div>
<!-- 天 -->
<div class="form-group dayWeek">
<label class="control-label col-md-2"><input type="radio" name="schedule.userRegion3" value="day" class="dayWeek required" checked="checked" <c:if test='${_cfg.schedule.userRegion3 == "day" }'>checked="checked"</c:if>/> <spring:message code="day"/></label>
<div class="col-md-6">
<select name="schedule.userRegion4" multiple data-actions-box="true" class="selectpicker form-control required">
<c:set var="days" value=",${_cfg.schedule.userRegion4},"></c:set>
<option value="1" <c:if test='${fn:contains(days , ",1,")}'>selected="selected"</c:if>>1</option>
<option value="2" <c:if test='${fn:contains(days , ",2,")}'>selected="selected"</c:if>>2</option>
<option value="3" <c:if test='${fn:contains(days , ",3,")}'>selected="selected"</c:if>>3</option>
<option value="4" <c:if test='${fn:contains(days , ",4,")}'>selected="selected"</c:if>>4</option>
<option value="5" <c:if test='${fn:contains(days , ",5,")}'>selected="selected"</c:if>>5</option>
<option value="6" <c:if test='${fn:contains(days , ",6,")}'>selected="selected"</c:if>>6</option>
<option value="7" <c:if test='${fn:contains(days , ",7,")}'>selected="selected"</c:if>>7</option>
<option value="8" <c:if test='${fn:contains(days , ",8,")}'>selected="selected"</c:if>>8</option>
<option value="9" <c:if test='${fn:contains(days , ",9,")}'>selected="selected"</c:if>>9</option>
<option value="10" <c:if test='${fn:contains(days , ",10,")}'>selected="selected"</c:if>>10</option>
<option value="11" <c:if test='${fn:contains(days , ",11,")}'>selected="selected"</c:if>>11</option>
<option value="12" <c:if test='${fn:contains(days , ",12,")}'>selected="selected"</c:if>>12</option>
<option value="13" <c:if test='${fn:contains(days , ",13,")}'>selected="selected"</c:if>>13</option>
<option value="14" <c:if test='${fn:contains(days , ",14,")}'>selected="selected"</c:if>>14</option>
<option value="15" <c:if test='${fn:contains(days , ",15,")}'>selected="selected"</c:if>>15</option>
<option value="16" <c:if test='${fn:contains(days , ",16,")}'>selected="selected"</c:if>>16</option>
<option value="17" <c:if test='${fn:contains(days , ",17,")}'>selected="selected"</c:if>>17</option>
<option value="18" <c:if test='${fn:contains(days , ",18,")}'>selected="selected"</c:if>>18</option>
<option value="19" <c:if test='${fn:contains(days , ",19,")}'>selected="selected"</c:if>>19</option>
<option value="20" <c:if test='${fn:contains(days , ",20,")}'>selected="selected"</c:if>>20</option>
<option value="21" <c:if test='${fn:contains(days , ",21,")}'>selected="selected"</c:if>>21</option>
<option value="22" <c:if test='${fn:contains(days , ",22,")}'>selected="selected"</c:if>>22</option>
<option value="23" <c:if test='${fn:contains(days , ",23,")}'>selected="selected"</c:if> >23</option>
<option value="24" <c:if test='${fn:contains(days , ",24,")}'>selected="selected"</c:if>>24</option>
<option value="25" <c:if test='${fn:contains(days , ",25,")}'>selected="selected"</c:if>>25</option>
<option value="26" <c:if test='${fn:contains(days , ",26,")}'>selected="selected"</c:if>>26</option>
<option value="27" <c:if test='${fn:contains(days , ",27,")}'>selected="selected"</c:if>>27</option>
<option value="28" <c:if test='${fn:contains(days , ",28,")}'>selected="selected"</c:if>>28</option>
<option value="29" <c:if test='${fn:contains(days , ",29,")}'>selected="selected"</c:if>>29</option>
<option value="30" <c:if test='${fn:contains(days , ",30,")}'>selected="selected"</c:if>>30</option>
<option value="31" <c:if test='${fn:contains(days , ",31,")}'>selected="selected"</c:if>>31</option>
<option value="L" <c:if test='${fn:contains(days , ",L,")}'>selected="selected"</c:if>><spring:message code="lastDay"/></option>
</select>
</div>
<div for="schedule.userRegion4"></div>
</div>
<div class="form-group dayWeek">
<label class="control-label col-md-2"><input type="radio" name="schedule.userRegion3" class="dayWeek required" value="week" <c:if test='${_cfg.schedule.userRegion3 == "week" }'>checked="checked"</c:if>/> <spring:message code="on"/></label>
<div class="col-md-3">
<select name="schedule.userRegion4" multiple data-actions-box="true" class="selectpicker form-control required">
<option value="1" <c:if test='${fn:contains(_cfg.schedule.userRegion4,"1")}'>selected="selected"</c:if>><spring:message code="firstWeek"/></option>
<option value="2" <c:if test='${fn:contains(_cfg.schedule.userRegion4,"2")}'>selected="selected"</c:if>><spring:message code="secondWeek"/></option>
<option value="3" <c:if test='${fn:contains(_cfg.schedule.userRegion4,"3")}'>selected="selected"</c:if>><spring:message code="thirdWeek"/></option>
<option value="4" <c:if test='${fn:contains(_cfg.schedule.userRegion4,"4")}'>selected="selected"</c:if>><spring:message code="fourthWeek"/></option>
<option value="L" <c:if test='${fn:contains(_cfg.schedule.userRegion4,"L")}'>selected="selected"</c:if>><spring:message code="lastWeek"/></option>
</select>
</div>
<div class="col-md-3">
<select name="schedule.userRegion5" multiple data-actions-box="true" class="selectpicker form-control required">
<option value="1" <c:if test='${fn:contains(_cfg.schedule.userRegion5,"1")}'>selected="selected"</c:if>><spring:message code="Monday"/></option>
<option value="2" <c:if test='${fn:contains(_cfg.schedule.userRegion5,"2")}'>selected="selected"</c:if>><spring:message code="Tuesday"/></option>
<option value="3" <c:if test='${fn:contains(_cfg.schedule.userRegion5,"3")}'>selected="selected"</c:if>><spring:message code="Wednesday"/></option>
<option value="4" <c:if test='${fn:contains(_cfg.schedule.userRegion5,"4")}'>selected="selected"</c:if>><spring:message code="Thursday"/></option>
<option value="5" <c:if test='${fn:contains(_cfg.schedule.userRegion5,"5")}'>selected="selected"</c:if>><spring:message code="Friday"/></option>
<option value="6" <c:if test='${fn:contains(_cfg.schedule.userRegion5,"6")}'>selected="selected"</c:if>><spring:message code="Saturday"/></option>
<option value="7" <c:if test='${fn:contains(_cfg.schedule.userRegion5,"7")}'>selected="selected"</c:if>><spring:message code="Sunday"/></option>
</select>
</div>
<div for="schedule.userRegion4"></div>
<div for="schedule.userRegion5"></div>
</div>
<div class="form-group ">
<label class="control-label col-md-2"><spring:message code="startTime"></spring:message></label>
<div class="col-md-4">
<input name="schedule.cronValid" type="text" class="form-control Wdate required" readonly="readonly" value='${_cfg.schedule.cronValid }' onClick="WdatePicker({dateFmt:'H:mm:ss'})"/>
</div>
<div for="schedule.cronValid"></div>
</div>
<div class="form-group ">
<label class="control-label col-md-2"><spring:message code="endTime"/></label>
<div class="col-md-4">
<input name="schedule.cronInvalid" type="text" class="form-control Wdate required" readonly="readonly" value='${_cfg.schedule.cronInvalid }' onClick="WdatePicker({dateFmt:'H:mm:ss'})"/>
</div>
<div for="schedule.cronInvalid"></div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,250 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<style>
#cron{
margin-bottom: 10px;
}
.detail{
border-left: 2px solid #999;
}
.detail .control-label{
text-align: right;
padding-right: 10px;
}
</style>
<script>
$(function(){
function init(){
//初始化 mode 模式,一次,每天,每周,每月
$("div.cronContain ").each(function(i,n){
var $this = $(this);
var mode = $this.find("input.every:checked").val();
//隐藏 cronRight 所有元素
$this .find(".detail > div").addClass("hidden");
$this.find(".detail > div").addClass("disabled");
$this.find(".detail ." +mode ).removeClass("hidden");
//复现内容,清除 其它 选项下的值
$this.find(".detail > div").not("."+mode).find("input").val("");
$this.find(".detail > div").not("."+mode).find("select").val("");
$this.find("input").attr("disabled","disabled").attr("name",function(){
return $(this).attr("name") + i;
});
$this.find("select").attr("disabled","disabled").attr("name",function(){
return $(this).attr("name") + i;
});
$this.find("input[type='radio']:not(:checked)").closest(".form-group").remove();
$this.find("select:visible").selectpicker('refresh');
});
}
init();
});
</script>
<div id="cron" class=' cronContain row <c:if test="${empty _cfg.schedule }">hidden</c:if>' >
<div class="col-md-1 mode"><!-- 一次,每天,每周,每月选择 -->
<div class="form-group">
<label class="radio-inline">
<input id="single" type="radio" class="required every" name="schedule.userRegion1" value="single" checked="checked" <c:if test="${_cfg.schedule.userRegion1 == 'single' }">checked="checked"</c:if>><spring:message code="single"/>
</label>
</div>
<div class="form-group">
<label class="radio-inline">
<input id="everyDay" type="radio" class="required every" name="schedule.userRegion1" value="everyDay" <c:if test="${_cfg.schedule.userRegion1 == 'everyDay' }">checked="checked"</c:if>><spring:message code="everyDay"/>
</label>
</div>
<div class="form-group">
<label class="radio-inline">
<input id="everyWeek" type="radio" class="required every" name="schedule.userRegion1" value="everyWeek" <c:if test="${_cfg.schedule.userRegion1 == 'everyWeek' }">checked="checked"</c:if>><spring:message code="everyWeek"/>
</label>
</div>
<div class="form-group">
<label class="radio-inline">
<input id="everyMonth" type="radio" class="required every" name="schedule.userRegion1" value="everyMonth" <c:if test="${_cfg.schedule.userRegion1 == 'everyMonth' }">checked="checked"</c:if>><spring:message code="everyMonth"/>
</label>
</div>
</div>
<div class="col-md-9 detail">
<!-- 一次执行 -->
<div class="single">
<div class="form-group row">
<label class="control-label col-md-1"><spring:message code="startTime"/></label>
<div class="col-md-4">
<input name="schedule.cronValid" type="text" class="form-control Wdate required" readonly="readonly" value="${_cfg.schedule.cronValid }" onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
<div class="form-group row">
<label class="control-label col-md-1"><spring:message code="endTime"/></label>
<div class="col-md-4">
<input name="schedule.cronInvalid" type="text" class="form-control Wdate required" readonly="readonly" value="${_cfg.schedule.cronInvalid }" onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
</div>
</div>
</div>
<!-- 每天执行 -->
<div class="everyDay hidden">
<div class="form-group row">
<label class="control-label col-md-1"><spring:message code="interval"/></label>
<div class="col-md-1">
<!-- 间隔 interval -->
<input name="schedule.userRegion2" type="number" class="form-control required" value="${_cfg.schedule.userRegion2 }" min="1" />
<%-- <spring:message code="day"/> --%>
</div>
</div>
<div class="form-group row">
<label class="control-label col-md-1"><spring:message code="startTime"></spring:message></label>
<div class="col-md-4">
<input name="schedule.cronValid" type="text" class="form-control Wdate required" readonly="readonly" value="${_cfg.schedule.cronValid }" onClick="WdatePicker({dateFmt:'H:mm:ss'})"/>
</div>
</div>
<div class="form-group row">
<label class="control-label col-md-1"><spring:message code="endTime"/></label>
<div class="col-md-4">
<input name="schedule.cronInvalid" type="text" class="form-control Wdate required" readonly="readonly" value="${_cfg.schedule.cronInvalid }" onClick="WdatePicker({dateFmt:'H:mm:ss'})"/>
</div>
</div>
</div>
<!-- 每周执行 -->
<div class="everyWeek hidden">
<div class="form-group row">
<label class="control-label col-md-1"><spring:message code="interval"/></label>
<div class="col-md-1">
<input name="schedule.userRegion2" type="number" class="form-control required" value="${_cfg.schedule.userRegion2 }" min="1" />
<%-- <spring:message code="week"/> --%>
</div>
</div>
<div class="form-group row">
<label class="control-label col-md-1"><spring:message code="on"/></label>
<div class="col-md-4">
<select name="schedule.userRegion3" multiple data-actions-box="true" class="selectpicker form-control required">
<option value="1" <c:if test='${fn:contains(_cfg.schedule.userRegion3,"1")}'>selected="selected"</c:if>><spring:message code="Monday"/></option>
<option value="2" <c:if test='${fn:contains(_cfg.schedule.userRegion3,"2")}'>selected="selected"</c:if>><spring:message code="Tuesday"/></option>
<option value="3" <c:if test='${fn:contains(_cfg.schedule.userRegion3,"3")}'>selected="selected"</c:if>><spring:message code="Wednesday"/></option>
<option value="4" <c:if test='${fn:contains(_cfg.schedule.userRegion3,"4")}'>selected="selected"</c:if>><spring:message code="Thursday"/></option>
<option value="5" <c:if test='${fn:contains(_cfg.schedule.userRegion3,"5")}'>selected="selected"</c:if>><spring:message code="Friday"/></option>
<option value="6" <c:if test='${fn:contains(_cfg.schedule.userRegion3,"6")}'>selected="selected"</c:if>><spring:message code="Saturday"/></option>
<option value="7" <c:if test='${fn:contains(_cfg.schedule.userRegion3,"7")}'>selected="selected"</c:if>><spring:message code="Sunday"/></option>
</select>
</div>
</div>
<div class="form-group row">
<label class="control-label col-md-1"><spring:message code="startTime"></spring:message></label>
<div class="col-md-4">
<input name="schedule.cronValid" type="text" class="form-control Wdate required" readonly="readonly" value="${_cfg.schedule.cronValid }" onClick="WdatePicker({dateFmt:'H:mm:ss'})"/>
</div>
</div>
<div class="form-group row">
<label class="control-label col-md-1"><spring:message code="endTime"/></label>
<div class="col-md-4">
<input name="schedule.cronInvalid" type="text" class="form-control Wdate required" readonly="readonly" value="${_cfg.schedule.cronInvalid }" onClick="WdatePicker({dateFmt:'H:mm:ss'})"/>
</div>
</div>
</div>
<div class="everyMonth hidden">
<div class="form-group row">
<label class="control-label col-md-1"><spring:message code="month"/></label>
<div class="col-md-6">
<select name="schedule.userRegion2" multiple data-actions-box="true" class="selectpicker form-control required">
<c:set var="months" value=",${_cfg.schedule.userRegion2},"></c:set>
<option value="1" <c:if test='${fn:contains(months , ",1,")}'>selected="selected"</c:if>><spring:message code="January"/></option>
<option value="2" <c:if test='${fn:contains(months , ",2,")}'>selected="selected"</c:if>><spring:message code="February"/></option>
<option value="3" <c:if test='${fn:contains(months , ",3,")}'>selected="selected"</c:if>><spring:message code="March"/></option>
<option value="4" <c:if test='${fn:contains(months , ",4,")}'>selected="selected"</c:if>><spring:message code="April"/></option>
<option value="5" <c:if test='${fn:contains(months , ",5,")}'>selected="selected"</c:if>><spring:message code="May"/></option>
<option value="6" <c:if test='${fn:contains(months , ",6,")}'>selected="selected"</c:if>><spring:message code="June"/></option>
<option value="7" <c:if test='${fn:contains(months , ",7,")}'>selected="selected"</c:if>><spring:message code="July"/></option>
<option value="8" <c:if test='${fn:contains(months , ",8,")}'>selected="selected"</c:if>><spring:message code="August"/></option>
<option value="9" <c:if test='${fn:contains(months , ",9,")}'>selected="selected"</c:if>><spring:message code="September"/></option>
<option value="10" <c:if test='${fn:contains(months , ",10,")}'>selected="selected"</c:if>><spring:message code="October"/></option>
<option value="11" <c:if test='${fn:contains(months , ",11,")}'>selected="selected"</c:if>><spring:message code="November"/></option>
<option value="12" <c:if test='${fn:contains(months , ",12,")}'>selected="selected"</c:if>><spring:message code="December"/></option>
</select>
</div>
</div>
<!-- 天 -->
<div class="form-group dayWeek row">
<label class="control-label col-md-1"><input type="radio" name="schedule.userRegion3" value="day" class="dayWeek required" checked="checked" <c:if test='${_cfg.schedule.userRegion3 == "day" }'>checked="checked"</c:if>/> <spring:message code="day"/></label>
<div class="col-md-6">
<select name="schedule.userRegion4" multiple data-actions-box="true" class="selectpicker form-control required">
<c:set var="days" value=",${_cfg.schedule.userRegion4},"></c:set>
<option value="1" <c:if test='${fn:contains(days , ",1,")}'>selected="selected"</c:if>>1</option>
<option value="2" <c:if test='${fn:contains(days , ",2,")}'>selected="selected"</c:if>>2</option>
<option value="3" <c:if test='${fn:contains(days , ",3,")}'>selected="selected"</c:if>>3</option>
<option value="4" <c:if test='${fn:contains(days , ",4,")}'>selected="selected"</c:if>>4</option>
<option value="5" <c:if test='${fn:contains(days , ",5,")}'>selected="selected"</c:if>>5</option>
<option value="6" <c:if test='${fn:contains(days , ",6,")}'>selected="selected"</c:if>>6</option>
<option value="7" <c:if test='${fn:contains(days , ",7,")}'>selected="selected"</c:if>>7</option>
<option value="8" <c:if test='${fn:contains(days , ",8,")}'>selected="selected"</c:if>>8</option>
<option value="9" <c:if test='${fn:contains(days , ",9,")}'>selected="selected"</c:if>>9</option>
<option value="10" <c:if test='${fn:contains(days , ",10,")}'>selected="selected"</c:if>>10</option>
<option value="11" <c:if test='${fn:contains(days , ",11,")}'>selected="selected"</c:if>>11</option>
<option value="12" <c:if test='${fn:contains(days , ",12,")}'>selected="selected"</c:if>>12</option>
<option value="13" <c:if test='${fn:contains(days , ",13,")}'>selected="selected"</c:if>>13</option>
<option value="14" <c:if test='${fn:contains(days , ",14,")}'>selected="selected"</c:if>>14</option>
<option value="15" <c:if test='${fn:contains(days , ",15,")}'>selected="selected"</c:if>>15</option>
<option value="16" <c:if test='${fn:contains(days , ",16,")}'>selected="selected"</c:if>>16</option>
<option value="17" <c:if test='${fn:contains(days , ",17,")}'>selected="selected"</c:if>>17</option>
<option value="18" <c:if test='${fn:contains(days , ",18,")}'>selected="selected"</c:if>>18</option>
<option value="19" <c:if test='${fn:contains(days , ",19,")}'>selected="selected"</c:if>>19</option>
<option value="20" <c:if test='${fn:contains(days , ",20,")}'>selected="selected"</c:if>>20</option>
<option value="21" <c:if test='${fn:contains(days , ",21,")}'>selected="selected"</c:if>>21</option>
<option value="22" <c:if test='${fn:contains(days , ",22,")}'>selected="selected"</c:if>>22</option>
<option value="23" <c:if test='${fn:contains(days , ",23,")}'>selected="selected"</c:if> >23</option>
<option value="24" <c:if test='${fn:contains(days , ",24,")}'>selected="selected"</c:if>>24</option>
<option value="25" <c:if test='${fn:contains(days , ",25,")}'>selected="selected"</c:if>>25</option>
<option value="26" <c:if test='${fn:contains(days , ",26,")}'>selected="selected"</c:if>>26</option>
<option value="27" <c:if test='${fn:contains(days , ",27,")}'>selected="selected"</c:if>>27</option>
<option value="28" <c:if test='${fn:contains(days , ",28,")}'>selected="selected"</c:if>>28</option>
<option value="29" <c:if test='${fn:contains(days , ",29,")}'>selected="selected"</c:if>>29</option>
<option value="30" <c:if test='${fn:contains(days , ",30,")}'>selected="selected"</c:if>>30</option>
<option value="31" <c:if test='${fn:contains(days , ",31,")}'>selected="selected"</c:if>>31</option>
<option value="L" <c:if test='${fn:contains(days , ",L,")}'>selected="selected"</c:if>><spring:message code="lastDay"/></option>
</select>
</div>
</div>
<div class="form-group dayWeek row">
<label class="control-label col-md-1"><input type="radio" name="schedule.userRegion3" class="dayWeek required" value="week" <c:if test='${_cfg.schedule.userRegion3 == "week" }'>checked="checked"</c:if>/> <spring:message code="on"/></label>
<div class="col-md-3">
<select name="schedule.userRegion4" multiple data-actions-box="true" class="selectpicker form-control required">
<option value="1" <c:if test='${fn:contains(_cfg.schedule.userRegion4,"1")}'>selected="selected"</c:if>><spring:message code="firstWeek"/></option>
<option value="2" <c:if test='${fn:contains(_cfg.schedule.userRegion4,"2")}'>selected="selected"</c:if>><spring:message code="secondWeek"/></option>
<option value="3" <c:if test='${fn:contains(_cfg.schedule.userRegion4,"3")}'>selected="selected"</c:if>><spring:message code="thirdWeek"/></option>
<option value="4" <c:if test='${fn:contains(_cfg.schedule.userRegion4,"4")}'>selected="selected"</c:if>><spring:message code="fourthWeek"/></option>
<option value="L" <c:if test='${fn:contains(_cfg.schedule.userRegion4,"L")}'>selected="selected"</c:if>><spring:message code="lastWeek"/></option>
</select>
</div>
<div class="col-md-3">
<select name="schedule.userRegion5" multiple data-actions-box="true" class="selectpicker form-control required">
<option value="1" <c:if test='${fn:contains(_cfg.schedule.userRegion5,"1")}'>selected="selected"</c:if>><spring:message code="Monday"/></option>
<option value="2" <c:if test='${fn:contains(_cfg.schedule.userRegion5,"2")}'>selected="selected"</c:if>><spring:message code="Tuesday"/></option>
<option value="3" <c:if test='${fn:contains(_cfg.schedule.userRegion5,"3")}'>selected="selected"</c:if>><spring:message code="Wednesday"/></option>
<option value="4" <c:if test='${fn:contains(_cfg.schedule.userRegion5,"4")}'>selected="selected"</c:if>><spring:message code="Thursday"/></option>
<option value="5" <c:if test='${fn:contains(_cfg.schedule.userRegion5,"5")}'>selected="selected"</c:if>><spring:message code="Friday"/></option>
<option value="6" <c:if test='${fn:contains(_cfg.schedule.userRegion5,"6")}'>selected="selected"</c:if>><spring:message code="Saturday"/></option>
<option value="7" <c:if test='${fn:contains(_cfg.schedule.userRegion5,"7")}'>selected="selected"</c:if>><spring:message code="Sunday"/></option>
</select>
</div>
</div>
<div class="form-group row">
<label class="control-label col-md-1"><spring:message code="startTime"></spring:message></label>
<div class="col-md-4">
<input name="schedule.cronValid" type="text" class="form-control Wdate required" readonly="readonly" value='${_cfg.schedule.cronValid }' onClick="WdatePicker({dateFmt:'H:mm:ss'})"/>
</div>
</div>
<div class="form-group row">
<label class="control-label col-md-1"><spring:message code="endTime"/></label>
<div class="col-md-4">
<input name="schedule.cronInvalid" type="text" class="form-control Wdate required" readonly="readonly" value='${_cfg.schedule.cronInvalid }' onClick="WdatePicker({dateFmt:'H:mm:ss'})"/>
</div>
</div>
</div>
</div>
</div>

View File

@@ -109,6 +109,12 @@ function del(url){
function update(url){
var checkboxes=$("#${id} ${value} tbody tr td input.i-checks:checkbox");
var cked = $("tbody tr td input.i-checks:checkbox:checked");
var schedulerFlag = $(cked).parent().parent().find(".schedulerFlag").find("span").attr("isScheduler");
if(schedulerFlag!= "undefined" && schedulerFlag=="yes"){//验证配置是否是定时任务,如果是定时任务,不允许修改
top.$.jBox.tip("<spring:message code='scheduler_warning'/>", "<spring:message code='info'/>");
return;
}
if($(checkboxes).filter(":checked").length==1){
if(cked.val()==1){
//增加asn ip域配置判断如果是asn ip业务审核通过的也可以修改 functionId=600
@@ -140,6 +146,10 @@ function passOpt(url){
var checkboxes=$("#${id} ${value} tbody tr td input.i-checks:checkbox");
if($(checkboxes).filter(":checked").length>0){
if(validateIsScheduler(checkboxes)){//验证配置是否是定时任务,如果是定时任务,不允许手动审核
top.$.jBox.tip("<spring:message code='scheduler_warning'/>", "<spring:message code='info'/>");
return;
}
if(validateAllNoAudit(checkboxes)){
top.$.jBox.tip("<spring:message code='has_prohibit_pass'/>", "<spring:message code='info'/>");
return;
@@ -497,6 +507,17 @@ function cancelPassOpt(url){
});
return flag;
}
function validateIsScheduler(checkboxes){
var flag = false;
$(checkboxes).filter(":checked").each(function(){
var schedulerFlag = $(this).parent().parent().find(".schedulerFlag").find("span").attr("isScheduler");
if(schedulerFlag!= "undefined" && schedulerFlag=="yes"){
flag = true;
return;
}
});
return flag;
}
//导出
function exportData(url,maxRow,searchUrl,exType){
var column=[];

View File

@@ -0,0 +1,35 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<html>
<head>
<title></title>
<script type="text/javascript">
</script>
</head>
<div class="row">
<div class="pull-right">
<span class="glyphicon glyphicon-remove pull-right" title="remove"
onClick="delContent('${tabName}${status.index}','${tabName}Add');" />
</div>
</div>
<br>
<div class="row">
<div class="col-md-6">
<%-- <input type="hidden" name="userRegion5" value="${_cfg.userRegion5}"> --%>
<div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="ASN"/></label>
<div class="col-md-6">
<%-- <select name="userRegion4" class="selectpicker show-tick form-control required" data-live-search="true" data-live-search-placeholder="search">
<c:forEach items="${policyGroups }" var="policyGroup">
<option asnId="${policyGroup.asnId}" value="${policyGroup.groupName}" <c:if test="${asn==policyGroup.groupName }">selected</c:if>><spring:message code="${policyGroup.groupName}"/></option>
</c:forEach>
</select> --%>
<input class="form-control required invisibleChar asnMustExists" type="text" name="userRegion5" value="${_cfg.userRegion5}" ctx="${ctx}">
<input class="form-control required invisibleChar orgMustExists hidden" type="text" name="userRegion4" value="${asn}" ctx="${ctx}">
</div>
<div for="userRegion5"></div>
</div>
</div>
</div>
<br>
</html>

View File

@@ -728,6 +728,8 @@ var showHideIPSECProtocol=function(obj){
<%@include file="/WEB-INF/include/form/areaInfo.jsp"%>
<br>
<%@include file="/WEB-INF/include/form/basicInfo.jsp"%>
<br>
<%@include file="/WEB-INF/include/form/scheduleNew.jsp"%>
<div class="form-actions">
<div class="row">
<div class="col-md-6">

View File

@@ -370,6 +370,8 @@
<th column="block_type" class="sort-column a.action"><spring:message code="block_type"/></th>
<th column="userregion2" ><spring:message code="ratelimit"/></th>
<th column="is_audit" ><spring:message code="is_audit"/></th>
<th column="valid_identifier" class="sort-column a.is_valid"><spring:message code="valid_identifier"/></th>
<th><spring:message code="is_schduler"/></th>
<th column="do_log" ><spring:message code="do_log"/></th>
<th column="do_blacklist" ><spring:message code="do_blacklist"/></th>
<th column="log_total" ><spring:message code="log_total"/></th>
@@ -378,7 +380,6 @@
<th column="classification" ><spring:message code="classification"/></th>
<th column="attribute" ><spring:message code="attribute"/></th>
<th column="label" ><spring:message code="label"/></th>
<th column="valid_identifier" class="sort-column a.is_valid"><spring:message code="valid_identifier"/></th>
<th column="creator" ><spring:message code="creator"/></th>
<th column="config_time" class="sort-column a.create_time"><spring:message code="config_time"/></th>
<th column="editor" ><spring:message code="editor"/></th>
@@ -420,6 +421,25 @@
</c:when>
</c:choose>
</td>
<td>
<c:if test="${indexCfg.isValid==0}"><spring:message code="no"/></c:if>
<c:if test="${indexCfg.isValid==1}"><spring:message code="yes"/></c:if>
<c:if test="${indexCfg.isValid==-1}"><spring:message code="deleted"/></c:if>
</td>
<td class="schedulerFlag">
<c:choose>
<c:when test="${not empty indexCfg.schedule }">
<span isScheduler="yes">
<i class="fa fa-clock-o" style="color:#d9534f;font-size:20px"></i>
</span>
</c:when>
<c:otherwise>
<span isScheduler="no">
</span>
</c:otherwise>
</c:choose>
</td>
<td>
<c:forEach items="${fns:getDictList('DO_LOG') }" var="dict">
<c:if test="${dict.itemCode eq indexCfg.doLog and indexCfg.action!=64 and indexCfg.action!=32}">
@@ -502,11 +522,6 @@
${fns:abbr(lableInfo,20)}
</a>
</td>
<td>
<c:if test="${indexCfg.isValid==0}"><spring:message code="no"/></c:if>
<c:if test="${indexCfg.isValid==1}"><spring:message code="yes"/></c:if>
<c:if test="${indexCfg.isValid==-1}"><spring:message code="deleted"/></c:if>
</td>
<td>${indexCfg.creatorName }</td>
<td><fmt:formatDate value="${indexCfg.createTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td>
<td>${indexCfg.editorName }</td>

View File

@@ -19,6 +19,15 @@
</div>
</c:forEach>
<c:if test="${not empty _cfg.schedule }">
<div id="scheduleTitle${index}" onclick="switchSubCfgTabInfo('schedule',${index})"
class="col-md-1 tabInfo" name="tabTitle${index }">
<spring:message code='schedule' />
<i id="schedule${index}" class="fa" name="tabFlag${index}"></i>
</div>
</c:if>
</div>
<c:forEach items="${tabList}" var="region">
<c:if test="${region[0] eq 1 }">
@@ -245,4 +254,10 @@
</c:forEach>
</c:if>
</c:forEach>
<!-- 显示 定时任务信息 -->
<c:if test="${not empty _cfg.schedule }">
<div id="scheduleInfo${index}" class="content" name="subCfg${index}">
<%@include file="/WEB-INF/include/form/scheduleNewSubList.jsp"%>
</div>
</c:if>
</html>