You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

889 lines
24 KiB

  1. //author:fuhc
  2. //date:20161025
  3. //单一线路的调度
  4. var dispatch_status = '0'; //调度状态
  5. var current_page = 1; //当前页
  6. var page_size = 10; //每页个数
  7. var start_area = ''; //出发地
  8. var end_area = ''; //目的地
  9. var start_date = ''; //开始时间
  10. var end_date = ''; //结束时间
  11. var line = ''; //线路
  12. var bus_type = '0'; //255 256
  13. var line_group = '0'; //线路组合
  14. var sort_id = 0; // 排序 0
  15. var trHTML = ''; //待替换的HTML
  16. var sale_people_count = '0'; //列表中的已售人数
  17. var t_date = ''; //判断车辆-可用或不可用的条件
  18. var t_time = '00:00'; //判断车辆-可用或不可用的条件
  19. var t_bus_type = '0'; //判断车辆-可用或不可用的条件
  20. var run_bus_id = ''; //run_bus中的唯一id
  21. window.onload = function() {
  22. //接受从com_dispatch过来的参数
  23. bus_type = getPar('bus_type')==""?"0":getPar('bus_type');
  24. if(bus_type!='0'){
  25. $('.topline[data-value="0"]').addClass('com_line btn-primary');
  26. $('.topline[data-value="0"]').removeClass('sole_line');
  27. $('.topline[data-value="'+bus_type+'"]').addClass('sole_line');
  28. $('.topline[data-value="'+bus_type+'"]').removeClass('com_line btn-primary');
  29. }else{
  30. $('.topline[data-value="0"]').addClass('sole_line');
  31. $('.topline[data-value="0"]').removeClass('com_line btn-primary');
  32. }
  33. if(""==bus_type.trim()){
  34. bus_type='0';
  35. }
  36. $('#tbody').show();
  37. trHTML = $('#tbody').html();
  38. $('#tbody').html('');
  39. start_date = getDateTime(0);
  40. $('#start_date').val(getDateTime(0));
  41. $('#end_date').val(getDateTime(11));
  42. //第一次加载数据
  43. current_page = 1;
  44. httpData();
  45. //加载公司
  46. loadCompany();
  47. //加载车辆
  48. loadVehicleList();
  49. //加载司机
  50. loadDriverList();
  51. //加载导游
  52. loadGuideList();
  53. }
  54. //头部type切换
  55. function selectBarInfo(obj) {
  56. clearTopLine(); //还原头部type样式
  57. $(obj).addClass('sole_line');
  58. $(obj).removeClass('com_line btn-primary');
  59. var _bus_type = $(obj).attr('data-value');
  60. if(_bus_type=='316'){
  61. window.location.href="com_dispatch.html";
  62. }else{
  63. bus_type = _bus_type;
  64. // 重新加载列表数据
  65. httpData();
  66. }
  67. }
  68. function clearTopLine() {
  69. $('.topline').each(function(index, domEle) {
  70. $(this).addClass('com_line btn-primary');
  71. $(this).removeClass('sole_line');
  72. })
  73. }
  74. //今天
  75. function today() {
  76. $('#start_date').val(getDateTime(0));
  77. $('#end_date').val(getDateTime(0));
  78. start_date = getDateTime(0);
  79. end_date = getDateTime(0);
  80. current_page = 1;
  81. httpData();
  82. }
  83. //明天
  84. function tomorrow() {
  85. $('#start_date').val(getDateTime(11));
  86. $('#end_date').val(getDateTime(11));
  87. start_date = getDateTime(11);
  88. end_date = getDateTime(11);
  89. current_page = 1;
  90. httpData();
  91. }
  92. //未来一周
  93. function futureweek() {
  94. $('#start_date').val(getDateTime(0));
  95. $('#end_date').val(getDateByDay(7, getDateTime(0)));
  96. start_date = getDateTime(0);
  97. end_date = getDateByDay(7, getDateTime(0));
  98. current_page = 1;
  99. httpData();
  100. }
  101. //查询
  102. function searchBtnDidClicked() {
  103. current_page = 1;
  104. httpData();
  105. }
  106. //加载公司
  107. function loadCompany() {
  108. var param = {
  109. tp: "singleDispatch_getCompanyList"
  110. }
  111. ZZLog(base_api + "carDispatchManager/index.php" + JSON.stringify(param));
  112. $.ajax({
  113. type: "post",
  114. url: base_api + "carDispatchManager/index.php",
  115. data: param,
  116. dataType: 'json',
  117. success: function(res_data) {
  118. ZZLog(res_data);
  119. if(res_data['code'] != "0") {
  120. ZZAlertInfo(res_data['info']);
  121. } else {
  122. //公司
  123. var comHTML = '<option value="0">请选择</option>';
  124. var company_list = res_data['company_list'];
  125. for(var i = 0, m = company_list.length; i < m; i++) {
  126. var dict = company_list[i];
  127. var tempHTML = '<option value="' + dict['res_id'] + '">' + dict['res_name'] + '</option>'
  128. comHTML += tempHTML;
  129. }
  130. $('select[name="company"]').html(comHTML);
  131. }
  132. },
  133. error: function(e) {
  134. ZZLog(e);
  135. }
  136. });
  137. }
  138. /**改变车辆-司机-导游*/
  139. //改变车牌号
  140. function changeVehicle(obj) {
  141. loadVehicleList();
  142. }
  143. //改变车辆公司
  144. function changeVehicleCompany(obj) {
  145. loadVehicleList();
  146. }
  147. //改变司机姓名手机
  148. function changeDriver(obj) {
  149. loadDriverList();
  150. }
  151. //改变司机公司
  152. function changeDriverCompany(obj) {
  153. loadDriverList();
  154. }
  155. //改变导游姓名手机
  156. function changeGuide(obj) {
  157. loadGuideList();
  158. }
  159. //改变导游公司
  160. function changeGuideCompany(obj) {
  161. loadGuideList();
  162. }
  163. /***/
  164. //根据调度状态
  165. var $tempstatus = $('.status_a');
  166. function allBtnDidClicked(obj) {
  167. var _typeid = $(obj).attr('dataTypeid');
  168. dispatch_status = _typeid;
  169. if($tempstatus) {
  170. $tempstatus.addClass('status_unselect');
  171. $tempstatus.removeClass('status_select');
  172. }
  173. $(obj).addClass('status_select');
  174. $(obj).removeClass('status_unselect')
  175. $tempstatus = $(obj);
  176. //加载数据---第一次
  177. current_page = 1;
  178. httpData();
  179. }
  180. //排序显示
  181. var $tempsort = $('.status[dataSortid="0"]');
  182. function sort(obj) {
  183. if($tempsort) {
  184. $tempsort.addClass('status_unselect');
  185. $tempsort.removeClass('status_select');
  186. }
  187. $(obj).addClass('status_select')
  188. $(obj).removeClass('status_unselect')
  189. sort_id = $(obj).attr('dataSortid');
  190. $tempsort = $(obj);
  191. current_page = 1;
  192. httpData();
  193. }
  194. //请求车次列表数据
  195. function httpData() {
  196. run_bus_id='';
  197. line = $('#line').val().trim();
  198. start_date = $('#start_date').val().trim();
  199. end_date = $('#end_date').val().trim();
  200. line_group = $('select[name="lineGroup"]').val().trim();
  201. var param = {
  202. tp: "singleDispatch_getRunList",
  203. current_page: current_page,
  204. page_size: page_size,
  205. sort_id: sort_id,
  206. start_area: start_area,
  207. end_area: end_area,
  208. line: line,
  209. start_date: start_date,
  210. end_date: end_date,
  211. bus_type: bus_type,
  212. line_group: line_group,
  213. dispatch_status: dispatch_status
  214. }
  215. ZZLog(base_api + "carDispatchManager/index.php" + JSON.stringify(param));
  216. //请求车次列表数据
  217. $.ajax({
  218. type: "post",
  219. url: base_api + "carDispatchManager/index.php",
  220. data: param,
  221. dataType: "json",
  222. success: function(res_data) {
  223. ZZLog(res_data);
  224. if(res_data['code'] != "0") {
  225. ZZAlertInfo(res_data['info']);
  226. } else {
  227. setTrHTML(res_data);
  228. //处理分页
  229. if(res_data['page']['total_count'] <= 0) {
  230. $('.pageDiv').hide();
  231. } else {
  232. $(".pageDiv").createPage({
  233. pageCount: res_data['page']['total_page'], //总页数
  234. current: current_page, //当前页
  235. turndown: 'true', //是否显示跳转框,显示为true,不现实为false,一定记得加上引号...
  236. backFn: function(p) {
  237. current_page = p;
  238. httpData();
  239. }
  240. });
  241. $('.pageDiv').show();
  242. $("#travel-1").height('auto');
  243. if ($("#travel-1").height() >= 230)
  244. $("#travel-1").height($('#travel-1').height() + 60);
  245. $(".right ul").height($('.left').height() - 101);
  246. }
  247. }
  248. },
  249. error: function(e) {
  250. ZZLog(e);
  251. }
  252. });
  253. }
  254. //设置表格HTML
  255. function setTrHTML(res_data) {
  256. //修改状态个数
  257. if(res_data['status_count']) {
  258. var status_count = res_data['status_count'];
  259. // 调派状态 143:已调度 144:未调度
  260. var s143 = 0,
  261. s144 = 0;
  262. if(status_count['143']) s143 = status_count['143'];
  263. if(status_count['144']) s144 = status_count['144'];
  264. var allNum = parseInt(s143) + parseInt(s144);
  265. if(allNum) $('#circle_all').html(allNum);
  266. $('#circle_no').html(s144);
  267. $('#circle_having').html(s143);
  268. }
  269. //加载线路组合
  270. var cstr1 = '<option value="0">请选择</option>';
  271. if(res_data['bus_group_list']) {
  272. var bus_group_list = res_data['bus_group_list'];
  273. for(var i = 0, m = bus_group_list.length; i < m; i++) {
  274. var dict=bus_group_list[i];
  275. var temp ='<option value="' + dict['group_id'] + '">' + dict['group_name'] + '</option>';
  276. cstr1 += temp;
  277. if(i == m) {
  278. cstr1 += '</select>';
  279. }
  280. }
  281. $('select[name="lineGroup"]').html(cstr1);
  282. $('select[name="lineGroup"]').comboSelect();
  283. }
  284. //加载列表
  285. if(res_data['run_list']) {
  286. var run_list = res_data['run_list'];
  287. var HTML = '';
  288. for(var i = 0, m = run_list.length; i < m; i++) {
  289. var dict = run_list[i];
  290. var tempHTML = trHTML;
  291. tempHTML = tempHTML.replace('[data-param]', setJsonHtml(dict));
  292. tempHTML = tempHTML.replace('[线路]', dict['property'] + ' ' + dict['prod_name']);
  293. tempHTML = tempHTML.replace('[出发日期]', dict['run_date']);
  294. tempHTML = tempHTML.replace('[出发时间]', dict['run_time']);
  295. tempHTML = tempHTML.replace('[车次]', dict['bus_order_id']);
  296. tempHTML = tempHTML.replace('[座位数]', dict['res_name']);
  297. tempHTML = tempHTML.replace('[已售人数]', dict['saled_count']);
  298. var carcstr = '';
  299. if("" == dict['send_bus_res_name'].trim()) {
  300. carcstr = '<input class="td_car_input" />';
  301. } else {
  302. // carcstr = '<span class="tdcar">' + dict['send_bus_res_name'] + '</span>';
  303. carcstr = '<input class="tdcar td_car_input" value="' + dict['send_bus_res_name'] + '" />';
  304. }
  305. tempHTML = tempHTML.replace('[车辆]', carcstr);
  306. var drivercstr = '';
  307. if("" == dict['send_bus_driver_res_name'].trim()) {
  308. drivercstr = '<input class="td_driver_input" />';
  309. } else {
  310. // drivercstr = '<span class="tddriver">' + dict['send_bus_driver_res_name'] + '</span>';
  311. drivercstr = '<input class="tddriver td_driver_input" value="' + dict['send_bus_driver_res_name'] + '" />';
  312. }
  313. tempHTML = tempHTML.replace('[司机]', drivercstr);
  314. var guidecstr = '';
  315. if("" == dict['send_tour_guide_name'].trim()) {
  316. guidecstr = '<input class="td_guide_input" />';
  317. } else {
  318. // guidecstr = '<span class="tdguide">' + dict['send_tour_guide_name'] + '</span>';
  319. guidecstr = '<input class="tdguide td_guide_input" value="' + dict['send_tour_guide_name'] + '" />';
  320. }
  321. tempHTML = tempHTML.replace('[导游]', guidecstr);
  322. HTML += tempHTML;
  323. }
  324. $('#tbody').html(HTML);
  325. }
  326. //给车辆 司机 导游绑定事件
  327. addCarEvent();
  328. addDriveEvent();
  329. addGuideEvent();
  330. }
  331. //车辆事件
  332. function addCarEvent() {
  333. $('.td_car_input').on('input', function() {
  334. ZZLog('carEvent');
  335. //TODO 司机input事件
  336. })
  337. $('.td_car_input').on('focus', function() {
  338. var jsonstr = $(this).closest('tr').attr('data-param');
  339. var datajson = getJsonHtml(jsonstr);
  340. var _saled_count = datajson['saled_count'];
  341. var _run_date = datajson['run_date'];
  342. var _run_time = datajson['run_time'];
  343. var _bus_type = datajson['bus_type'];
  344. var _bus_id = datajson['id'];
  345. //检索车俩时需要已售人数
  346. sale_people_count = _saled_count;
  347. t_date = _run_date;
  348. t_time = _run_time;
  349. t_bus_type = _bus_type;
  350. //派遣时需要的run_bus_id
  351. run_bus_id = _bus_id;
  352. var _obj = $('.right_list_top[dataStr="vehicle"]');
  353. carDriverGuide(_obj); //车辆-司机-导游切换
  354. loadVehicleList(); //加载车辆
  355. })
  356. }
  357. //司机事件
  358. function addDriveEvent() {
  359. $('.td_driver_input').on('input', function() {
  360. ZZLog('driverEvent');
  361. //TODO 司机input事件
  362. })
  363. $('.td_driver_input').on('focus', function() {
  364. ZZLog('driverEvent focus');
  365. var jsonstr = $(this).closest('tr').attr('data-param');
  366. var datajson = getJsonHtml(jsonstr);
  367. var _saled_count = datajson['saled_count'];
  368. var _bus_id = datajson['id'];
  369. var _run_date = datajson['run_date'];
  370. var _run_time = datajson['run_time'];
  371. var _bus_type = datajson['bus_type'];
  372. var _bus_id = datajson['id'];
  373. //检索车俩时需要已售人数
  374. sale_people_count = _saled_count;
  375. t_date = _run_date;
  376. t_time = _run_time;
  377. t_bus_type = _bus_type;
  378. //派遣时需要的run_bus_id
  379. run_bus_id = _bus_id;
  380. var _obj = $('.right_list_top[dataStr="driver"]');
  381. carDriverGuide(_obj); //车辆-司机-导游切换
  382. loadDriverList(); //加载车辆
  383. })
  384. }
  385. //导游事件
  386. function addGuideEvent() {
  387. $('.td_guide_input').on('input', function() {
  388. ZZLog('guideEvent');
  389. //TODO 导游input事件
  390. })
  391. $('.td_guide_input').on('focus', function() {
  392. ZZLog('guideEvent focus');
  393. var jsonstr = $(this).closest('tr').attr('data-param');
  394. var datajson = getJsonHtml(jsonstr);
  395. var _saled_count = datajson['saled_count'];
  396. var _bus_id = datajson['id'];
  397. var _run_date = datajson['run_date'];
  398. var _run_time = datajson['run_time'];
  399. var _bus_type = datajson['bus_type'];
  400. var _bus_id = datajson['id'];
  401. //检索车俩时需要已售人数
  402. sale_people_count = _saled_count;
  403. t_date = _run_date;
  404. t_time = _run_time;
  405. t_bus_type = _bus_type;
  406. //派遣时需要的run_bus_id
  407. run_bus_id = _bus_id;
  408. var _obj = $('.right_list_top[dataStr="guide"]');
  409. carDriverGuide(_obj); //车辆-司机-导游切换
  410. loadGuideList(); //加载车辆
  411. })
  412. }
  413. //车辆-司机-导游切换
  414. function carDriverGuide(obj) {
  415. $('.right_list_top').each(function(index, domEle) {
  416. $(this).addClass('right_com_line btn-primary');
  417. $(this).removeClass('right_sole_line');
  418. var typestr = $(this).attr('dataStr');
  419. $('#' + typestr).hide();
  420. });
  421. $(obj).addClass('right_sole_line');
  422. $(obj).removeClass('right_com_line btn-primary');
  423. $('#' + $(obj).attr('dataStr')).show();
  424. }
  425. //加载车辆
  426. function loadVehicleList() {
  427. var _keyword = $('input[type="text"][name="vehicle"]').val().trim();
  428. var _company = $('#vehicleCompany').val();
  429. // t_date = start_date;
  430. if(!_company) _company = '';
  431. var param = {
  432. tp: 'singleDispatch_getVehicleList',
  433. keyword: _keyword,
  434. company: _company,
  435. salecount: sale_people_count,
  436. run_date:t_date,
  437. run_time:t_time,
  438. bus_type:t_bus_type
  439. }
  440. ZZLog(base_api + "carDispatchManager/index.php" + JSON.stringify(param));
  441. //请求车辆列表
  442. $.ajax({
  443. type: "post",
  444. url: base_api + 'carDispatchManager/index.php',
  445. data: param,
  446. dataType: "json",
  447. success: function(res_data) {
  448. ZZLog(res_data);
  449. if(res_data['code'] != '0') {
  450. ZZAlertInfo(res_data['info']);
  451. } else {
  452. //车辆
  453. //设置车辆的HTML
  454. setVehicleHTML(res_data);
  455. // 给li绑定事件
  456. setLiBindEvent()
  457. }
  458. },
  459. error: function(e) {
  460. ZZLog(e);
  461. }
  462. });
  463. }
  464. //加载司机
  465. function loadDriverList() {
  466. var _keyword = $('input[type="text"][name="driver"]').val().trim();
  467. var _company = $('#driverCompany').val();
  468. // t_date = start_date;
  469. if(!_company) _company = '';
  470. var param = {
  471. tp: 'singleDispatch_getDriverList',
  472. keyword: _keyword,
  473. company: _company,
  474. run_date:t_date,
  475. run_time:t_time,
  476. bus_type:t_bus_type
  477. }
  478. ZZLog(base_api + "carDispatchManager/index.php" + JSON.stringify(param));
  479. //请求车辆列表
  480. $.ajax({
  481. type: "post",
  482. url: base_api + 'carDispatchManager/index.php',
  483. data: param,
  484. dataType: "json",
  485. success: function(res_data) {
  486. ZZLog(res_data);
  487. if(res_data['code'] != '0') {
  488. ZZAlertInfo(res_data['info']);
  489. } else {
  490. //司机
  491. //设置司机的HTML
  492. setDriverHTML(res_data);
  493. // 给li绑定事件
  494. setLiBindEvent()
  495. }
  496. },
  497. error: function(e) {
  498. ZZLog(e);
  499. }
  500. });
  501. }
  502. //加载导游
  503. function loadGuideList() {
  504. var _keyword = $('input[type="text"][name="guide"]').val().trim();
  505. var _company = $('#guideCompany').val();
  506. // t_date = start_date;
  507. if(!_company) _company = '';
  508. var param = {
  509. tp: 'singleDispatch_getGuideList',
  510. keyword: _keyword,
  511. company: _company,
  512. run_date:t_date,
  513. run_time:t_time,
  514. bus_type:t_bus_type
  515. }
  516. ZZLog(base_api + "carDispatchManager/index.php" + JSON.stringify(param));
  517. //请求车辆列表
  518. $.ajax({
  519. type: "post",
  520. url: base_api + 'carDispatchManager/index.php',
  521. data: param,
  522. dataType: "json",
  523. success: function(res_data) {
  524. ZZLog(res_data);
  525. if(res_data['code'] != '0') {
  526. ZZAlertInfo(res_data['info']);
  527. } else {
  528. //导游
  529. //设置导游的HTML
  530. setGuideHTML(res_data);
  531. // 给li绑定事件
  532. setLiBindEvent()
  533. }
  534. },
  535. error: function(e) {
  536. ZZLog(e);
  537. }
  538. });
  539. }
  540. //给li绑定事件
  541. function setLiBindEvent() {
  542. var $temp = null;
  543. $('.statusOK').on('click', function() {
  544. // if($temp == null) {
  545. // $(this).children().eq(4).removeClass('status_div_hide');
  546. // $(this).children().eq(4).addClass('status_div_show');
  547. // } else {
  548. // $temp.children().eq(4).removeClass('status_div_show');
  549. // $temp.children().eq(4).addClass('status_div_hide');
  550. // $(this).children().eq(4).removeClass('status_div_hide');
  551. // $(this).children().eq(4).addClass('status_div_show');
  552. // }
  553. // $temp = $(this);
  554. $(this).parent().find(".status_div_show1").show();
  555. $(this).parent().find(".status_div_hide").hide();
  556. $(this).children().eq(3).hide();
  557. $(this).children().eq(4).show();
  558. })
  559. }
  560. //设置车辆-司机-导游的HTML
  561. //设置车辆的HTML
  562. function setVehicleHTML(res_data) {
  563. var carHTML = '';
  564. var vehicle_list = res_data['vehicle_list'];
  565. for(var i = 0, m = vehicle_list.length; i < m; i++) {
  566. var dict = vehicle_list[i];
  567. var cstr1 = '' ;
  568. var cstr2 = '';
  569. if(dict['bus_status']=='336'){
  570. cstr1 = '<span class="right_status_OK">可用</span>';
  571. cstr2 = 'statusOK';
  572. }else{
  573. cstr1 = '<span class="right_status_NO">被用</span>';
  574. cstr2 = 'statusNO';
  575. }
  576. var tempHTML = '<li class="'+cstr2+'" data-param=' + setJsonHtml(dict) + '>' +
  577. '<span style="line-height:41px;">' + dict['vihicle_number'] + '</span>' +
  578. '<span style="line-height:41px;">| ' + dict['vihicle_seat'] + '</span>' +
  579. '<span style="line-height:41px;">| ' + dict['company_name'] + '</span>' +
  580. '<span class="status_div_show1">' +
  581. cstr1 +
  582. '</span>' +
  583. '<span class="status_div_hide">' +
  584. '<span class="status_two status_two_left" onclick="dispatchVehicle(this)">调用</span>' +
  585. '<span class="status_two status_two_right" onclick="dispatchCancel(this)">取消</span>' +
  586. '</span>' +
  587. '</li>';
  588. carHTML += tempHTML;
  589. }
  590. $('#vehicle_list').html(carHTML);
  591. }
  592. //设置司机的HTML
  593. function setDriverHTML(res_data) {
  594. var driverHTML = '';
  595. var driver_list = res_data['driver_list'];
  596. for(var i = 0, m = driver_list.length; i < m; i++) {
  597. var dict = driver_list[i];
  598. var cstr1 = '' ;
  599. var cstr2 = '';
  600. if(dict['driver_status']=='0'){
  601. cstr1 = '<span class="right_status_OK">可用</span>';
  602. cstr2 = 'statusOK';
  603. }else{
  604. cstr1 = '<span class="right_status_NO">被用</span>';
  605. cstr2 = 'statusNO';
  606. }
  607. var tempHTML = '<li class="'+cstr2+'" data-param=' + setJsonHtml(dict) + '>' +
  608. '<span style="line-height:41px;">' + dict['driver_name'] + '</span>' +
  609. '<span style="line-height:41px;">| ' + dict['driver_phone'] + '</span>' +
  610. '<span style="line-height:41px;">| ' + dict['company_name'] + '</span>' +
  611. '<span class="status_div_show1">' +
  612. cstr1 +
  613. '</span>' +
  614. '<span class="status_div_hide">' +
  615. '<span class="status_two status_two_left" onclick="dispatchDriver(this)">调用</span>' +
  616. '<span class="status_two status_two_right" onclick="dispatchCancel(this)">取消</span>' +
  617. '</span>' +
  618. '</li>';
  619. driverHTML += tempHTML;
  620. }
  621. $('#driver_list').html(driverHTML);
  622. }
  623. //设置导游的HTML
  624. function setGuideHTML(res_data) {
  625. var guideHTML = '';
  626. var guide_list = res_data['guide_list'];
  627. for(var i = 0, m = guide_list.length; i < m; i++) {
  628. var dict = guide_list[i];
  629. var cstr1 = '' ;
  630. var cstr2 = '';
  631. if(dict['guide_status']=='0'){
  632. cstr1 = '<span class="right_status_OK">可用</span>';
  633. cstr2 = 'statusOK';
  634. }else{
  635. cstr1 = '<span class="right_status_NO">被用</span>';
  636. cstr2 = 'statusNO';
  637. }
  638. var tempHTML = '<li class="'+cstr2+'" data-param=' + setJsonHtml(dict) + '>' +
  639. '<span style="line-height:41px;">' + dict['guide_name'] + '</span>' +
  640. '<span style="line-height:41px;">| ' + dict['guide_phone'] + '</span>' +
  641. '<span style="line-height:41px;">| ' + dict['company_name'] + '</span>' +
  642. '<span class="status_div_show1">' +
  643. cstr1 +
  644. '</span>' +
  645. '<span class="status_div_hide">' +
  646. '<span class="status_two status_two_left" onclick="dispatchGuide(this)">调用</span>' +
  647. '<span class="status_two status_two_right" onclick="dispatchCancel(this)">取消</span>' +
  648. '</span>' +
  649. '</li>';
  650. guideHTML += tempHTML;
  651. }
  652. $('#guide_list').html(guideHTML);
  653. }
  654. /*派遣*/
  655. //重置
  656. function resetDispatch(obj) {
  657. var _idstr = '';
  658. var _idarr = [];
  659. $('.ace_check').each(function(index, domEle) {
  660. if(domEle.checked && index != 0) {
  661. var jsonstr = $(this).closest('tr').attr('data-param');
  662. var datajson = getJsonHtml(jsonstr);
  663. if(datajson['id'] != "") {
  664. _idarr.push(datajson['id']);
  665. }
  666. }
  667. })
  668. if(_idarr.length <= 0) {
  669. ZZAlertInfo('请选择');
  670. return;
  671. }
  672. _idstr = _idarr.join(',');
  673. var param = {
  674. tp: 'singleDispatch_resetDispatch',
  675. idstr: _idstr
  676. }
  677. ZZLog(base_api + 'carDispatchManager/index.php' + JSON.stringify(param));
  678. $.ajax({
  679. type: "post",
  680. url: base_api + 'carDispatchManager/index.php',
  681. data: param,
  682. dataType: "json",
  683. success: function(res_data) {
  684. ZZLog(res_data);
  685. if(res_data['code'] != "0") {
  686. ZZAlertInfo(res_data['info'], function() {
  687. $('.ace_check').each(function(index, domEle) {
  688. domEle.checked = false;
  689. })
  690. });
  691. } else {
  692. httpData();
  693. }
  694. },
  695. error: function(e) {
  696. ZZLog(e);
  697. }
  698. });
  699. }
  700. //调用车辆
  701. function dispatchVehicle(obj) {
  702. //解决冒泡
  703. solveBubbing();
  704. var $li = $(obj).closest('li');
  705. var json_str = $li.attr('data-param');
  706. var li_json = getJsonHtml(json_str);
  707. if("" == run_bus_id.trim()) {
  708. ZZAlertInfo('未选择需派遣线路车辆');
  709. return;
  710. }
  711. var _bus_id = run_bus_id;
  712. var _res_id = li_json['res_id'];
  713. var param = {
  714. tp: 'singleDispatch_vehicleDispatch',
  715. bus_id: _bus_id,
  716. res_id: _res_id
  717. }
  718. ZZLog(base_api + 'carDispatchManager/index.php' + JSON.stringify(param));
  719. $.ajax({
  720. type: "post",
  721. url: base_api + 'carDispatchManager/index.php',
  722. data: param,
  723. dataType: 'json',
  724. success: function(res_data) {
  725. ZZLog(res_data);
  726. if(res_data['code'] != '0') {
  727. ZZAlertInfo(res_data['info']);
  728. } else {
  729. run_bus_id = ''; //置空run_bus_id
  730. httpData(); //重新加载数据
  731. loadVehicleList();
  732. }
  733. },
  734. error: function(e) {
  735. ZZLog(e);
  736. }
  737. });
  738. dispatchCancel(obj);
  739. }
  740. //派遣司机
  741. function dispatchDriver(obj) {
  742. //解决冒泡
  743. solveBubbing();
  744. var $li = $(obj).closest('li');
  745. var json_str = $li.attr('data-param');
  746. var li_json = getJsonHtml(json_str);
  747. if("" == run_bus_id.trim()) {
  748. ZZAlertInfo('未选择需派遣线路司机');
  749. return;
  750. }
  751. var _bus_id = run_bus_id;
  752. var _res_id = li_json['res_id'];
  753. var param = {
  754. tp: 'singleDispatch_DriverDispatch',
  755. bus_id: _bus_id,
  756. res_id: _res_id
  757. }
  758. ZZLog(base_api + 'carDispatchManager/index.php' + JSON.stringify(param));
  759. $.ajax({
  760. type: "post",
  761. url: base_api + 'carDispatchManager/index.php',
  762. data: param,
  763. dataType: 'json',
  764. success: function(res_data) {
  765. ZZLog(res_data);
  766. if(res_data['code'] != '0') {
  767. ZZAlertInfo(res_data['info']);
  768. } else {
  769. run_bus_id = ''; //置空run_bus_id
  770. httpData(); //重新加载数据
  771. loadDriverList();
  772. }
  773. },
  774. error: function(e) {
  775. ZZLog(e);
  776. }
  777. });
  778. dispatchCancel(obj);
  779. }
  780. //派遣导游
  781. function dispatchGuide(obj) {
  782. //解决冒泡
  783. solveBubbing();
  784. var $li = $(obj).closest('li');
  785. var json_str = $li.attr('data-param');
  786. var li_json = getJsonHtml(json_str);
  787. if("" == run_bus_id.trim()) {
  788. ZZAlertInfo('未选择需派遣线路导游');
  789. return;
  790. }
  791. var _bus_id = run_bus_id;
  792. var _res_id = li_json['res_id'];
  793. var param = {
  794. tp: 'singleDispatch_GuideDispatch',
  795. bus_id: _bus_id,
  796. res_id: _res_id
  797. }
  798. ZZLog(base_api + 'carDispatchManager/index.php' + JSON.stringify(param));
  799. $.ajax({
  800. type: "post",
  801. url: base_api + 'carDispatchManager/index.php',
  802. data: param,
  803. dataType: 'json',
  804. success: function(res_data) {
  805. ZZLog(res_data);
  806. if(res_data['code'] != '0') {
  807. ZZAlertInfo(res_data['info']);
  808. } else {
  809. run_bus_id = ''; //置空run_bus_id
  810. httpData(); //重新加载数据
  811. loadGuideList();
  812. }
  813. },
  814. error: function(e) {
  815. ZZLog(e);
  816. }
  817. });
  818. dispatchCancel(obj);
  819. }
  820. //取消
  821. function dispatchCancel(obj) {
  822. //解决冒泡
  823. solveBubbing();
  824. // var $span = $(obj).closest('li').children().eq(4);
  825. // $span.addClass('status_div_hide');
  826. // $span.removeClass('status_div_show');
  827. $(obj).parent().prev().show();
  828. $(obj).parent().hide();
  829. }
  830. //复选框判断
  831. function selectChecked(index) {
  832. //index=0最上面的全选 index=1表示的是下面所有的
  833. var cur_check = $('.ace_check')[0];
  834. var checkList = $('.ace_check');
  835. var checkCount = checkList.length - 1;
  836. var true_count = 0;
  837. for(var i = 1; i < checkList.length; i++) {
  838. if(index == '0') {
  839. checkList[i].checked = cur_check.checked;
  840. } else {
  841. if(checkList[i].checked == false) {
  842. cur_check.checked = false
  843. } else {
  844. true_count = true_count + 1;
  845. }
  846. }
  847. }
  848. //判断下面是否选中完
  849. if(checkCount == true_count) {
  850. cur_check.checked = true;
  851. }
  852. }