Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 
 

517 rindas
16 KiB

  1. var list_byid;
  2. var listStr = '';
  3. var select_channel_str = '';
  4. var base_url = "./st-xm/Api/ht_get_order_list.php";
  5. var base_url2 = "./hotelOrderList.html";
  6. var click_status_type="0";
  7. var pagesize =10;
  8. /*======================网络请求的Ajax的代码=======================*/
  9. // 创建一个Ajax对象
  10. if (window.ActiveXObject) {
  11. var myreq = new ActiveXObject("Microsoft.XMLHTTP");
  12. } else {
  13. var myreq = new XMLHttpRequest();
  14. }
  15. window.onload = function() {
  16. list_byid = $('#list');
  17. //在保存HTML的时候先将display设置成显示
  18. // $('#list tr').css('display', 'table-row');
  19. listStr = list_byid.html();
  20. select_channel_str = $('#orderSource2').html();
  21. //设置默认时间
  22. $('#id-date-picker-1').val(getDateTime(0));
  23. $('#id-date-picker-2').val(getDateTime(0));
  24. var s_order_status = getPar("order_status");
  25. if (!s_order_status) {
  26. s_order_status = 0;
  27. }
  28. getList(s_order_status);
  29. }
  30. function date_choose_picker(type){
  31. var start_date = $('#id-date-picker-1').val();
  32. var end_date = $('#id-date-picker-2').val();
  33. // 判断日期是否合理
  34. var date1 = new Date(start_date.replace(/\-/g, '/'));
  35. var date2 = new Date(end_date.replace(/\-/g, '/'));
  36. if (date1 > date2) {
  37. alert('开始日期不能大于结束日期!!!');
  38. if (type == 1) {
  39. $('#id-date-picker-1').val('');
  40. } else {
  41. $('#id-date-picker-2').val('');
  42. }
  43. return;
  44. }
  45. }
  46. // 请求方法,传入URL
  47. function get_virtual_user_list(myURL1, myURL2) {
  48. var tnowtime = getDateTime(4);
  49. if (myURL1.indexOf('?') >= 0) {
  50. myURL1 += '&tt=' + tnowtime;
  51. } else {
  52. myURL1 += '?tt=' + tnowtime;
  53. }
  54. $.getJSON(myURL1, function(httpData) {
  55. // newstr 就是接收到的数据
  56. var hotelOrderList = httpData['hotelOrderList'];
  57. var hotelStr = '';
  58. for (var i = 0; i < hotelOrderList.length; i++) {
  59. var dict = hotelOrderList[i];
  60. var tempHTML = listStr;
  61. tempHTML = tempHTML.replace('none', 'table-row');
  62. tempHTML = tempHTML.replace('[order_id1]', dict['order_id']);
  63. tempHTML = tempHTML.replace('[order_id2]', dict['prod_id']);
  64. tempHTML = tempHTML.replace('[订单编号]', dict['order_id']);
  65. tempHTML = tempHTML.replace('[下单时间]', dict['order_date_time']);
  66. tempHTML = tempHTML.replace('[订单渠道]', dict['order_form']);
  67. tempHTML = tempHTML.replace('[预订产品酒店房型]', dict['product_name']);
  68. tempHTML = tempHTML.replace('[预订产品酒店详情]', dict['disp_dec']);
  69. tempHTML = tempHTML.replace('[供应商]', dict['supplier']);
  70. tempHTML = tempHTML.replace('[客人信息姓名]', dict['customer_name']);
  71. tempHTML = tempHTML.replace('[客人信息电话]', dict['customer_mobile']);
  72. tempHTML = tempHTML.replace('[订单金额]', dict['order_balance']);
  73. tempHTML = tempHTML.replace('[采购成本]', dict['base_balance']);
  74. tempHTML = tempHTML.replace('[状态]', dict['order_status_str']);
  75. hotelStr += tempHTML;
  76. }
  77. list_byid.html(hotelStr);
  78. if(click_status_type=="0"){
  79. $('#order_all').html('');
  80. $('#order_status1').html('');
  81. $('#order_status2').html('');
  82. $('#order_status3').html('');
  83. $('#order_status4').html('');
  84. $('#order_status5').html('');
  85. $('#order_status6').html('');
  86. $('#order_status7').html('');
  87. $('#order_status8').html('');
  88. }
  89. var orderStatus = httpData['orderStatus'][0];
  90. // //145:待支付 218:已安排 147:已完成 148:已取消
  91. // //198:待确定 199:待通知 200:待安排 201:退改中
  92. // // 198 145 199 200 218 147 148 201
  93. // //全部-待确认-待支付-待通知-待安排-已安排-已完成-已取消-退改中
  94. // $('#order_all').html(orderStatus['status_all']);
  95. if(click_status_type=="0"){
  96. $('#order_all').html(orderStatus['status_all']);
  97. }
  98. $('#order_status1').html(orderStatus['198']);
  99. $('#order_status2').html(orderStatus['145']);
  100. $('#order_status3').html(orderStatus['199']);
  101. $('#order_status4').html(orderStatus['200']);
  102. $('#order_status5').html(orderStatus['218']);
  103. $('#order_status6').html(orderStatus['147']);
  104. $('#order_status7').html(orderStatus['148']);
  105. $('#order_status8').html(orderStatus['201']);
  106. var currpage = getPar("currpage");
  107. if (!currpage) {
  108. currpage = 1;
  109. }
  110. if( !httpData['total'] ) {
  111. var sum = 0;
  112. } else {
  113. var sum = parseInt(httpData['total']);
  114. }
  115. var pageSize = pagesize;
  116. var tag = "page";
  117. console.log('getPager('+sum + ',' + currpage + ',' + pageSize + ')');
  118. getPager(myURL2, sum, currpage, pageSize, tag, 'currpage');
  119. });
  120. }
  121. // 让复选框全选
  122. function select_checked() {
  123. var cur_check = $('.ace')[0];
  124. var checkList = $('input');
  125. for (var i = 0; i < checkList.length; i++) {
  126. if (checkList[i].type == 'checkbox') {
  127. checkList[i].checked = cur_check.checked;
  128. }
  129. }
  130. }
  131. //选择渠道类型
  132. function select_type(value) {
  133. click_status_type="0";
  134. var myURL = base_url + '?method=getChannelList&channel_type=' + value;
  135. var tnowtime = getDateTime(4);
  136. if (myURL.indexOf('?') >= 0) {
  137. myURL += '&tt=' + tnowtime;
  138. } else {
  139. myURL += '?tt=' + tnowtime;
  140. }
  141. $.getJSON(myURL, function(channel_data) {
  142. if (channel_data['code'] != "0") {
  143. alert(channel_data['info']);
  144. return;
  145. }
  146. var arr_list = channel_data['channelList'];
  147. var listStr = '<option selected="selected" value="[value]" style="font-size: 12px;">请选择</option>';
  148. var arr_org_ids = new Array();
  149. for (var i = 0; i < arr_list.length; i++) {
  150. var tempDict = arr_list[i];
  151. var tempHTML = select_channel_str;
  152. tempHTML = tempHTML.replace('[value]', tempDict['org_id']);
  153. arr_org_ids[i] = tempDict['org_id'];
  154. tempHTML = tempHTML.replace('请选择', tempDict['org_name']);
  155. listStr += tempHTML;
  156. }
  157. $('#orderSource2').html(listStr);
  158. //开始
  159. //日期 时间
  160. var date1 = $('#id-date-picker-1').val();
  161. var time1 = $('#timepicker1').val();
  162. var start_date = date1 + ' ' + time1;
  163. //结束
  164. //日期时间
  165. var date2 = $('#id-date-picker-2').val();
  166. var time2 = $('#timepicker2').val();
  167. var end_date = date2 + ' ' + time2;
  168. //判断非空
  169. if (!date1 && date2 && time1 && time2) {
  170. alert('日期不能为空!!!');
  171. return;
  172. }
  173. var org_type_id = value;
  174. var org_id = $("#orderSource2 option:selected").attr('value');
  175. if (org_id == '[value]' || org_id==0) {
  176. org_id = '-1';
  177. }
  178. if(org_type_id=="0" || org_type_id==0){
  179. org_id=="-1";
  180. }
  181. var myURL1 = base_url + '?method=getOrderList&user_id=1&currpage=1&page_size='+pagesize+'&order_status=0&start_date=' + start_date + '&end_date=' + end_date + '&key_word=&org_id=' + org_id + '&org_type_id=' + org_type_id;
  182. var myURL2 = base_url2 + '?user_id=1&page_size='+pagesize+'&order_status=0&start_date=' + start_date + '&end_date=' + end_date + '&key_word=&org_id=' + org_id + '&org_type_id=' + org_type_id;
  183. get_virtual_user_list(myURL1,myURL2);
  184. })
  185. }
  186. //选择组织机构
  187. function select_org(org_id) {
  188. click_status_type="0";
  189. if (org_id == "[value]" || org_id == 0 || org_id == "0") {
  190. org_id = "-1";
  191. }
  192. //日期 时间
  193. var date1 = $('#id-date-picker-1').val();
  194. var time1 = $('#timepicker1').val();
  195. var start_date = date1 + ' ' + time1;
  196. //结束
  197. //日期时间
  198. var date2 = $('#id-date-picker-2').val();
  199. var time2 = $('#timepicker2').val();
  200. var end_date = date2 + ' ' + time2;
  201. //判断非空
  202. if (!date1 && date2 && time1 && time2) {
  203. alert('日期不能为空!!!');
  204. return;
  205. }
  206. // 订单号 联系人姓名 联系人电话
  207. var condition = $('#select_condition').val();
  208. if (condition.length <= 0) {
  209. condition = ''
  210. };
  211. var org_type_id = $('#orderSource1 option:selected').attr('value');
  212. var org_id = $("#orderSource2 option:selected").attr('value');
  213. if (org_id == '[value]') {
  214. org_id = '-1';
  215. }
  216. var myURL1 = base_url + '?method=getOrderList&user_id=1&currpage=1&page_size='+pagesize+'&order_status=0&start_date=' + start_date + '&end_date=' + end_date + '&key_word=' + condition + '&org_id=' + org_id + '&org_type_id=' + org_type_id;
  217. var myURL2 = base_url2 + '?user_id=1&page_size='+pagesize+'&order_status=0&start_date=' + start_date + '&end_date=' + end_date + '&key_word=' + condition + '&org_id=' + org_id + '&org_type_id=' + org_type_id;
  218. get_virtual_user_list(myURL1,myURL2);
  219. }
  220. //订单状态
  221. function getList(status_val) {
  222. //145:待支付 146:已出票 147:已完成 148:已取消
  223. //198:待确定 199:待通知 200:待安排 201:退改中
  224. //待确认 待支付 待通知 待安排 已安排 已完成 已取消 退改中
  225. if(status_val!="0"){
  226. click_status_type="-1";
  227. }else{
  228. click_status_type="0";
  229. }
  230. //开始
  231. //日期 时间
  232. var date1 = $('#id-date-picker-1').val();
  233. var time1 = $('#timepicker1').val();
  234. var start_date = date1 + ' ' + time1;
  235. //结束
  236. //日期时间
  237. var date2 = $('#id-date-picker-2').val();
  238. var time2 = $('#timepicker2').val();
  239. var end_date = date2 + ' ' + time2;
  240. //判断非空
  241. if (!date1 && date2 && time1 && time2) {
  242. alert('日期不能为空!!!');
  243. return;
  244. }
  245. // 订单号 联系人姓名 联系人电话
  246. var condition = $('#select_condition').val();
  247. var org_type_id = $('#orderSource1').val();
  248. var org_id = $('#orderSource2').val();
  249. if (org_id == '[value]') {
  250. org_id = '-1';
  251. }
  252. if (org_type_id == '0') {
  253. org_type_id = '-1';
  254. }
  255. var default_currpage = getPar("currpage");
  256. if (!default_currpage) {
  257. default_currpage = 1
  258. }
  259. var currpage = arguments[1]?arguments[1]:default_currpage;
  260. var myURL1 = base_url + '?method=getOrderList&user_id=1&currpage=' + currpage + '&page_size='+pagesize+'&order_status=' + status_val + '&start_date=' + start_date + '&end_date=' + end_date + '&key_word=' + condition + '&org_id=' + org_id + '&org_type_id=' + org_type_id;
  261. console.log('order_list_url+++==='+myURL1);
  262. var myURL2 = base_url2 + '?user_id=1&page_size='+pagesize+'&order_status=' + status_val + '&start_date=' + start_date + '&end_date=' + end_date + '&key_word=' + condition + '&org_id=' + org_id + '&org_type_id=' + org_type_id;
  263. get_virtual_user_list(myURL1,myURL2)
  264. }
  265. //点击查询按钮
  266. $(document).ready(function() {
  267. $('#select_btn').click(function() {
  268. //开始
  269. //日期 时间
  270. var date1 = $('#id-date-picker-1').val();
  271. var time1 = $('#timepicker1').val();
  272. var start_date = date1 + ' ' + time1;
  273. //结束
  274. //日期时间
  275. var date2 = $('#id-date-picker-2').val();
  276. var time2 = $('#timepicker2').val();
  277. var end_date = date2 + ' ' + time2;
  278. //判断非空
  279. if (!date1 && date2 && time1 && time2) {
  280. alert('日期不能为空!!!');
  281. return;
  282. }
  283. // 订单号 联系人姓名 联系人电话
  284. var condition = $('#select_condition').val();
  285. if (condition.length <= 0) {
  286. condition = ''
  287. };
  288. var org_type_id = $('#orderSource1 option:selected').attr('value');
  289. var org_id = $("#orderSource2 option:selected").attr('value');
  290. if (org_id == '[value]') {
  291. org_id = '-1';
  292. }
  293. if (org_type_id == '[value]') {
  294. org_type_id = '-1';
  295. }
  296. var myURL1 = base_url + '?method=getOrderList&user_id=1&currpage=1&page_size='+pagesize+'&order_status=0&start_date=' + start_date + '&end_date=' + end_date + '&key_word=' + condition + '&org_id=' + org_id + '&org_type_id=' + org_type_id;
  297. var myURL2 = base_url2 + '?user_id=1&page_size='+pagesize+'&order_status=0&start_date=' + start_date + '&end_date=' + end_date + '&key_word=' + condition + '&org_id=' + org_id + '&org_type_id=' + org_type_id;
  298. get_virtual_user_list(myURL1,myURL2)
  299. });
  300. });
  301. //点击导出订单信息
  302. $(document).ready(function() {
  303. $('#explorer_excel').click(function() {
  304. method1('hotel_order_list');
  305. })
  306. })
  307. //导出到excel兼容谷歌等
  308. var idTmr;
  309. function getExplorer() {
  310. var explorer = window.navigator.userAgent;
  311. //ie
  312. if (explorer.indexOf("MSIE") >= 0) {
  313. return 'ie';
  314. }
  315. //firefox
  316. else if (explorer.indexOf("Firefox") >= 0) {
  317. return 'Firefox';
  318. }
  319. //Chrome
  320. else if (explorer.indexOf("Chrome") >= 0) {
  321. return 'Chrome';
  322. }
  323. //Opera
  324. else if (explorer.indexOf("Opera") >= 0) {
  325. return 'Opera';
  326. }
  327. //Safari
  328. else if (explorer.indexOf("Safari") >= 0) {
  329. return 'Safari';
  330. }
  331. }
  332. function method1(tableid) { //整个表格拷贝到EXCEL中
  333. if (getExplorer() == 'ie') {
  334. var curTbl = document.getElementById(tableid);
  335. var oXL = new ActiveXObject("Excel.Application");
  336. //创建AX对象excel
  337. var oWB = oXL.Workbooks.Add();
  338. //获取workbook对象
  339. var xlsheet = oWB.Worksheets(1);
  340. //激活当前sheet
  341. var sel = document.body.createTextRange();
  342. sel.moveToElementText(curTbl);
  343. //把表格中的内容移到TextRange中
  344. sel.select();
  345. //全选TextRange中内容
  346. sel.execCommand("Copy");
  347. //复制TextRange中内容
  348. xlsheet.Paste();
  349. //粘贴到活动的EXCEL中
  350. oXL.Visible = true;
  351. //设置excel可见属性
  352. try {
  353. var fname = oXL.Application.GetSaveAsFilename("Excel.xls", "Excel Spreadsheets (*.xls), *.xls");
  354. } catch (e) {
  355. print("Nested catch caught " + e);
  356. } finally {
  357. oWB.SaveAs(fname);
  358. oWB.Close(savechanges = false);
  359. //xls.visible = false;
  360. oXL.Quit();
  361. oXL = null;
  362. //结束excel进程,退出完成
  363. //window.setInterval("Cleanup();",1);
  364. idTmr = window.setInterval("Cleanup();", 1);
  365. }
  366. } else {
  367. tableToExcel(tableid)
  368. }
  369. }
  370. function Cleanup() {
  371. window.clearInterval(idTmr);
  372. CollectGarbage();
  373. }
  374. var tableToExcel = (function() {
  375. var uri = 'data:application/vnd.ms-excel;base64,',
  376. template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table></body></html>',
  377. base64 = function(s) {
  378. return window.btoa(unescape(encodeURIComponent(s)))
  379. },
  380. format = function(s, c) {
  381. return s.replace(/{(\w+)}/g,
  382. function(m, p) {
  383. return c[p];
  384. })
  385. }
  386. return function(table, name) {
  387. if (!table.nodeType) table = document.getElementById(table)
  388. var ctx = {
  389. worksheet: name || 'Worksheet',
  390. table: table.innerHTML
  391. }
  392. window.location.href = uri + base64(format(template, ctx))
  393. }
  394. })()
  395. function getDateTime(nTypeFlag) {
  396. var tNowTime = new Date();
  397. var myYear = ';' + tNowTime.getFullYear() + ';';
  398. var myMonth = ';' + (tNowTime.getMonth() + 1 - 0) + ';';
  399. var myDay = ';' + tNowTime.getDate() + ';';
  400. var myHour = ';' + tNowTime.getHours() + ';';
  401. var myMinu = ';' + tNowTime.getMinutes() + ';';
  402. var mySecond = ';' + tNowTime.getSeconds() + ';';
  403. if (myMonth.length < 4) myMonth = '0' + myMonth;
  404. if (myDay.length < 4) myDay = '0' + myDay;
  405. if (myHour.length < 4) myHour = '0' + myHour;
  406. if (myMinu.length < 4) myMinu = '0' + myMinu;
  407. if (mySecond.length < 4) mySecond = '0' + mySecond;
  408. var cNewTimeStr;
  409. //alert(tNowTime);
  410. switch (nTypeFlag + 1 - 1) {
  411. case 0:
  412. cNewTimeStr = myYear + '-' + myMonth + '-' + myDay;
  413. break;
  414. case 1:
  415. cNewTimeStr = myYear + myMonth + myDay;
  416. break;
  417. case 2:
  418. cNewTimeStr = myHour + ':' + myMinu + ':' + mySecond;
  419. break;
  420. case 3:
  421. cNewTimeStr = myHour + myMinu + mySecond;
  422. break;
  423. case 4:
  424. cNewTimeStr = myYear + myMonth + myDay + myHour + myMinu + mySecond;
  425. break;
  426. case 5:
  427. cNewTimeStr = myYear + '年' + myMonth + '月' + myDay + '日';
  428. break;
  429. case 6:
  430. cNewTimeStr = myYear;
  431. break;
  432. case 7:
  433. cNewTimeStr = myYear + '-' + myMonth;
  434. break;
  435. default:
  436. case 8:
  437. // 获取上个月日期函数
  438. // t="2015-1-1";//可以当参数输入
  439. var t = getDateTime(0);
  440. var tarr = t.split('-');
  441. var year = tarr[0]; //获取当前日期的年
  442. var month = tarr[1]; //获取当前日期的月
  443. var day = tarr[2]; //获取当前日期的日
  444. var days = new Date(year, month, 0);
  445. days = days.getDate(); //获取当前日期中的月的天数
  446. var year2 = year;
  447. var month2 = parseInt(month) - 1;
  448. if (month2 == 0) {
  449. year2 = parseInt(year2) - 1;
  450. month2 = 12;
  451. }
  452. var day2 = day;
  453. var days2 = new Date(year2, month2, 0);
  454. days2 = days2.getDate();
  455. if (day2 > days2) {
  456. day2 = days2;
  457. }
  458. if (month2 < 10) {
  459. month2 = '0' + month2;
  460. }
  461. var t2 = year2 + '-' + month2 + '-' + day2;
  462. return t2;
  463. break;
  464. cNewTimeStr = myYear + '-' + myMonth + '-' + myDay + ' ' + myHour + ':' + myMinu + ':' + mySecond;
  465. break;
  466. }
  467. cNewTimeStr = cNewTimeStr.replace(/;/g, "");
  468. return cNewTimeStr;
  469. }
  470. function getPar(par){
  471. //获取当前URL
  472. var local_url = document.location.href;
  473. local_url = decodeURI(local_url);
  474. //获取要取得的get参数位置
  475. var get = local_url.indexOf(par +"=");
  476. if(get == -1){
  477. return false;
  478. }
  479. //截取字符串
  480. var get_par = local_url.slice(par.length + get + 1);
  481. //判断截取后的字符串是否还有其他get参数
  482. var nextPar = get_par.indexOf("&");
  483. if(nextPar != -1){
  484. get_par = get_par.slice(0, nextPar);
  485. }
  486. return get_par;
  487. }