mode_rjz_car_apply.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291
  1. //流程模块【rjz_car_apply.任家庄用车申请】下录入页面自定义js页面,初始函数
  2. function initbodys() {
  3. c.onselectdata['car_type'] = function (d) {
  4. // console.log(d);
  5. js.ajax(geturlact('getFreeCarCon'), {car_type: d.name}, function (res) {
  6. var data = JSON.parse(res);
  7. if (data.success) {
  8. if (isMobile()) {
  9. var htmlDom = $('.lumtr .form_title')[1];
  10. var htmlStr = '<font color="red">*</font>车辆类型<font color="red" font-szie="12"> (剩余 '+data.data.car_free_con+' 辆 '+d.name+')</font>';
  11. $(htmlDom).html(htmlStr);
  12. form('free_car_con').value = data.data.car_free_con;
  13. } else {
  14. form('free_car_con').value = data.data.car_free_con;
  15. }
  16. }
  17. }, 'get, json');
  18. }
  19. if (isMobile()) {
  20. setTimeout(function() {
  21. var time = getNowDatetime();
  22. var step = getStep();
  23. // 获取车辆类型
  24. var carType = getInputVal('input_car_type');
  25. console.log(step);
  26. if (step === 'dispatch_assess') {
  27. setCarFreeCon(carType);
  28. } else if (step === 'fleet_select_car') {
  29. // 显示数量
  30. setCarFreeCon(carType);
  31. // 选择车辆
  32. setSelectCar(carType);
  33. } else if(step === 'load_car_succ') {
  34. // 设置装车结束时间
  35. $("#div_load_end_time input").attr('value', time);
  36. $("*[name='load_end_time']").removeAttr('onclick');
  37. } else if (step == 'fleet_assess_load_car_succ') {
  38. // 设置实际使用完毕时间
  39. load_end_use();
  40. } else if (step == 'load_end_use') {
  41. // 设置实际使用完毕时间
  42. $("*[name='actual_end_time']").attr('value', time);
  43. $("*[name='actual_end_time']").removeAttr('onclick');
  44. } else if (step === 'fleet_assess_load_end_use') {
  45. setAssessSuccStep();
  46. submitAssessSucc();
  47. } else {
  48. }
  49. }, 100);
  50. }
  51. function load_end_use() {
  52. // 判断是否同意
  53. // 同意需要先处理数据,再提交;不同意则用原始方法提交。
  54. $("*[name='check_status']").click(function(){
  55. var agree = $(this).attr('value');
  56. if (agree == 1) {
  57. getUpdateCarStateApi('使用中');
  58. } else {
  59. check(0);
  60. }
  61. });
  62. }
  63. // 判断函数
  64. function getStep() {
  65. var step_text_original = '';
  66. step_text_original = $("#input_step").text();
  67. var step_text = step_text_original.split('(')[0];
  68. var carnameStep = $("#btn_carname").length; // 选择车辆步骤
  69. var loadCarSuccStep = $("*[name='load_end_time']").length; // 装车完成1
  70. var endUseStep = $("*[name='end_time']").length; // 使用结束时间
  71. var parkingLocationStep = $("*[name='parking_location']").length; // 停车场
  72. var assesLocationStep = $("*[name=assess_car_location]").length; // 审核车场
  73. // var assesTimeStep = $("*[name=assess_time]").length; // 审核时间
  74. if (step_text == '调度室审批') {
  75. return 'dispatch_assess';
  76. } else if (step_text == '运输队审批' && carnameStep == 1) {
  77. return 'fleet_select_car';
  78. } else if (step_text == '装车完成' && loadCarSuccStep == 1) {
  79. return 'load_car_succ';
  80. } else if (step_text == '运输队审核' && endUseStep == 1) {
  81. return 'fleet_assess_load_car_succ';
  82. } else if (step_text == '使用完毕' && parkingLocationStep == 1) {
  83. return 'load_end_use';
  84. } else if (step_text == '运输队审核' && assesLocationStep == 1) {
  85. return 'fleet_assess_load_end_use';
  86. }
  87. }
  88. function getInputVal(inputNameStr) {
  89. carType = $("*[name="+inputNameStr+"]").val();
  90. return carType;
  91. }
  92. function isMobile() {
  93. var userAgentInfo = navigator.userAgent;
  94. var mobileAgents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
  95. var mobile_flag = false;
  96. //根据userAgent判断是否是手机
  97. for (var v = 0; v < mobileAgents.length; v++) {
  98. if (userAgentInfo.indexOf(mobileAgents[v]) > 0) {
  99. mobile_flag = true;
  100. break;
  101. }
  102. }
  103. var screen_width = window.screen.width;
  104. var screen_height = window.screen.height;
  105. //根据屏幕分辨率判断是否是手机
  106. if (screen_width > 325 && screen_height < 750) {
  107. mobile_flag = true;
  108. }
  109. return mobile_flag;
  110. }
  111. function getNowDatetime() {
  112. var date = new Date();
  113. var year = date.getFullYear(); // 返回的是年份
  114. var month = date.getMonth() + 1; // 返回的月份上个月的月份,记得+1才是当月
  115. var dates = date.getDate();
  116. var h = date.getHours();
  117. var m = date.getMinutes();
  118. var s = date.getSeconds();
  119. if(month<10)month="0"+month;
  120. if(date<10)date="0"+date;
  121. var time=year + "-" + month + "-" + dates + ' ' + h + ':' + m + ':' + s;
  122. return time;
  123. }
  124. // 操作函数
  125. function setCarFreeCon(carType) {
  126. $(".car_con_col").show();
  127. var carTypeJson = "car_type="+carType;
  128. // 显示申请车辆类型剩余数量
  129. js.ajax(geturlact('getFreeCarCon'), carTypeJson, function (res) {
  130. if(res.success) {
  131. var trStr = '<tr><td style="vertical-align:text-top;"><div align="left" style="color:#000;padding:6px 0px 3px;font-size:16px;font-weight:bold;color: red">空闲的 '+carType+' 数量</div><div style="padding:8px 10px 8px 10px;color:#3A3A3C;font-size:15px;width:94%;min-height:15px;border:1px solid #dcdcdc;border-radius:5px;color: red" align="left">'+res.data.car_free_con+'</div></td><td></td></tr>'
  132. $("#mobile_info_table").append(trStr);
  133. console.log(res);
  134. $('*[name=surplus]').val(res.data.car_free_con);
  135. $('*[name=car_con]').val(res.data.car_con);
  136. }
  137. }, 'get, json');
  138. }
  139. function setSelectCar(carType) {
  140. // 替换原来onclick方法,增加参数
  141. $("#btn_carname").removeAttr('onclick');
  142. $("#btn_carname").click(function (){
  143. c.selectdata('carNum',false,'carname','申请车辆',1, carType);
  144. });
  145. // 选择车辆
  146. var carnameStep = $("#btn_carname").length; // 选择车辆步骤
  147. // 判断是否选择车辆步骤,不是选择车辆步骤,则用默认方式提交
  148. if (carnameStep > 0) {
  149. var isAgree;
  150. // 判断是否同意
  151. $("*[name='check_status']").click(function(){
  152. var agree = $(this).attr('value');
  153. console.log(agree);
  154. if (agree == 1) {
  155. getUpdateCarStateApi('装车');
  156. } else {
  157. check(0);
  158. }
  159. c.changecheck_status(this);
  160. });
  161. }
  162. }
  163. function setAssessSuccStep() {
  164. // 设置默认值(出现控件时再设置)
  165. var input_parking_location = $("*[name=input_parking_location]").val();
  166. $("*[name=assess_car_location]").val(input_parking_location);
  167. $("*[name=assess_time]").attr('id','assess_time');
  168. var assess_time = $("*[name=assess_time]").length;
  169. var input_actual_end_time = $("*[name=input_actual_end_time]").val();
  170. if (assess_time && input_actual_end_time != null) {
  171. $("*[name=assess_time]").val(input_actual_end_time);
  172. }
  173. $("*[name=assess_location]").val('否');
  174. $("*[name=assess_car_location]").attr('id','assess_car_location');
  175. $('#assess_car_location').change(function () {
  176. var sj = $("*[name=input_parking_location]").val();
  177. var sh = $(this).val();
  178. if (sj != sh) {
  179. var sj = $("*[name=assess_location]").val('是');
  180. } else {
  181. var sj = $("*[name=assess_location]").val('否');
  182. }
  183. })
  184. }
  185. function submitAssessSucc() {
  186. // 替换原提交方法,处理后再提交 check(0)
  187. // $("#check_btn").removeAttr('onclick');
  188. // 审核还车时间
  189. var car_location = getInputVal('input_parking_location'); // 车场
  190. var assess_car_location = getInputVal('assess_car_location'); // 审核车场
  191. var end_time = getInputVal('input_actual_end_time'); // 实际还车时间
  192. var assess_time = getInputVal('assess_time'); // 审核还车时间
  193. var time1 = new Date(end_time);
  194. var time2 = new Date(assess_time);
  195. // 时间差半小时考核
  196. var date = time2.getTime() - time1.getTime();
  197. var days = date / 1000 / 60 / 60 / 24;
  198. var daysRound = Math.floor(days);
  199. var hours = date/ 1000 / 60 / 60 - (24 * daysRound);
  200. var hoursRound = Math.floor(hours);
  201. var minutes = date / 1000 /60 - (24 * 60 * daysRound) - (60 * hoursRound);
  202. // 超时
  203. if (minutes <= 30) {
  204. $('*[name=assess_timeout]').val('否');
  205. } else {
  206. $('*[name=assess_timeout]').val('是');
  207. }
  208. // 车场审核位置不同则考核
  209. if (car_location == assess_car_location) {
  210. $('*[name=assess_location]').val('否');
  211. } else {
  212. $('*[name=assess_location]').val('是');
  213. }
  214. getUpdateCarStateApi('正常');
  215. }
  216. function getUpdateCarStateApi(carstate) {
  217. // 替换原提交方法,处理后再提交 check(0)
  218. $("#check_btn").removeAttr('onclick');
  219. $("#check_btn").click(function () {
  220. var carname = $("*[name='input_carname']").val();
  221. if (carname == null) {
  222. carname = $("*[name='carname_success']").val();
  223. }
  224. var data = "carname="+carname+"&carstate="+carstate;
  225. js.ajax(geturlact('updateCarState'), data, function (res) {
  226. console.log(res);
  227. res = JSON.parse(res);
  228. if (res.success) {
  229. check(0);
  230. } else {
  231. $('#msgview').text(res.msg);
  232. }
  233. }, 'get');
  234. });
  235. }
  236. }