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.
 
 
 
 

380 lines
13 KiB

  1. var carChartStr = ''
  2. var trcode1Str = ''
  3. var trcode2Str = ''
  4. var trcode3Str = ''
  5. var trfinalStr = ''
  6. var myArray = new Array();
  7. function reload_Info(httpData,myURL2){
  8. if (httpData['code'] != '0') {
  9. alert(info);
  10. return;
  11. }
  12. var chartInfo=httpData['chartInfo'];
  13. var num1 = -1;
  14. var num21 = -1;
  15. var num22 = -1;
  16. var num23 = -1;
  17. myArray.length = 0;
  18. for (var i = 0; i < chartInfo.length; i++)
  19. {
  20. var tempDict = chartInfo[i];
  21. num1++;
  22. num21 = num1;
  23. num22 = -1;
  24. num23 = -1;
  25. myArray[num1] = new Array();
  26. myArray[num1][0] = '|' + num21 + '|';
  27. myArray[num1][1] = 0; //层级
  28. myArray[num1][2] = -1; //子节点当前展开还是收缩
  29. myArray[num1][3] = tempDict['channel'];
  30. myArray[num1][4] = tempDict['prodcode'];
  31. myArray[num1][5] = tempDict['prodname'];
  32. myArray[num1][6] = tempDict['startTime'];
  33. myArray[num1][7] = tempDict['carCount'];
  34. myArray[num1][8] = tempDict['seatCount'];
  35. myArray[num1][9] = tempDict['outTicketCount'];
  36. myArray[num1][10] = tempDict['outTicketBalance'];
  37. myArray[num1][11] = tempDict['refundCount'];
  38. myArray[num1][12] = tempDict['refundBalance'];
  39. myArray[num1][13] = tempDict['refundPoundage'];
  40. myArray[num1][14] = tempDict['sellAll'];
  41. myArray[num1][15] = tempDict['income'];
  42. //......
  43. var everyType=tempDict['channelType'];
  44. for (var j=0;j<everyType.length;j++)
  45. {
  46. var typeTemp=everyType[j];
  47. num1++;
  48. num22 = num1;
  49. num23 = -1;
  50. myArray[num1] = new Array();
  51. myArray[num1][0] = '|' + num21 + '|' + num22 + '|';
  52. myArray[num1][1] = 1;
  53. myArray[num1][2] = -1; //子节点当前展开还是收缩
  54. myArray[num1][3] = typeTemp['channel'];
  55. myArray[num1][4] = typeTemp['outTicketCount'];
  56. myArray[num1][5] = typeTemp['outTicketBalance'];
  57. myArray[num1][6] = typeTemp['refundCount'];
  58. myArray[num1][7] = typeTemp['refundPoundage'];
  59. myArray[num1][8] = typeTemp['sellAll'];
  60. myArray[num1][9] = typeTemp['income'];
  61. //......
  62. var everyName=typeTemp['channelName'];
  63. for (var k=0;k<everyName.length;k++)
  64. {
  65. var nameTemp=everyName[k];
  66. num1++;
  67. num23 = num1;
  68. myArray[num1] = new Array();
  69. myArray[num1][0] = '|' + num21 + '|' + num22 + '|' + num23;
  70. myArray[num1][1] = 2;
  71. myArray[num1][2] = -1; //子节点当前展开还是收缩
  72. myArray[num1][3] = nameTemp['channel'];
  73. myArray[num1][4] = nameTemp['outTicketCount'];
  74. myArray[num1][5] = nameTemp['outTicketBalance'];
  75. myArray[num1][6] = nameTemp['refundCount'];
  76. myArray[num1][7] = nameTemp['refundBalance'];
  77. myArray[num1][8] = nameTemp['refundPoundage'];
  78. myArray[num1][9] = nameTemp['sellAll'];
  79. myArray[num1][10] = nameTemp['income'];
  80. //......
  81. }
  82. }
  83. }
  84. console.log(myArray);
  85. show_table(myURL2);
  86. var all_Count_Str=$('#channelChart').html();
  87. var tempHTML = trfinalStr;
  88. tempHTML = tempHTML.replace('[全部]', '全部');
  89. tempHTML = tempHTML.replace('[线路]', '');
  90. tempHTML = tempHTML.replace('[出发时间]','');
  91. tempHTML = tempHTML.replace('[车数量]', httpData['all_carCount']);
  92. tempHTML = tempHTML.replace('[座位数]', httpData['all_seatCount']);
  93. tempHTML = tempHTML.replace('[出票数量]', httpData['all_outTicketCount']);
  94. tempHTML = tempHTML.replace('[出票金额]', httpData['all_outTicketBalance']);
  95. tempHTML = tempHTML.replace('[退票数量]', httpData['all_refundCount']);
  96. tempHTML = tempHTML.replace('[退票金额]', httpData['all_refundBalance']);
  97. tempHTML = tempHTML.replace('[退票手续费]', httpData['all_refundPoundage']);
  98. tempHTML = tempHTML.replace('[售票总计]', httpData['all_sellAll']);
  99. tempHTML = tempHTML.replace('[收入总计]', httpData['all_income']);
  100. all_Count_Str+=tempHTML;
  101. $('#channelChart').html(all_Count_Str)
  102. }
  103. function show_table(myURL2)
  104. {
  105. var num1 = myArray.length;
  106. var cstr1 = '';
  107. for (var i=0;i<num1;i++)
  108. {
  109. if (myArray[i][1]==0) {
  110. var tempHTML=trcode1Str;
  111. tempHTML=tempHTML.replace('tr_one','list_'+i);
  112. tempHTML=tempHTML.replace('[code]',i);
  113. tempHTML = tempHTML.replace('[全部渠道1]', myArray[i][3]);
  114. tempHTML = tempHTML.replace('[线路]', myArray[i][4] + ' '+ myArray[i][5]);
  115. tempHTML = tempHTML.replace('[出发时间]', myArray[i][6]);
  116. tempHTML = tempHTML.replace('[车数量]', myArray[i][7]);
  117. tempHTML = tempHTML.replace('[座位数]', myArray[i][8]);
  118. tempHTML = tempHTML.replace('[出票数量]', myArray[i][9]);
  119. tempHTML = tempHTML.replace('[出票金额]', myArray[i][10]);
  120. tempHTML = tempHTML.replace('[退票数量]', myArray[i][11]);
  121. tempHTML = tempHTML.replace('[退票金额]', myArray[i][12]);
  122. tempHTML = tempHTML.replace('[退票手续费]', myArray[i][13]);
  123. tempHTML = tempHTML.replace('[售票总计]', myArray[i][14]);
  124. tempHTML = tempHTML.replace('[收入总计]', myArray[i][15]);
  125. cstr1+=tempHTML;
  126. }else if (myArray[i][1]==1) {
  127. var tempHTML=trcode2Str;
  128. tempHTML=tempHTML.replace('tr_two','list_'+i);
  129. tempHTML=tempHTML.replace('[code]',i);
  130. tempHTML = tempHTML.replace('[全部渠道2]', myArray[i][3]);
  131. tempHTML = tempHTML.replace('[线路]', '');
  132. tempHTML = tempHTML.replace('[出发时间]','');
  133. tempHTML = tempHTML.replace('[车数量]', '');
  134. tempHTML = tempHTML.replace('[座位数]', '');
  135. tempHTML = tempHTML.replace('[出票数量]', myArray[i][4]);
  136. tempHTML = tempHTML.replace('[出票金额]', myArray[i][5]);
  137. tempHTML = tempHTML.replace('[退票数量]', myArray[i][6]);
  138. tempHTML = tempHTML.replace('[退票金额]', myArray[i][7]);
  139. tempHTML = tempHTML.replace('[退票手续费]', myArray[i][8]);
  140. tempHTML = tempHTML.replace('[售票总计]', myArray[i][9]);
  141. tempHTML = tempHTML.replace('[收入总计]', myArray[i][10]);
  142. cstr1+=tempHTML;
  143. }else if(myArray[i][1]==2){
  144. var tempHTML=trcode3Str;
  145. tempHTML=tempHTML.replace('tr_three','list_'+i);
  146. tempHTML=tempHTML.replace('[code]',i);
  147. tempHTML = tempHTML.replace('[全部渠道3]', myArray[i][3]);
  148. tempHTML = tempHTML.replace('[线路]', '');
  149. tempHTML = tempHTML.replace('[出发时间]','');
  150. tempHTML = tempHTML.replace('[车数量]', '');
  151. tempHTML = tempHTML.replace('[座位数]', '');
  152. tempHTML = tempHTML.replace('[出票数量]', myArray[i][4]);
  153. tempHTML = tempHTML.replace('[出票金额]', myArray[i][5]);
  154. tempHTML = tempHTML.replace('[退票数量]', myArray[i][6]);
  155. tempHTML = tempHTML.replace('[退票金额]', myArray[i][7]);
  156. tempHTML = tempHTML.replace('[退票手续费]', myArray[i][8]);
  157. tempHTML = tempHTML.replace('[售票总计]', myArray[i][9]);
  158. tempHTML = tempHTML.replace('[收入总计]', myArray[i][10]);
  159. cstr1+=tempHTML;
  160. }
  161. // cstr1 += '<tr id="list_' + i + '" onclick="show_hide_tr(' + i + ')">';
  162. // cstr1 += '<td>';
  163. // //.....
  164. // cstr1 += '</tr>';
  165. }
  166. $('#channelChart').html(cstr1)
  167. var currpage = getPar("currpage");
  168. if(currpage){
  169. }else{
  170. currpage = 1;
  171. }
  172. var sum = 1000;
  173. var length = 10;
  174. var tag ="test";
  175. var userUrl = myURL2;
  176. getPager(userUrl, sum, currpage, length,tag);
  177. }
  178. //function show_hide_tr(myid,myidstr,mylevel)
  179. function show_hide_tr(myid)
  180. {
  181. var num1 = myArray.length;
  182. var cstr1 = myArray[myid][0]; // 父标记
  183. var num2 = myArray[myid][1]; // 父级别
  184. var num3 = myArray[myid][2]; // 所属子级别当前应该是展开还是收缩
  185. for (var i=0;i<num1;i++)
  186. {
  187. var cstr2 = myArray[i][0];
  188. // if (charindex(cstr2,cstr1)>=0 && cstr2!=cstr1)
  189. if (cstr2.indexOf(cstr1)>=0 && cstr2!=cstr1)
  190. {
  191. //找到子节点
  192. // var obj1= document.getElementById('list_' + i)
  193. var obj1=$('#list_'+i);
  194. // num3==-1?obj1.style.display='table-row':obj1.style.display='none';
  195. if (num2==1) {
  196. num3==-1?obj1.css('display','table-row'):obj1.css('display','none');
  197. }
  198. // if (num3 ==1)
  199. if (num3 ==-1)
  200. {
  201. //展开
  202. // var obj1= document.getElementById('list_' + i) ;
  203. if (myArray[i][1]==1) {
  204. obj1.css('display','table-row');
  205. }
  206. }else{
  207. //收缩
  208. // var obj1= document.getElementById('list_' + i)
  209. var tt=num2+1;
  210. obj1.css('display','none');
  211. myArray[i][2]=-1;
  212. // if (tt == myArray[i][0]) {//儿子节点
  213. // if (myArray[i][0].indexOf(tt)>=0){
  214. // obj1.style.display = 'table-row';
  215. // }else{
  216. // obj1.style.display = 'none';
  217. // }
  218. }
  219. }
  220. }
  221. myArray[myid][2] = 1- myArray[myid][2];
  222. }
  223. $(document).ready(function(){
  224. $("#btn_search").click(function(){
  225. //销售渠道
  226. var select_status=$("#select_status option:selected").text();
  227. if (select_status.trim().length<0 || select_status=='请选择') {
  228. // alert('请选择销售渠道!!!');return;
  229. }
  230. //线路
  231. var prod=$('#prod').val();
  232. if (prod.trim().length<=0) {
  233. // alert('请输入线路!!!');return;
  234. }
  235. //开始日期
  236. var start_date=$('#id-date-picker-1').val();
  237. if (start_date.trim().length<=0) {
  238. // alert('请选择开始日期!!!');return;
  239. }
  240. //结束日期
  241. var end_date=$('#id-date-picker-2').val();
  242. if (end_date.trim().length<=0) {
  243. // alert('请选择结束日期');return;
  244. }
  245. alert('非空判断一切正常-----点击了查询');
  246. var myURL='./json/jsonChannelChart.html?select_status='+select_status+'&prod='+prod+'&start_date='+start_date+'&end_date='+end_date;
  247. var myURL2='./channelChart.html?select_status='+select_status+'&prod='+prod+'&start_date='+start_date+'&end_date='+end_date;
  248. get_virtual_user_list(myURL,myURL2);
  249. });
  250. });
  251. function getPar(par){
  252. //获取当前URL
  253. var local_url = document.location.href;
  254. local_url = decodeURI(local_url);
  255. //获取要取得的get参数位置
  256. var get = local_url.indexOf(par +"=");
  257. if(get == -1){
  258. return false;
  259. }
  260. //截取字符串
  261. var get_par = local_url.slice(par.length + get + 1);
  262. //判断截取后的字符串是否还有其他get参数
  263. var nextPar = get_par.indexOf("&");
  264. if(nextPar != -1){
  265. get_par = get_par.slice(0, nextPar);
  266. }
  267. return get_par;
  268. }
  269. window.onload=function() {
  270. carChartStr = $('#channelChart').html();
  271. trcode1Str = $('#tr_one').prop('outerHTML');
  272. trcode2Str = $('#tr_two').prop('outerHTML');
  273. trcode3Str = $('#tr_three').prop('outerHTML');
  274. trfinalStr = $('#tr_final').prop('outerHTML');
  275. $('#id-date-picker-1').val(getDateTime(0));
  276. var select_status=getPar('select_status');
  277. var prod=getPar('prod');
  278. var start_date=getPar('start_date');
  279. var end_date=getPar('end_date');
  280. if (select_status&&prod&&start_date&&end_date) {
  281. $("#select_status option:selected").val(select_status);
  282. $('#prod').val(prod);
  283. $('#start_date').val(start_date);
  284. $('#end_date').val(end_date);
  285. var myURL='./json/jsonChannelChart.html?select_status='+select_status+'&prod='+prod+'&start_date='+start_date+'&end_date='+end_date;
  286. var myURL2='./channelChart.html?select_status='+select_status+'&prod='+prod+'&start_date='+start_date+'&end_date='+end_date;
  287. get_virtual_user_list(myURL,myURL2);
  288. }
  289. }
  290. /*======================网络请求的Ajax的代码=======================*/
  291. // 创建一个Ajax对象
  292. if (window.ActiveXObject) {
  293. var myreq = new ActiveXObject("Microsoft.XMLHTTP");
  294. } else {
  295. var myreq = new XMLHttpRequest();
  296. }
  297. // 请求方法,传入URL
  298. function get_virtual_user_list(myURL,myURL2) {
  299. var tnowtime = getDateTime(4);
  300. if (myURL.indexOf('?')>=0) {
  301. myURL += '&tt=' + tnowtime;
  302. }else{
  303. myURL += '?tt=' + tnowtime;
  304. }
  305. myreq.open("get", myURL, true);
  306. // 接收的数据交给哪个函数处理
  307. myreq.onreadystatechange = function(){
  308. if (myreq.readyState == 4) {
  309. // newstr 就是接收到的数据
  310. var newstr = myreq.responseText;
  311. var httpData = eval('('+newstr+')');
  312. reload_Info(httpData,myURL2);
  313. }
  314. };
  315. myreq.send();
  316. }
  317. function getDateTime(nTypeFlag) {
  318. var tNowTime = new Date();
  319. var myYear = ';' + tNowTime.getFullYear() + ';';
  320. var myMonth = ';' + (tNowTime.getMonth() + 1 - 0) + ';';
  321. var myDay = ';' + tNowTime.getDate() + ';';
  322. var myHour = ';' + tNowTime.getHours() + ';';
  323. var myMinu = ';' + tNowTime.getMinutes() + ';';
  324. var mySecond = ';' + tNowTime.getSeconds() + ';';
  325. if (myMonth.length < 4) myMonth = '0' + myMonth;
  326. if (myDay.length < 4) myDay = '0' + myDay;
  327. if (myHour.length < 4) myHour = '0' + myHour;
  328. if (myMinu.length < 4) myMinu = '0' + myMinu;
  329. if (mySecond.length < 4) mySecond = '0' + mySecond;
  330. var cNewTimeStr;
  331. //alert(tNowTime);
  332. switch (nTypeFlag + 1 - 1) {
  333. case 0:
  334. cNewTimeStr = myYear + '-' + myMonth + '-' + myDay;
  335. break;
  336. case 1:
  337. cNewTimeStr = myYear + myMonth + myDay;
  338. break;
  339. case 2:
  340. cNewTimeStr = myHour + ':' + myMinu + ':' + mySecond;
  341. break;
  342. case 3:
  343. cNewTimeStr = myHour + myMinu + mySecond;
  344. break;
  345. case 4:
  346. cNewTimeStr = myYear + myMonth + myDay + myHour + myMinu + mySecond;
  347. break;
  348. case 5:
  349. cNewTimeStr = myYear + '年' + myMonth + '月' + myDay + '日';
  350. break;
  351. case 6:
  352. cNewTimeStr = myYear;
  353. break;
  354. case 7:
  355. cNewTimeStr = myYear + '-' + myMonth;
  356. break;
  357. default:
  358. cNewTimeStr = myYear + '-' + myMonth + '-' + myDay + ' ' + myHour + ':' + myMinu + ':' + mySecond;
  359. break;
  360. }
  361. cNewTimeStr = cNewTimeStr.replace(/;/g, "");
  362. return cNewTimeStr;
  363. }