rjz_car_apply.js 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. var time = getNowDatetime();
  2. setTimeout(function() {
  3. var step_text_original = $("#input_step").val();
  4. if (step_text_original == null) return;
  5. $(".car_con_col").hide();
  6. var step = getStep();
  7. // 获取车辆类型
  8. var carType = getInputVal('car_type');
  9. console.log(step);
  10. console.log(carType);
  11. if (step === 'leader_review') {
  12. $(".car_con_col").show();
  13. } else if (step === 'dispatch_assess') {
  14. setCarFreeCon(carType);
  15. } else if (step === 'fleet_select_car') {
  16. // 显示数量
  17. setCarFreeCon(carType);
  18. // 选择车辆
  19. setSelectCar();
  20. } else if(step === 'load_car_succ') {
  21. // 设置装车结束时间
  22. $("*[name='load_end_time']").attr('value', time);
  23. $("*[name='load_end_time']").removeAttr('onclick');
  24. } else if (step == 'fleet_assess_load_car_succ') {
  25. load_end_use();
  26. } else if (step == 'load_end_use') {
  27. $("*[name='actual_end_time']").attr('value', time);
  28. $("*[name='actual_end_time']").removeAttr('onclick');
  29. } else if (step === 'fleet_assess_load_end_use') {
  30. setAssessSuccStep();
  31. submitAssessSucc();
  32. }
  33. },100);
  34. function getNowDatetime() {
  35. var date = new Date();
  36. var year = date.getFullYear(); // 返回的是年份
  37. var month = date.getMonth() + 1; // 返回的月份上个月的月份,记得+1才是当月
  38. var dates = date.getDate();
  39. var h = date.getHours();
  40. var m = date.getMinutes();
  41. var s = date.getSeconds();
  42. if(month<10)month="0"+month;
  43. if(date<10)date="0"+date;
  44. var time=year + "-" + month + "-" + dates + ' ' + h + ':' + m + ':' + s;
  45. return time;
  46. }
  47. function getStep() {
  48. var step_text_original = $("#input_step").val();
  49. var step_text = step_text_original.split('(')[0];
  50. var carnameStep = $("#btn_carname").length; // 选择车辆步骤
  51. var loadCarSuccStep = $("*[name='load_end_time']").length; // 装车完成1
  52. var endUseStep = $("*[name='end_time']").length; // 使用结束时间
  53. var parkingLocationStep = $("*[name='parking_location']").length; // 停车场
  54. var assesLocationStep = $("*[name=assess_car_location]").length; // 审核车场
  55. // var assesTimeStep = $("*[name=assess_time]").length; // 审核时间
  56. if (step_text == '领导审核') {
  57. return 'leader_review';
  58. } else if (step_text == '调度室审批') {
  59. return 'dispatch_assess';
  60. } else if (step_text == '运输队审批' && carnameStep == 1) {
  61. return 'fleet_select_car';
  62. } else if (step_text == '装车完成' && loadCarSuccStep == 1) {
  63. return 'load_car_succ';
  64. } else if (step_text == '运输队审核' && endUseStep == 1) {
  65. return 'fleet_assess_load_car_succ';
  66. } else if (step_text == '使用完毕' && parkingLocationStep == 1) {
  67. return 'load_end_use';
  68. } else if (step_text == '运输队审核' && assesLocationStep == 1) {
  69. return 'fleet_assess_load_end_use';
  70. }
  71. }
  72. function getInputVal(inputNameStr) {
  73. carType = $("*[name="+inputNameStr+"]").val();
  74. return carType;
  75. }
  76. function setInputVal(inputNameStr, inputValStr) {
  77. $("input[name='"+inputNameStr+"']").val(inputValStr);
  78. }
  79. function setCarFreeCon(carType) {
  80. $(".car_con_col").show();
  81. var carTypeJson = "car_type="+carType;
  82. // 显示申请车辆类型剩余数量
  83. js.ajax(geturlact('getFreeCarCon'), carTypeJson, function (res) {
  84. if(res.success) {
  85. $('*[name=surplus]').val(res.data.car_free_con);
  86. $('*[name=car_con]').val(res.data.car_con);
  87. }
  88. }, 'get, json');
  89. }
  90. function setSelectCar() {
  91. // 替换原来onclick方法,增加参数
  92. $("#btn_carname").removeAttr('onclick');
  93. $("#btn_carname").click(function (){
  94. c.selectdata('carNum',false,'carname','申请车辆',1, carType);
  95. });
  96. // 选择车辆
  97. var carnameStep = $("#btn_carname").length; // 选择车辆步骤
  98. // 判断是否选择车辆步骤,不是选择车辆步骤,则用默认方式提交
  99. if (carnameStep > 0) {
  100. var isAgree;
  101. // 判断是否同意
  102. $("*[name='check_status']").click(function(){
  103. var agree = $(this).attr('value');
  104. if (agree == 1) {
  105. getUpdateCarStateApi('装车');
  106. } else {
  107. check(0);
  108. }
  109. c.changecheck_status(this);
  110. });
  111. }
  112. }
  113. function setAssessSuccStep() {
  114. // 设置默认值(出现控件时再设置)
  115. var input_parking_location = $("*[name=input_parking_location]").val();
  116. $("*[name=assess_car_location]").val(input_parking_location);
  117. $("*[name=assess_time]").attr('id','assess_time');
  118. var assess_time = $("*[name=assess_time]").length;
  119. var input_actual_end_time = $("*[name=input_actual_end_time]").val();
  120. if (assess_time && input_actual_end_time != null) {
  121. $("*[name=assess_time]").val(input_actual_end_time);
  122. }
  123. $("*[name=assess_location]").val('否');
  124. $("*[name=assess_car_location]").attr('id','assess_car_location');
  125. $('#assess_car_location').change(function () {
  126. var sj = $("*[name=input_parking_location]").val();
  127. var sh = $(this).val();
  128. if (sj != sh) {
  129. var sj = $("*[name=assess_location]").val('是');
  130. } else {
  131. var sj = $("*[name=assess_location]").val('否');
  132. }
  133. })
  134. }
  135. // 装车完成
  136. function load_end_use() {
  137. // 判断是否同意
  138. // 同意需要先处理数据,再提交;不同意则用原始方法提交。
  139. $("*[name='check_status']").click(function(){
  140. var agree = $(this).attr('value');
  141. if (agree == 1) {
  142. getUpdateCarStateApi('使用中');
  143. } else {
  144. check(0);
  145. }
  146. });
  147. }
  148. function submitAssessSucc() {
  149. // 替换原提交方法,处理后再提交 check(0)
  150. // $("#check_btn").removeAttr('onclick');
  151. // 审核还车时间
  152. var car_location = getInputVal('input_parking_location'); // 车场
  153. var assess_car_location = getInputVal('assess_car_location'); // 审核车场
  154. var end_time = getInputVal('input_actual_end_time'); // 实际还车时间
  155. var assess_time = getInputVal('assess_time'); // 审核还车时间
  156. var time1 = new Date(end_time);
  157. var time2 = new Date(assess_time);
  158. // 时间差半小时考核
  159. var date = time2.getTime() - time1.getTime();
  160. var days = date / 1000 / 60 / 60 / 24;
  161. var daysRound = Math.floor(days);
  162. var hours = date/ 1000 / 60 / 60 - (24 * daysRound);
  163. var hoursRound = Math.floor(hours);
  164. var minutes = date / 1000 /60 - (24 * 60 * daysRound) - (60 * hoursRound);
  165. // 超时
  166. if (minutes <= 30) {
  167. $('*[name=assess_timeout]').val('否');
  168. } else {
  169. $('*[name=assess_timeout]').val('是');
  170. }
  171. // 车场审核位置不同则考核
  172. if (car_location == assess_car_location) {
  173. $('*[name=assess_location]').val('否');
  174. } else {
  175. $('*[name=assess_location]').val('是');
  176. }
  177. getUpdateCarStateApi('正常');
  178. // $("#check_btn").click(function () {
  179. //
  180. // var carname = $("*[name='carname_success']").val();
  181. // var data = "carname="+carname+"&carstate=正常";
  182. // js.ajax(geturlact('updateCarState'), data, function (res) {
  183. // res = JSON.parse(res);
  184. // if (res.success) {
  185. // check(0);
  186. // } else {
  187. // $('#msgview').text(res.msg);
  188. // }
  189. // }, 'get');
  190. // });
  191. }
  192. function getUpdateCarStateApi(carstate) {
  193. // 替换原提交方法,处理后再提交 check(0)
  194. $("#check_btn").removeAttr('onclick');
  195. $("#check_btn").click(function () {
  196. var carname = $("*[name='carname']").val();
  197. if (carname == null) {
  198. carname = $("*[name='carname_success']").val();
  199. }
  200. var data = "carname="+carname+"&carstate="+carstate;
  201. js.ajax(geturlact('updateCarState'), data, function (res) {
  202. res = JSON.parse(res);
  203. if (res.success) {
  204. check(0);
  205. } else {
  206. $('#msgview').text(res.msg);
  207. }
  208. }, 'get');
  209. });
  210. }