VM暫存
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

result_page.php 15KB

il y a 8 ans
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439
  1. <!DOCTYPE html>
  2. <html lang="zh-TW">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <meta name="description" content="">
  8. <meta name="author" content="">
  9. <title>歐特儀自動化服務機</title>
  10. <!-- Bootstrap Core CSS -->
  11. <link href="<?=BOOTSTRAPS?>bower_components/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
  12. <!-- MetisMenu CSS -->
  13. <link href="<?=BOOTSTRAPS?>bower_components/metisMenu/dist/metisMenu.min.css" rel="stylesheet">
  14. <!-- Timeline CSS -->
  15. <link href="<?=BOOTSTRAPS?>dist/css/timeline.css" rel="stylesheet">
  16. <!-- Custom CSS -->
  17. <link href="<?=BOOTSTRAPS?>dist/css/sb-admin-3.css" rel="stylesheet">
  18. <!-- Morris Charts CSS -->
  19. <link href="<?=BOOTSTRAPS?>bower_components/morrisjs/morris.css" rel="stylesheet">
  20. <!-- Custom Fonts -->
  21. <link href="<?=BOOTSTRAPS?>bower_components/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
  22. </head>
  23. <body style="font-family:Microsoft JhengHei;">
  24. <div id="wrapper">
  25. <div id="page-wrapper"><?php /* 主要資料顯示區 */ ?>
  26. <div class="row">
  27. <div class="col-lg-12">
  28. <h1 class="page-header">歐特儀自動化服務機</h1><?php /* 右側小表頭 */ ?>
  29. </div>
  30. <!-- /.col-lg-12 -->
  31. </div>
  32. <!-- /.row -->
  33. <?php /* ----- 查詢結果 ----- */ ?>
  34. <div data-items="not_found" class="row">
  35. <div class="col-lg-6">
  36. <div class="panel panel-default">
  37. <div class="panel-heading" style="font-size:28px;"><?php /* 資料顯示區灰色小表頭 */ ?>
  38. 查車結果:查無 <span id="not_found_lpr" style="font-size:28px;color:blue;"></span> 在席資料
  39. </div>
  40. </div>
  41. </div>
  42. </div>
  43. <?php /* ----- 查詢結果 ----- */ ?>
  44. <div data-items="output_pks" class="row" style="display:none;">
  45. <div class="col-lg-6">
  46. <div class="panel panel-default">
  47. <div class="panel-heading" style="font-size:28px;"><?php /* 資料顯示區灰色小表頭 */ ?>
  48. 查車結果
  49. </div>
  50. <div class="panel-body" style="margin: 0px auto;">
  51. <div data-rows class="row">
  52. <div class="col-lg-12" style="margin: 0px auto;">
  53. <table class="table table-striped table-bordered table-hover"">
  54. <tbody style="font-size:28px;">
  55. <tr>
  56. <td style="text-align:right;vertical-align: middle;">車號</td>
  57. <td id="show_lpr" style="text-align:left;vertical-align: middle;"></td>
  58. </tr>
  59. <tr>
  60. <td style="text-align:right;vertical-align: middle;">所在樓層</td>
  61. <td id="show_floors" style="text-align:left;vertical-align: middle; font-size:28px; color:blue;"></td>
  62. </tr>
  63. <tr>
  64. <td style="text-align:right;vertical-align: middle;">停入時間</td>
  65. <td id="show_update_time" style="text-align:left;vertical-align: middle;"></td>
  66. </tr>
  67. <!--tr>
  68. <td colspan="2" style="text-align:center;vertical-align: middle;">
  69. <button type="button" class="btn btn-large btn-success pull-right" style="font-size:28px;" onclick="show_item('input_lpr');">結束查詢</button>
  70. </td>
  71. </tr-->
  72. </tbody>
  73. </table>
  74. </div>
  75. <!-- /.col-lg-6 (nested) -->
  76. </div>
  77. <!-- /.row (nested) -->
  78. </div>
  79. <!-- /.panel-body -->
  80. </div>
  81. <!-- /.panel -->
  82. </div>
  83. <div class="col-lg-6">
  84. <div class="panel panel-default">
  85. <div class="panel-heading" style="font-size:28px;">
  86. 在席照片
  87. </div>
  88. </div>
  89. <div class="panel-body" style="margin: 0px auto;">
  90. <div class="col-lg-12" style="margin: 0px auto;">
  91. <table class="table table-striped table-bordered table-hover"">
  92. <tbody>
  93. <tr>
  94. <td colspan="2" style="text-align:center;vertical-align: middle;">
  95. <img id="show_img" height="280" width="400" />
  96. </td>
  97. </tr>
  98. </tbody>
  99. </table>
  100. </div>
  101. </div>
  102. </div>
  103. <!-- /.col-lg-12 -->
  104. </div>
  105. <!-- /#page-wrapper -->
  106. </div>
  107. <!-- /#wrapper -->
  108. <!-- jQuery -->
  109. <script src="<?=BOOTSTRAPS?>bower_components/jquery/dist/jquery.min.js"></script>
  110. <!-- Bootstrap Core JavaScript -->
  111. <script src="<?=BOOTSTRAPS?>bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
  112. <!-- Metis Menu Plugin JavaScript -->
  113. <script src="<?=BOOTSTRAPS?>bower_components/metisMenu/dist/metisMenu.min.js"></script>
  114. <!-- Morris Charts JavaScript -->
  115. <script src="<?=BOOTSTRAPS?>bower_components/raphael/raphael-min.js"></script>
  116. <!--script src="<?=BOOTSTRAPS?>bower_components/morrisjs/morris.min.js"></script-->
  117. <!--script src="<?=BOOTSTRAPS?>js/morris-data.js"></script-->
  118. <!-- virtual keyboard -->
  119. <link href="<?=WEB_LIB?>virtual-keyboard/css/jquery-ui.min.css" rel="stylesheet">
  120. <link href="<?=WEB_LIB?>virtual-keyboard/css/keyboard.css" rel="stylesheet">
  121. <script src="<?=WEB_LIB?>virtual-keyboard/js/jquery-ui.min.js"></script>
  122. <script src="<?=WEB_LIB?>virtual-keyboard/js/jquery.keyboard.js"></script>
  123. <script src="<?=WEB_LIB?>virtual-keyboard/js/jquery.keyboard.extension-caret.js"></script>
  124. <!-- alertify -->
  125. <link href="<?=WEB_LIB?>css/alertify.core.css" rel="stylesheet">
  126. <link href="<?=WEB_LIB?>css/alertify.bootstrap.css" rel="stylesheet">
  127. <script src="<?=WEB_LIB?>js/alertify.min.js"></script>
  128. <!-- moment -->
  129. <script src="<?=WEB_LIB?>js/moment.min.js"></script>
  130. <!-- jQuery validate -->
  131. <script src="<?=WEB_LIB?>form-validator/jquery.form-validator.min.js"></script>
  132. <!-- Custom Theme JavaScript -->
  133. <script src="<?=BOOTSTRAPS?>dist/js/sb-admin-2.js"></script>
  134. <div id="works" style="display:none;"></div><?php /* 作為浮動顯示區之用 */ ?>
  135. </body>
  136. </html>
  137. <script>
  138. <?php /* alertify function */ ?>
  139. function alertify_count_down($msg, $delay)
  140. {
  141. alertify.set({delay : $delay});
  142. alertify.log($msg);
  143. }
  144. function alertify_log($msg)
  145. {
  146. alertify.set({delay : 2000});
  147. alertify.log($msg);
  148. }
  149. function alertify_error($msg)
  150. {
  151. alertify.set({delay : 2000});
  152. alertify.error($msg);
  153. }
  154. function alertify_success($msg)
  155. {
  156. alertify.set({delay : 2000});
  157. alertify.success($msg);
  158. }
  159. function alertify_msg($msg)
  160. {
  161. alertify.set({ labels: {
  162. ok : "確定"
  163. } });
  164. alertify.alert($msg, function (e){
  165. // do nothing
  166. });
  167. }
  168. function reset_query()
  169. {
  170. $("#fuzzy_input").val("");
  171. $("#carin_query_list").hide();
  172. return false;
  173. }
  174. // 取得搜尋結果
  175. var PKS_RESULT = {};
  176. PKS_RESULT.lpr = '<?= $lpr; ?>';
  177. PKS_RESULT.pksno = '<?= $pksno; ?>';
  178. PKS_RESULT.pic_name = '<?= $pic_name; ?>';
  179. PKS_RESULT.update_time = '<?= $update_time; ?>';
  180. PKS_RESULT.in_time = '<?= $in_time; ?>';
  181. PKS_RESULT.posx = '<?= $posx; ?>';
  182. PKS_RESULT.posy = '<?= $posy; ?>';
  183. PKS_RESULT.group_id = '<?= $group_id; ?>';
  184. PKS_RESULT.group_name = '<?= $group_name; ?>';
  185. PKS_RESULT.floors = '<?= $floors; ?>';
  186. if(PKS_RESULT.pksno == '')
  187. {
  188. $("#not_found_lpr").text(PKS_RESULT.lpr);
  189. show_item("not_found");
  190. }
  191. else
  192. {
  193. $("#show_lpr").text(PKS_RESULT.lpr);
  194. $("#show_floors").html(PKS_RESULT.group_name+"<br/> ( 車格: " + PKS_RESULT.pksno.substr(-3, 3) +" )");
  195. $("#show_update_time").text(PKS_RESULT.in_time);
  196. $("#show_img").attr("src", "<?=SERVER_URL?>pkspic/" + PKS_RESULT.pic_name);
  197. // 顯示查車結果
  198. show_item("output_pks");
  199. }
  200. var refreshIntervalId = 0; // timer id
  201. <?php /* 顯示指定項目 */ ?>
  202. function show_item(tags)
  203. {
  204. // 查車
  205. reset_query();
  206. // 付款
  207. $("#payment_lpr").val("");<?php /* 清除車號欄位 */ ?>
  208. $("#show_member_name").val("");
  209. $("#show_payment_lpr").val("");
  210. $("#show_end_date").val("");
  211. $("#show_next_start").val("");
  212. $("#show_next_end").val("");
  213. $("#show_amt").val("");
  214. $("#invoice_receiver").val("");
  215. $("#company_no").val("");
  216. $("#email").val("");
  217. $("#mobile").val("");
  218. $("#show_order_no").val("");
  219. $("#show_amt_detail").val("");
  220. $("#show_balance_time_limit_countdown").val("");
  221. if(tags.indexOf('payment_data') < 0 && tags.indexOf('price_data') < 0){
  222. clearInterval(refreshIntervalId); // 消除倒數計時timer
  223. }
  224. $("[data-items]").hide();
  225. $("[data-items="+tags+"]").show();
  226. return false;
  227. }
  228. <?php /* 顯示指定項目, 不修改資料 */ ?>
  229. function show_item_without_change(tags)
  230. {
  231. $("[data-items]").hide();
  232. $("[data-items="+tags+"]").show();
  233. return false;
  234. }
  235. // 查車牌
  236. function check_lpr(idx)
  237. {
  238. $.ajax
  239. ({
  240. url: "<?=APP_URL?>q_pks",
  241. dataType:"json",
  242. type:"post",
  243. data:{ "lpr" : $("#lpr_"+idx).text() },
  244. success:function(jdata)
  245. {
  246. if(!jdata)
  247. {
  248. //alertify_msg("您的愛車可能在頂樓! 謝謝");
  249. alertify_msg("找不到。。謝謝");
  250. return false;
  251. }
  252. else if (jdata["pksno"] == "0")
  253. {
  254. alertify_msg("查無資料,請鍵入正確資料");
  255. return false;
  256. }
  257. $("#show_lpr").text($("#lpr_"+idx).text());
  258. //$("#show_floors").html(jdata["group_name"]+"<br/> ( 車格: " + jdata["pksno"].charAt(0) + "-" + jdata["pksno"].substr(2) +" )");
  259. //$("#show_floors").html(jdata["group_name"]+"<br/> ( 車格: " + jdata["pksno"] +" )");
  260. $("#show_floors").html(jdata["group_name"]+"<br/> ( 車格: " + jdata["pksno"].substr(-3, 3) +" )");
  261. $("#show_update_time").text(jdata["in_time"]);
  262. $("#show_img").attr("src", "<?=SERVER_URL?>pkspic/"+jdata["pic_name"]);
  263. show_item("output_pks");
  264. // 顯示位置圖
  265. if (jdata["group_id"]){
  266. //var groupSplit = jdata["group_id"].split('-'); // ex. B3-3
  267. //var floor = groupSplit[0];
  268. var floor = jdata["floors"];
  269. var x = jdata["posx"];
  270. var y = jdata["posy"];
  271. // 畫出指定位置
  272. AltobObject.AtsMap.drawPosition(floor, x, y);
  273. // show map
  274. $("[data-items="+floor+"]").show();
  275. }
  276. }
  277. });
  278. return false;
  279. }
  280. $(document).ready(function()
  281. {
  282. <?php /* 鎖右鍵 */ ?>
  283. $(document).bind('contextmenu', function (e) {
  284. e.preventDefault();
  285. });
  286. <?php /* 車牌模糊搜尋 */ ?>
  287. $("#fuzzy_search_lpr").submit(function(event)
  288. {
  289. event.preventDefault();
  290. // 清除搜尋提示訊息
  291. $("#fuzzy_search_lpr_msg").text('');
  292. if(! $("#fuzzy_search_lpr").isValid()) return false;
  293. $.ajax
  294. ({
  295. url: "<?=APP_URL?>q_fuzzy_pks",
  296. type: "post",
  297. dataType:"json",
  298. data: $(this).serialize(),
  299. success: function(jdata)
  300. {
  301. if (!jdata)
  302. {
  303. //alert("查無此車 !");
  304. $("#fuzzy_search_lpr_msg").text('查無此車');
  305. return false;
  306. }
  307. // 清除搜尋提示訊息
  308. $("#fuzzy_search_lpr_msg").text('');
  309. var tmp_str_array = [];
  310. for(idx in jdata.result)
  311. {
  312. tmp_str_array = tmp_str_array.concat(
  313. [
  314. "<tr><td id='lpr_", idx, "' style='text-align:center;vertical-align:middle;'>", jdata.result[idx]['lpr'] ,
  315. "</td><td id='in_time_", idx, "'style='text-align:center;vertical-align:middle;'>", jdata.result[idx]['in_time'],
  316. "</td><td id='pks_pic_path_", idx, "'style='text-align:center;vertical-align:middle;'><img height='57' width='150' src='", jdata.result[idx]['pks_pic_path'], "' />",
  317. "</td><td style='text-align:center;vertical-align:middle;'><button class='btn btn-large btn-success' style='font-size:28px;' onclick='check_lpr(", idx, ");'>查詢</button>" ,
  318. "</td></tr>"
  319. ]);
  320. }
  321. $("#carin_query_tbody").html(tmp_str_array.join(''));
  322. $("#carin_query_list").show();
  323. }
  324. });
  325. });
  326. // Custom: altob-input
  327. // ********************
  328. $('#fuzzy_input').keyboard({
  329. css : {
  330. // input & preview styles
  331. input : 'ui-widget-content ui-corner-all',
  332. // keyboard container - this wraps the preview area (if `usePreview` is true) and all keys
  333. container : 'ui-widget-content ui-widget ui-corner-all ui-helper-clearfix',
  334. // default keyboard button state, these are applied to all keys, the remaining css options are toggled as needed
  335. buttonDefault : 'ui-state-default ui-corner-all',
  336. // hovered button
  337. buttonHover : 'ui-state-hover',
  338. // Action keys (e.g. Accept, Cancel, Tab, etc); this replaces the "actionClass" option
  339. buttonAction : 'ui-state-active',
  340. // used when disabling the decimal button {dec} when a decimal exists in the input area
  341. buttonDisabled : 'ui-state-disabled'
  342. },
  343. display: {
  344. 'bksp' : '\u2190',
  345. 'default' : 'ABC',
  346. 'accept' : '確 認'
  347. },
  348. layout: 'custom',
  349. customLayout: {
  350. 'default': [
  351. '1 2 3 4 5 6 7 8 9 0 {bksp}',
  352. 'Q W E R T Y U I O P',
  353. 'A S D F G H J K L',
  354. 'Z X C V B N M {accept}'
  355. ]
  356. }
  357. });
  358. // 定時自動更新頁面
  359. (function autoReloadPage(){
  360. var pageReloadTimeMillis = 60000; // 頁面, 自動重新載入週期 ( 1 min )
  361. var pageCheckReloadTimeMillis = 10000; // 頁面, 判斷重新載入週期 ( 10 sec )
  362. var pageShowReloadTimeMillis = 50000; // 頁面, 開始顯示倒數週期 ( 50 sec )
  363. var aliveTime = moment();
  364. var countdownTimeMillis = pageReloadTimeMillis;
  365. $(document.body).bind("mousemove keypress", function(e) {
  366. aliveTime = moment();
  367. countdownTimeMillis = pageReloadTimeMillis;
  368. });
  369. function refresh() {
  370. if(moment() - aliveTime >= pageReloadTimeMillis) // 如果頁面沒動作, 才更新
  371. window.location.reload(true);
  372. else{
  373. countdownTimeMillis -= pageCheckReloadTimeMillis;
  374. if(countdownTimeMillis < pageCheckReloadTimeMillis)
  375. {
  376. alertify_count_down("重新載入中..請稍候..", pageCheckReloadTimeMillis);
  377. }
  378. else if(countdownTimeMillis < pageShowReloadTimeMillis){
  379. alertify_count_down("倒數: " + (countdownTimeMillis / 1000) + " 秒, 重新載入畫面..", pageCheckReloadTimeMillis);
  380. }
  381. setTimeout(refresh, pageCheckReloadTimeMillis);
  382. }
  383. }
  384. setTimeout(refresh, pageCheckReloadTimeMillis);
  385. })();
  386. });
  387. </script>