Cron 页面实现效果

一.前端使用的是H-ui框架

二.效果图

Cron 页面实现效果_第1张图片

三.Html页面

 class="table-new table-border-new table-bordered-new table-bg-new mt-20">
                            class="text-c">
                                class="text-c"> 
                                  class="text-c"> 
                                  class="text-c"> 
                                  class="text-c"> 
                                  class="text-c"> 
                                  class="text-c"> 
                                  class="text-c"> 
                                  class="text-c"> 
                                  
        
            
class="row cl">
class="formControls col-7 skin-minimal">
class="radio-box"> for='div_cron_set' checked>
class="radio-box">
class="col-3">
class="row cl">
class="formControls col-7">
class="HuiTab">
class="tabBar cl"> 分钟 小时 星期
class="tabCon tabConType" id="div_seconds">
class="linet">
class="tabCon tabConType" id="div_minutes">
class="linet">
class="tabCon tabConType" id="div_hours">
class="linet">
class="tabCon tabConType" id="div_dayofMouth">
class="linet">
class="linet">
class="linet">
class="tabCon tabConType" id="div_mouth">
class="linet">
class="tabCon tabConType" id="div_dayofWeek" >
class="linet">
class="imp weekList"> 星期一 星期二 星期三 星期四 星期五 星期六 星期日
class="col-3">
class="row cl">
class="formControls col-7">
class="col-3">
class="row cl" id="cron_input">
class="formControls col-7"> class="input-text" style="width:16%" value="*" readonly> class="input-text" style="width:16%" value="*" readonly> class="input-text" style="width:16%" value="*" readonly> class="input-text" style="width:16%" value="*" readonly> class="input-text" style="width:16%" value="*" readonly> class="input-text" style="width:17%" value="?" readonly>
class="col-3">
class="row cl">
class="formControls col-7"> class="input-text" name="planExecute.cronExpress" id="express" datatype="cron" nullmsg="请输入Cron表达式" value="* * * * * ?">
class="col-3">

 

 四.js代码

      var cron = {};
       /* 初始化方法  */
	cron.init = function(){
		cron.secondsHtml("seconds");
		cron.secondsHtml("minutes");
		cron.hoursHtml();
		cron.dayofMouthHtml();
		cron.mouthHtml();
		cron.chkClick();
		cron.chksClick();
		cron.radioClick();
		cron.cronBlur();
		cron.cycle();
	}
	
	cron.secondsHtml = function(type){
	      var html = "";
		  var c = "";
	      for(var i=0;i<60;i++){
		    c = '';
			if(i<10){
			   c += '0'+i+'';
			}else{
			   c +=''+i+'';
			}
		    if(i==0){
			   html+='
'+c; }else if((i+1)%10==0){ html+=c+'
'; }else if(i==59){ html+=c+'
'; }else{ html += c; } } $("#div_"+type+" .linet").after(html); } cron.hoursHtml = function(){ var html = ""; var c = ""; for(var i=0;i<24;i++){ c = ''; if(i<10){ c += '0'+i+''; }else{ c +=''+i+''; } if(i==0){ html+='
AM: '+c; }else if(i==12){ html+='
PM: '+c; }else if(i==23){ html+=c+'
'; }else{ html += c; } } $("#div_hours .linet").after(html); } cron.dayofMouthHtml = function(){ var html = ""; var c = ""; for(var i=1;i<32;i++){ c = ''; c +=''+i+''; if(i==1){ html+='
'+c; }else if(i==16 || i==29){ html+='
'+c; }else if(i==31){ html+=c+'
'; }else{ html += c; } } $("#div_dayofMouth .linet:eq(2)").after(html); } cron.mouthHtml = function(){ var html = ""; var c = ""; for(var i=1;i<13;i++){ c = ''; c +=''+i+''; if(i==1){ html+='
'+c; }else if(i==12){ html+=c+'
'; }else{ html += c; } } $("#div_mouth .linet").after(html); } /** * 用户选择: * 1秒 2秒 1天 星期一......时触发 */ cron.chkClick = function(){ $("input[type='checkbox'][name*='_value']").click(function(){ var name = $(this).attr("name").split("_")[1]; var v = ""; var flag = $(this).parents("div.tabCon").find(".linet:eq(0) input").is(":checked"); if(!flag) return; if(name == "dayofMouth"){ var vr = $("input[type='radio'][name='radio_dayofMouth']:checked").val(); if(vr == "L"){ return; } } $("input[type='checkbox'][name='"+$(this).attr('name')+"']:checked").each(function(){ v+=$(this).val()+","; }); cron.setInputValue(v,name); }); } cron.radioClick = function(){ $("input[type='radio'][name='radio_dayofMouth']").click(function(){ var flag = $(this).parents("div.tabCon").find(".linet:eq(0) input").is(":checked"); if(!flag) return; var vr = $(this).val(); var v = ""; if(vr == "L"){ var iv = $("#input_dayofMouth"); iv.val("L"); cron.expressValue(); }else{ $("input[type='checkbox'][name='chk_dayofMouth_value']:checked").each(function(){ v+=$(this).val()+","; }); cron.setInputValue(v,"dayofMouth"); } }); } /** * 用户选择: * 使用秒、使用时,使用天,使用周时触发 */ cron.chksClick = function(){ $("input[type='checkbox'][name*='chks']").click(function(){ var name = $(this).attr("name").replace("chks_",""); if($(this).is(":checked")){ var v = ""; if(name == "dayofMouth"){ var vr = $("input[type='radio'][name='radio_dayofMouth']:checked").val(); if(vr == "L"){ var iv = $("#input_dayofMouth"); iv.val("L"); cron.expressValue(); return; } } $("input[type='checkbox'][name='chk_"+name+"_value']:checked").each(function(){ v+=$(this).val()+","; }); cron.setInputValue(v,name); }else{ var iv = $("#input_"+name); switch(name) { case "seconds": iv.val("*"); break; case "minutes": iv.val("*"); break; case "hours": iv.val("*"); break; case "dayofMouth": $("#input_dayofMouth").val() == "?"?iv.val("*"):iv.val("?"); break; case "mouth": iv.val("*"); break; case "dayofWeek": iv.val("?"); $("#input_dayofMouth").val() == "?"?$("#input_dayofMouth").val("*"):""; break; } cron.expressValue(); } }); } cron.setInputValue = function(v,name){ if(v.length>0){ v = v.substring(0,v.length-1); } var iv = $("#input_"+name); switch(name) { case "seconds": everyCron(); break; case "minutes": everyCron(); $("#input_seconds").val() == "*"?$("#input_seconds").val("0"):""; replaceCron("seconds"); break; case "hours": iv.val(v); $("#input_seconds").val() == "*"?$("#input_seconds").val("0"):""; $("#input_minutes").val() == "*"? $("#input_minutes").val("0"):""; replaceCron("minutes"); break; case "dayofMouth": iv.val(v); break; case "mouth": iv.val(v); break; case "dayofWeek": $("#input_seconds").val() == "*"?$("#input_seconds").val("0"):""; $("#input_minutes").val() == "*"? $("#input_minutes").val("0"):""; $("#input_hours").val() == "*"?$("#input_hours").val("0"):""; $("#input_dayofMouth").val() == "*"?$("#input_dayofMouth").val("?"):""; iv.val(v); break; } if(name == "dayofWeek"){ iv.val()==""?iv.val("?"):""; }else{ iv.val()==""?iv.val("*"):""; } //每秒 每分钟处理 //如果选择了 5秒,值替换成 */5 (表示每5秒执行一次) function everyCron(){ var flag = true; iv.nextAll().each(function(){ var nv = $(this).val(); if(nv != "*" && nv != "?" && nv!= "L"){ flag = false; return; } }); if(flag){ if(v == ""){ iv.val(v); }else{ v.indexOf(",")>0?iv.val(v):iv.val("*/"+v); } }else{ iv.val(v); } } //如果选择了5秒 和 1分钟 把(*/5)替换成(5),表示每分钟1秒执行 function replaceCron(name){ var imv = $("#input_"+name).val(); if(imv.length>1){ $("#input_"+name).val(imv.replace("*/","")) } } cron.expressValue(); } cron.expressValue = function(){ var v =["seconds","minutes","hours","dayofMouth","mouth","dayofWeek"]; var ev = ""; for(var i=0;i

 

转载于:https://www.cnblogs.com/zt528/p/5435999.html

你可能感兴趣的:(Cron 页面实现效果)