VM暫存
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.

149 lines
6.1KB

  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. reload_price_plan_query_all();
  32. // 載入
  33. function reload_price_plan_query_all()
  34. {
  35. $("#price_plan_list").html("");<?php /* 清除原內容 */ ?>
  36. $.ajax
  37. ({
  38. url: "<?=APP_URL?>price_plan_query_all",
  39. type: "post",
  40. dataType:"json",
  41. data: {},
  42. success: function(jdata)
  43. {
  44. var member_list = [];
  45. for(idx in jdata)
  46. {
  47. txid = jdata[idx]['txid'];
  48. member_list = member_list.concat(["<tr><td style='text-align:left;'>", st[jdata[idx]['station_no']], "</td>"]);
  49. var price_plan_content = [];
  50. if(jdata[idx]['tx_type'] == 0)
  51. {
  52. price_plan_name = "臨停費率";
  53. //jdata[idx]['price_plan'];
  54. }
  55. else
  56. {
  57. price_plan_name = "月租費率";
  58. target = JSON.parse(jdata[idx]['price_plan']);
  59. Object.keys(target)
  60. .sort(
  61. function(a,b){
  62. attr_a = a.split('_');
  63. attr_b = b.split('_');
  64. if(parseInt(attr_a[0], 10) > parseInt(attr_b[0], 10)) return 1;
  65. if(parseInt(attr_a[0], 10) < parseInt(attr_b[0], 10)) return -1;
  66. if(parseInt(attr_a[1], 10) > parseInt(attr_b[1], 10)) return 1;
  67. if(parseInt(attr_a[1], 10) < parseInt(attr_b[1], 10)) return -1;
  68. return 0;
  69. }
  70. )
  71. .forEach(function(k, i)
  72. {
  73. //console.log(k, target[k]);
  74. period_idx = k.split("_")[0];
  75. mem_idx = k.split("_")[1];
  76. if(k == '0_0')
  77. {
  78. price_plan_content = price_plan_content.concat(['*月租押金:', target[k], ' 元']);
  79. }
  80. else if(mem_idx == '0')
  81. {
  82. idx_period_name = (period_name[period_idx] == undefined) ? '繳期 ' + period_idx : period_name[period_idx];
  83. price_plan_content = price_plan_content.concat(['<br/> * [ ', idx_period_name, ' : ', target[k], ' 天 ] ']);
  84. }
  85. else
  86. {
  87. idx_mem_attr = (mem_attr[mem_idx] == undefined) ? '?? (' + mem_idx + ')': mem_attr[mem_idx];
  88. price_plan_content = price_plan_content.concat([' > ', idx_mem_attr, ":", target[k], ' 元 ']);
  89. }
  90. price_plan_content = price_plan_content.concat(['<br/>']);
  91. });
  92. }
  93. member_list = member_list.concat(["<td style='color:green;text-align:center;' id='tx_type_", txid, "'>", price_plan_name ,"</td>"]);
  94. member_list = member_list.concat(["<td style='color:blue;text-align:left;' id='price_plan_", txid, "'>", price_plan_content.join('') , "</td>"]);
  95. member_list = member_list.concat(["<td style='color:green;text-align:left;' id='remarks_", txid, "'>", jdata[idx]['remarks'], "</td>"]);
  96. member_list = member_list.concat(["<td id='start_time_", txid, "' style='text-align:center;'>", jdata[idx]['start_time'], "</td>"]);
  97. member_list = member_list.concat(["<td id='valid_time_", txid, "' style='text-align:center;'>", jdata[idx]['valid_time'], "</td>"]);
  98. member_list = member_list.concat(["</tr>"]);
  99. }
  100. $("#price_plan_list").append(member_list.join(''));
  101. }
  102. });
  103. }
  104. // 同步場站費率
  105. function sync_price_plan()
  106. {
  107. $.ajax
  108. ({
  109. url:APP_URL + "sync_price_plan",
  110. dataType:"text",
  111. type:"post",
  112. data: {},
  113. error:function(xhr, ajaxOptions, thrownError)
  114. {
  115. alertify_msg(xhr.responseText);
  116. console.log("error:"+xhr.responseText+"|"+ajaxOptions+"|"+thrownError);
  117. },
  118. success:function(jdata)
  119. {
  120. if (jdata == "ok")
  121. {
  122. alertify_msg("同步成功 ! ");
  123. reload_price_plan_query_all();
  124. }
  125. else if (jdata == "sync_fail")
  126. {
  127. alertify_msg("同步失敗");
  128. }
  129. else
  130. {
  131. alertify_msg("同步失敗 !");
  132. }
  133. }
  134. });
  135. }
  136. </script>