apzl_leasing/WebContent/Tenwa/Comm/Quartz/QuartzCronManager.jsp
2018-06-03 22:26:41 +08:00

400 lines
18 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<%@ 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">´ÓµÚ&nbsp;<input id="id_cronSecondStart" type="text" class="twoNumInput" value="0"/>&nbsp;Ã뿪ʼ£¬Ã¿¸ô&nbsp;<input id="id_cronSecondPer" type="text" class="twoNumInput" value="1"/>&nbsp;ÃëÖ´ÐС£</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)}">&zwj;</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">´ÓµÚ&nbsp;<input value="0" type="text" id="id_cronMinuteStart" class="twoNumInput"/>&nbsp;·ÖÖÓ¿ªÊ¼£¬Ã¿¸ô&nbsp;<input type="text" id="id_cronMinutePer" class="twoNumInput" value="1" />&nbsp;·ÖÖÓÖ´ÐС£</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)}">
&zwj;
</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">´Ó&nbsp;<input value="0" type="text" id="id_cronHourStart" class="twoNumInput"/>&nbsp;ʱ¿ªÊ¼£¬Ã¿¸ô&nbsp;<input type="text" id="id_cronHourPer" class="twoNumInput" value="1" />&nbsp;СʱִÐС£</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)}">
&zwj;
</c:if>
</c:forTokens>
</div>
</div>
<div title="Ìì" style="padding:20px;">
<input name="cronPriority" value="day" type="radio" checked/>ÌìÓÅÏÈ£¨ÓÅÏȼ¶¸ßÓÚ&nbsp;<font color="red">ÐÇÆÚ</font>&nbsp;£©
<div>
<input name="cronDay" value="per" type="radio" checked/>ÿÌì¶¼Ö´ÐÐ
<br/>
<input name="cronDay" value="cycle" type="radio" />Ñ­»·£º
<div class="content-container">´ÓµÚ&nbsp;<input value="1" type="text" id="id_cronDayStart" class="twoNumInput"/>&nbsp;Ì쿪ʼ£¬Ã¿¸ô&nbsp;<input type="text" id="id_cronDayPer" class="twoNumInput" value="1" />&nbsp;ÌìÖ´ÐС£</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)}">
&zwj;
</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">´Ó&nbsp;<input value="1" type="text" id="id_cronMonthStart" class="twoNumInput"/>&nbsp;Ô¿ªÊ¼£¬Ã¿¸ô&nbsp;<input type="text" id="id_cronMonthPer" class="twoNumInput" value="1" />&nbsp;ÔÂÖ´ÐС£</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)}">
&zwj;
</c:if>
</c:forTokens>
</div>
</div>
<div title="ÐÇÆÚ" style="padding:20px;">
<input name="cronPriority" value="week" type="radio" />ÐÇÆÚÓÅÏÈ£¨ÓÅÏȼ¶¸ßÓÚ&nbsp;<font color="red">Ìì</font>&nbsp;£©
<div>
<input name="cronWeek" value="per" type="radio" checked/>ÿÐÇÆÚ¶¼Ö´ÐÐ
<br/>
<input name="cronWeek" value="cycle" type="radio" />Ñ­»·£º
<div class="content-container">´Ó&nbsp;<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>&nbsp;¿ªÊ¼£¬Ã¿¸ô&nbsp;<input type="text" id="id_cronWeekPer" class="twoNumInput" value="1" />&nbsp;ÌìÖ´ÐС£</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">´Ó&nbsp;<input value="*" type="text" id="id_cronYearStart" class="fourNumInput"/>&nbsp;Ä꿪ʼ£¬Ã¿¸ô&nbsp;<input type="text" id="id_cronYearPer" class="twoNumInput" value="1" />&nbsp;ÄêÖ´ÐС£</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">
Ñ¡Ôñ£º&nbsp;<input type="text" id="id_cronYearPeriodStart" class="fourNumInput"/>&nbsp;----&nbsp;<input type="text" id="id_cronYearPeriodEnd" class="fourNumInput"/>&nbsp;Äê
</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±í´ïʽ"/>
<input type="button" onclick="resolveUIToCronExpression(jQuery);" value="·µ»Ø"/>
</body>
<script type="text/javascript">
$(function(){
var time = "<%=CurPage.getParameter("time")%>";
if(time){
$("#id_cron").val(time);
$("#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"%>