VM暫存
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

147 lines
6.0KB

  1. <?php /* ----- 費率清單 ----- */?>
  2. <div data-items="price_plan_query_all" class="row" style="display:none;">
  3. <div class="col-lg-12">
  4. <div class="panel panel-default">
  5. <div class="panel-heading">
  6. 費率設定 <button class='btn btn-default' style='font-size:16px;' onclick='sync_price_plan();'>更新</button>
  7. </div>
  8. <!-- /.panel-heading -->
  9. <div class="panel-body">
  10. <div class="dataTable_wrapper">
  11. <table class="table table-striped table-bordered table-hover">
  12. <thead>
  13. <tr>
  14. <th style="text-align:left;">場站</th>
  15. <th style="text-align:left;">收費類型</th>
  16. <th style="text-align:left;" width="35%">費率設定</th>
  17. <th style="text-align:left;">註記事項</th>
  18. <th style="text-align:center;">啟用時間</th>
  19. <th style="text-align:center;">有效期限</th>
  20. </tr>
  21. </thead>
  22. <tbody id="price_plan_list" style="font-size:20px;"></tbody>
  23. </table>
  24. </div><?php /* ----- end of dataTable_wrapper ----- */?>
  25. </div><?php /* ----- end of panel-body ----- */?>
  26. </div><?php /* ----- end of panel panel-default ----- */?>
  27. </div><?php /* ----- end of col-lg-12 ----- */?>
  28. </div>
  29. <?php /* ----- 費率清單(結束) ----- */?>
  30. <script>
  31. // 載入
  32. function reload_price_plan_query_all()
  33. {
  34. $("#price_plan_list").html("");<?php /* 清除原內容 */ ?>
  35. $.ajax
  36. ({
  37. url: "<?=APP_URL?>price_plan_query_all",
  38. type: "post",
  39. dataType:"json",
  40. data: {},
  41. success: function(jdata)
  42. {
  43. var member_list = [];
  44. for(idx in jdata)
  45. {
  46. txid = jdata[idx]['txid'];
  47. member_list = member_list.concat(["<tr><td style='text-align:left;'>", st[jdata[idx]['station_no']], "</td>"]);
  48. var price_plan_content = [];
  49. if(jdata[idx]['tx_type'] == 0)
  50. {
  51. price_plan_name = "臨停費率";
  52. //jdata[idx]['price_plan'];
  53. }
  54. else
  55. {
  56. price_plan_name = "月租費率";
  57. target = JSON.parse(jdata[idx]['price_plan']);
  58. Object.keys(target)
  59. .sort(
  60. function(a,b){
  61. attr_a = a.split('_');
  62. attr_b = b.split('_');
  63. if(parseInt(attr_a[0], 10) > parseInt(attr_b[0], 10)) return 1;
  64. if(parseInt(attr_a[0], 10) < parseInt(attr_b[0], 10)) return -1;
  65. if(parseInt(attr_a[1], 10) > parseInt(attr_b[1], 10)) return 1;
  66. if(parseInt(attr_a[1], 10) < parseInt(attr_b[1], 10)) return -1;
  67. return 0;
  68. }
  69. )
  70. .forEach(function(k, i)
  71. {
  72. //console.log(k, target[k]);
  73. period_idx = k.split("_")[0];
  74. mem_idx = k.split("_")[1];
  75. if(k == '0_0')
  76. {
  77. price_plan_content = price_plan_content.concat(['*月租押金:', target[k], ' 元']);
  78. }
  79. else if(mem_idx == '0')
  80. {
  81. idx_period_name = (period_name[period_idx] == undefined) ? '繳期 ' + period_idx : period_name[period_idx];
  82. price_plan_content = price_plan_content.concat(['<br/> * [ ', idx_period_name, ' : ', target[k], ' 天 ] ']);
  83. }
  84. else
  85. {
  86. idx_mem_attr = (mem_attr[mem_idx] == undefined) ? '?? (' + mem_idx + ')': mem_attr[mem_idx];
  87. price_plan_content = price_plan_content.concat([' > ', idx_mem_attr, ":", target[k], ' 元 ']);
  88. }
  89. price_plan_content = price_plan_content.concat(['<br/>']);
  90. });
  91. }
  92. member_list = member_list.concat(["<td style='color:green;text-align:center;' id='tx_type_", txid, "'>", price_plan_name ,"</td>"]);
  93. member_list = member_list.concat(["<td style='color:blue;text-align:left;' id='price_plan_", txid, "'>", price_plan_content.join('') , "</td>"]);
  94. member_list = member_list.concat(["<td style='color:green;text-align:left;' id='remarks_", txid, "'>", jdata[idx]['remarks'], "</td>"]);
  95. member_list = member_list.concat(["<td id='start_time_", txid, "' style='text-align:center;'>", jdata[idx]['start_time'], "</td>"]);
  96. member_list = member_list.concat(["<td id='valid_time_", txid, "' style='text-align:center;'>", jdata[idx]['valid_time'], "</td>"]);
  97. member_list = member_list.concat(["</tr>"]);
  98. }
  99. $("#price_plan_list").append(member_list.join(''));
  100. }
  101. });
  102. }
  103. // 同步場站費率
  104. function sync_price_plan()
  105. {
  106. $.ajax
  107. ({
  108. url:APP_URL + "sync_price_plan",
  109. dataType:"text",
  110. type:"post",
  111. data: {},
  112. error:function(xhr, ajaxOptions, thrownError)
  113. {
  114. alertify_msg(xhr.responseText);
  115. console.log("error:"+xhr.responseText+"|"+ajaxOptions+"|"+thrownError);
  116. },
  117. success:function(jdata)
  118. {
  119. if (jdata == "ok")
  120. {
  121. alertify_msg("同步成功 ! ");
  122. reload_price_plan_query_all();
  123. }
  124. else if (jdata == "sync_fail")
  125. {
  126. alertify_msg("同步失敗");
  127. }
  128. else
  129. {
  130. alertify_msg("同步失敗 !");
  131. }
  132. }
  133. });
  134. }
  135. </script>