400 lines
18 KiB
Plaintext
400 lines
18 KiB
Plaintext
<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%>
|
||
<%@ include file="/Frame/resources/include/include_begin_info.jspf"%>
|
||
<%@ taglib prefix='c' uri='/WEB-INF/tlds/c.tld' %>
|
||
<%@ taglib prefix="fn" uri="/WEB-INF/tlds/fn.tld" %>
|
||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||
<html>
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||
<title>Áбí×é¼þ²âÊÔ</title>
|
||
<!--css sheet-->
|
||
<link href="${pageContext.request.contextPath}/css/dtree/dtree.css" rel="stylesheet" type="text/css">
|
||
<link href="${pageContext.request.contextPath}/css/jquery-easyui/easyui.css" rel="stylesheet" type="text/css">
|
||
<link href="${pageContext.request.contextPath}/css/jquery-easyui/icon.css" rel="stylesheet" type="text/css">
|
||
<link href="${pageContext.request.contextPath}/css/tracywindy/tracywindy.css" rel="stylesheet" type="text/css">
|
||
<link href="${pageContext.request.contextPath}/css/tracywindy/button.css" rel="stylesheet" type="text/css">
|
||
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/js/my97DatePicker/skin/WdatePicker.css"/>
|
||
<style type="text/css">
|
||
html,body{
|
||
overflow:hidden;
|
||
}
|
||
.twoNumInput{
|
||
width:20px;
|
||
border:1px solid silver;
|
||
height:13px;
|
||
font-size:11px;
|
||
}
|
||
.fourNumInput{
|
||
width:60px;
|
||
border:1px solid silver;
|
||
height:14px;
|
||
font-size:11px;
|
||
}
|
||
.content-container{
|
||
padding:5px;
|
||
border:1px solid silver;
|
||
margin-top:5px;
|
||
}
|
||
input.commonCheck{
|
||
position:relative;
|
||
top:2px;
|
||
}
|
||
</style>
|
||
<!--javascript libray-->
|
||
<script type="text/javascript" src="${pageContext.request.contextPath}/js/tracywindy/tracywindyUtils.js"></script>
|
||
<script type="text/javascript" src="${pageContext.request.contextPath}/js/tracywindy/tracywindyJsonUtil.js"></script>
|
||
<script type="text/javascript" src="${pageContext.request.contextPath}/js/tracywindy/tracywindyAjax.js"></script>
|
||
<script type="text/javascript" src="${pageContext.request.contextPath}/js/dtree/dtree.js"></script>
|
||
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery/jquery.min.js"></script>
|
||
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery/jquery.easyui.min.js"></script>
|
||
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery/easyui-lang-zh_CN.js"></script>
|
||
<script type="text/javascript" src="${pageContext.request.contextPath}/js/tracywindy/tracywindyLoadMask.js"></script>
|
||
<script type="text/javascript" src="${pageContext.request.contextPath}/js/tracywindy/tracywindyTable.js"></script>
|
||
<script language="javascript" type="text/javascript" src="${pageContext.request.contextPath}/js/my97DatePicker/WdatePicker.js"></script>
|
||
</head>
|
||
<body>
|
||
<c:set var="sixty" value="0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59" ></c:set>
|
||
<c:set var="twentyFour" value="0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23" ></c:set>
|
||
<c:set var="thirtyOne" value="1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31" ></c:set>
|
||
<c:set var="twelve" value="1|2|3|4|5|6|7|8|9|10|11|12" ></c:set>
|
||
<c:set var="week" value="ÐÇÆÚÈÕ|ÐÇÆÚÒ»|ÐÇÆÚ¶þ|ÐÇÆÚÈý|ÐÇÆÚËÄ|ÐÇÆÚÎå|ÐÇÆÚÁù" ></c:set>
|
||
<div id="tt" class="easyui-tabs" >
|
||
<div title="Ãë" style="padding:20px;">
|
||
<input name="cronSecond" value="per" type="radio" checked/>ÿÃë¶¼Ö´ÐÐ
|
||
<br/>
|
||
<input name="cronSecond" value="cycle" type="radio"/>Ñ»·£º
|
||
<div class="content-container">´ÓµÚ <input id="id_cronSecondStart" type="text" class="twoNumInput" value="0"/> Ã뿪ʼ£¬Ã¿¸ô <input id="id_cronSecondPer" type="text" class="twoNumInput" value="1"/> ÃëÖ´ÐС£</div>
|
||
<input name="cronSecond" value="assigned" type="radio" />Ö¸¶¨£º
|
||
<div class="content-container">
|
||
<c:forTokens var="str" items="${sixty}" delims="|" varStatus="status">
|
||
<input name="checkbox_cronSecond" type="checkbox" value="${str}"/>${str}
|
||
<c:if test="${1 == fn:length(str)}">‍</c:if>
|
||
</c:forTokens>
|
||
</div>
|
||
</div>
|
||
<div title="·ÖÖÓ" style="padding:20px;">
|
||
<input name="cronMinute" value="per" type="radio" checked/>ÿ·ÖÖÓ¶¼Ö´ÐÐ
|
||
<br/>
|
||
<input name="cronMinute" value="cycle" type="radio" />Ñ»·£º
|
||
<div class="content-container">´ÓµÚ <input value="0" type="text" id="id_cronMinuteStart" class="twoNumInput"/> ·ÖÖÓ¿ªÊ¼£¬Ã¿¸ô <input type="text" id="id_cronMinutePer" class="twoNumInput" value="1" /> ·ÖÖÓÖ´ÐС£</div>
|
||
<input name="cronMinute" value="assigned" type="radio" />Ö¸¶¨£º
|
||
<div class="content-container">
|
||
<c:forTokens var="str" items="${sixty}" delims="|" varStatus="status">
|
||
<input name="checkbox_cronMinute" type="checkbox" value="${str}"/>${str}
|
||
<c:if test="${1 == fn:length(str)}">
|
||
‍
|
||
</c:if>
|
||
</c:forTokens>
|
||
</div>
|
||
</div>
|
||
<div title="Сʱ" style="padding:20px;">
|
||
<input name="cronHour" value="per" type="radio" checked/>ÿСʱ¶¼Ö´ÐÐ
|
||
<br/>
|
||
<input name="cronHour" value="cycle" type="radio" />Ñ»·£º
|
||
<div class="content-container">´Ó <input value="0" type="text" id="id_cronHourStart" class="twoNumInput"/> ʱ¿ªÊ¼£¬Ã¿¸ô <input type="text" id="id_cronHourPer" class="twoNumInput" value="1" /> СʱִÐС£</div>
|
||
<input name="cronHour" value="assigned" type="radio" />Ö¸¶¨£º
|
||
<div class="content-container">
|
||
ÉÏÎ磺<c:forTokens var="str" items="${twentyFour}" delims="|" varStatus="status">
|
||
<c:if test="${status.index == 12}">
|
||
<br/>ÏÂÎ磺
|
||
</c:if>
|
||
<input name="checkbox_cronHour" type="checkbox" value="${str}"/>${str}
|
||
<c:if test="${1 == fn:length(str)}">
|
||
‍
|
||
</c:if>
|
||
</c:forTokens>
|
||
</div>
|
||
</div>
|
||
<div title="Ìì" style="padding:20px;">
|
||
<input name="cronPriority" value="day" type="radio" checked/>ÌìÓÅÏÈ£¨ÓÅÏȼ¶¸ßÓÚ <font color="red">ÐÇÆÚ</font> £©
|
||
<div>
|
||
<input name="cronDay" value="per" type="radio" checked/>ÿÌì¶¼Ö´ÐÐ
|
||
<br/>
|
||
<input name="cronDay" value="cycle" type="radio" />Ñ»·£º
|
||
<div class="content-container">´ÓµÚ <input value="1" type="text" id="id_cronDayStart" class="twoNumInput"/> Ì쿪ʼ£¬Ã¿¸ô <input type="text" id="id_cronDayPer" class="twoNumInput" value="1" /> ÌìÖ´ÐС£</div>
|
||
<input name="cronDay" value="lastday" type="radio" />ÿÔÂ×îºóÒ»ÌìÖ´ÐÐ<br/>
|
||
<input name="cronDay" value="assigned" type="radio" />Ö¸¶¨£º
|
||
<div class="content-container">
|
||
<c:forTokens var="str" items="${thirtyOne}" delims="|" varStatus="status">
|
||
<input name="checkbox_cronDay" type="checkbox" value="${str}"/>${str}
|
||
<c:if test="${1 == fn:length(str)}">
|
||
‍
|
||
</c:if>
|
||
</c:forTokens>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div title="ÔÂ" style="padding:20px;">
|
||
<input name="cronMonth" value="per" type="radio" checked/>ÿÔ¶¼Ö´ÐÐ
|
||
<br/>
|
||
<input name="cronMonth" value="cycle" type="radio" />Ñ»·£º
|
||
<div class="content-container">´Ó <input value="1" type="text" id="id_cronMonthStart" class="twoNumInput"/> Ô¿ªÊ¼£¬Ã¿¸ô <input type="text" id="id_cronMonthPer" class="twoNumInput" value="1" /> ÔÂÖ´ÐС£</div>
|
||
<input name="cronMonth" value="assigned" type="radio" />Ö¸¶¨£º
|
||
<div class="content-container">
|
||
<c:forTokens var="str" items="${twelve}" delims="|" varStatus="status">
|
||
<input name="checkbox_cronMonth" type="checkbox" value="${str}"/>${str}
|
||
<c:if test="${1 == fn:length(str)}">
|
||
‍
|
||
</c:if>
|
||
</c:forTokens>
|
||
</div>
|
||
</div>
|
||
<div title="ÐÇÆÚ" style="padding:20px;">
|
||
<input name="cronPriority" value="week" type="radio" />ÐÇÆÚÓÅÏÈ£¨ÓÅÏȼ¶¸ßÓÚ <font color="red">Ìì</font> £©
|
||
<div>
|
||
<input name="cronWeek" value="per" type="radio" checked/>ÿÐÇÆÚ¶¼Ö´ÐÐ
|
||
<br/>
|
||
<input name="cronWeek" value="cycle" type="radio" />Ñ»·£º
|
||
<div class="content-container">´Ó <select id="id_cronWeekStart">
|
||
<c:forTokens var="str" items="${week}" delims="|" varStatus="status">
|
||
<option value="${status.index+1}" <c:if test="${0 == status.index}"></c:if>/>${str}</option>
|
||
</c:forTokens>
|
||
</select> ¿ªÊ¼£¬Ã¿¸ô <input type="text" id="id_cronWeekPer" class="twoNumInput" value="1" /> ÌìÖ´ÐС£</div>
|
||
<input name="cronWeek" value="assigned" type="radio" />Ö¸¶¨£º
|
||
<div class="content-container">
|
||
<c:forTokens var="str" items="${week}" delims="|" varStatus="status">
|
||
<input name="checkbox_cronWeek" type="checkbox" value="${status.index+1}"/>${str}
|
||
</c:forTokens>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div title="Äê" style="padding:20px;">
|
||
<input name="cronYear" value="per" type="radio" checked/>ÿÄê¶¼Ö´ÐÐ
|
||
<br/>
|
||
<input name="cronYear" value="cycle" type="radio" />Ñ»·£º
|
||
<div class="content-container">´Ó <input value="*" type="text" id="id_cronYearStart" class="fourNumInput"/> Ä꿪ʼ£¬Ã¿¸ô <input type="text" id="id_cronYearPer" class="twoNumInput" value="1" /> ÄêÖ´ÐС£</div>
|
||
<input name="cronYear" value="assigned" type="radio" />Ö¸¶¨Äê·Ý£¨¶à¸öÄê·ÝÒÔ<font color="red">Ó¢ÎĶººÅ</font>¸ô¿ª,ÐÎÈ磺2012<font color="red">,</font>2013£©£º
|
||
<div class="content-container">
|
||
<textarea id="id_cronYear_assigned" style="overflow:hidden;border:transparent;width:100%;height:16px;"></textarea>
|
||
</div>
|
||
<input name="cronYear" value="period" type="radio" />ʱ¼ä¶Î£º
|
||
<div class="content-container">
|
||
Ñ¡Ôñ£º <input type="text" id="id_cronYearPeriodStart" class="fourNumInput"/> ---- <input type="text" id="id_cronYearPeriodEnd" class="fourNumInput"/> Äê
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<textarea id="id_cron"></textarea>
|
||
<input type="button" onclick="resolveUIToCronExpression(jQuery);" value="Éú³Écron±í´ïʽ"/>
|
||
<!-- <input id="check" type="button" onclick="resolveCronExpressionToUI(jQuery);" value="½âÎöcron±í´ïʽ"/> -->
|
||
</body>
|
||
<script type="text/javascript">
|
||
$(function(){
|
||
var cronExpression = "<%=CurPage.getParameter("cronExpression")%>";
|
||
if(cronExpression){
|
||
$("#id_cron").val(cronExpression);
|
||
resolveCronExpressionToUI(jQuery,cronExpression);
|
||
//$("#check").click();
|
||
}
|
||
|
||
$(".content-container").click(function(){
|
||
$(this).prev().attr("checked","checked");
|
||
});
|
||
|
||
$("#id_cronYear_assigned").focus(function(){
|
||
$(this).parent().prev().attr("checked","checked");
|
||
$(this).parent().prev().prev().prev().attr("checked","checked");
|
||
});
|
||
});
|
||
|
||
function resolveUIToCronExpression($)
|
||
{
|
||
|
||
var cronExpression =
|
||
resolveUIToCronExpression_items($,"Second")
|
||
+" "+resolveUIToCronExpression_items($,"Minute")
|
||
+" "+resolveUIToCronExpression_items($,"Hour")
|
||
+" "+resolveUIToCronExpression_items($,"Day")
|
||
+" "+resolveUIToCronExpression_items($,"Month")
|
||
+" "+resolveUIToCronExpression_items($,"Week")
|
||
+" "+resolveUIToCronExpression_items($,"Year");
|
||
$("#id_cron").val(cronExpression);
|
||
parent.AsDialog.ClosePage(cronExpression);
|
||
}
|
||
//½âÎöÃ뿪ʼ
|
||
function resolveCronExpressionToUI($,cronExpression)
|
||
{
|
||
var cronExpression = $("#id_cron").val();
|
||
cronExpression = cronExpression.replace(/\s+/," ");
|
||
var splitFields = cronExpression.split(" ");
|
||
var secondField = splitFields[0];
|
||
var minuteField = splitFields[1];
|
||
var hourField = splitFields[2];
|
||
var dayField = splitFields[3];
|
||
var monthField = splitFields[4];
|
||
var weekField = splitFields[5];
|
||
resolveCronExpressionToUI_items($,"Second",secondField);
|
||
resolveCronExpressionToUI_items($,"Minute",minuteField);
|
||
resolveCronExpressionToUI_items($,"Hour",hourField);
|
||
resolveCronExpressionToUI_items($,"Day",dayField);
|
||
resolveCronExpressionToUI_items($,"Month",monthField);
|
||
resolveCronExpressionToUI_items($,"Week",weekField);
|
||
if(splitFields.length > 6)
|
||
{
|
||
var yearField = splitFields[6];
|
||
resolveCronExpressionToUI_items($,"Year",yearField);
|
||
}
|
||
//½âÎöºÁÃë×Ö¶Î
|
||
}
|
||
function resolveUIToCronExpression_items($,flag)
|
||
{
|
||
if(("Day"==flag)||("Week"==flag))
|
||
{
|
||
var cronPriorityVal = $("#tt input[name='cronPriority'][type='radio']:checked").val();
|
||
if(flag.toLowerCase()!=cronPriorityVal)
|
||
{
|
||
return "?";
|
||
}
|
||
}
|
||
var selectedValues = "";
|
||
var selectedItemVal = $("#tt input[name='cron"+flag+"'][type='radio']:checked").val();
|
||
if("cycle"==selectedItemVal) {
|
||
var cronItemStartVal = $("#id_cron"+flag+"Start").val();
|
||
var cronItemPerVal = $("#id_cron"+flag+"Per").val();
|
||
if(""==cronItemStartVal)
|
||
{
|
||
if(""==cronItemPerVal)
|
||
{
|
||
selectedValues = "*";
|
||
}
|
||
else
|
||
{
|
||
selectedValues = "*/"+cronItemPerVal;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if(""==cronItemPerVal)
|
||
{
|
||
selectedValues = cronItemStartVal;
|
||
}
|
||
else
|
||
{
|
||
selectedValues = cronItemStartVal+"/"+cronItemPerVal;
|
||
}
|
||
}
|
||
}
|
||
else if("per"==selectedItemVal){
|
||
selectedValues = "*";
|
||
}
|
||
else if("assigned"==selectedItemVal){
|
||
if("Year" == flag)
|
||
{
|
||
var cronYearAssignedVal = $("#id_cronYear_assigned").val();
|
||
if(cronYearAssignedVal)
|
||
{
|
||
selectedValues = cronYearAssignedVal;
|
||
}
|
||
}
|
||
var isFirst = true;
|
||
var selectedItemsCheckBox = $("#tt input[name='checkbox_cron"+flag+"'][type='checkbox']:checked");
|
||
selectedItemsCheckBox.each(function(i){
|
||
if(!isFirst)
|
||
{
|
||
selectedValues+=",";
|
||
}
|
||
selectedValues+=this.value;
|
||
isFirst = false;
|
||
});
|
||
}
|
||
else if("period"==selectedItemVal){
|
||
var cronItemStartVal = $("#id_cron"+flag+"PeriodStart").val();
|
||
var cronItemEndVal = $("#id_cron"+flag+"PeriodEnd").val();
|
||
if(cronItemStartVal&&cronItemEndVal)
|
||
{
|
||
selectedValues = cronItemStartVal+"-"+cronItemEndVal;
|
||
}
|
||
else if(!cronItemStartVal)
|
||
{
|
||
alert("¿ªÊ¼Äê·Ý²»ÄÜΪ¿Õ");
|
||
return null;
|
||
}
|
||
else if(!cronItemEndVal)
|
||
{
|
||
alert("½áÊøÄê·Ý²»ÄÜΪ¿Õ");
|
||
return null;
|
||
}
|
||
}else if("lastday"==selectedItemVal){
|
||
selectedValues = "L";
|
||
}
|
||
|
||
|
||
var flagDisplay = "";
|
||
switch(flag)
|
||
{
|
||
case "Second":{flagDisplay="Ãë";break;}
|
||
case "Minute":{flagDisplay="·ÖÖÓ";break;}
|
||
case "Hour":{flagDisplay="Сʱ";break;}
|
||
case "Day":{flagDisplay="Ìì";break;}
|
||
case "Month":{flagDisplay="ÔÂ";break;}
|
||
case "Week":{flagDisplay="ÐÇÆÚ";break;}
|
||
case "Year":{flagDisplay="Äê";break;}
|
||
}
|
||
if("" == selectedValues)
|
||
{
|
||
alert("ûÓÐÖ¸¶¨"+flagDisplay+"!");
|
||
return null;
|
||
}
|
||
return selectedValues;
|
||
}
|
||
function resolveCronExpressionToUI_items($,flag,fieldValue)
|
||
{
|
||
if("*"==fieldValue)
|
||
{
|
||
$("#tt input[name='cron"+flag+"'][type='radio'][value='per']").attr("checked",true);
|
||
}else if("L"==fieldValue)
|
||
{
|
||
$("#tt input[name='cron"+flag+"'][type='radio'][value='lastday']").attr("checked",true);
|
||
}
|
||
else if("?"==fieldValue)
|
||
{
|
||
$("#tt input[name='cronPriority'][type='radio'][value!='"+flag.toLowerCase()+"']").attr("checked",true);
|
||
}
|
||
else if(fieldValue.indexOf("/")>-1)
|
||
{
|
||
$("#tt input[name='cron"+flag+"'][type='radio'][value='cycle']").attr("checked",true);
|
||
var cronItemStartVal = fieldValue.split("/")[0];
|
||
var cronItemPerVal = fieldValue.split("/")[1];
|
||
$("#id_cron"+flag+"Start").val(cronItemStartVal);
|
||
$("#id_cron"+flag+"Per").val(cronItemPerVal);
|
||
}
|
||
else if(fieldValue.indexOf("-")>-1)
|
||
{
|
||
$("#tt input[name='cron"+flag+"'][type='radio'][value='period']").attr("checked",true);
|
||
var cronItemStartVal = fieldValue.split("-")[0];
|
||
var cronItemEndVal = fieldValue.split("-")[1];
|
||
$("#id_cron"+flag+"PeriodStart").val(cronItemStartVal);
|
||
$("#id_cron"+flag+"PeriodEnd").val(cronItemEndVal);
|
||
}
|
||
else
|
||
{
|
||
$("#tt input[name='cron"+flag+"'][type='radio'][value='assigned']").attr("checked",true);
|
||
if("Year" == flag)
|
||
{
|
||
$("#id_cronYear_assigned").val(fieldValue);
|
||
return;
|
||
}
|
||
var selectedValues = fieldValue.split(",");
|
||
var selectedItemsCheckBox = $("#tt input[name='checkbox_cron"+flag+"'][type='checkbox']");
|
||
selectedItemsCheckBox.each(function(i){
|
||
var isChecked = false;
|
||
for(var i=0;i<selectedValues.length;i++)
|
||
{
|
||
if( this.value == selectedValues[i])
|
||
{
|
||
isChecked = true;
|
||
break;
|
||
}
|
||
}
|
||
this.checked = isChecked;
|
||
});
|
||
}
|
||
}
|
||
//ÉÏ´«º¯Êý½áÊø
|
||
jQuery(function(){
|
||
jQuery("#tt input[type='radio']").addClass("commonCheck");
|
||
jQuery("#tt input[type='checkbox']").addClass("commonCheck");
|
||
jQuery("#id_cronYearStart").val(new Date().getFullYear());
|
||
});
|
||
</script>
|
||
</html>
|
||
<%@ include file="/Frame/resources/include/include_end.jspf"%> |