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

436 rindas
14KB

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