updateXlh.htm 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. #include("template/huimv-haifmv-head.vm")
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0,user-scalable=no">
  6. <meta name="apple-mobile-web-app-capable" content="yes">
  7. <meta name="apple-mobile-web-app-status-bar-style" content="black">
  8. <title>序列号</title>
  9. <style type="text/css">
  10. #showmc,#showzs{
  11. background: #fff;
  12. width: 5.5rem;
  13. border-radius: 5px;
  14. padding: 6px 15px;
  15. }
  16. input[placeholder], [placeholder], *[placeholder] {
  17. color: #000 !important;
  18. }
  19. .mui-btn-blue, .mui-btn-primary, input[type=submit] {
  20. color: #fff !important;
  21. border: 1px solid #007aff;
  22. background-color: #007aff;
  23. }
  24. .mui-backdrop {
  25. position: fixed;
  26. z-index: 998;
  27. top: 0;
  28. right: 0;
  29. bottom: 0;
  30. left: 0;
  31. background-color: rgba(0,0,0,.3);
  32. }
  33. .cont-div {
  34. width: 100%;
  35. height: 100%;
  36. position: absolute;
  37. top: 38px;
  38. bottom: 40px;
  39. overflow: hidden;
  40. margin: 0;
  41. background: #d7dfea;
  42. }
  43. .cont-div>div{
  44. display: -webkit-box;
  45. -webkit-box-orient: vertical;
  46. }
  47. .cont-div>div>div{
  48. padding: 10px 0;
  49. }
  50. .bottom-da{
  51. position: inherit;
  52. padding: 10px 0 !important;
  53. }
  54. .disa {
  55. color:#ccc
  56. }
  57. input[type=text],input[type=number]{
  58. height:auto;
  59. margin-bottom:0;
  60. padding: 6px 15px;
  61. border-radius: 5px;
  62. border: 0;
  63. }
  64. #overlay {
  65. background: #000;
  66. filter: alpha(opacity=50); /* IE的透明度 */
  67. opacity: 0.5; /* 透明度 */
  68. position: absolute;
  69. top: 0px;
  70. left: 0px;
  71. width: 100%;
  72. height: 100%;
  73. z-index: 9999; /* 此处的图层要大于页面 */
  74. display:none;
  75. }
  76. .ggys {
  77. padding-right: 0;
  78. text-align: center;
  79. width: 70%;
  80. position: absolute;
  81. bottom: 30%;
  82. left: 50%;
  83. margin-left: -35%;
  84. background: #fff;
  85. z-index: 99999;
  86. background: #d7dfea;
  87. height: 0;
  88. overflow: hidden;
  89. border: none;
  90. }
  91. .ggys .title {
  92. position: relative;
  93. display: flex;
  94. -webkit-justify-content: center;
  95. justify-content: center;
  96. -webkit-align-items: center;
  97. align-items: center;
  98. -webkit-flex-direction: row;
  99. flex-direction: row;
  100. color: #fff;
  101. background: #6c98b1;
  102. margin-top: 15px;
  103. width: 106%;
  104. margin-left: -3%;
  105. }
  106. .leftsanjiao,.rightsanjiao{
  107. position: absolute;
  108. width: 0;
  109. height: 0;
  110. bottom: -10px;
  111. border-top: 10px solid #376c8b;
  112. }
  113. .leftsanjiao{
  114. border-left: 8px solid transparent;
  115. border-right: 0px solid transparent;
  116. left: 0px;
  117. padding: 0 !important;
  118. }
  119. .rightsanjiao{
  120. border-left: 0px solid transparent;
  121. border-right: 8px solid transparent;
  122. right: 0px;
  123. padding: 0 !important;
  124. }
  125. .sjok {
  126. display: flex;
  127. justify-content: center;
  128. align-items: center;
  129. padding:0 !important;
  130. width: 35px;
  131. height: 35px;
  132. background: #6c98b1;
  133. color: #fff;
  134. border-radius: 50%;
  135. -webkit-box-shadow: 0 0 10px #6c98b1;
  136. -moz-box-shadow: 0 0 10px #6c98b1;
  137. box-shadow: 0 0 10px #6c98b1;
  138. }
  139. .sjok span{
  140. font-size:26px;
  141. }
  142. /* 滚动条样式 */
  143. .iScrollVerticalScrollbar {
  144. position: absolute;
  145. z-index: 9999;
  146. width: 3px;
  147. bottom: 2px;
  148. top: 2px;
  149. right: 2px;
  150. overflow: hidden;
  151. padding: 0px !important;
  152. }
  153. .iScrollVerticalScrollbar.iScrollBothScrollbars {
  154. bottom: 18px;
  155. }
  156. .iScrollIndicator {
  157. position: absolute;
  158. right: 0;
  159. background: rgba(0, 0, 0);
  160. border: 2px solid rgba(0, 0, 0, 0.5);
  161. border-radius: 8px;
  162. }
  163. </style>
  164. <script type="text/javascript">
  165. $(function() {
  166. /* 滚动事件 */
  167. var mScroll = new IScroll(".cont-div",{
  168. scrollbars: true,
  169. fadeScrollbars:true,
  170. shrinkScrollbars:'clip',
  171. scrollbars: 'custom',
  172. click:true,
  173. tap:true
  174. });
  175. setTimeout(function () {
  176. mScroll.refresh();
  177. }, 100);
  178. $("#zs").bind("change", function(){
  179. $("#mcmc").html($(this).find("option:selected").data("mcmc"));
  180. $("#jqid").html($(this).find("option:selected").data("jqid"));
  181. $("#xlha").html($(this).find("option:selected").data("xlh"));
  182. $("#zdh").html($(this).find("option:selected").data("zdh"));
  183. });
  184. $("#update").bind("click", function(event){
  185. $(".ad").removeClass("hidden");
  186. $(".up").removeClass("hidden");
  187. $(".ad").addClass("hidden");
  188. $("#save").val("1");
  189. mScroll.refresh();
  190. });
  191. $("#add").bind("click", function(){
  192. $(".ad").removeClass("hidden");
  193. $(".up").removeClass("hidden");
  194. $(".up").addClass("hidden");
  195. $("#save").val("2");
  196. mScroll.refresh();
  197. });
  198. $("#clear").bind("click", function(){
  199. if(confirm("确定要解除当前绑定的猪舍吗?")) {
  200. jQuery.ajax({
  201. url : 'clearXlh.htm',
  202. dataType : 'json',
  203. type : 'post',
  204. cache : false,
  205. data: {
  206. "xlh" : $("#xlh").val(),
  207. },
  208. success : function(data) {
  209. if (data.returnCode > 0) {
  210. alert("解除成功!");
  211. window.location.href = "getXlh.htm?xlh=" + $("#xlh").val();
  212. }
  213. },
  214. error : function(data) {
  215. alert("系统异常解除失败!");
  216. }
  217. });
  218. }
  219. });
  220. shijian();
  221. /**
  222. * 牧场名称
  223. * */
  224. $("#showmc,.zt").on("tap",function(e){
  225. if(event.preventDefault){
  226. event.preventDefault();
  227. }else{
  228. event.returnValue = false;
  229. }
  230. $(".ztk").show(showOverlay());
  231. $(".ztk").css({height:"auto",overflow: "initial"});
  232. });
  233. $("#overlay,.sjok").on("tap",function(){
  234. var checked = $('.ztlist').find('.highlight').html();
  235. var mcid = $('.ztlist').find('.highlight').val();
  236. $("#mc").val(mcid);
  237. $("#showmc").html(checked);
  238. $(".ztk").hide(hideOverlay());
  239. });
  240. /**
  241. * 猪舍
  242. * */
  243. $("#showzs,.zs").on("tap",function(e){
  244. if(event.preventDefault){
  245. event.preventDefault();
  246. }else{
  247. event.returnValue = false;
  248. }
  249. $(".zsk").show(showOverlay());
  250. $(".zsk").css({height:"auto",overflow: "initial"});
  251. });
  252. $("#overlay,.sjok").on("tap",function(){
  253. var checked = $('.zslist').find('.highlight').html();
  254. var zsid = $('.zslist').find('.highlight').val();
  255. $("#showzs").val(zsid);
  256. $("#showzs").html(checked);
  257. $("#mcmc").html($(".zslist").find('.highlight').data("mcmc"));
  258. $("#jqid").html($(".zslist").find('.highlight').data("jqid"));
  259. $("#xlha").html($(".zslist").find('.highlight').data("xlh"));
  260. $("#zdh").html($(".zslist").find('.highlight').data("zdh"));
  261. $(".zsk").hide(hideOverlay());
  262. });
  263. });
  264. /**
  265. * 返回
  266. */
  267. function backUrl() {
  268. window.location.href="loginHaifm.htm";
  269. }
  270. function saveXlh() {
  271. var save = $("#save").val();
  272. if (save == "0") {
  273. return;
  274. } else if(save == "1") {
  275. var zs = $("#zs").val();
  276. if (zs == "0") {
  277. alert("请选择猪舍!");
  278. return;
  279. }
  280. } else if (save == "2") {
  281. var zsmc = $("#zsmc").val();
  282. var jlsj = $("#jlsj").val();
  283. if (zsmc == "" || jlsj == "") {
  284. alert("猪舍名称或建栏时间不能为空!");
  285. return;
  286. }
  287. }
  288. $(".saveBtn").removeAttr("onclick");
  289. jQuery.ajax({
  290. url : 'saveXlh.htm',
  291. dataType : 'json',
  292. type : 'post',
  293. cache : false,
  294. data: {
  295. "xlh" : $("#xlh").val(),
  296. "save" : $("#save").val(),
  297. "zsid" : $("#showzs").val(),
  298. "mcid" : $("#mc").val(),
  299. "zsmc" : $("#zsmc").val(),
  300. "jlsj" : $("#jlsj").val(),
  301. "rlrl" : $("#rlrl").val(),
  302. "rlts" : $("#rlts").val(),
  303. "rlpjtz" : $("#rlpjtz").val()
  304. },
  305. success : function(data) {
  306. if (data.returnCode == 1) {
  307. alert("保存成功!");
  308. window.location.href = "getXlh.htm?xlh=" + $("#xlh").val();
  309. }else if (data.returnCode == 2) {
  310. alert("请选择牧场名称!");
  311. }
  312. },
  313. error : function(data) {
  314. alert("系统异常保存失败!");
  315. }
  316. });
  317. }
  318. /**
  319. * 时间事件
  320. * */
  321. function shijian() {
  322. mui.init();
  323. mui.ready(function() {
  324. var rqbtns = $('#jlsj');
  325. rqbtns.each(function(i, rqbtn) {
  326. rqbtn.addEventListener('tap', function() {
  327. var optionsJson = this.getAttribute('data-options') || '{}';
  328. var options = JSON.parse(optionsJson);
  329. type = 1;
  330. dateP(type,jlsj);
  331. }, false);
  332. });
  333. });
  334. }
  335. function dateP(type,inputClass) {
  336. var picker = new mui.DtPicker({
  337. type: "date",//设置日历初始视图模式
  338. });
  339. picker.show(function(rs) {
  340. if ( type == 1 ) {
  341. inputClass.value = rs.text;
  342. picker.dispose();
  343. }
  344. });
  345. }
  346. /**
  347. * 显示遮罩层
  348. * */
  349. function showOverlay(){
  350. $("#overlay").height(pageHeight());
  351. $("#overlay").width(pageWidth());
  352. // fadeTo第一个参数为速度,第二个为透明度
  353. // 多重方式控制透明度,保证兼容性,但也带来修改麻烦的问题
  354. $("#overlay").fadeTo(200, 0.5);
  355. };
  356. /**
  357. * 隐藏覆盖层
  358. * */
  359. function hideOverlay(){
  360. $("#overlay").fadeOut(200);
  361. };
  362. /**
  363. * 当前页面高度
  364. */
  365. function pageHeight(){
  366. return document.body.scrollHeight;
  367. };
  368. /**
  369. * 当前页面宽度
  370. * */
  371. function pageWidth(){
  372. return document.body.scrollWidth;
  373. };
  374. </script>
  375. </head>
  376. <body>
  377. <input type="hidden" value="$!xlh" id="xlh" />
  378. <input type="hidden" value="0" id="save" />
  379. <input type="hidden" value="" id="mc" />
  380. <div class="container" style="width:100%;">
  381. <div class="row">
  382. <div class="navbar-fixed-top" style="background-color: #000;width: 100%;">
  383. <span class="glyphicon glyphicon glyphicon-menu-left" aria-hidden="true"
  384. onclick="javascript:backUrl()"></span>
  385. <h4 style="margin-top: 0; margin-bottom: 0;">序列号配置</h4>
  386. <span class="saveBtn" onclick="javascript:saveXlh()">保存</span>
  387. </div>
  388. </div>
  389. </div>
  390. <main class="cont-div">
  391. <div>
  392. <div><span>序列号</span><span>$!xlh</span></div>
  393. <div><span>绑定信息</span>#if("$!jqid" == "")<span style="color:red">未绑定</span>#else<span>已绑定</span>#end</div>
  394. #if("$!jqid" != "")
  395. <div><span>绑定猪舍</span><span>$!zsmc</span></div>
  396. <div><span>机器编号</span><span>$!jqid</span></div>
  397. <div><span>站点号</span><span>$!zdh</span></div>
  398. #end
  399. <div>
  400. <span>
  401. <button id="add" class="mui-btn mui-btn-primary " type="button" style="outline:none;" #if("$!jqid" != "") style="display:none" #end>新增猪舍绑定</button>
  402. <button id="clear" class="mui-btn mui-btn-success" type="button" #if("$!jqid" == "") style="display:none;outline:none;" #end>解除猪舍绑定</button>
  403. </span>
  404. <span>
  405. <button id="update" class="mui-btn mui-btn-royal" style="outline:none;">修改猪舍绑定</button>
  406. </span>
  407. </div>
  408. <div class="up hidden" style="position: relative;">
  409. <span>猪舍名称</span>
  410. <div class="" id='showzs'>--选择绑定猪舍--</div>
  411. <!-- <input type="text" value="--选择绑定猪舍--" placeholder="" id='showzs' /> -->
  412. <div class="btn-group sec zs" style="position: absolute;right: -15px;top: 15px;height: auto;">
  413. <span class="caret" style="padding-right: 0px;width: 0px;"></span>
  414. </div>
  415. </div>
  416. <div class="up hidden"><span>牧场名称</span><span id="mcmc">
  417. </span></div>
  418. <div class="up hidden"><span>机器编号</span><span id="jqid"></span></div>
  419. <div class="up hidden"><span>序列号</span><span id="xlha"></span></div>
  420. <div class="up hidden"><span>站点号</span><span id="zdh"></span></div>
  421. <div class="ad hidden" style="position: relative;">
  422. <span>牧场名称</span>
  423. <div class="" id='showmc'>牧场名称</div>
  424. <!-- <input type="text" value="牧场名称" placeholder="" id='showmc' /> -->
  425. <div class="btn-group sec zt" style="position: absolute;right: -15px;top: 15px;height: auto;">
  426. <span class="caret" style="padding-right: 0px;width: 0px;"></span>
  427. </div>
  428. </div>
  429. <div class="ad hidden"><span>猪舍名称<font color="red">*</font></span><input class="modile" type="text" value="$!daZsda.zsmc" name="daZsda.zsmc" id="zsmc" maxlength="40"></div>
  430. <div class="ad hidden">
  431. <span><font color="red">*</font>建栏时间</span>
  432. <input class="modile" type="text" id="jlsj" class="datepicker-here" readonly="readonly" value="$!dateTool.format('yyyy-MM-dd', $!nowDate)" valid="required" errmsg="建栏时间不能为空!" #if("$!daLqdaDTO.daLqda.id" != "") disabled="disabled" #end />
  433. </div>
  434. <div class="ad hidden">
  435. <span>入栏日龄(天)</span>
  436. <input class="modile" type="number" id="rlrl" value="0" oninput="if(value.length>6)value=value.slice(0,6)"
  437. onblur="this.value=this.value.replace(/^\D|\D$/,'');"
  438. onafterpaste='this.value=this.value.replace(/[^\d]/gi,"");this.value=this.value.replace(/^(\d+)\d*$/,"$1")'
  439. onKeyUp='this.value=this.value.replace(/[^\d]/gi,"");this.value=this.value.replace(/^(\d+)\d*$/,"$1")' />
  440. </div>
  441. <div class="ad hidden">
  442. <span>入栏头数</span>
  443. <input class="modile" type="number" value="0" id="rlts" oninput="if(value.length>6)value=value.slice(0,6)"
  444. onblur="this.value=this.value.replace(/^\D|\D$/,'');"
  445. onafterpaste='this.value=this.value.replace(/[^\d]/gi,"");this.value=this.value.replace(/^(\d+)\d*$/,"$1")'
  446. onKeyUp='this.value=this.value.replace(/[^\d]/gi,"");this.value=this.value.replace(/^(\d+)\d*$/,"$1")' />
  447. </div>
  448. <div class="ad hidden">
  449. <span>入栏平均体重(Kg)</span>
  450. <input class="modile" type="number" value="0" id="rlpjtz" oninput="if(value.length>10)value=value.slice(0,10)"
  451. onblur="this.value=this.value.replace(/^\D|\D$/,'');"
  452. onafterpaste='this.value=this.value.replace(/[^\d\.]/gi,"");this.value=this.value.replace(/^(\d+\.\d{2})\d*$/,"$1")'
  453. onKeyUp='this.value=this.value.replace(/[^\d\.]/gi,"");this.value=this.value.replace(/^(\d+\.\d{2})\d*$/,"$1")' />
  454. </div>
  455. </div>
  456. </main>
  457. <!--新增牧场名称-->
  458. <div class="mui-poppicker mui-active ggys ztk" style="padding:0;">
  459. <div class="title">
  460. <h4>牧场名称</h4>
  461. <div class="leftsanjiao"></div>
  462. <div class="rightsanjiao"></div>
  463. </div>
  464. <div class="mui-poppicker-body">
  465. <div class="mui-picker" style="background-color: #d7dfea;">
  466. <div class="mui-picker-inner">
  467. <div class="slkCentent">
  468. <div class="mui-pciker-rule mui-pciker-rule-ft"></div>
  469. <ul class="mui-pciker-list ztlist" style="transform: perspective(1000px) rotateY(0deg) rotateX(0deg);">
  470. #foreach($!obj in $!mcdaList)
  471. <li class="highlight" value="$!obj.id">$!obj.mcmc</li>
  472. #end
  473. </ul>
  474. <div class="mui-pciker-rule mui-pciker-rule-bg"></div>
  475. </div>
  476. </div>
  477. </div>
  478. </div>
  479. <div class="sjokbox" style="justify-content: center;display: flex;padding: 15px 0;">
  480. <div class="sjok okzt">
  481. <span class="glyphicon glyphicon-ok" style="padding-right: 0px;"></span>
  482. </div>
  483. </div>
  484. </div>
  485. <!--修改牧场名称-->
  486. <div class="mui-poppicker mui-active ggys zsk" style="padding:0;">
  487. <div class="title">
  488. <h4>猪舍名称</h4>
  489. <div class="leftsanjiao"></div>
  490. <div class="rightsanjiao"></div>
  491. </div>
  492. <div class="mui-poppicker-body">
  493. <div class="mui-picker" style="background-color: #d7dfea;">
  494. <div class="mui-picker-inner">
  495. <div class="slkCentent">
  496. <div class="mui-pciker-rule mui-pciker-rule-ft"></div>
  497. <ul class="mui-pciker-list zslist" style="transform: perspective(1000px) rotateY(0deg) rotateX(0deg);">
  498. #foreach($!obj in $!zsdaList)
  499. <li class="highlight" value="$!obj.id" data-mcmc="$!obj.mcmc" data-jqid="$!obj.jqid" data-xlh="$!obj.xlh" data-zdh="$!obj.zdh">$!obj.zsmc</li>
  500. #end
  501. </ul>
  502. <div class="mui-pciker-rule mui-pciker-rule-bg"></div>
  503. </div>
  504. </div>
  505. </div>
  506. </div>
  507. <div class="sjokbox" style="justify-content: center;display: flex;padding: 15px 0;">
  508. <div class="sjok okzt">
  509. <span class="glyphicon glyphicon-ok" style="padding-right: 0px;"></span>
  510. </div>
  511. </div>
  512. </div>
  513. <div id="overlay"></div>
  514. </body>
  515. <script type="text/javascript">
  516. (function (doc,win) {
  517. var docEl = doc.documentElement;
  518. var resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize';
  519. var recalc = function () {
  520. var clientWidth = docEl.clientWidth;
  521. if (!clientWidth) return;
  522. if(clientWidth>=640){
  523. docEl.style.fontSize = '100px';
  524. }else{
  525. docEl.style.fontSize = 100 * (clientWidth / 640) + 'px';
  526. }
  527. };
  528. if (!doc.addEventListener) return;
  529. win.addEventListener(resizeEvt, recalc, false);
  530. doc.addEventListener('DOMContentLoaded', recalc, false);
  531. })(document, window);
  532. </script>
  533. </html>