com.bstek.bdf2.job.model.JobDefinition [dataTypeCalendar] $${this.id} bdf2.jobMaintain#loadCalendars bdf2.jobMaintain#loadJobHistories [$dataTypeJobHistory] $${this.id} 20 bdf2.jobMaintain#loadJobParameters $${this.id} [$dataTypeJobParameter] String Date 开始日期 String 描述 120 2 值要在2~120之间 String 使用的BeanId true 60 2 值要在2~60之间 String Job名称 true 60 2 值要在2~60之间 Date 结束日期 String String Cron表达式 true 60 2 值要在2~60之间 当前状态 com.bstek.bdf2.job.model.JobCalendar String String 描述 120 2 长度需要在2~120之间 String 日期名称 true 60 2 长度需要在2~60之间 String 类型 weekly 星期中的某些天 monthly 月份中的某些天 holiday 具体日期 annual 每年都经历的日期 key value holiday true String int int int int String 0 String int int int int String 0 String int int int int String 0 String int 1 int 1 int 1 int 1 String 1 String int 1 int 1 int 1 int 1 String 1 String String SUN String SUN String SUN String SUN String SUN String SUN com.bstek.bdf2.job.view.job.CronDate DateTime 执行日期 com.bstek.bdf2.job.view.job.JobInfo String 可用的Job的BeanId com.bstek.bdf2.job.model.JobCalendar String String 描述 120 2 长度需要在2~120之间 String 日期名称 true 60 2 长度需要在2~60之间 String 类型 weekly 星期中的某些天 monthly 月份中的某些天 holiday 具体日期 annual 每年都经历的日期 key value holiday true com.bstek.bdf2.job.model.JobHistory String 异常消息 String Date 执行开始时间 Y-m-d H:i:s String Date 执行结束时间 Y-m-d H:i:s boolean 是否成功 com.bstek.bdf2.job.model.JobParameter com.bstek.bdf2.job.model.JobParameter String String String 属性名 true 1 60 长度需要在1~60之间 String 属性值 true 1 120 长度需要在1~120之间 self.insert({type:"all"}); dataTypeSecond [$dataTypeJobCalendar] bdf2.jobMaintain#loadAllCalendars self.insert({type:"all"}); dataTypeMinute self.insert({type:"all"}); dataTypeHour self.insert({type:"all"}); dataTypeDay self.insert({type:"all"}); dataTypeMonth self.insert({type:"all"}); dataTypeWeek [dataTypeJob] 20 bdf2.jobMaintain#loadJobs [dataTypeJobInfo] bdf2.jobMaintain#loadJobInfos 900 Job执行排除假期 菜单: var ds=view.id("dataSetJob"); var jobData=ds.getData("#"); switch(arg.code){ case "+": if(!jobData){ dorado.MessageBox.alert("请先选中一Job"); }else{ var state=jobData.get("state"); if(state!="stop" && state!="ready"){ dorado.MessageBox.alert("Job必须处于停止或待命时才能进行此操作"); }else{ view.id("dialogCalendarSelect").show(); } } break; case "-": var state=jobData.get("state"); if(state!="stop" && state!="ready"){ dorado.MessageBox.alert("Job必须处于停止或待命时才能进行此操作"); }else{ dorado.MessageBox.confirm("真的要删除当前日期",function(){ var calendarId=ds.getData("#.#calendars.id"); var action=view.id("ajaxActionSaveCalendar"); action.set("parameter",{calendarId:calendarId,jobId:jobData.get("id"),operation:"del"}); action.execute(function(){ jobData.reset("calendars"); }); }); } break; } arg.processDefault=false; dataSetJob #.calendars +,- dataSetJob #.calendars true name desc 500 500 true true dataSetCalendar true name desc bdf2.jobMaintain#saveJobCalendars 操作成功 Job运行历史 菜单: var data=view.id("dataSetJob").getData("#"); var selection=view.id("dataGridHistory").get("selection"); if(selection.length<1){ dorado.MessageBox.alert("请先选中要删除的历史"); return; } var jobHistoryIds=[]; selection.each(function(entity){ var id=entity.get("id"); jobHistoryIds.push(id); }); dorado.MessageBox.confirm("真的要删除这些选中的历史",function(){ var action=view.id("ajaxActionDeleteHistory"); action.set("parameter",{jobHistoryIds:jobHistoryIds}); action.execute(function(){ data.reset("histories"); }); }); 删除 url(skin>common/icons.gif) -40px 0px 删除勾选数据 80 if(view.id("dataSetJob").getData("#.#histories")){ view.id("dialogExceptionInfo").show(); }else{ dorado.MessageBox.alert("当前没有选中记录,没有异常消息可供查看"); } #.histories dataSetJob true multiRows 双击以查看异常消息 startDate endDate var successful=arg.data.get("successful"); if(successful){ arg.dom.innerHTML="<font color='green'>成功</font>"; }else{ arg.dom.innerHTML="<font color='red'>失败</font>"; } successful 500 400 true Job执行异常消息 true bdf2.jobMaintain#deleteJobHistory 操作成功 dataSetJob #.histories pages Job运行参数 false var ds=view.id("dataSetJob"); var state=ds.getData("#.state"); switch(arg.code){ case "+": if(state!="stop" && state!="ready"){ dorado.MessageBox.alert("Job必须处于停止或待命时才能进行此操作"); }else{ var jobId=ds.getData("#.id"); var data=ds.getData("#.parameters"); data.insert({jobId:jobId}); } break; case "-": if(state!="stop" && state!="ready"){ dorado.MessageBox.alert("Job必须处于停止或待命时才能进行此操作"); }else{ var data=ds.getData("#.#parameters"); data.remove(); } break; } arg.processDefault=false; +,- dataSetJob #.parameters 保存 updateActionSaveParameters url(skin>common/icons.gif) -140px -20px #.parameters dataSetJob name name value value bdf2.jobMaintain#saveJobParameters 操作成功 dataSetJob #.parameters[#dirty] switch(arg.code){ case "+": view.id("dataSetJob").insert(); view.id("dialogJob").show(); break; case "-": var data=view.id("dataSetJob").getData("#"); if(data.get("state")!=="stop" && data.get("state")!=="ready"){ dorado.MessageBox.alert("要删除的Job必须为停止或待命状态,否则不能删除"); }else{ dorado.MessageBox.confirm("真的要删除当前Job",function(){ data.remove(); view.id("updateActionSaveJob").execute(); }); } break; } arg.processDefault=false; dataSetJob pages,+,- var data=view.id("dataSetJob").getData("#"); if(data){ var state=data.get("state"); if(state=="running" || state=="run"){ dorado.MessageBox.alert("只有当Job状态为待命及停止时才可进行编辑操作"); return; } view.id("dialogJob").show(); }else{ dorado.MessageBox.alert("当前没有数据可供修改"); } 修改 url(skin>common/icons.gif) -200px 0px var data=view.id("dataSetJob").getData("#"); if(data){ var state=data.get("state"); if(state=="running"){ dorado.MessageBox.alert("当前Job正处于启动中状态,不能再次执行启动动作"); return; } if(state=="run"){ dorado.MessageBox.alert("当前Job正处于启动状态,不能再次执行启动动作"); return; } dorado.MessageBox.confirm("真的要启动当前任务?",function(){ var action=view.id("ajaxActionRunJob"); action.set("parameter",{jobDefinitionId:data.get("id")}); action.execute(function(){ data.set("state","running"); data.setState(dorado.Entity.STATE_NONE); }); }); }else{ dorado.MessageBox.alert("当前没有数据可供操作"); } 启动任务 url(skin>common/icons.gif) -180px -220px var data=view.id("dataSetJob").getData("#"); if(data){ var state=data.get("state"); if(state=="stopping"){ dorado.MessageBox.alert("当前Job正处于停止中状态,不能再次执行停止动作"); return; } if(state=="stop"){ dorado.MessageBox.alert("当前Job正处于停止状态,不能再次执行停止动作"); return; } dorado.MessageBox.confirm("真的要停止当前任务?",function(){ var action=view.id("ajaxActionStopJob"); action.set("parameter",{jobDefinitionId:data.get("id")}); action.execute(function(){ data.set("state","stopping"); data.setState(dorado.Entity.STATE_NONE); }); }); }else{ dorado.MessageBox.alert("当前没有数据可供操作"); } 停止任务 url(skin>common/icons.gif) -240px -220px var select = view.get("#dataGridJob.selection"); if(select){ view.get("#dialogException").show(); }else{ $alert("请先选择需要执行的JOB"); } url(>skin>common/icons.gif) -80px -0px 宕机处理 var data=view.id("dataSetJob").getData("#"); if(data){ var state=data.get("state"); if(state=="running" || state=="run"){ dorado.MessageBox.alert("只有当Job状态为待命及停止时才可进行编辑操作"); return; } view.id("dialogJob").show(); }else{ dorado.MessageBox.alert("当前没有数据可供修改"); } dataSetJob true serverSide true singleRow name 120 beanId 230 var state=arg.data.get("state"); if(state=="ready"){ arg.dom.innerHTML="<strong><font color='blue'>待命</font></strong>"; } if(state=="running"){ arg.dom.innerHTML="<font color='blue'>启动中</font>"; } if(state=="run"){ arg.dom.innerHTML="<strong><font color='green'>运行中</font></strong>"; } if(state=="pausing"){ arg.dom.innerHTML="<font color='yellow'>暂停中</font>"; } if(state=="pause"){ arg.dom.innerHTML="<strong><font color='yellow'>暂停</font></strong>"; } if(state=="stopping"){ arg.dom.innerHTML="<font color='red'>停止中</font>"; } if(state=="stop"){ arg.dom.innerHTML="<strong><font color='red'>停止</font></strong>"; } state state 100 false cronExpression 160 false desc false true 550 300 true true false Job信息编辑 130 * right 类型 type view.id("autoFormPerSecond").set("visible",false); view.id("autoFormRegionSecond").set("visible",false); view.id("autoFormSpecificSecond").set("visible",false); var value=self.get("value"); if(value=="per"){ view.id("autoFormPerSecond").set("visible",true); } if(value=="region"){ view.id("autoFormRegionSecond").set("visible",true); } if(value=="specific"){ view.id("autoFormSpecificSecond").set("visible",true); } all dataSetSecond type all 所有秒 每隔多少秒 per 秒区段 region 特定秒 specific right * false display per 从第 dataSetSecond fromPerSecond listDropDownSelectSecond false 90 dataSetSecond perSecond listDropDownSelectSecond false 90 * right false display 在第 region dataSetSecond fromSecond listDropDownSelectSecond false 90 int dataSetSecond toSecond listDropDownSelectSecond false 90 * display false right 选择秒 specific listDropDownSecond false dataSetSecond specificSecond var seconds=[]; for(var i=0;i<60;i++){ seconds.push(i); } self.set("items",seconds); var selectedValue=arg.selectedValue; var data=view.id("dataSetSecond").getData(); var orgValue=data.get("specificSecond"); var ok=true; if(orgValue){ var value=orgValue.split(","); for(var i=0;i<value.length;i++){ if(value[i]==selectedValue){ ok=false; break; } } orgValue+=","+selectedValue; }else{ orgValue=selectedValue; } if(ok){ data.set("specificSecond",orgValue); }else{ dorado.MessageBox.alert("当前值已选择"); } arg.processDefault=false; var seconds=[]; for(var i=0;i<60;i++){ seconds.push(i); } self.set("items",seconds); 分钟 * right 类型 type view.id("autoFormPerMinute").set("visible",false); view.id("autoFormRegionMinute").set("visible",false); view.id("autoFormSpecificMinute").set("visible",false); var value=self.get("value"); if(value=="per"){ view.id("autoFormPerMinute").set("visible",true); } if(value=="region"){ view.id("autoFormRegionMinute").set("visible",true); } if(value=="specific"){ view.id("autoFormSpecificMinute").set("visible",true); } all dataSetMinute type all 所有分钟 每隔多少分钟 per 分钟区段 region 特定分钟 specific right * false display per 从第 dataSetMinute fromPerMinute listDropDownSelectMinute false 90 dataSetMinute perMinute listDropDownSelectMinute false 90 * right false display 在第 region dataSetMinute fromMinute listDropDownSelectMinute false 90 dataSetMinute toMinute listDropDownSelectMinute false 90 * display false right 选择秒 specific listDropDownMinute false dataSetMinute specificMinute var seconds=[]; for(var i=0;i<60;i++){ seconds.push(i); } self.set("items",seconds); var selectedValue=arg.selectedValue; var data=view.id("dataSetMinute").getData(); var orgValue=data.get("specificMinute"); var ok=true; if(orgValue){ var value=orgValue.split(","); for(var i=0;i<value.length;i++){ if(value[i]==selectedValue){ ok=false; break; } } orgValue+=","+selectedValue; }else{ orgValue=selectedValue; } if(ok){ data.set("specificMinute",orgValue); }else{ dorado.MessageBox.alert("当前值已选择"); } arg.processDefault=false; var seconds=[]; for(var i=0;i<60;i++){ seconds.push(i); } self.set("items",seconds); 小时 * right 类型 type view.id("autoFormPerHour").set("visible",false); view.id("autoFormRegionHour").set("visible",false); view.id("autoFormSpecificHour").set("visible",false); var value=self.get("value"); if(value=="per"){ view.id("autoFormPerHour").set("visible",true); } if(value=="region"){ view.id("autoFormRegionHour").set("visible",true); } if(value=="specific"){ view.id("autoFormSpecificHour").set("visible",true); } all dataSetHour type all 所有小时 每隔多少小时 per 小时区段 region 特定小时 specific right * false display per 从第 dataSetHour fromPerHour listDropDownSelectHour false 90 dataSetHour perHour listDropDownSelectHour false 90 * right false display 在第 region dataSetHour fromHour listDropDownSelectHour false 90 dataSetHour toHour listDropDownSelectHour false 90 * display false right 选择小时 specific listDropDownHour false dataSetHour specificHour var seconds=[]; for(var i=0;i<24;i++){ seconds.push(i); } self.set("items",seconds); var selectedValue=arg.selectedValue; var data=view.id("dataSetHour").getData(); var orgValue=data.get("specificHour"); var ok=true; if(orgValue){ var value=orgValue.split(","); for(var i=0;i<value.length;i++){ if(value[i]==selectedValue){ ok=false; break; } } orgValue+=","+selectedValue; }else{ orgValue=selectedValue; } if(ok){ data.set("specificHour",orgValue); }else{ dorado.MessageBox.alert("当前值已选择"); } arg.processDefault=false; var seconds=[]; for(var i=0;i<24;i++){ seconds.push(i); } self.set("items",seconds); 日期 * right 类型 type view.id("autoFormPerDay").set("visible",false); view.id("autoFormRegionDay").set("visible",false); view.id("autoFormSpecificDay").set("visible",false); var value=self.get("value"); if(value=="per"){ view.id("autoFormPerDay").set("visible",true); } if(value=="region"){ view.id("autoFormRegionDay").set("visible",true); } if(value=="specific"){ view.id("autoFormSpecificDay").set("visible",true); } all dataSetDay type all 所有日 每隔多少日 per 日区段 region 特定日 specific 每月最后一天 last right * false display per 从第 dataSetDay fromPerDay listDropDownSelectDay false 90 dataSetDay perDay listDropDownSelectDay false 90 * right false display 在第 region dataSetDay fromDay listDropDownSelectDay false 90 dataSetDay toDay listDropDownSelectDay false 90 * display false right 选择日期 specific listDropDownDay false dataSetDay specificDay var seconds=[]; for(var i=1;i<32;i++){ seconds.push(i); } self.set("items",seconds); var selectedValue=arg.selectedValue; var data=view.id("dataSetDay").getData(); var orgValue=data.get("specificDay"); var ok=true; if(orgValue){ var value=orgValue.split(","); for(var i=0;i<value.length;i++){ if(value[i]==selectedValue){ ok=false; break; } } orgValue+=","+selectedValue; }else{ orgValue=selectedValue; } if(ok){ data.set("specificDay",orgValue); }else{ dorado.MessageBox.alert("当前值已选择"); } arg.processDefault=false; var seconds=[]; for(var i=1;i<32;i++){ seconds.push(i); } self.set("items",seconds); 月份 * right 类型 type view.id("autoFormPerMonth").set("visible",false); view.id("autoFormRegionMonth").set("visible",false); view.id("autoFormSpecificMonth").set("visible",false); var value=self.get("value"); if(value=="per"){ view.id("autoFormPerMonth").set("visible",true); } if(value=="region"){ view.id("autoFormRegionMonth").set("visible",true); } if(value=="specific"){ view.id("autoFormSpecificMonth").set("visible",true); } all dataSetMonth type all 所有月份 每隔多少月 per 月份区段 region 特定月份 specific right * false display per 从第 dataSetMonth fromPerMonth listDropDownSelectMonth false 90 dataSetMonth perMonth listDropDownSelectMonth false 90 * right false display 在第 region dataSetMonth fromMonth listDropDownSelectMonth false 90 dataSetMonth toMonth listDropDownSelectMonth false 90 * display false right 选择小时 specific listDropDownMonth false dataSetMonth specificMonth var seconds=[]; for(var i=1;i<13;i++){ seconds.push(i); } self.set("items",seconds); var selectedValue=arg.selectedValue; var data=view.id("dataSetMonth").getData(); var orgValue=data.get("specificMonth"); var ok=true; if(orgValue){ var value=orgValue.split(","); for(var i=0;i<value.length;i++){ if(value[i]==selectedValue){ ok=false; break; } } orgValue+=","+selectedValue; }else{ orgValue=selectedValue; } if(ok){ data.set("specificMonth",orgValue); }else{ dorado.MessageBox.alert("当前值已选择"); } arg.processDefault=false; var seconds=[]; for(var i=1;i<13;i++){ seconds.push(i); } self.set("items",seconds); 星期 * right 类型 type view.id("autoFormPerWeek").set("visible",false); view.id("autoFormRegionWeek").set("visible",false); view.id("autoFormSpecificWeek").set("visible",false); view.id("autoFormLastWeek").set("visible",false); var value=self.get("value"); if(value=="per"){ view.id("autoFormPerWeek").set("visible",true); } if(value=="region"){ view.id("autoFormRegionWeek").set("visible",true); } if(value=="specific"){ view.id("autoFormSpecificWeek").set("visible",true); } if(value=="last"){ view.id("autoFormLastWeek").set("visible",true); } all dataSetWeek type all 所有星期 每隔多少星期天数 per 星期区段 region 特定星期 specific 每月最后一个星期 last right * false display per 从星期 dataSetWeek fromPerWeek listDropDownSelectWeek false 90 dataSetWeek perWeek listDropDownSelectWeek false 90 * right false display 在星期 region dataSetWeek fromWeek listDropDownSelectWeek false 90 dataSetWeek toWeek listDropDownSelectWeek false 90 * display false right 选择星期 specific listDropDownWeek false dataSetWeek specificWeek * right false display 150 每月最后一个星期的星期 last dataSetWeek last listDropDownSelectWeek false 90 var seconds=[]; seconds.push("SUN"); seconds.push("MON"); seconds.push("TUE"); seconds.push("WED"); seconds.push("THU"); seconds.push("FRI"); seconds.push("SAT"); self.set("items",seconds); var selectedValue=arg.selectedValue; var data=view.id("dataSetWeek").getData(); var orgValue=data.get("specificWeek"); var ok=true; if(orgValue){ var value=orgValue.split(","); for(var i=0;i<value.length;i++){ if(value[i]==selectedValue){ ok=false; break; } } orgValue+=","+selectedValue; }else{ orgValue=selectedValue; } if(ok){ data.set("specificWeek",orgValue); }else{ dorado.MessageBox.alert("当前值已选择"); } arg.processDefault=false; var weeks=[]; weeks.push("SUN"); weeks.push("MON"); weeks.push("TUE"); weeks.push("WED"); weeks.push("THU"); weeks.push("FRI"); weeks.push("SAT"); self.set("items",weeks); 330,*,* 1 1 1 10 Cron表达式 cron 2 2 true true 220 500 dataSetCronDate true date [dataTypeCronDate] manual bdf2.jobMaintain#parseCronExpression true true 500 270 false dataSetJob * right 100 name name beanId beanId triggerBean cronExpression cronExpression triggerCron desc desc TextArea var dialog=view.id("dialogCron").show(); var cronExpr=view.id("dataSetJob").getData("#.cronExpression"); if(!cronExpr){ return; } var cron=cronExpr.split(" "); if(cron.length<5){ dorado.MessageBox.alert("无法解析当前Cron表达式["+cronExpr+"]"); return; } view.id("autoFormPerSecond").set("visible",false); view.id("autoFormRegionSecond").set("visible",false); view.id("autoFormSpecificSecond").set("visible",false); view.id("autoFormPerMinute").set("visible",false); view.id("autoFormRegionMinute").set("visible",false); view.id("autoFormSpecificMinute").set("visible",false); view.id("autoFormPerHour").set("visible",false); view.id("autoFormRegionHour").set("visible",false); view.id("autoFormSpecificHour").set("visible",false); view.id("autoFormPerDay").set("visible",false); view.id("autoFormRegionDay").set("visible",false); view.id("autoFormSpecificDay").set("visible",false); view.id("autoFormPerMonth").set("visible",false); view.id("autoFormRegionMonth").set("visible",false); view.id("autoFormSpecificMonth").set("visible",false); view.id("autoFormPerWeek").set("visible",false); view.id("autoFormRegionWeek").set("visible",false); view.id("autoFormSpecificWeek").set("visible",false); view.id("autoFormLastWeek").set("visible",false); var second=cron[0]; if(second=="*"){ view.id("dataSetSecond").getData().set("type","all"); }else{ var data=view.id("dataSetSecond").getData(); var region=second.split("-"); var per=second.split("/"); if(region.length>1){ data.set("type","region"); data.set("fromSecond",region[0]); data.set("toSecond",region[1]); view.id("autoFormRegionSecond").set("visible",true); }else if(per.length>1){ data.set("type","per"); data.set("fromPerSecond",per[0]); data.set("perSecond",per[1]); view.id("autoFormPerSecond").set("visible",true); }else{ data.set("type","specific"); data.set("specificSecond",second); view.id("autoFormSpecificSecond").set("visible",true); } } //------------------------- var minute=cron[1]; if(minute=="*"){ view.id("dataSetMinute").getData().set("type","all"); }else{ var data=view.id("dataSetMinute").getData(); var region=minute.split("-"); var per=minute.split("/"); if(region.length>1){ data.set("type","region"); data.set("fromMinute",region[0]); data.set("toMinute",region[1]); view.id("autoFormRegionMinute").set("visible",true); }else if(per.length>1){ data.set("type","per"); data.set("fromPerMinute",per[0]); data.set("perMinute",per[1]); view.id("autoFormPerMinute").set("visible",true); }else{ data.set("type","specific"); data.set("specificMinute",minute); view.id("autoFormSpecificMinute").set("visible",true); } } //------------------------- var hour=cron[2]; if(hour=="*"){ view.id("dataSetHour").getData().set("type","all"); }else{ var data=view.id("dataSetHour").getData(); var region=hour.split("-"); var per=hour.split("/"); if(region.length>1){ data.set("type","region"); data.set("fromHour",region[0]); data.set("toHour",region[1]); view.id("autoFormRegionHour").set("visible",true); }else if(per.length>1){ data.set("type","per"); data.set("fromPerHour",per[0]); data.set("perHour",per[1]); view.id("autoFormPerHour").set("visible",true); }else{ data.set("type","specific"); data.set("specificHour",hour); view.id("autoFormSpecificHour").set("visible",true); } } //------------------------- var day=cron[3]; if(day=="*" || day=="?"){ view.id("dataSetDay").getData().set("type","all"); }else if(day=="L"){ view.id("dataSetDay").getData().set("type","last"); }else{ var data=view.id("dataSetDay").getData(); var region=day.split("-"); var per=day.split("/"); if(region.length>1){ data.set("type","region"); data.set("fromDay",region[0]); data.set("toDay",region[1]); view.id("autoFormRegionDay").set("visible",true); }else if(per.length>1){ data.set("type","per"); data.set("fromPerDay",per[0]); data.set("perDay",per[1]); view.id("autoFormPerDay").set("visible",true); }else{ data.set("type","specific"); data.set("specificDay",day); view.id("autoFormSpecificDay").set("visible",true); } } //------------------------- var month=cron[4]; if(month=="*"){ view.id("dataSetMonth").getData().set("type","all"); }else{ var data=view.id("dataSetMonth").getData(); var region=month.split("-"); var per=month.split("/"); if(region.length>1){ data.set("type","region"); data.set("fromMonth",region[0]); data.set("toMonth",region[1]); view.id("autoFormRegionMonth").set("visible",true); }else if(per.length>1){ data.set("type","per"); data.set("fromPerMonth",per[0]); data.set("perMonth",per[1]); view.id("autoFormPerMonth").set("visible",true); }else{ data.set("type","specific"); data.set("specificMonth",month); view.id("autoFormSpecificMonth").set("visible",true); } } //------------------------- var week=cron[5]; if(week=="*" || week=="?"){ view.id("dataSetWeek").getData().set("type","all"); }else if(week.indexOf("L")>0){ var data=view.id("dataSetWeek").getData(); data.set("type","last"); var d=week.substring(0,1); if(d){ data.set("last",d); } view.id("autoFormLastWeek").set("visible",true); }else{ var data=view.id("dataSetWeek").getData(); var region=week.split("-"); var per=week.split("/"); if(region.length>1){ data.set("type","region"); data.set("fromWeek",region[0]); data.set("toWeek",region[1]); view.id("autoFormRegionWeek").set("visible",true); }else if(per.length>1){ data.set("type","per"); data.set("fromPerWeek",per[0]); data.set("perWeek",per[1]); view.id("autoFormPerWeek").set("visible",true); }else{ data.set("type","specific"); data.set("specificWeek",week); view.id("autoFormSpecificWeek").set("visible",true); } } view.id("autoFormCronExp").set("entity",{cron:cronExpr}); view.id("dialogJobBeans").show(); true true 500 500 dataSetJobInfo true beanId bdf2.jobMaintain#saveJobs 操作成功 dataSetJob bdf2.jobMaintain#stopJob 操作成功 bdf2.jobMaintain#runJob 操作成功 400 200 JOB宕机处理 false dateDropDown1 Date -- 选择宕机时间 -- todoJob#todo 执行统计中……