/**
|
* Created by LinJ on 2015/11/5.
|
* 页面功能模块js
|
*/
|
|
|
|
/**
|
* 表达式重置为默认值
|
*/
|
function everyTime(dom) {
|
var item = $("span[name=v_" + dom.name + "]");
|
item.html("*");
|
item.change();
|
}
|
|
/**
|
* 表达式重置为默认值
|
入参为元素的名字
|
*/
|
function everyTimeByName(v_name) {
|
var item = $("span[name=" +v_name + "]");
|
item.html("*");
|
item.change();
|
}
|
|
//清除表达式的值
|
function clearSpan(dom){
|
var item = $("span[name=v_" +dom.name + "]");
|
item.html("");
|
item.change();
|
}
|
|
|
/**
|
* 不指定 即重置为?号
|
*/
|
function unAppoint(dom) {
|
var name = dom.name;
|
var val = "?";
|
if (name == "year")
|
val = "";
|
var item = $("span[name=v_" + name + "]");
|
item.html(val);
|
item.change();
|
}
|
|
/**
|
* 不指定 即重置为?号
|
入参为元素的名字
|
*/
|
function unAppointByName(v_name) {
|
|
var val = "?";
|
if (v_name == "year")
|
val = "";
|
var item = $("span[name=" + v_name + "]");
|
item.html(val);
|
item.change();
|
}
|
|
//最后一日
|
function lastDay(dom){
|
var item = $("span[name=v_" + dom.name + "]");
|
item.html("L");
|
item.change();
|
}
|
|
/**
|
* 书写有前后的公式,包括 1-2 1/2 1#2 等
|
*/
|
function writeStartAndEnd(dom,sym) {
|
var name = dom.name;
|
var ns = $(dom).closest('.radiocheck').find(".numberspinner");
|
var start = ns.eq(0).val();
|
var end = ns.eq(1).val();
|
var item = $("span[name=v_" + name + "]");
|
item.html(start + sym + end);
|
item.change();
|
}
|
|
//书写只有前的工时,包括1W 1L等
|
function writeEnd(dom,sym){
|
var name = dom.name;
|
var ns = $(dom).closest('.radiocheck').find(".numberspinner");
|
var value = ns.eq(0).val();
|
var item = $("span[name=v_" + name + "]");
|
item.html(value + sym);
|
item.change();
|
}
|
|
|
//点击div中的内容,对应radio即被选中的功能
|
function radioCheckByClick(dom){
|
var theRadio = $(dom).find(':radio');
|
theRadio.eq(0).iCheck('check');
|
}
|
|
//从checkList更新span的通用方法
|
function changeSpanFromCheckList(checkList,maxvalue,spanname){
|
var vals = [];
|
checkList.each(function () {
|
if (this.checked) {
|
vals.push(this.value);
|
}
|
});
|
var val = "?";
|
if (vals.length > 0 && vals.length < maxvalue) {
|
val = vals.join(",");
|
}else if(vals.length == maxvalue){
|
val = "*";
|
}
|
var item = $("span[name=v_"+spanname+"]");
|
item.html(val);
|
item.change();
|
}
|
|
//解析cron表达式到生成器的函数
|
function reverseExp() {
|
//获取参数中表达式的值
|
var txt = $("#cron").val();
|
|
if (txt) {
|
var regs = txt.split(' ');
|
expObj(regs[0], "second");
|
expObj(regs[1], "min");
|
expObj(regs[2], "hour");
|
expDay(regs[3], "day");
|
expObj(regs[4], "month");
|
expWeek(regs[5],"week");
|
|
if (regs.length > 6) {
|
$("span[name=v_year]").html(regs[6]);
|
expYear(regs[6],"year");
|
}
|
}
|
}
|
|
//解析时分秒月
|
function expObj(val,type){
|
//表达式结果框赋值
|
$("span[name=v_"+type+"]").html(val);
|
//寻找对应类型的radio列表
|
var radios = $(":radio[name="+type+"]");
|
var ary = null;
|
//根据值的类型进行判断与对应赋值,以及radio的选中。
|
if (val == "*") {
|
radios.eq(0).iCheck("check");
|
} else if (val.split('-').length > 1) {
|
ary = val.split('-');
|
$(":text[name="+type+"]").eq(0).val(ary[0]);
|
$(":text[name="+type+"]").eq(1).val(ary[1]);
|
radios.eq(1).iCheck("check");
|
} else if (val.split('/').length > 1) {
|
ary = val.split('/');
|
$(":text[name="+type+"]").eq(2).val(ary[0]);
|
$(":text[name="+type+"]").eq(3).val(ary[1]);
|
radios.eq(2).iCheck("check");
|
} else {
|
if (val != "?") {
|
ary = val.split(",");
|
for (var i = 0; i < ary.length; i++) {
|
$("." + type + "List input[value='" + ary[i] + "']").iCheck("check");
|
}
|
}
|
radios.eq(3).iCheck("check");
|
}
|
}
|
|
//解析日
|
function expDay(val,type){
|
//表达式结果框赋值
|
$("span[name=v_"+type+"]").html(val);
|
//寻找对应类型的radio列表
|
var radios = $(":radio[name="+type+"]");
|
var ary = null;
|
//根据值的类型进行判断与对应赋值,以及radio的选中。
|
if (val == "*") {
|
radios.eq(0).iCheck("check");
|
}else if (val == "?") {
|
radios.eq(1).iCheck("check");
|
}else if (val == "L") {
|
radios.eq(2).iCheck("check");
|
}else if (val.split('-').length > 1) {
|
ary = val.split('-');
|
$(":text[name="+type+"]").eq(0).val(ary[0]);
|
$(":text[name="+type+"]").eq(1).val(ary[1]);
|
radios.eq(3).iCheck("check");
|
} else if (val.split('/').length > 1) {
|
ary = val.split('/');
|
$(":text[name="+type+"]").eq(2).val(ary[0]);
|
$(":text[name="+type+"]").eq(3).val(ary[1]);
|
radios.eq(4).iCheck("check");
|
} else if (val.split('W').length > 1) {
|
ary = val.split('W');
|
$(":text[name="+type+"]").eq(4).val(ary[0]);
|
radios.eq(5).iCheck("check");
|
}else {
|
if (val != "?") {
|
ary = val.split(",");
|
for (var i = 0; i < ary.length; i++) {
|
$("." + type + "List input[value='" + ary[i] + "']").iCheck("check");
|
}
|
}
|
radios.eq(6).iCheck("check");
|
}
|
}
|
|
//解析周
|
function expWeek(val,type){
|
//表达式结果框赋值
|
$("span[name=v_"+type+"]").html(val);
|
//寻找对应类型的radio列表
|
var radios = $(":radio[name="+type+"]");
|
var ary = null;
|
//根据值的类型进行判断与对应赋值,以及radio的选中。
|
if (val == "*") {
|
radios.eq(0).iCheck("check");
|
}else if (val == "?") {
|
radios.eq(1).iCheck("check");
|
}else if (val.split('-').length > 1) {
|
ary = val.split('-');
|
$(":text[name="+type+"]").eq(0).val(ary[0]);
|
$(":text[name="+type+"]").eq(1).val(ary[1]);
|
radios.eq(2).iCheck("check");
|
} else if (val.split('/').length > 1) {
|
ary = val.split('/');
|
$(":text[name="+type+"]").eq(2).val(ary[0]);
|
$(":text[name="+type+"]").eq(3).val(ary[1]);
|
radios.eq(3).iCheck("check");
|
}else if (val.split('#').length > 1) {
|
ary = val.split('#');
|
$(":text[name="+type+"]").eq(4).val(ary[0]);
|
$(":text[name="+type+"]").eq(5).val(ary[1]);
|
radios.eq(4).iCheck("check");
|
} else if (val.split('L').length > 1) {
|
ary = val.split('L');
|
$(":text[name="+type+"]").eq(6).val(ary[0]);
|
radios.eq(5).iCheck("check");
|
}else {
|
if (val != "?") {
|
ary = val.split(",");
|
for (var i = 0; i < ary.length; i++) {
|
$("." + type + "List input[value='" + ary[i] + "']").iCheck("check");
|
}
|
}
|
radios.eq(6).iCheck("check");
|
}
|
}
|
|
//解析年
|
function expYear(val,type){
|
//表达式结果框赋值
|
$("span[name=v_"+type+"]").html(val);
|
//寻找对应类型的radio列表
|
var radios = $(":radio[name="+type+"]");
|
var ary = null;
|
//根据值的类型进行判断与对应赋值,以及radio的选中。
|
if (val == "*") {
|
radios.eq(1).iCheck("check");
|
}else if (val.split('-').length > 1) {
|
ary = val.split('-');
|
$(":text[name="+type+"]").eq(0).val(ary[0]);
|
$(":text[name="+type+"]").eq(1).val(ary[1]);
|
radios.eq(2).iCheck("check");
|
}
|
}
|