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.
 
 
 
 

683 lines
22 KiB

  1. var httpData;
  2. var pagesize = 10;
  3. var tttHTML = '';
  4. var index = "0";
  5. var will = '';
  6. var over = '';
  7. var cancel = '';
  8. var pay = '';
  9. window.onload = function () {
  10. tttHTML = document.getElementById("tableOrder").innerHTML;
  11. var cur = "";
  12. var currpage = getPar('currpage');
  13. var timelimit = '';
  14. var starttime = '';
  15. var endtime = '';
  16. var ordersource = '';
  17. var moresearch = '';
  18. var typelimit = '';
  19. var ordersource_text = '';
  20. if (!currpage) {
  21. cur = 1;
  22. $('#starttime').val(getDateTime(12));
  23. $('#endtime').val(getDateTime(0));
  24. } else {
  25. cur = currpage;
  26. timelimit = getPar('timelimit');
  27. $('#timelimit').val(timelimit);
  28. starttime = getPar('starttime');
  29. $('#starttime').val(starttime);
  30. endtime = getPar('endtime');
  31. $('#endtime').val(endtime);
  32. ordersource = getPar('ordersource');
  33. $('#ordersource').attr('changeid', ordersource);
  34. ordersource_text = getPar('ordersource_text');
  35. $('#ordersource').val(ordersource_text);
  36. moresearch = getPar('moresearch');
  37. $('#moresearch').val(moresearch);
  38. typelimit = getPar('typelimit');
  39. $('#typelimit').val(typelimit);
  40. }
  41. searchBtnClicked(index, cur, timelimit, starttime, endtime, ordersource, moresearch, typelimit, ordersource_text);
  42. }
  43. function ordersourceSearch(value, self_id) {
  44. var ordersource = $("#ordersource").val();
  45. $.ajax({
  46. url: './st-xm/control.php',
  47. type: "post",
  48. data: {
  49. ordersource: ordersource,
  50. type: "des_ordersource"
  51. },
  52. dataType: "json",
  53. success: function (data) {
  54. if (data.code == 0) {
  55. console.log(data);
  56. createHtml(data.list, self_id)
  57. }
  58. },
  59. fail: function (data) {
  60. // 此处放失败后执行的代码
  61. }
  62. });
  63. }
  64. $(document).ready(function () {
  65. $("#ordersource").click(function (e) {
  66. e.stopPropagation();
  67. $("#select_ordersource").removeClass("hide1");
  68. });
  69. })
  70. $(document).click(function () {
  71. if (!$(".select_ordersource").hasClass("hide1")) {
  72. $(".select_ordersource").addClass("hide1");
  73. }
  74. })
  75. //筛选列表
  76. function createHtml(data, select_id) {
  77. var temp = '<div class="content" id="suoypuqudao" onmouseover="getDark(this.id)" onmouseout="getLight(this.id)" org_id="-1">所有渠道</div>';
  78. for (var i = 0; i < data.length; i++) {
  79. temp += '<div class="content" id="' + select_id + '' + data[i].org_id + '" onmouseover="getDark(this.id)" onmouseout="getLight(this.id)" org_id="' + data[i].org_id + '">' + data[i].org_name + '</div>'
  80. }
  81. $(".select_ordersource").html(temp);
  82. $(".content").click(function () {
  83. var line = $(this).text();
  84. var value = $(this).attr('org_id');
  85. $("#" + select_id).val(line);
  86. $("#" + select_id).attr('changeid', value);
  87. })
  88. }
  89. function getDark(value) {
  90. $('#' + value).addClass("get_dark");
  91. }
  92. function getLight(value) {
  93. $('#' + value).removeClass("get_dark");
  94. }
  95. function searchBtnClicked2(index, cur, timelimit, starttime, endtime, ordersource, moresearch, typelimit, ordersource_text) {
  96. if (!timelimit || !starttime || !endtime || !ordersource || !moresearch || !typelimit) {
  97. timelimit = $('#timelimit').val();
  98. starttime = $('#starttime').val();
  99. endtime = $('#endtime').val();
  100. ordersource = $('#ordersource').attr('changeid');
  101. ordersource_text = $('#ordersource').val();
  102. if (!ordersource) {
  103. ordersource = -1;
  104. }
  105. moresearch = $('#moresearch').val();
  106. if (!moresearch) {
  107. moresearch = "";
  108. }
  109. typelimit = $('#typelimit').val();
  110. }
  111. var url =
  112. "./st-xm/Model/des/export.php?tt=" + getDateTime(4) +
  113. "&timelimit=" + timelimit +
  114. "&starttime=" + starttime +
  115. "&endtime=" + endtime +
  116. "&ordersource=" + ordersource +
  117. "&moresearch=" + moresearch +
  118. "&typelimit=" + typelimit +
  119. "&orderstatus=" + index;
  120. var listURL = url;
  121. // 跳转前将URL编码
  122. listURL = encodeURI(listURL);
  123. window.location.href = listURL;
  124. }
  125. //查询按钮
  126. function searchBtnClicked(index, cur, timelimit, starttime, endtime, ordersource, moresearch, typelimit, ordersource_text) {
  127. $("#minus").children('div').children().removeClass("addbackground");
  128. $("#add" + index).addClass("addbackground");
  129. if (!cur) {
  130. cur = 1;
  131. }
  132. if (!timelimit || !starttime || !endtime || !ordersource || !moresearch || !typelimit) {
  133. timelimit = $('#timelimit').val();
  134. starttime = $('#starttime').val();
  135. endtime = $('#endtime').val();
  136. ordersource = $('#ordersource').attr('changeid');
  137. ordersource_text = $('#ordersource').val();
  138. if (!ordersource) {
  139. ordersource = -1;
  140. }
  141. moresearch = $('#moresearch').val();
  142. if (!moresearch) {
  143. moresearch = "";
  144. }
  145. typelimit = $('#typelimit').val();
  146. }
  147. $.ajax({
  148. url: './st-xm/control.php', //请求地址
  149. type: "post", //请求方式
  150. //data: data, //请求参数
  151. data: {
  152. type: "des_orderlist",
  153. timelimit: timelimit,
  154. starttime: starttime,
  155. endtime: endtime,
  156. ordersource: ordersource,
  157. moresearch: moresearch,
  158. typelimit: typelimit,
  159. currpage: cur,
  160. pagesize: pagesize,
  161. orderstatus: index
  162. },
  163. async: false,
  164. dataType: "json",
  165. success: function (data) {
  166. console.log(data);
  167. if (data.code == 0) {
  168. var count_list = data['count_list'];
  169. var st_145 = count_list['will'];
  170. var st_146 = count_list['pay'];
  171. var st_147 = count_list['over'];
  172. var st_148 = count_list['cancel'];
  173. var orderAll = parseInt(st_145) + parseInt(st_146) + parseInt(st_147) + parseInt(st_148);
  174. $('#orderAll').text(orderAll);
  175. $('#will').text(st_145);
  176. $('#pay').text(st_146);
  177. $('#over').text(st_147);
  178. $('#cancel').text(st_148);
  179. var sum = data.totalTickets;
  180. var tag = "page";
  181. var sendurl = './des_order_list.html?timelimit=' + timelimit + '&starttime=' + starttime + '&endtime=' + endtime + '&ordersource=' + ordersource + '&moresearch=' + moresearch + '&typelimit=' + typelimit + '&ordersource_text=' + ordersource_text;
  182. getPager(sendurl, sum, cur, pagesize, tag, 'currpage');
  183. $('#sum').html('共' + data.list_count + '条记录');
  184. if (data.orderList.length > 0) {
  185. var temp = '';
  186. $("#tableOrder").html('');
  187. for (var i = 0; i < data.orderList.length; i++) {
  188. var ifzhouzhuang = data.orderList[i].ifzhouzhuang;
  189. var str = "";
  190. if (ifzhouzhuang == 0) {
  191. str = '-';
  192. } else if (ifzhouzhuang == 1) {
  193. str = '<a onclick = "refundTicket(' + data.orderList[i].order_id + ',\''+data.orderList[i].product_info+'\')">退票</a>';
  194. }
  195. temp += '<tr class="list_info" id="list_info' + i + '">'
  196. + '<td class="list_middle">' + data.orderList[i].order_id + '</td>'
  197. + '<td class="list_middle">' + data.orderList[i].create_time + '</td>'
  198. + '<td class="list_middle">' + data.orderList[i].org_name + '<br />' +data.orderList[i].outside_order_no + '</td>'
  199. // + '<td class="list_middle">'+data.orderList[i].outside_order_no+'</td>'
  200. + '<td class="list_middle">' + data.orderList[i].product_info + '</td>'
  201. + '<td class="list_middle">' + data.orderList[i].order_pay + '</td>'
  202. + '<td class="list_middle">' + data.orderList[i].run_time + '</td>'
  203. + '<td class="list_middle">' + data.orderList[i].customer_info + '</td>'
  204. + '<td class="list_middle">' + data.orderList[i].order_status + '</td>'
  205. + '<td class="list_middle">' + data.orderList[i].order_pay_type + '</td>'
  206. + '<td class="list_middle" onclick="change_customer_memo( ' + data.orderList[i].order_id + ',\'' + data.orderList[i].customer_memo +'\' )">' + data.orderList[i].customer_memo + '</td>'
  207. + '<td class="list_middle" id="caozuo' + data.orderList[i].order_id + '">' + str + '</td>'
  208. + '</tr>'
  209. }
  210. } else {
  211. $("#tableOrder").html('');
  212. }
  213. $("#tableOrder").html(temp);
  214. } else {
  215. $("#tableOrder").html('');
  216. $('#sum').html('共' + data.list_count + '条记录');
  217. var sum = 0;
  218. var tag = "page";
  219. var sendurl = './des_order_list.html?timelimit=' + timelimit + '&starttime=' + starttime + '&endtime=' + endtime + '&ordersource=' + ordersource + '&moresearch=' + moresearch + '&typelimit=' + typelimit + '&ordersource_text=' + ordersource_text;
  220. getPager(sendurl, sum, cur, pagesize, tag, 'currpage');
  221. }
  222. },
  223. error: function (data) {
  224. }
  225. });
  226. if (cur != 1) {
  227. var cur = cur;
  228. timelimit = getPar('timelimit');
  229. $('#timelimit').val(timelimit);
  230. var starttime = getPar('starttime');
  231. $('#starttime').val(starttime);
  232. var endtime = getPar('endtime');
  233. $('#endtime').val(endtime);
  234. var ordersource = getPar('ordersource');
  235. $('#ordersource').attr('changeid', ordersource);
  236. var ordersource_text = getPar('ordersource_text');
  237. $('#ordersource').val(ordersource_text);
  238. var moresearch = getPar('moresearch');
  239. $('#moresearch').val(moresearch);
  240. var typelimit = getPar('typelimit');
  241. $('#typelimit').val(typelimit);
  242. }
  243. }
  244. function refundTicket(order_id,ifzhouzhuang) {
  245. var result = confirm("是否决定退票?");
  246. if (result == true) {
  247. //判断是否是周庄门票
  248. if(ifzhouzhuang.indexOf("周庄门票")!= -1) {
  249. $.ajax({
  250. url: './zz-fx/Model/cancelzhoutickets.php', //请求地址
  251. type: "post", //请求方式
  252. data: {
  253. order_id: order_id,
  254. method: 1
  255. },
  256. async: true,
  257. dataType: "json",
  258. success: function (data) {
  259. console.log(data);
  260. if (data.code == 0) {
  261. alert('退票成功!');
  262. $('#caozuo' + order_id).html('-');
  263. } else {
  264. alert(data.info);
  265. }
  266. }
  267. });
  268. }else{
  269. $.ajax({
  270. url:'./zz-fx/Model/cancelnormaltickets.php',//请求地址
  271. type: "post", //请求方式
  272. data: {
  273. order_id: order_id,
  274. action:'cancel_ticket_order'
  275. },
  276. xhrFields:{
  277. withCredentials: true
  278. },
  279. crossDomain: true,
  280. async: true,
  281. dataType: "json",
  282. success: function (data) {
  283. if (data.code == 0) {
  284. alert('退票成功!');
  285. $('#caozuo' + order_id).html('-');
  286. $('#caozuo' + order_id).prev().prev().prev().html('已取消');
  287. } else {
  288. alert(data.info);
  289. }
  290. }
  291. });
  292. }
  293. }
  294. else {
  295. return;
  296. }
  297. }
  298. function change_customer_memo(order_id, customer_memo) {
  299. swal({
  300. title: '请输入备注',
  301. input: 'textarea',
  302. inputValue: customer_memo,
  303. showCancelButton: true,
  304. cancelButtonText: '返 回',
  305. confirmButtonText: '确 定',
  306. showLoaderOnConfirm: true,
  307. allowOutsideClick: false
  308. }).then(function (email) {
  309. change_memo( order_id, email );
  310. })
  311. function change_memo( order_id, new_memo ){
  312. $.ajax({
  313. url: './st-xm/control.php',
  314. type: "post",
  315. data: {
  316. order_id: order_id,
  317. new_memo: new_memo,
  318. type: "des_changememo"
  319. },
  320. dataType: "json",
  321. success: function (data) {
  322. if (data.code == 0) {
  323. swal({
  324. title: '修改备注成功',
  325. type: 'success',
  326. timer: 20000,
  327. confirmButtonText: 'OK'
  328. }).then(
  329. function () { location.replace(location.href); },
  330. function (dismiss) {
  331. location.replace(location.href);
  332. }
  333. )
  334. } else {
  335. swal(
  336. '修改备注失败',
  337. ' ',
  338. 'error'
  339. );
  340. return;
  341. }
  342. },
  343. fail: function (data) {
  344. swal(
  345. '修改备注失败',
  346. ' ',
  347. 'error'
  348. );
  349. return;
  350. }
  351. });
  352. }
  353. }
  354. function getDateTime(nTypeFlag) {
  355. var tNowTime = new Date();
  356. var myYear = ';' + tNowTime.getFullYear() + ';';
  357. var myMonth = ';' + (tNowTime.getMonth() + 1 - 0) + ';';
  358. var myDay = ';' + tNowTime.getDate() + ';';
  359. var myHour = ';' + tNowTime.getHours() + ';';
  360. var myMinu = ';' + tNowTime.getMinutes() + ';';
  361. var mySecond = ';' + tNowTime.getSeconds() + ';';
  362. if (myMonth.length < 4) myMonth = '0' + myMonth;
  363. if (myDay.length < 4) myDay = '0' + myDay;
  364. if (myHour.length < 4) myHour = '0' + myHour;
  365. if (myMinu.length < 4) myMinu = '0' + myMinu;
  366. if (mySecond.length < 4) mySecond = '0' + mySecond;
  367. var cNewTimeStr;
  368. //alert(tNowTime);
  369. switch (nTypeFlag + 1 - 1) {
  370. case 0:
  371. cNewTimeStr = myYear + '-' + myMonth + '-' + myDay;
  372. break;
  373. case 1:
  374. cNewTimeStr = myYear + myMonth + myDay;
  375. break;
  376. case 2:
  377. cNewTimeStr = myHour + ':' + myMinu + ':' + mySecond;
  378. break;
  379. case 3:
  380. cNewTimeStr = myHour + myMinu + mySecond;
  381. break;
  382. case 4:
  383. cNewTimeStr = myYear + myMonth + myDay + myHour + myMinu + mySecond;
  384. break;
  385. case 5:
  386. cNewTimeStr = myYear + '年' + myMonth + '月' + myDay + '日';
  387. break;
  388. case 6:
  389. cNewTimeStr = myYear;
  390. break;
  391. case 7:
  392. cNewTimeStr = myYear + '-' + myMonth;
  393. break;
  394. case 8: //得到上一个月的今天
  395. var date = getDateTime(0);
  396. var arr = date.split('-');
  397. var year = arr[0]; //获取当前日期的年份
  398. var month = arr[1]; //获取当前日期的月份
  399. var day = arr[2]; //获取当前日期的日
  400. var days = new Date(year, month, 0);
  401. days = days.getDate(); //获取当前日期中月的天数
  402. var year2 = year;
  403. var month2 = parseInt(month) - 1;
  404. if (month2 == 0) {
  405. year2 = parseInt(year2) - 1;
  406. month2 = 12;
  407. }
  408. var day2 = day;
  409. var days2 = new Date(year2, month2, 0);
  410. days2 = days2.getDate();
  411. if (day2 > days2) {
  412. day2 = days2;
  413. }
  414. if (month2 < 10) {
  415. month2 = '0' + month2;
  416. }
  417. cNewTimeStr = year2 + '-' + month2 + '-' + day2;
  418. break;
  419. case 9: //得到下一个月的今天
  420. var date = getDateTime(0);
  421. var arr = date.split('-');
  422. var year = arr[0]; //获取当前日期的年份
  423. var month = arr[1]; //获取当前日期的月份
  424. var day = arr[2]; //获取当前日期的日
  425. var days = new Date(year, month, 0);
  426. days = days.getDate(); //获取当前日期中的月的天数
  427. var year2 = year;
  428. var month2 = parseInt(month) + 1;
  429. if (month2 == 13) {
  430. year2 = parseInt(year2) + 1;
  431. month2 = 1;
  432. }
  433. var day2 = day;
  434. var days2 = new Date(year2, month2, 0);
  435. days2 = days2.getDate();
  436. if (day2 > days2) {
  437. day2 = days2;
  438. }
  439. if (month2 < 10) {
  440. month2 = '0' + month2;
  441. }
  442. var t2 = year2 + '-' + month2 + '-' + day2;
  443. return t2;
  444. break;
  445. case 12: //本周起始日期
  446. return getBeforeDate(7);
  447. function getBeforeDate(n) {
  448. var n = n;
  449. var d = new Date();
  450. var year = d.getFullYear();
  451. var mon = d.getMonth() + 1;
  452. var day = d.getDate();
  453. if (day <= n) {
  454. if (mon > 1) {
  455. mon = mon - 1;
  456. }
  457. else {
  458. year = year - 1;
  459. mon = 12;
  460. }
  461. }
  462. d.setDate(d.getDate() - n);
  463. year = d.getFullYear();
  464. mon = d.getMonth() + 1;
  465. day = d.getDate();
  466. s = year + "-" + (mon < 10 ? ('0' + mon) : mon) + "-" + (day < 10 ? ('0' + day) : day);
  467. return s;
  468. }
  469. break;
  470. case 13: //本周结束日期
  471. return getWeekEndDate()
  472. function getWeekEndDate() {
  473. var now = new Date(); //当前日期
  474. var nowDayOfWeek = now.getDay(); //今天本周的第几天
  475. var nowDay = now.getDate(); //当前日
  476. var nowMonth = now.getMonth(); //当前月
  477. var nowYear = now.getYear(); //当前年
  478. nowYear += (nowYear < 2000) ? 1900 : 0; //
  479. var lastMonthDate = new Date(); //上月日期
  480. lastMonthDate.setDate(1);
  481. lastMonthDate.setMonth(lastMonthDate.getMonth() - 1);
  482. var lastYear = lastMonthDate.getYear();
  483. var lastMonth = lastMonthDate.getMonth();
  484. var weekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek));
  485. return formatDate(weekEndDate);
  486. }
  487. break;
  488. default:
  489. cNewTimeStr = myYear + '-' + myMonth + '-' + myDay + ' ' + myHour + ':' + myMinu + ':' + mySecond;
  490. break;
  491. }
  492. cNewTimeStr = cNewTimeStr.replace(/;/g, "");
  493. return cNewTimeStr;
  494. }
  495. function getPar(par) {
  496. //获取当前URL
  497. var local_url = document.location.href;
  498. local_url = decodeURI(local_url);
  499. //获取要取得的get参数位置
  500. var get = local_url.indexOf(par + "=");
  501. if (get == -1) {
  502. return "";
  503. }
  504. //截取字符串
  505. var get_par = local_url.slice(par.length + get + 1);
  506. //判断截取后的字符串是否还有其他get参数
  507. var nextPar = get_par.indexOf("&");
  508. if (nextPar != -1) {
  509. get_par = get_par.slice(0, nextPar);
  510. }
  511. return get_par;
  512. }
  513. //获取当前时间
  514. function CurrentTime() {
  515. var now = new Date();
  516. var year = now.getFullYear(); //年
  517. var month = now.getMonth() + 1; //月
  518. var day = now.getDate(); //日
  519. var hh = now.getHours(); //时
  520. var mm = now.getMinutes(); //分
  521. var ss = now.getSeconds(); //秒
  522. var clock = year + "-";
  523. if (month < 10)
  524. clock += "0";
  525. clock += month + "-";
  526. if (day < 10)
  527. clock += "0";
  528. clock += day + " ";
  529. if (hh < 10)
  530. clock += "0";
  531. clock += hh + ":";
  532. if (mm < 10) clock += '0';
  533. clock += mm + ":";
  534. if (ss < 10) clock += '0';
  535. clock += ss;
  536. return (clock);
  537. }
  538. function getList(index) {
  539. $("#minus").children().children().removeClass("addbackground");
  540. $("#add" + index).addClass("addbackground");
  541. click_type_id = index;
  542. var timelimit = $('#timelimit').val(); //时间类型
  543. var starttime = $('#starttime').val(); //开始时间
  544. var endtime = $('#endtime').val(); //结束时间
  545. //var ordersource=$('#ordersource').val();//订单渠道
  546. var ordersource = order_from_id; //订单渠道
  547. order_from_id = ordersource;
  548. var paystatus = $('#paystatus').val(); //支付状态
  549. /*以下三个条件暂时隐藏,''代替传入参数
  550. var billingstatus=document.getElementById("billingstatus").value;
  551. var mealbounce=document.getElementById("mealbounce").value;
  552. var refund=document.getElementById("refund").value;
  553. */
  554. var billingstatus = '';
  555. var mealbounce = '';
  556. var refund = '';
  557. var moresearch = document.getElementById("moresearch").value;
  558. //2016-07-15新增参数
  559. var start_area = $('#start_area').val();
  560. var end_area = $('#end_area').val();
  561. var line = $('#line').val();
  562. var tnowtime = getDateTime(4);
  563. var myURL =
  564. "./st-xm/Api/order_list.php?tt=" + tnowtime +
  565. "&timelimit=" + timelimit +
  566. "&starttime=" + starttime +
  567. "&endtime=" + endtime +
  568. "&ordersource=" + ordersource +
  569. "&orderstatus=" + index +
  570. "&will=" + will +
  571. "&over=" + over +
  572. "&pay=" + pay +
  573. "&cancel=" + cancel +
  574. "&paystatus=" + paystatus +
  575. "&currpage=1" +
  576. "&pagesize=" + pagesize;
  577. var myURL2 = "./des_order_list.html?tt=" + tnowtime +
  578. "&timelimit=" + timelimit +
  579. "&starttime=" + starttime +
  580. "&endtime=" + endtime +
  581. "&ordersource=" + ordersource +
  582. "&orderstatus=" + index +
  583. "&paystatus=" + paystatus +
  584. "&billingstatus=" + billingstatus +
  585. "&mealbounce=" + mealbounce +
  586. "&refund=" + refund +
  587. "&moresearch=" + moresearch +
  588. "&start_area=" + start_area +
  589. "&end_area=" + end_area +
  590. "&line=" + line
  591. // +"&currpage="+currpage
  592. +
  593. "&pagesize=" + pagesize;
  594. method(myURL, myURL2);
  595. $('#ordersource').val(order_from_id);
  596. }