jrqIndex.js 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350
  1. var myScroll,t1;
  2. var dwnrArray = new Array();
  3. var whichOpen = 0;
  4. var isOpen = 0;
  5. var isDataCanSave = 1;
  6. var size = 1;
  7. /**
  8. * 字符串封装
  9. */
  10. var dknrStr = function (positon,isFirst) {
  11. var obj = $(".mui-table-view-cell");
  12. var intputs = obj.eq(positon - 1 ).find("input");
  13. var rlks = intputs.eq(0).val();
  14. var rljs = intputs.eq(1).val();
  15. var pyl = intputs.eq(2).val();
  16. var error = "";
  17. var dwsl = $("#dwsl").val();
  18. var str = "";
  19. for (var i = 1; i < parseInt(dwsl) + 1; i++) {
  20. var dwd = $("#dwd" + i).html();
  21. var gwd = $("#gwd" + i).html();
  22. str += dwd + "," + gwd + ",";
  23. var dksize = $("#dksl").val();
  24. for (var j = 1; j < parseInt(dksize) + 1; j++) {
  25. var kgval = $("#kg" + i + j).val();
  26. var gzsj = $("#gzsj" + i + j).val();
  27. var jssj = $("#jssj" + i + j).val();
  28. var xhval = $("#xh" + i + j).val();
  29. var sbidval = $("#sbid" + i + j).val();
  30. var hesnval = $("#hesn" + i + j).val();
  31. var bpgl = $("#bpgl" + i + j).val();
  32. if (gzsj == "") {
  33. error += "档位" + i + "端口" + j + "工作时间不能为空!\n";
  34. }
  35. if (jssj == "") {
  36. error += "档位" + i + "端口" + j + "结束时间不能为空!\n";
  37. }
  38. if (bpgl == undefined) {
  39. str += gzsj + "-" + jssj + "-" + kgval + "-" + xhval + "-" + sbidval + "-" + hesnval + ",";
  40. } else {
  41. if (bpgl == "") {
  42. error += "档位" + i + "端口" + j + "数值不能为空!\n";
  43. }
  44. str += gzsj + "-" + jssj + "-" + kgval + "-" + xhval + "-" + sbidval + "-" + hesnval + "-" + bpgl + ",";
  45. }
  46. }
  47. if (str != "") {
  48. str = str.substring(0, str.length - 1);
  49. }
  50. str += "#";
  51. }
  52. if (str != "") {
  53. str = str.substring(0, str.length - 1);
  54. }
  55. if (error != "") {
  56. alert(error);
  57. return "";
  58. }
  59. if (isFirst == 1){
  60. return str;
  61. } else{
  62. return rlks + "-" + rljs + "-" + pyl + "@" + str;
  63. }
  64. };
  65. $(function(){
  66. /*纵向滚轮 */
  67. myScroll = new IScroll(".jrqIscroll",{
  68. scrollbars: true,
  69. fadeScrollbars:true,
  70. scrollbars: 'custom',
  71. shrinkScrollbars:'clip',
  72. click: true,
  73. tap:true
  74. });
  75. /**
  76. * touchmove的阻止浏览器或者屏幕滚动默认事件
  77. * */
  78. document.addEventListener('touchmove', function(event) {
  79. event.preventDefault();
  80. }, false);
  81. var dwnr = $("#dwnr").val();
  82. if (dwnr != "") {
  83. dwnrArray = dwnr.split("%");
  84. }
  85. $(".mui-table-view-cell").on("blur","input:lt(2)",function(){
  86. var rlks = $(this).parent().find("input").eq(0).val();
  87. //输入0到9的正则
  88. if (!/^[0-9]+$/.test(this.value)) {
  89. alert("日龄必须为数字!")
  90. $(this).val(rlks)
  91. return;
  92. }
  93. if (parseInt(rlks) < parseInt(this.value)) {//如果日龄OK则保存
  94. isDataCanSave = 1
  95. } else {
  96. isDataCanSave = 0;
  97. $(this).val(rlks)
  98. alert("日龄必须从小到大!")
  99. }
  100. });
  101. $(".mui-table-view-cell").on("blur","input:eq(2)",function(){
  102. //输入0到9的正则
  103. if (!/^[0-9]+$/.test(this.value)) {
  104. alert("下偏移量必须为正整数!")
  105. $(this).val(0)
  106. return;
  107. }
  108. });
  109. /**
  110. * 滚动input以外失去焦点
  111. * */
  112. myScroll.on('scrollStart',function(){
  113. var el = document.activeElement;
  114. if (el.nodeName.toLowerCase() == 'input') {
  115. el.blur();
  116. this.disable();
  117. this.enable();
  118. setTimeout(function () {
  119. myScroll.refresh();
  120. }, 600);
  121. };
  122. return;
  123. });
  124. /**
  125. * 点击input以外失去焦点
  126. * */
  127. var beforeIpt=null;
  128. $("input").on("focus", function () {
  129. beforeIpt=this;
  130. });
  131. $(document).on("tap", function (e) {
  132. if(e.target.nodeName.toLowerCase()!="input") {
  133. if(beforeIpt) {
  134. beforeIpt.blur();
  135. setTimeout(function () {
  136. myScroll.refresh();
  137. }, 250);
  138. beforeIpt=null;
  139. }
  140. }
  141. });
  142. /**
  143. * 一开始加载一个
  144. * */
  145. dwWindowEx(1,myScroll);
  146. var obj = $(".mui-table-view-cell");
  147. var intputs = obj.eq(obj.length - 1).find("input");
  148. obj.eq(0).find("input").eq(2).attr("disabled","disabled");
  149. intputs.eq(1).removeAttr("disabled");
  150. });
  151. function dwWindow(type,myScroll) {
  152. var mcid = $("#mcid").val();
  153. var zsid = $("#zsid").val();
  154. haifm.loadMobilePage("yzConstant"+ type, "xtYxcsYaItem.htm?zsid=" + zsid + "&from=bys" + "&position=" + type);
  155. setTimeout(function(){
  156. myScroll.refresh();
  157. }, 10000);
  158. }
  159. function dwWindowEx(type,myScroll) {
  160. var mcid = $("#mcid").val();
  161. var zsid = $("#zsid").val();
  162. haifm.loadMobilePage("yzConstantEx", "xtYxcsYaItem.htm?zsid=" + zsid + "&from=bys" + "&position=" + type);
  163. setTimeout(function(){
  164. $('body').height(document.body.scrollHeight);
  165. myScroll.refresh();
  166. },600);
  167. }
  168. function yaBackUrl() {
  169. var zsid = $("#zsid").val();
  170. var zsbz = $("#zsbz").val();
  171. $('body').removeAttr("style");
  172. if (zsbz == "2") {
  173. haifm.loadMobilePage("haifm", "mcZsHjkzView.htm?zsid=" + zsid + "&from=zslist");
  174. } else {
  175. haifm.loadMobilePage("haifm", "mcZsView.htm?zsid=" + zsid + "&from=zslist");
  176. }
  177. }
  178. /**
  179. * 保存设置
  180. */
  181. function yaSave() {
  182. if (isDataCanSave == 0){
  183. alert("日龄必须从小到大!")
  184. return;
  185. }
  186. var dwnr = "";
  187. //一共有几个
  188. var size = $("#dataSize").val();
  189. var dknrStr2 = dknrStr(size,1);//公用的dw
  190. for(var i = 0;size != null && i < size; i++) {
  191. var lastdata = dwnrArray[i];
  192. var pylArray = lastdata.split("@");//[0-1-0,0.0,13.0,1-2-3 # 13.5,14.5,1-2-3]
  193. pylArray[1] = dknrStr2;
  194. var data = pylArray[0] + "@" + pylArray[1];
  195. dwnrArray[i] = data;
  196. }
  197. for(var m = 0;size != null && m < size; m++) {
  198. var dwStr = "";
  199. var obj = $(".mui-table-view-cell");
  200. var intputs = obj.eq(m).find("input");
  201. var rlks = intputs.eq(0).val();
  202. var rljs = intputs.eq(1).val();
  203. var pyl = intputs.eq(2).val();
  204. var lastdata = dwnrArray[m];
  205. var pylArray = lastdata.split("@");//[0-1-0,0.0,13.0,1-2-3 # 13.5,14.5,1-2-3]
  206. var dwsj = pylArray[1].split("#");//档位数据 [0.0,13.0,1-2-3,13.5,14.5,1-2-3]
  207. for (var i = 0; i < dwsj.length; i++) {
  208. var d = dwsj[i].split(",");
  209. if (i == 0) { //第一个,档位下限不变
  210. d[1] = d[1] * 1.0 - pyl;
  211. } else if (i == dwsj.length -1) {//最后一个挡位上限不变
  212. d[0] = d[0] * 1.0 - pyl;
  213. } else {//其他的 下限减,上限也要减
  214. d[0] = d[0] * 1.0 - pyl;
  215. d[1] = d[1] * 1.0 - pyl;
  216. }
  217. if (d[0] < 0 || d[1] < 0) {
  218. alert("设置温度过低,请重新设置");
  219. return;
  220. }
  221. d[0] = toDecimal1(d[0]);
  222. d[1] = toDecimal1(d[1]);
  223. for (var j = 0; j < d.length; j++) {
  224. if (j == d.length - 1) { //最后一个不要逗号
  225. dwStr = dwStr + d[j];
  226. } else {
  227. dwStr = dwStr + d[j] + ",";
  228. }
  229. }
  230. if (i != dwsj.length - 1) {
  231. dwStr = dwStr + "#";
  232. }
  233. }
  234. var dataArray = rlks + "-" + rljs + "-"+ pyl + "@" + dwStr;
  235. dwnrArray[m] = dataArray;
  236. }
  237. console.log(dwnrArray)
  238. //解析
  239. for(var i = 0;dwnrArray != null && i < dwnrArray.length; i++) {
  240. dwnr += dwnrArray[i] + "%";
  241. }
  242. var bz = "";
  243. var dwsl = $("#dwsl").val();
  244. var dksl = $("#dksl").val();
  245. if (dwsl == "" || dksl == "") {
  246. error += "档位/端口数量不正确!";
  247. alert(error);
  248. return;
  249. }
  250. for (var i = 1; i <= dksl; i++) {
  251. bz += $("#bz1" + i).val();
  252. if (i != dksl) {
  253. bz += "#";
  254. }
  255. }
  256. jQuery.ajax({
  257. url: "saveYxcsYa.htm",
  258. dataType: 'json',
  259. type: 'post',
  260. cache: false,
  261. data: {
  262. "jqid": $("#jqid").val(),
  263. "bz": bz,
  264. "dwnr": dwnr,
  265. "dwsl": dwsl,
  266. "dksl": dksl,
  267. "zsid": $("#zsid").val(),
  268. },
  269. success: function (data) {
  270. alert("保存成功!");
  271. },
  272. error: function (data) {
  273. alert("系统运行异常!保存失败!");
  274. }
  275. })
  276. }
  277. /**
  278. *偏移量封装封装
  279. */
  280. var changeDknrStr = function (positon) {
  281. var obj = $(".mui-table-view-cell");
  282. var intputs = obj.eq(positon - 2 ).find("input");
  283. var pyl = intputs.eq(2).val();
  284. var dwStr = "";
  285. var lastdata = "";
  286. if (dwnrArray.length == 0) {
  287. lastdata = $("#dwnr").val();
  288. } else {
  289. lastdata = dwnrArray[positon - 2];
  290. }
  291. //0-1-0@0.0,13.0,1-2-3 # 13.5,14.5,1-2-3
  292. var pylArray = lastdata.split("@");//[0-1-0,0.0,13.0,1-2-3 # 13.5,14.5,1-2-3]
  293. var dwsj = pylArray[1].split("#");//档位数据 [0.0,13.0,1-2-3,13.5,14.5,1-2-3]
  294. for (var i = 0; i < dwsj.length; i++) {
  295. var d = dwsj[i].split(",");
  296. if (i == 0) { //第一个,档位下限不变
  297. d[1] = d[1] * 1 - pyl;
  298. } else if (i == dwsj.length -1) {//最后一个挡位上限不变
  299. d[0] = d[0] * 1 - pyl;
  300. } else {//其他的 下限减,上限也要减
  301. d[0] = d[0] * 1 - pyl;
  302. d[1] = d[1] * 1 - pyl;
  303. }
  304. for (var j = 0; j < d.length; j++) {
  305. if (j == d.length - 1) { //最后一个不要逗号
  306. dwStr = dwStr + d[j];
  307. } else {
  308. dwStr = dwStr + d[j] + ",";
  309. }
  310. }
  311. if (i != dwsj.length - 1) {
  312. dwStr = dwStr + "#";
  313. }
  314. }
  315. return pylArray[0] + "@" + dwStr;
  316. }
  317. //制保留1位小数,如:1,会在1后面补上0.即2.0
  318. function toDecimal1(x) {
  319. var f = parseFloat(x);
  320. if (isNaN(f)) {
  321. return false;
  322. }
  323. var f = Math.round(x*100)/100;
  324. var s = f.toString();
  325. var rs = s.indexOf('.');
  326. if (rs < 0) {
  327. rs = s.length;
  328. s += '.';
  329. }
  330. while (s.length <= rs + 1) {
  331. s += '0';
  332. }
  333. return s;
  334. }