var myScroll,t1; var dwnrArray = new Array(); var whichOpen = 0; var isOpen = 0; var isDataCanSave = 1; var size = 1; /** * 字符串封装 */ var dknrStr = function (positon,isFirst) { var obj = $(".mui-table-view-cell"); var intputs = obj.eq(positon - 1 ).find("input"); var rlks = intputs.eq(0).val(); var rljs = intputs.eq(1).val(); var pyl = intputs.eq(2).val(); var error = ""; var dwsl = $("#dwsl").val(); var str = ""; for (var i = 1; i < parseInt(dwsl) + 1; i++) { var dwd = $("#dwd" + i).html(); var gwd = $("#gwd" + i).html(); str += dwd + "," + gwd + ","; var dksize = $("#dksl").val(); for (var j = 1; j < parseInt(dksize) + 1; j++) { var kgval = $("#kg" + i + j).val(); var gzsj = $("#gzsj" + i + j).val(); var jssj = $("#jssj" + i + j).val(); var xhval = $("#xh" + i + j).val(); var sbidval = $("#sbid" + i + j).val(); var hesnval = $("#hesn" + i + j).val(); var bpgl = $("#bpgl" + i + j).val(); if (gzsj == "") { error += "档位" + i + "端口" + j + "工作时间不能为空!\n"; } if (jssj == "") { error += "档位" + i + "端口" + j + "结束时间不能为空!\n"; } if (bpgl == undefined) { str += gzsj + "-" + jssj + "-" + kgval + "-" + xhval + "-" + sbidval + "-" + hesnval + ","; } else { if (bpgl == "") { error += "档位" + i + "端口" + j + "数值不能为空!\n"; } str += gzsj + "-" + jssj + "-" + kgval + "-" + xhval + "-" + sbidval + "-" + hesnval + "-" + bpgl + ","; } } if (str != "") { str = str.substring(0, str.length - 1); } str += "#"; } if (str != "") { str = str.substring(0, str.length - 1); } if (error != "") { alert(error); return ""; } if (isFirst == 1){ return str; } else{ return rlks + "-" + rljs + "-" + pyl + "@" + str; } }; $(function(){ var mask = mui.createMask();//callback为用户点击蒙版时自动执行的回调; /*纵向滚轮 */ myScroll = new IScroll(".bysyaIscroll",{ scrollbars: true, fadeScrollbars:true, scrollbars: 'custom', shrinkScrollbars:'clip', click: true }); /** * 开关事件 * */ $(".mui-content").on("tap", ".mui-switch", function(event){ //阻止冒泡 if(event.stopPropagation){ event.stopPropagation(); }else{ event.cancelBubble = true; } //解决tap两次出发的方法(500是2次点击时间差,单位ms) if (t1 == null){ t1 = new Date().getTime(); }else{ var t2 = new Date().getTime(); if(t2 - t1 < 500){ t1 = t2; return; }else{ t1 = t2; } } var type = $(this).data("type"); whichOpen = type; $(this).parent().parent().parent().next().find('.rowBox').children().remove(); $(this).parent().parent().parent().next().siblings('.hiddenli').find('.rowBox').children().remove(); //判断mui-active有无 if($(this).parent().parent().parent().next().is(':hidden')){ dwWindow(type,myScroll); setTimeout(function(){ myScroll.refresh(); },6000); } var that = $(this); $(this).parent().parent().parent().next().slideToggle(500,function(){ if($(this).css("display")=='none'){ that.removeClass("mui-active").children().css({'transition-duration': '0.2s', 'transform': 'translate(0, 0px)'}); $("#btn-add").show(); $("#btn-del").show(); that.parent().find("input").attr("disabled","disabled"); isOpen = 0; } setTimeout(function(){ myScroll.refresh(); },600); }).siblings('.hiddenli').stop().slideUp(500); that.parent().parent().parent().siblings('.align-itemscenter').children().find("input").attr("disabled","disabled"); $(".mui-switch").removeClass("mui-active").children().css({'transition-duration': '0.2s', 'transform': 'translate(0, 0px)'}); $(this).addClass("mui-active").children().css({'transition-duration': '0.2s', 'transform': 'translate(22px, 0px)'}); $("#btn-add").hide(); $("#btn-del").hide(); that.parent().find("input").eq(1).removeAttr("disabled"); isOpen = 1; }); /** * 添加 * */ $("#btn-add").on("tap",function(){ //解决tap两次出发的方法(500是2次点击时间差,单位ms) if (t1 == null){ t1 = new Date().getTime(); }else{ var t2 = new Date().getTime(); if(t2 - t1 < 500){ t1 = t2; return; }else{ t1 = t2; } } $("#dataSize").val(parseInt($("#dataSize").val()) + 1); var size = parseInt($("#dataSize").val()); var obj = $(".mui-table-view-cell"); var intputs = obj.eq(obj.length - 1 ).find("input"); var rlks = (parseInt(intputs.eq(1).val()) + 1); var rljs = (parseInt(rlks) + 1); if (rlks == undefined) { rlks = 0; rljs = 1; } $(".bysyaIscroll>.mui-content>.mui-control-content>ul:eq(0)").append($("
  • ")); myScroll.refresh(); var newData = changeDknrStr(size); dwnrArray.push(newData); //最后一个input的第二个input可以填写 var obj = $(".mui-table-view-cell"); var intputs = obj.eq(obj.length - 1).find("input"); intputs.eq(1).removeAttr("disabled"); //倒数上一个input的第二个input不可以可以填写 var obj = $(".mui-table-view-cell"); var intputs = obj.eq(obj.length - 2).find("input"); intputs.eq(1).attr("disabled","disabled"); $(".mui-table-view-cell").on("blur","input:lt(2)",function(){ var rlks = $(this).parent().find("input").eq(0).val(); //输入0到9的正则 if (!/^[0-9]+$/.test(this.value)) { mui.alert('日龄必须为数字!', '提示', function() {}); $(this).val(parseInt(rlks) + 1); return; } if (parseInt(rlks) < parseInt(this.value)) {//如果日龄OK则保存 isDataCanSave = 1; } else { isDataCanSave = 0; $(this).val(parseInt(rlks) + 1); mui.alert('日龄必须从小到大!', '提示', function() {}); } }); $(".mui-table-view-cell").on("blur","input:eq(2)",function(){ //输入0到9的正则 if (!/^[0-9]+$/.test(this.value)) { mui.alert('下偏移量必须为正整数!', '提示', function() {}); $(this).val(0); return; } }); }); /** * 删除 * */ $("#btn-del").on("tap",function(){ if ($("#dataSize").val() == '0') { return; } //解决tap两次出发的方法(500是2次点击时间差,单位ms) if (t1 == null){ t1 = new Date().getTime(); }else{ var t2 = new Date().getTime(); if(t2 - t1 < 500){ t1 = t2; return; }else{ t1 = t2; } } $("#dataSize").val(parseInt($("#dataSize").val()) - 1); var li1 = $(".align-itemscenter"); $(".align-itemscenter").eq(li1.length-1).remove(); dwnrArray.pop(); myScroll.refresh(); var obj = $(".mui-table-view-cell"); var intputs = obj.eq(obj.length - 1).find("input"); intputs.eq(1).removeAttr("disabled"); }); var dwnr = $("#dwnr").val(); if (dwnr != "") { dwnrArray = dwnr.split("%"); }else { $(".bysyaIscroll").hide(); $(".msg").show(); $(".btn-group").hide(); } $(".mui-table-view-cell").on("blur","input:lt(2)",function(){ var rlks = $(this).parent().find("input").eq(0).val(); //输入0到9的正则 if (!/^[0-9]+$/.test(this.value)) { mui.alert('日龄必须为数字!', '提示', function() {}); $(this).val(parseInt(rlks) + 1); return; } if (parseInt(rlks) < parseInt(this.value)) {//如果日龄OK则保存 isDataCanSave = 1; } else { isDataCanSave = 0; $(this).val(parseInt(rlks) + 1); mui.alert('日龄必须从小到大!', '提示', function() {}); } }); $(".mui-table-view-cell").on("blur","input:eq(2)",function(){ //输入0到9的正则 if (!/^[0-9]+$/.test(this.value)) { mui.alert('下偏移量必须为正整数!', '提示', function() {}); $(this).val(0); return; } }); /** * 滚动input以外失去焦点 * */ myScroll.on('scrollStart',function(){ var el = document.activeElement; if (el.nodeName.toLowerCase() == 'input') { el.blur(); this.disable(); this.enable(); setTimeout(function () { myScroll.refresh(); }, 600); }; return; }); /** * 点击input以外失去焦点 * */ var beforeIpt=null; $("input").on("focus", function () { beforeIpt=this; }); $(document).on("tap", function (e) { if(e.target.nodeName.toLowerCase()!="input") { if(beforeIpt) { beforeIpt.blur(); setTimeout(function () { myScroll.refresh(); }, 250); beforeIpt=null; } } }); var mScrol1 = new IScroll(".iscrollCenter",{ scrollbars: true, fadeScrollbars:true, shrinkScrollbars:'clip', scrollbars: 'custom' }); /** * 同步事件 */ /* 弹出修改删除框*/ $("#tb").on("tap",function(){ mask.show();//显示遮罩 $(".xgmsgbox").show(); mScrol1.refresh(); }); //点击td选中input $(".listcenter>li,.checkBox").on("tap",function (e) { if (e && e.stopPropagation) { e.stopPropagation(); } else { window.event.cancelBubble = true; } if ($(this).find("input[type='checkbox']").is(":checked")) { $(this).find("input[type='checkbox']").removeAttr("checked"); } else { $(this).find("input[type='checkbox']").prop("checked", true); } }); //点击同步按钮里面的勾的事件 $("#toastBtn .mui-icon-checkmarkempty").on("tap",function(){ yaSave("tb"); }); $("#toastBtn .mui-icon-checkmarkempty").on("tap",function(){ $(".xgmsgbox").hide(); mask.close();//关闭遮罩 //让选中的变成没选中 if ($(".listcenter>li,.checkBox").find("input[type='checkbox']").is(":checked")) { $(".listcenter>li,.checkBox").find("input[type='checkbox']").removeAttr("checked"); } }); mui('body').on('tap', '.mui-backdrop', function(e) { $(".xgmsgbox").hide(); }); /** * 一开始加载一个 * */ dwWindowEx(1,myScroll); var obj = $(".mui-table-view-cell"); var intputs = obj.eq(obj.length - 1).find("input"); obj.eq(0).find("input").eq(2).attr("disabled","disabled"); intputs.eq(1).removeAttr("disabled"); if($("#sfgl").val() == "1") { $("#jrqck1").prop("checked",true); } else { $("#jrqck1").prop("checked",false); } //弹窗取消 mui('body').on('tap', '.mui-popup-backdrop', function(e) { mui.closePopup(); return; }); }); function dwWindow(type,myScroll) { var mcid = $("#mcid").val(); var zsid = $("#zsid").val(); haifm.loadMobilePage("yzConstant"+ type, "xtYxcsYaItem.htm?zsid=" + zsid + "&from=bys" + "&position=" + type); $(".bysyaIscroll").one("touchstart",function(){ $("body").height(document.body.scrollHeight); myScroll.refresh(); }); } function dwWindowEx(type,myScroll) { var mcid = $("#mcid").val(); var zsid = $("#zsid").val(); haifm.loadMobilePage("yzConstantEx", "xtYxcsYaItem.htm?zsid=" + zsid + "&from=bys" + "&position=" + type); $(".bysyaIscroll").one("touchstart",function(){ $("body").height(document.body.scrollHeight); myScroll.refresh(); }); } function yaBackUrl() { var zsid = $("#zsid").val(); var zsbz = $("#zsbz").val(); haifm.loadMobilePage("haifm", "mcHaifmvZsView.htm?zsid=" + zsid + "&from=zslist" +"&zsbz="+zsbz); } /** * 保存设置 */ function yaSave(msg) { var obj = document.getElementsByName("checkBox"); var s=''; for(var i = 0 ; i < obj.length ; i++){ if (obj[i].checked) { s += obj[i].value+','; } } if (isDataCanSave == 0){ mui.alert('日龄必须从小到大!', '提示', function() {}); return; } var dwnr = ""; //一共有几个 var size = $("#dataSize").val(); var dknrStr2 = dknrStr(size,1);//公用的dw if (dknrStr2 == "") { return; } for(var i = 0;size != null && i < size; i++) { var lastdata = dwnrArray[i]; var pylArray = lastdata.split("@");//[0-1-0,0.0,13.0,1-2-3 # 13.5,14.5,1-2-3] pylArray[1] = dknrStr2; var data = pylArray[0] + "@" + pylArray[1]; dwnrArray[i] = data; } for(var m = 0;size != null && m < size; m++) { var dwStr = ""; var obj = $(".mui-table-view-cell"); var intputs = obj.eq(m).find("input"); var rlks = intputs.eq(0).val(); var rljs = intputs.eq(1).val(); var pyl = intputs.eq(2).val(); var lastdata = dwnrArray[m]; var pylArray = lastdata.split("@");//[0-1-0,0.0,13.0,1-2-3 # 13.5,14.5,1-2-3] var dwsj = pylArray[1].split("#");//档位数据 [0.0,13.0,1-2-3,13.5,14.5,1-2-3] for (var i = 0; i < dwsj.length; i++) { var d = dwsj[i].split(","); if (i == 0) { //第一个,档位下限不变 d[1] = d[1] * 1.0 - pyl; } else if (i == dwsj.length -1) {//最后一个挡位上限不变 d[0] = d[0] * 1.0 - pyl; } else {//其他的 下限减,上限也要减 d[0] = d[0] * 1.0 - pyl; d[1] = d[1] * 1.0 - pyl; } if (d[0] < 0 || d[1] < 0) { mui.alert('设置温度过低,请重新设置', '提示', function() {}); return; } d[0] = toDecimal1(d[0]); d[1] = toDecimal1(d[1]); for (var j = 0; j < d.length; j++) { if (j == d.length - 1) { //最后一个不要逗号 dwStr = dwStr + d[j]; } else { dwStr = dwStr + d[j] + ","; } } if (i != dwsj.length - 1) { dwStr = dwStr + "#"; } } var dataArray = rlks + "-" + rljs + "-"+ pyl + "@" + dwStr; dwnrArray[m] = dataArray; } //console.log(dwnrArray) //解析 for(var i = 0;dwnrArray != null && i < dwnrArray.length; i++) { dwnr += dwnrArray[i] + "%"; } var bz = ""; var dwsl = $("#dwsl").val(); var dksl = $("#dksl").val(); if (dwsl == "" || dksl == "") { error += "档位/端口数量不正确!"; mui.alert(error, '提示', function() {}); return; } for (var i = 1; i <= dksl; i++) { bz += $("#bz1" + i).val(); if (i != dksl) { bz += "#"; } } var isCon = 0;//是否关联 if($("#jrqck1").prop("checked") == true) { isCon = 1; } else { isCon = 0; } if (dwnr.indexOf("false") != -1) { mui.alert("系统出错,请重试", '提示', function() {}); return; } var btnArray = ['取消', '是','否']; mui.confirm("是否立即执行" ,"提示!", btnArray, function(e) { if (e.index == 1 || e.index == 2) { jQuery.ajax({ url: "saveYxcsYa.htm", dataType: 'json', type: 'post', cache: false, async: false, data: { "jqid": $("#jqid").val(), "bz": bz, "dwnr": dwnr, "dwsl": dwsl, "dksl": dksl, "isCon": isCon, "jrqTemp": $("#jrqTemp").val(), "zsid": $("#zsid").val(), "zsids" : s, "tof" : e.index }, success: function (data) { if (msg == 'bc') { mui.toast('保存成功'); }else { mui.toast('同步成功'); } }, error: function (data) { mui.alert('系统运行异常!保存失败!', '提示', function() {}); } }); } }); } /** *偏移量封装封装 */ var changeDknrStr = function (positon) { var obj = $(".mui-table-view-cell"); var intputs = obj.eq(positon - 2 ).find("input"); var pyl = intputs.eq(2).val(); var dwStr = ""; var lastdata = ""; if (dwnrArray.length == 0) { lastdata = $("#dwnr").val(); } else { lastdata = dwnrArray[positon - 2]; } //0-1-0@0.0,13.0,1-2-3 # 13.5,14.5,1-2-3 if (lastdata != "") { var pylArray = lastdata.split("@");//[0-1-0,0.0,13.0,1-2-3 # 13.5,14.5,1-2-3] var dwsj = pylArray[1].split("#");//档位数据 [0.0,13.0,1-2-3,13.5,14.5,1-2-3] for (var i = 0; i < dwsj.length; i++) { var d = dwsj[i].split(","); if (i == 0) { //第一个,档位下限不变 d[1] = d[1] * 1 - pyl; } else if (i == dwsj.length -1) {//最后一个挡位上限不变 d[0] = d[0] * 1 - pyl; } else {//其他的 下限减,上限也要减 d[0] = d[0] * 1 - pyl; d[1] = d[1] * 1 - pyl; } for (var j = 0; j < d.length; j++) { if (j == d.length - 1) { //最后一个不要逗号 dwStr = dwStr + d[j]; } else { dwStr = dwStr + d[j] + ","; } } if (i != dwsj.length - 1) { dwStr = dwStr + "#"; } } } return pylArray[0] + "@" + dwStr; } //制保留1位小数,如:1,会在1后面补上0.即2.0 function toDecimal1(x) { var f = parseFloat(x); if (isNaN(f)) { return false; } var f = Math.round(x*100)/100; var s = f.toString(); var rs = s.indexOf('.'); if (rs < 0) { rs = s.length; s += '.'; } while (s.length <= rs + 1) { s += '0'; } return s; }