sjrl_zztt.js 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517
  1. $(function () {
  2. var zsIscrollHeight = $(".zzttIscroll");
  3. var cententHeight = $(".zzttIscroll div:first-child");
  4. heightvs(zsIscrollHeight,cententHeight);
  5. //初始化page
  6. if(localStorage.hasOwnProperty("zzttIndex")) {
  7. $("#page").val(localStorage.getItem("zzttIndex"));
  8. }
  9. //输入框快速删除初始化
  10. mui(".mui-input-row input").input();
  11. //时间初始化
  12. var date = new Date();
  13. var year = date.getFullYear()+"";
  14. var month = date.getMonth()+1;
  15. var day = date.getDate();
  16. date.setDate(date.getDate()-7);
  17. var lYear = date.getFullYear()+"";
  18. var lMonth = date.getMonth()+1;
  19. var lwDay = date.getDate();
  20. if ($("#startT").data("for") == "") {
  21. $("#startT .nian").html(lYear);
  22. $("#startT .yue").html(lMonth);
  23. $("#startT .ri").html(lwDay);
  24. } else {
  25. var ksrq = $("#startT").data("for");
  26. var ksrqArr = ksrq.split("-");
  27. $("#startT .nian").html(ksrqArr[0]);
  28. $("#startT .yue").html(ksrqArr[1]);
  29. $("#startT .ri").html(ksrqArr[2]);
  30. }
  31. if ($("#endT").data("for") == "") {
  32. $("#endT .nian").html(year);
  33. $("#endT .yue").html(month);
  34. $("#endT .ri").html(day);
  35. } else {
  36. var jsrq = $("#endT").data("for");
  37. var jsrqArr = jsrq.split("-");
  38. $("#endT .nian").html(jsrqArr[0]);
  39. $("#endT .yue").html(jsrqArr[1]);
  40. $("#endT .ri").html(jsrqArr[2]);
  41. }
  42. /**
  43. * 初始化滚动条
  44. * */
  45. var iscroll;
  46. iscroll = new IScroll(".zzttIscroll",{
  47. scrollbars: true,
  48. fadeScrollbars:true,
  49. scrollbars: 'custom',
  50. shrinkScrollbars:'clip',
  51. probeType: 2,
  52. click:true
  53. });
  54. setTimeout(function(){
  55. iscroll.refresh();
  56. }, 600);
  57. /**
  58. * 点击input获取焦点
  59. * */
  60. $(".mui-input-row.mui-search,.mui-input-row .mui-input-clear~.mui-icon-clear:before").on("touchstart", function (e) {
  61. $("input[type='search']").focus();
  62. });
  63. /**
  64. * 滚动input以外失去焦点
  65. * */
  66. iscroll.on('scrollStart',function(e){
  67. var el = document.activeElement;
  68. if (el.nodeName.toLowerCase() == 'input') {
  69. el.blur();
  70. this.disable();
  71. this.enable();
  72. };
  73. return;
  74. });
  75. /**
  76. * 点击input以外失去焦点
  77. * */
  78. var beforeIpt=null;
  79. $("input").on("focus", function (e) {
  80. beforeIpt=this;
  81. });
  82. $(document).on("tap", function (e) {
  83. if(e.target.nodeName.toLowerCase()!="input") {
  84. if(beforeIpt) {
  85. beforeIpt.blur();
  86. beforeIpt=null;
  87. }
  88. }
  89. });
  90. //开关事件
  91. onOff(iscroll,zsIscrollHeight,cententHeight);
  92. //时间事件
  93. sjchaxun();
  94. //弹出修改框
  95. confirm();
  96. //确定淘汰
  97. ttSure();
  98. //驳回淘汰
  99. ttNotSure();
  100. //模糊查询键盘enter键事件
  101. $("input[type='search']").on('keypress',function(e) {
  102. var keycode = e.keyCode;
  103. if(keycode=='13') {
  104. e.preventDefault();
  105. //请求搜索接口
  106. clear();
  107. haifm.loadMobilePage("haifm", "hvSjlrZzttIndex.htm?mcid=" + $("#mcid").val() + "&cxeph=" + $("#dweb").val());
  108. }
  109. });
  110. /**
  111. * 下拉加载
  112. */
  113. var pullUp = $("#pullUp"),
  114. pullUpLabel = $(".pullUpLabel"),
  115. loadingStep = 0;//加载状态0默认,1显示加载状态,2执行加载数据,只有当为0时才能再次加载,这是防止过快拉动刷新
  116. //滚动时触发
  117. iscroll.on("scroll",function(){
  118. if(loadingStep == 0 && !pullUp.attr("class").match('refresh')){
  119. if(this.y < (this.maxScrollY - 14)){//上拉加载更多
  120. pullUp.addClass("refresh").show();
  121. pullUp.css({"background":"","background-size":""});
  122. pullUpLabel.text("松手开始加载...");
  123. loadingStep = 1;
  124. iscroll.refresh();
  125. }
  126. }
  127. });
  128. //滚动结束触发
  129. iscroll.on("scrollEnd",function(){
  130. if(loadingStep == 1){
  131. if( pullUp.attr("class").match("refresh") ){//上拉加载操作
  132. pullUp.removeClass("refresh").addClass("loading");
  133. pullUpLabel.text("");
  134. pullUp.css({"background":"#D7DFEA url(views/haifmv/img/pullUp.gif) no-repeat center","background-size":"12%"});
  135. loadingStep = 2;
  136. pullUpAction();
  137. iscroll.refresh();
  138. }
  139. }
  140. //滑动定位
  141. var thisy = parseInt(this.y);
  142. localStorage.setItem("zzttIndexY",thisy);
  143. });
  144. /**
  145. * 上拉加载方法
  146. * */
  147. function pullUpAction(){
  148. var kssj = $("#startT .nian").html()+"-" + $("#startT .yue").html()+"-" + $("#startT .ri").html();
  149. var jssj = $("#endT .nian").html()+"-" + $("#endT .yue").html()+"-" + $("#endT .ri").html();
  150. var page = parseInt($("#page").val())+1;
  151. var maxPages = $("#maxPages").val();
  152. if (page <= maxPages) {
  153. jQuery.ajax({
  154. type : "get",
  155. url : "addSjlrZztt.htm",
  156. data : {
  157. "mcid" : $("#mcid").val(),
  158. "cxeph": $("#dweb").val(),
  159. "ksrq" : kssj,
  160. "jsrq" : jssj,
  161. "page" : page
  162. },
  163. dataType : "json",
  164. async : true,
  165. success : function(data) {
  166. var hc = localStorage.getItem("zzttIndex");
  167. setTimeout(function() {
  168. var something = "";
  169. for (var i = 0 ; i < data.length; i++) {
  170. var obj = data[i];
  171. something += "<li class='mui-table-view-cell'>"
  172. + "<span style='margin-right: 0.2rem;'>"+obj.ttrq+"</span><span>(共"+obj.count+"头)</span>"
  173. + "<div class='mui-switch mui-active'>"
  174. + "<div class='mui-switch-handle'></div>"
  175. + "</div>"
  176. +"</li>"
  177. +"<li class='hiddenli xx"+i+"'></li>";
  178. for (var j = 0 ; j < obj.zzttList.length ; j++) {
  179. var o = obj.zzttList[j];
  180. something += "<div class='rowBox container-fluid' id='confirmBtn' data-id=" + o.id + " data-for=" + o.eph + ">"
  181. + "<div class='row'>"
  182. + "<div class='col-xs-6 col-sm-6 col-md-6 discenter'>耳牌号:<span id ='eph'>" + o.eph + "</span></div>"
  183. + "<div class='col-xs-6 col-sm-6 col-md-6 discenter'></div>"
  184. +"</div>"
  185. + "<div class='row'>"
  186. + "<div class='col-xs-6 col-sm-6 col-md-6 discenter'>淘汰舍栏:<span>" + o.ttslStr + "</span></div>"
  187. + "<div class='col-xs-6 col-sm-6 col-md-6 discenter'>转入栏舍:<span>" + o.zrslStr + "</span></div>"
  188. + "</div>"
  189. + "<div class='row'>"
  190. + "<div class='col-xs-6 col-sm-6 col-md-6 discenter'>淘汰类型:<span>" + o.ttlxStr + "</span</div>"
  191. + "<div class='col-xs-6 col-sm-6 col-md-6 discenter'></div>"
  192. + "</div>"
  193. + "</div>"
  194. + "<div class='row'>"
  195. + "<div class='stausBox'>"
  196. + "<div class='iofo iofo1'>" + o.shStr + "</div>"
  197. + "<div class='ysbt xsyc1' data-id = '" + o.id + "' data-ep ='" + o.eph + "'>"
  198. + "<span id = 'ttSure'>确定</span>"
  199. + "<span id = 'ttNotSure'>驳回</span>"
  200. + "</div>"
  201. + "<div class='ysbt xsyc2'></div>"
  202. + "</div>"
  203. + "</div>";
  204. };
  205. }
  206. $(".zzttIscroll ul").append($(something));
  207. $(".iofo1").each(function(){
  208. if ($(this).html() === "未审核") {
  209. $(".xsyc2").hide();
  210. }else {
  211. $(".xsyc1").hide();
  212. }
  213. });
  214. pullUp.attr("class","");
  215. pullUpLabel.text("上拉加载更多");
  216. pullUp.css({"background":""});
  217. iscroll.refresh();
  218. loadingStep = 0;
  219. localStorage.setItem("zzttIndex",hc + something);
  220. onOff(iscroll,zsIscrollHeight,cententHeight);
  221. confirm();
  222. ttSure();
  223. ttNotSure();
  224. },1000);
  225. $("#page").val(page);
  226. localStorage.setItem("zzttIndexPage",page);
  227. }
  228. });
  229. }else {
  230. pullUp.css({"background":"","background-size":""});
  231. pullUpLabel.text("没有数据了");
  232. iscroll.refresh();
  233. }
  234. }
  235. //加载缓存中的内容
  236. if (localStorage.hasOwnProperty("zzttIndex")) {
  237. var sth = localStorage.getItem("zzttIndex");
  238. $(".zzttIscroll ul").append(sth.substring(4,sth.length));
  239. }
  240. if (localStorage.hasOwnProperty("zzttIndexY")) {
  241. var tall = localStorage.getItem("zzttIndexY");
  242. iscroll.scrollTo(0,tall,1000, IScroll.utils.ease.elastic);
  243. iscroll.refresh();
  244. }
  245. });
  246. /**
  247. * 时间方法
  248. * */
  249. function sjchaxun(){
  250. mui.init();
  251. mui.ready(function() {
  252. //开始时间
  253. var startN = $('.nian')[0];
  254. var startnY = $('.yue')[0];
  255. var startR = $('.ri')[0];
  256. var startTbtns = $('#startT');
  257. startTbtns.each(function(i, startTbtn) {
  258. startTbtn.addEventListener('tap', function() {
  259. var dataFor = this.getAttribute('data-for');
  260. var that = this;
  261. dateP(startN,startnY,startR,dataFor,that);
  262. }, false);
  263. });
  264. //结束时间
  265. var endN = $('.nian')[1];
  266. var endY = $('.yue')[1];
  267. var endR = $('.ri')[1];
  268. var endTbtns = $('#endT');
  269. endTbtns.each(function(i, endTbtn) {
  270. endTbtn.addEventListener('tap', function() {
  271. var dataFor = this.getAttribute('data-for');
  272. var that = this;
  273. dateP(endN,endY,endR,dataFor,that);
  274. }, false);
  275. });
  276. });
  277. function dateP(nian,yue,ri,dataFor,that) {
  278. var picker = new mui.DtPicker({
  279. type: "date",//设置日历初始视图模式
  280. value: dataFor
  281. });
  282. picker.show(function(rs) {
  283. nian.innerHTML = rs.y.text;
  284. yue.innerHTML = rs.m.text;
  285. ri.innerHTML = rs.d.text;
  286. that.setAttribute('data-for',rs.value);
  287. picker.dispose();
  288. });
  289. }
  290. }
  291. /**
  292. * 返回
  293. */
  294. function backUrl() {
  295. clear();
  296. haifm.loadMobilePage("haifm", "hvSjlrScIndex.htm?mcid=" + $("#mcid").val());
  297. }
  298. /**
  299. * 新增
  300. * */
  301. function addUrl() {
  302. haifm.loadMobilePage("haifm", "hvSjlrZzttEdit.htm?mcid=" + $("#mcid").val());
  303. };
  304. /**
  305. *时间搜索
  306. */
  307. function timeSearch() {
  308. var ksrq = $("#startT .nian").html() + "-" + $("#startT .yue").html() + "-" + $("#startT .ri").html();
  309. var jsrq = $("#endT .nian").html() + "-" + $("#endT .yue").html() + "-" + $("#endT .ri").html();
  310. clear();
  311. haifm.loadMobilePage("haifm", "hvSjlrZzttIndex.htm?mcid=" + $("#mcid").val() + "&ksrq=" + ksrq + "&jsrq=" + jsrq);
  312. }
  313. /**
  314. * 根据ID查此猪的生平历史
  315. * @param val
  316. */
  317. function selectPigRerecord(id) {
  318. jQuery.ajax({
  319. url : 'hvSjlrZzttSelectPigRerecord.htm',
  320. dataType : 'json',
  321. type : 'post',
  322. cache : false,
  323. data : {
  324. "id" : id,
  325. },
  326. success : function(data) {
  327. if (data.data == 1) {//公猪
  328. haifm.loadMobilePage("haifm", "hvSjlrGzxx.htm?mcid=" + $("#mcid").val() + "&id=" + data.id + "&from=" + "zztt");
  329. } else if (data.data == 2){//母猪
  330. haifm.loadMobilePage("haifm", "hvSjlrMzxx.htm?mcid=" + $("#mcid").val() + "&id=" + data.id + "&from=" + "zztt");
  331. } else {
  332. mui.alert('操作失败,请重试', '提示', function() {});
  333. }
  334. },
  335. error : function(data) {
  336. mui.alert('系统异常!删除失败!', '提示', function() {});
  337. }
  338. });
  339. }
  340. /**
  341. * 驳回淘汰
  342. * @param val
  343. */
  344. function makeSureTt(id) {
  345. jQuery.ajax({
  346. url : 'hvSjlrZzttConfirmTt.htm',
  347. dataType : 'json',
  348. type : 'post',
  349. cache : false,
  350. data : {
  351. "id" : id,
  352. },
  353. success : function(data) {
  354. if (data.data == 1) {
  355. mui.alert('淘汰成功', '提示', function() {});
  356. haifm.loadMobilePage("haifm", "hvSjlrZzttIndex.htm?mcid=" + $("#mcid").val());
  357. } else {
  358. mui.alert('淘汰失败,请重试', '提示', function() {});
  359. }
  360. },
  361. error : function(data) {
  362. mui.alert('系统异常!删除失败!', '提示', function() {});
  363. }
  364. });
  365. }
  366. /**
  367. * 确定淘汰
  368. * @param val
  369. */
  370. function rejectedTt(id) {
  371. jQuery.ajax({
  372. url : 'hvSjlrZzttRejectedTt.htm',
  373. dataType : 'json',
  374. type : 'post',
  375. cache : false,
  376. data : {
  377. "id" : id,
  378. },
  379. success : function(data) {
  380. if (data.data == 1) {
  381. mui.alert('淘汰驳回成功', '提示', function() {});
  382. haifm.loadMobilePage("haifm", "hvSjlrZzttIndex.htm?mcid=" + $("#mcid").val());
  383. clear();
  384. } else {
  385. mui.alert('淘汰驳回失败,请重试', '提示', function() {});
  386. }
  387. },
  388. error : function(data) {
  389. mui.alert('系统异常!删除失败!', '提示', function() {});
  390. }
  391. });
  392. }
  393. /**
  394. * 删除
  395. * @param val
  396. */
  397. function deleteZztt(val) {
  398. if(confirm("确定要删除该淘汰记录吗?删除成功后无法进行恢复!")) {
  399. jQuery.ajax({
  400. url : 'HaifmvdisableZztt.htm',
  401. dataType : 'json',
  402. type : 'post',
  403. cache : false,
  404. data : {"id" : val},
  405. success : function(data) {
  406. if (data.count > 0) {
  407. mui.alert('删除成功!', '提示', function() {});
  408. haifm.loadMobilePage("haifm", "hvSjlrZzttIndex.htm?mcid=" + $("#mcid").val() + "&ksrq=" + $("#ksrq").val() + "&jsrq=" + $("#jsrq").val() + "&dweb=" + $("#dweb").val());
  409. clear();
  410. } else {
  411. mui.alert('删除失败!', '提示', function() {});
  412. }
  413. },
  414. error : function(data) {
  415. mui.alert('系统异常!删除失败!', '提示', function() {});
  416. }
  417. });
  418. }
  419. }
  420. //开关事件
  421. function onOff(iscroll,zsIscrollHeight,cententHeight){
  422. mui('.mui-content .mui-switch').each(function() { //循环所有toggle
  423. mui(this)['switch']();
  424. //toggle 事件监听
  425. this.addEventListener('toggle', function(event) {
  426. //event.detail.isActive 可直接获取当前状态
  427. var isActive = this.classList.contains("mui-active"); //判断打开ON或者关闭OFF
  428. if(isActive){ //打开状态
  429. $(this).parent().next().slideDown(500,function(){
  430. heightvs(zsIscrollHeight,cententHeight);
  431. iscroll.refresh();
  432. }).siblings('.hiddenli').stop().slideUp(500);
  433. $(".mui-switch").removeClass("mui-active").children().css({'transition-duration': '0.2s', 'transform': 'translate(0, 0px)'});
  434. $(this).toggleClass("mui-active");
  435. }else{ //关闭状态
  436. $(this).parent().next().slideUp(500,function(){
  437. heightvs(zsIscrollHeight,cententHeight);
  438. iscroll.refresh();
  439. });
  440. }
  441. });
  442. });
  443. }
  444. //修改事件
  445. function confirm(){
  446. var kssj = $("#startT .nian").html()+"-" + $("#startT .yue").html()+"-" + $("#startT .ri").html();
  447. var jssj = $("#endT .nian").html()+"-" + $("#endT .yue").html()+"-" + $("#endT .ri").html();
  448. (function($) {
  449. var confirmBtns = $("div[id*='confirmBtn']");
  450. confirmBtns.each(function(i, confirmBtns) {
  451. confirmBtns.addEventListener('tap', function() {
  452. var id = this.getAttribute("data-id");
  453. var btnArray = ['修改', '猪只记录', '取消'];
  454. var ep = this.getAttribute("data-for");
  455. var mcid = document.getElementById("mcid").value;
  456. mui.confirm('是否要对'+ep+'进行以下操作。','提示!', btnArray, function(e) {
  457. if (e.index == 0) {
  458. haifm.loadMobilePage("haifm", "hvSjlrZzttEdit.htm?mcid=" + mcid + "&id=" + id + "&eph=" + ep + "&kssj=" + kssj + "&jssj=" + jssj);
  459. } else if (e.index == 1) {
  460. selectPigRerecord(id);
  461. }
  462. });
  463. }, false);
  464. });
  465. })(mui);
  466. }
  467. function ttSure(){
  468. $(".ysbt #ttSure").on("tap", function(event) {
  469. event.stopPropagation();
  470. var btnArray = ['否', '是'];
  471. mui.confirm('确认淘汰耳牌为: ' + $(this).parent().data("ep") + "?",'注意!', btnArray, function(e) {
  472. if (e.index == 1) {
  473. //TODO 确定淘汰 则1:淘汰审核标志改为1 2:档案里修改动物状态为淘汰
  474. makeSureTt($(this).parent().data("id"));
  475. }
  476. });
  477. });
  478. }
  479. function ttNotSure(){
  480. $(".ysbt #ttNotSure").on("tap", function(event) {
  481. event.stopPropagation();
  482. var btnArray = ['否', '是'];
  483. mui.confirm('确认驳回淘汰耳牌为: ' + $(this).parent().data("ep") + "的淘汰申请?",'注意!', btnArray, function(e) {
  484. if (e.index == 1) {
  485. rejectedTt($(this).parent().data("id"));
  486. }
  487. });
  488. });
  489. }
  490. //滑动高度和内容高度对比
  491. function heightvs(zsIscrollHeight,cententHeight){
  492. if(zsIscrollHeight.height() > cententHeight.height()){
  493. $("#pullUp").hide();
  494. }else{
  495. $("#pullUp").show();
  496. }
  497. }
  498. //清除定位和缓存
  499. function clear() {
  500. if (localStorage.hasOwnProperty("zzttIndex")) {
  501. localStorage.removeItem("zzttIndex");
  502. }
  503. if (localStorage.hasOwnProperty("zzttIndexY")) {
  504. localStorage.removeItem("zzttIndexY");
  505. }
  506. if (localStorage.hasOwnProperty("zzttIndexPage")) {
  507. localStorage.removeItem("zzttIndexPage");
  508. }
  509. }