rjz_car_apply.js 8.5 KB

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