rjz_car_apply.js 7.8 KB

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