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;
}