bysyaIndex.js 10.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341
  1. var myScroll,t1;
  2. var dwnrArray = new Array();
  3. var whichOpen = 0;
  4. var isOpen = 0;
  5. var isDataCanSave = 1;
  6. $(function(){
  7. $('body').height(document.body.scrollHeight);
  8. $('body').css({"display":"flex","flex-direction":"column"});
  9. /*纵向滚轮 */
  10. myScroll = new IScroll(".bysyaIscroll",{
  11. scrollbars: true,
  12. fadeScrollbars:true,
  13. scrollbars: 'custom',
  14. shrinkScrollbars:'clip',
  15. tap:true
  16. });
  17. setTimeout(function(){
  18. myScroll.refresh();
  19. }, 1000);
  20. /**
  21. * 一开始加载一个
  22. * */
  23. //dwWindow(1,myScroll);
  24. /**
  25. * 开关事件
  26. * */
  27. $(".mui-content").on("tap", ".mui-switch", function(event){
  28. //阻止冒泡
  29. if(event.stopPropagation){
  30. event.stopPropagation();
  31. }else{
  32. event.cancelBubble = true;
  33. }
  34. //解决tap两次出发的方法(500是2次点击时间差,单位ms)
  35. if (t1 == null){
  36. t1 = new Date().getTime();
  37. }else{
  38. var t2 = new Date().getTime();
  39. if(t2 - t1 < 500){
  40. t1 = t2;
  41. return;
  42. }else{
  43. t1 = t2;
  44. }
  45. }
  46. if ($("#isLoaded").attr("id")) {
  47. //找到子类唯一的id,说明子类加载完成
  48. var dwnritem = dknrStr(whichOpen);
  49. dwnrArray[whichOpen -1] = dwnritem;
  50. }
  51. var type = $(this).data("type");
  52. whichOpen = type;
  53. $(this).parent().parent().parent().next().find('.rowBox').children().remove();
  54. $(this).parent().parent().parent().next().siblings('.hiddenli').find('.rowBox').children().remove();
  55. //判断mui-active有无
  56. if($(this).parent().parent().parent().next().is(':hidden')){
  57. dwWindow(type,myScroll);
  58. setTimeout(function(){
  59. myScroll.refresh();
  60. },6000);
  61. } else {
  62. //var dkcs = dknrStr();
  63. }
  64. var that = $(this);
  65. $(this).parent().parent().parent().next().slideToggle(500,function(){
  66. if($(this).css("display")=='none'){
  67. that.removeClass("mui-active").children().css({'transition-duration': '0.2s', 'transform': 'translate(0, 0px)'});
  68. $("#btn-add").show();
  69. $("#btn-del").show();
  70. that.parent().find("input").attr("disabled","disabled");
  71. isOpen = 0;
  72. }
  73. setTimeout(function(){
  74. myScroll.refresh();
  75. },600);
  76. }).siblings('.hiddenli').stop().slideUp(500);
  77. that.parent().parent().parent().siblings('.align-itemscenter').children().find("input").attr("disabled","disabled");
  78. $(".mui-switch").removeClass("mui-active").children().css({'transition-duration': '0.2s', 'transform': 'translate(0, 0px)'});
  79. $(this).addClass("mui-active").children().css({'transition-duration': '0.2s', 'transform': 'translate(22px, 0px)'});
  80. $("#btn-add").hide();
  81. $("#btn-del").hide();
  82. that.parent().find("input").eq(1).removeAttr("disabled");
  83. isOpen = 1;
  84. });
  85. /**
  86. * 添加
  87. * */
  88. $("#btn-add").on("tap",function(){
  89. //解决tap两次出发的方法(500是2次点击时间差,单位ms)
  90. if (t1 == null){
  91. t1 = new Date().getTime();
  92. }else{
  93. var t2 = new Date().getTime();
  94. if(t2 - t1 < 500){
  95. t1 = t2;
  96. return;
  97. }else{
  98. t1 = t2;
  99. }
  100. }
  101. $("#dataSize").val(parseInt($("#dataSize").val()) + 1)
  102. var size = parseInt($("#dataSize").val());
  103. dwnrArray.push("")
  104. var obj = $(".mui-table-view-cell");
  105. var intputs = obj.eq(obj.length - 1 ).find("input");
  106. var rlks = intputs.eq(1).val();
  107. var rljs = (parseInt(rlks) + 1);
  108. if (rlks == undefined) {
  109. rlks = 0;
  110. rljs = 1;
  111. }
  112. $(".bysyaIscroll>.mui-content>.mui-control-content>ul").append($("<li class='align-itemscenter'><ul class='mui-table-view' style='width: 100%;'><li class='mui-table-view-cell'><span>日龄</span><input type='text' class='form-control' placeholder='' aria-describedby='sizing-addon3' value = \"" + rlks + "\" disabled='disabled'> —<input disabled='disabled' type='text' class='form-control' placeholder='' aria-describedby='sizing-addon3' value = \"" + rljs + "\"><div class='mui-switch mui-switch-mini' data-type= \""+ size + "\"><div class='mui-switch-handle'></div></div></li></ul></li><li class='hiddenli' style='display: none;'><div class='rowBox container-fluid' id = \""+ "yzConstant" + size + "\"></div></li>"));
  113. myScroll.refresh();
  114. });
  115. /**
  116. * 删除
  117. * */
  118. $("#btn-del").on("tap",function(){
  119. if ($("#dataSize").val() == '0') {
  120. return;
  121. }
  122. //解决tap两次出发的方法(500是2次点击时间差,单位ms)
  123. if (t1 == null){
  124. t1 = new Date().getTime();
  125. }else{
  126. var t2 = new Date().getTime();
  127. if(t2 - t1 < 500){
  128. t1 = t2;
  129. return;
  130. }else{
  131. t1 = t2;
  132. }
  133. }
  134. $("#dataSize").val(parseInt($("#dataSize").val()) - 1)
  135. var li1 = $(".align-itemscenter");
  136. var li2 = $(".hiddenli");
  137. $(".align-itemscenter").eq(li1.length-1).remove();
  138. $(".hiddenli").eq(li2.length-1).remove();
  139. dwnrArray.pop();
  140. myScroll.refresh();
  141. });
  142. /**
  143. * touchmove的阻止浏览器或者屏幕滚动默认事件
  144. * */
  145. document.addEventListener('touchmove', function(event) {
  146. event.preventDefault();
  147. }, false);
  148. var dwnr = $("#dwnr").val();
  149. if (dwnr != "") {
  150. dwnrArray = dwnr.split("%");
  151. }
  152. $(".mui-table-view-cell").on("blur","input",function(){
  153. var rlks = $(this).parent().find("input").eq(0).val();
  154. //输入0到9的正则
  155. if (!/^[0-9]+$/.test(this.value)) {
  156. alert("日龄必须为数字!")
  157. $(this).val(rlks)
  158. return;
  159. }
  160. if (parseInt(rlks) < parseInt(this.value)) {//如果日龄OK则保存
  161. isDataCanSave = 1
  162. } else {
  163. isDataCanSave = 0;
  164. $(this).val(rlks)
  165. alert("日龄必须从小到大!")
  166. }
  167. });
  168. /**
  169. * 滚动input以外失去焦点
  170. * */
  171. myScroll.on('scrollStart',function(){
  172. var el = document.activeElement;
  173. if (el.nodeName.toLowerCase() == 'input') {
  174. el.blur();
  175. this.disable();
  176. this.enable();
  177. setTimeout(function () {
  178. myScroll.refresh();
  179. }, 600);
  180. };
  181. return;
  182. });
  183. /**
  184. * 点击input以外失去焦点
  185. * */
  186. var beforeIpt=null;
  187. $("input").on("focus", function () {
  188. beforeIpt=this;
  189. });
  190. $(document).on("tap", function (e) {
  191. if(e.target.nodeName.toLowerCase()!="input") {
  192. if(beforeIpt) {
  193. beforeIpt.blur();
  194. setTimeout(function () {
  195. myScroll.refresh();
  196. }, 250);
  197. beforeIpt=null;
  198. }
  199. }
  200. });
  201. });
  202. function dwWindow(type,myScroll) {
  203. var mcid = $("#mcid").val();
  204. var zsid = $("#zsid").val();
  205. haifm.loadMobilePage("yzConstant"+ type, "xtYxcsYaItem.htm?zsid=" + zsid + "&from=bys" + "&position=" + type);
  206. setTimeout(function(){
  207. myScroll.refresh();
  208. }, 10000);
  209. }
  210. function yaBackUrl() {
  211. var zsid = $("#zsid").val();
  212. var zsbz = $("#zsbz").val();
  213. $('body').removeAttr("style");
  214. if (zsbz == "2") {
  215. haifm.loadMobilePage("haifm", "mcZsHjkzView.htm?zsid=" + zsid + "&from=zslist");
  216. } else {
  217. haifm.loadMobilePage("haifm", "mcZsView.htm?zsid=" + zsid + "&from=zslist");
  218. }
  219. }
  220. /**
  221. * 字符串封装
  222. */
  223. var dknrStr = function (positon) {
  224. var obj = $(".mui-table-view-cell");
  225. var intputs = obj.eq(positon - 1 ).find("input");
  226. var rlks = intputs.eq(0).val();
  227. var rljs = intputs.eq(1).val();
  228. var error = "";
  229. var dwsl = $("#dwsl").val();
  230. var str = "";
  231. for (var i = 1; i < parseInt(dwsl) + 1; i++) {
  232. var dwd = $("#dwd" + i).html();
  233. var gwd = $("#gwd" + i).html();
  234. str += dwd + "," + gwd + ",";
  235. var dksize = $("#dksl").val();
  236. for (var j = 1; j < parseInt(dksize) + 1; j++) {
  237. var kgval = $("#kg" + i + j).val();
  238. var gzsj = $("#gzsj" + i + j).val();
  239. var jssj = $("#jssj" + i + j).val();
  240. var xhval = $("#xh" + i + j).val();
  241. var sbidval = $("#sbid" + i + j).val();
  242. var hesnval = $("#hesn" + i + j).val();
  243. var bpgl = $("#bpgl" + i + j).val();
  244. //alert(bpgl + "-" + i + "-" + j);
  245. if (gzsj == "") {
  246. error += "档位" + i + "端口" + j + "工作时间不能为空!\n";
  247. }
  248. if (jssj == "") {
  249. error += "档位" + i + "端口" + j + "结束时间不能为空!\n";
  250. }
  251. if (bpgl == undefined) {
  252. str += gzsj + "-" + jssj + "-" + kgval + "-" + xhval + "-" + sbidval + "-" + hesnval + ",";
  253. } else {
  254. if (bpgl == "") {
  255. error += "档位" + i + "端口" + j + "数值不能为空!\n";
  256. }
  257. str += gzsj + "-" + jssj + "-" + kgval + "-" + xhval + "-" + sbidval + "-" + hesnval + "-" + bpgl + ",";
  258. }
  259. }
  260. if (str != "") {
  261. str = str.substring(0, str.length - 1);
  262. }
  263. str += "#";
  264. }
  265. if (str != "") {
  266. str = str.substring(0, str.length - 1);
  267. }
  268. if (error != "") {
  269. alert(error);
  270. return "";
  271. }
  272. return rlks + "-" + rljs + "@" + str;
  273. };
  274. function yaSave() {
  275. if (isDataCanSave == 0){
  276. mui.alert('日龄必须从小到大!', '提示', function() {});
  277. return;
  278. }
  279. var dwnr = "";
  280. if (whichOpen != 0 && isOpen ==1) {
  281. var dwnritem = dknrStr(whichOpen);
  282. dwnrArray[whichOpen -1] = dwnritem;
  283. }
  284. //解析
  285. for(var i = 0;dwnrArray != null && i < dwnrArray.length; i++) {
  286. dwnr += dwnrArray[i] + "%";
  287. }
  288. var bz = "";
  289. var dwsl = $("#dwsl").val();
  290. var dksl = $("#dksl").val()
  291. if (dwsl == "" || dksl == "") {
  292. error += "档位/端口数量不正确!";
  293. alert(error);
  294. return;
  295. }
  296. for (var i = 1; i <= dksl; i++) {
  297. bz += $("#bz1" + i).val();
  298. if (i != dksl) {
  299. bz += "#";
  300. }
  301. }
  302. jQuery.ajax({
  303. url: "saveYxcsYa.htm",
  304. dataType: 'json',
  305. type: 'post',
  306. cache: false,
  307. data: {
  308. "jqid": $("#jqid").val(),
  309. "bz": bz,
  310. "dwnr": dwnr,
  311. "dwsl": dwsl,
  312. "dksl": dksl,
  313. "zsid": $("#zsid").val(),
  314. },
  315. success: function (data) {
  316. mui.toast('保存成功');
  317. },
  318. error: function (data) {
  319. mui.alert('系统运行异常!保存失败!', '提示', function() {});
  320. }
  321. });
  322. }