Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 
 
 

240 linhas
10 KiB

  1. /**
  2. * Created by Steven on 2017/1/3.
  3. */
  4. // var depart_single = []; //单结的用车单位id列表
  5. $(window).load(function () {
  6. $('.select_screen').comboSelect();
  7. $(".form_date").datetimepicker({
  8. format: 'yyyy-mm-dd',
  9. autoclose: true,
  10. minView: 2,
  11. pickerPosition: "bottom-left"
  12. });
  13. setCookie('url', window.location.pathname, 10);
  14. //批量CheckBox的点击事件
  15. $("#checkbox_muti").change(function () {
  16. var is_check = $("#checkbox_muti").is(':checked');
  17. if (is_check) { //批量
  18. $("#date_picker1").show();
  19. } else {
  20. $("#date_picker1").hide();
  21. }
  22. });
  23. $("#stroke_select").change(function () {
  24. day_number();
  25. })
  26. $("#price_type").change(function () {
  27. var price_type = $("#price_type").val();
  28. if (price_type == 477) {
  29. $("#price_type_text").html('元/次');
  30. } else {
  31. $("#price_type_text").html('元/座');
  32. }
  33. });
  34. single();
  35. $("#busorder-use_bus_org_id").change(function () {
  36. single();
  37. })
  38. });
  39. function single() {
  40. if($.inArray(parseInt($("#busorder-use_bus_org_id").val()), depart_single) >= 0){
  41. // var name = 'BusOrder[single_contact]';
  42. // var input = '<input id="single_contact" class="form-control" style="width: 100px; margin-left: 10px" type="text" name="'+ name + '" placeholder="单结收款人" style="margin-left: 10px;"/>';
  43. // $("#single").append(input);
  44. $("#single").removeClass('hidden')
  45. }else{
  46. $("#single").addClass('hidden');
  47. // $("#single_contact").remove()
  48. }
  49. }
  50. //验证输入
  51. function check() {
  52. var num = $("#stroke_tbody tr").length;
  53. for (var i = 0; i < num; i++) {
  54. numberStr = $("#stroke_tbody tr").eq(i).find("td:first input:visible").val();
  55. if (numberStr == "") {
  56. Command: parent.toastr["warning"]("行程站点不能为空");
  57. $("#stroke_tbody tr").eq(i).find("td:first input:visible").css('border-color', '#a94442');
  58. //$("#stroke_tbody tr:not([name^='warning'])").eq(i).parent().append("<tr name='warning'><td colspan='4' style='text-align: left;color:#a94442;'>行程站点不能为空</td></tr>");
  59. return false;
  60. }
  61. }
  62. }
  63. //根据天数安排行程
  64. function day_number() {
  65. var dayno = $("#stroke_select").val();
  66. var travel_html = "";
  67. for (var i = 0; i < dayno; i++) {
  68. j = i + 1;
  69. var option = '';
  70. for (var k = 1; k <= dayno; k++) {
  71. option += option = '<option value="' + k + '">第' + k + '天</option>';
  72. }
  73. travel_html += '<tr class="stroke_tr"><td>' + '<input type="hidden" name="tr_no" value="' + j + '">' + '<input name = "BusItinerary[' + j + '][station_name]" type = "text" class= "form-control" style="width: 300px;" placeholder="输入站点 / 区域名称"></td>' +
  74. '<td><select aria-controls="sample_2" class="form-control" name="BusItinerary[' + j + '][inout_type]">' +
  75. '<option value="108">上</option><option value="109">上下</option><option value="110">下</option> </select></td>' +
  76. '<td style="display: flex;justify-content: center;"><select aria-controls="sample_2" class="form-control" name="BusItinerary[' + j + '][day_seq_id]">' +
  77. option +
  78. '</select> <div id="time_id' + j + '" style="margin-left: 10px;" class="timepicker_box"><span class="form-inline timepicker"> <input type="text" class="form-control" value="00:00" name="BusItinerary[' + j + '][start_time]" readonly>' +
  79. '<span class="glyphicon glyphicon-time"></span></span><div class="timepicker_select" style="z-index: 10"><div class="select_hour_box"></div><div class="select_minute_box"></div></div>' +
  80. '</div></td>' +
  81. '<td style="vertical-align: middle !important;"><button type="button" onclick="delete_travel_number(this) "class="btn btn-danger">删除 </button></td></tr>'
  82. }
  83. $("#stroke_tbody").html(travel_html);
  84. getJS('http://img.zhizhuchuxing.cn/zzframe/dists/js/module.js');
  85. }
  86. //删除当前行程
  87. function delete_travel_number(index) {
  88. var tr_num = $("#stroke_tbody tr").length; //行程的条数
  89. if (tr_num <= 1) {
  90. Command: parent.toastr["warning"]('必须保证添加一个站点信息!!!');
  91. return false;
  92. }
  93. $(index).closest('.stroke_tr').remove();
  94. }
  95. //增加每天的行程条数
  96. function add_travel_number(index) {
  97. var a = $("#stroke_tbody tr").length; //行程的条数
  98. var dayno = $("#stroke_select").val();
  99. var option = '';
  100. for (var k = 1; k <= dayno; k++) {
  101. option += option = '<option value="' + k + '">第' + k + '天</option>';
  102. }
  103. var tr_no = $("input[name='tr_no']:last").length > 0 ? (parseInt($("input[name='tr_no']:last").val()) + 1) : 0;
  104. var travel_html = '<tr class="stroke_tr"><td>' + '<input type="hidden" name="tr_no" value="' + tr_no + '">' + '<div class="form-group"><div class="form-inline"><input name = "BusItinerary['
  105. + tr_no + '][station_name]" type = "text" class= "form-control" style="width: 300px;" placeholder="输入站点 / 区域名称"></div></div></td>'
  106. + '<td><div class="form-group"><div class="form-inline"><select aria-controls="sample_2" class="form-control" name="BusItinerary[' + tr_no + '][inout_type]">' +
  107. '<option value="108">上</option><option value="109">上下</option><option value="110">下</option> </select></div></div></td>' +
  108. '<td style="display: flex;justify-content: center;"><div class="form-group"><div class="form-inline"><select aria-controls="sample_2" class="form-control" name="BusItinerary[' + tr_no + '][day_seq_id]">' +
  109. option +
  110. '</select> <div id="time_id' + tr_no + '" style="margin-left: 10px;" class="timepicker_box"><span class="form-inline timepicker"> <input type="text" class="form-control" value="00:00" name="BusItinerary[' + tr_no + '][start_time]" readonly>' +
  111. '<span class="glyphicon glyphicon-time"></span></span><div class="timepicker_select" style="z-index: 10"><div class="select_hour_box"></div><div class="select_minute_box"></div></div>' +
  112. '</div></div></div></td>' +
  113. '<td style="vertical-align: middle !important;"><button type="button" onclick="delete_travel_number(this) " class="btn btn-danger">删除 </button></td></tr>';
  114. $("#stroke_tbody").append(travel_html);
  115. getJS('http://img.zhizhuchuxing.cn/zzframe/dists/js/module.js');
  116. }
  117. /**
  118. * User:Steven
  119. *
  120. * 添加用车单位
  121. */
  122. function add_department() {
  123. var depart_name = $("input[name='depart_name']").val();
  124. var depart_type = $("input[name='depart_type']:checked").val();
  125. var settle_type = $("input[name='settle_type']:checked").val();
  126. var settle_cycle = $("input[name='settle_cycle']:checked").val();
  127. $.ajax({
  128. type: 'POST',
  129. url: '/motorcade/bus/add-bus-depart',
  130. dataType: 'json',
  131. data: {
  132. 'BusDepartment[depart_name]': depart_name,
  133. 'BusDepartment[depart_type]': depart_type,
  134. 'BusDepartment[settle_type]': settle_type,
  135. 'BusDepartment[settle_cycle]': settle_cycle
  136. },
  137. success: function (data) {
  138. if (data.code == 0) {
  139. //更新列表中的数据
  140. $(".close").click();
  141. $.pjax.reload({container: "#bus_department", timeout: 2000});
  142. Command: parent.toastr["success"]("用车单位添加成功");
  143. jQuery('#bus_department').on('pjax:success', function () {
  144. $('.js-example-placeholder-single').select2({
  145. placeholder: "输入关键字进行检索",
  146. language: {
  147. noResults: function (params) {
  148. var result = $('<span>没有匹配的用车单位 </span><a id="add" data-toggle="modal" href="#responsive" onclick="addDepartment()"><i class="fa fa-plus"></i> 添加用车单位 </a>');
  149. return result;
  150. }
  151. }
  152. });
  153. });
  154. } else {
  155. //$(".close").click();
  156. if (Array.isArray(data.data)) {
  157. $.each(data.data, function (key, item) {
  158. var firstKey = Object.keys(item)[0];
  159. Command: parent.toastr["warning"](item[firstKey]);
  160. })
  161. } else {
  162. var firstKey = Object.keys(data.data)[0];
  163. Command: parent.toastr["warning"](data.data[firstKey]);
  164. }
  165. }
  166. },
  167. error: function (data) {
  168. }
  169. });
  170. }
  171. //设置cookie
  172. function setCookie(name, value, expireHours) {
  173. document.cookie = name + "=" + escape(value) + ((expireHours == null) ? "" : "; expires=" + (expireHours * 60 * 1000));
  174. }
  175. //获取cookie
  176. function getCookie(name) {
  177. var strCookie = document.cookie;
  178. var arrCookie = strCookie.split(";");
  179. for (var i = 0; i < arrCookie.length; i++) {
  180. var arr = arrCookie[i].split("=");
  181. if (arr[0] == name) return arr[1];
  182. }
  183. return null;
  184. }
  185. function getUrlArgStr() {
  186. var q = location.search.substr(1);
  187. var qs = q.split('&');
  188. var argStr = '';
  189. if (qs) {
  190. for (var i = 0; i < qs.length; i++) {
  191. argStr += qs[i].substring(0, qs[i].indexOf('=')) + '=' + qs[i].substring(qs[i].indexOf('=') + 1) + '&';
  192. }
  193. }
  194. return argStr;
  195. }
  196. function getJS(url) {
  197. return new Promise(function (resolve, reject) {
  198. var script = document.createElement('script');
  199. script.type = "text/javascript";
  200. if (script.readyState) { //IE
  201. script.onreadystatechange = function () {
  202. if (script.readyState == "loaded" ||
  203. script.readyState == "complete") {
  204. script.onreadystatechange = null;
  205. resolve('success: ' + url);
  206. }
  207. };
  208. } else { //Others
  209. script.onload = function () {
  210. resolve('success: ' + url);
  211. };
  212. }
  213. script.onerror = function () {
  214. reject(Error(url + 'load error!'));
  215. };
  216. script.src = url + '?' + 'time=' + Date.parse(new Date());
  217. document.body.appendChild(script);
  218. });
  219. }
  220. function pjaxFinish(type,msg) {
  221. z.showTip(type, msg);
  222. search(-2);
  223. z.hideModal('#float-div');
  224. closeLoading();
  225. }