VM暫存
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

2382 рядки
115KB

  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-2.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. <style>
  23. .cario_list{text-align:center;vertical-align:middle;}
  24. </style>
  25. </head>
  26. <body style="font-family:Microsoft JhengHei;">
  27. <div id="wrapper">
  28. <!-- Navigation -->
  29. <nav class="navbar navbar-default navbar-static-top" role="navigation" style="margin-bottom: 0">
  30. <div class="navbar-header">
  31. <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
  32. <span class="sr-only">Toggle navigation</span>
  33. <span class="icon-bar"></span>
  34. <span class="icon-bar"></span>
  35. <span class="icon-bar"></span>
  36. </button>
  37. <a class="navbar-brand" href="">歐特儀管理系統</a>
  38. </div>
  39. <!-- /.navbar-top-links(左側選單) -->
  40. <div class="navbar-default sidebar" role="navigation">
  41. <div class="sidebar-nav navbar-collapse">
  42. <ul class="nav" id="side-menu">
  43. <!--li>
  44. <a href="#"><i class="fa fa-edit fa-fw"></i>帳務管理<span class="fa arrow"></span></a>
  45. <ul class="nav nav-second-level">
  46. <li>
  47. <a href="#" onclick="show_item('rent_sync_all', 'rent_sync_all');">全部更新</a>
  48. </li>
  49. <li>
  50. <a href="#" onclick="show_item('rent_sync', 'rent_sync');">單站更新</a>
  51. </li>
  52. <li>
  53. <a href="#" onclick="show_item('rent_report', 'rent_report');">月租日報表</a>
  54. </li>
  55. <li>
  56. <a href="#" onclick="show_item('tx_bill_query', 'tx_bill_query');">行動支付記錄</a>
  57. </li>
  58. <li>
  59. <a href="#" onclick="show_item('tx_bill_ats_query', 'tx_bill_ats_query');">月租繳款機記錄</a>
  60. </li>
  61. </ul>
  62. </li-->
  63. <li>
  64. <a href="#"><i class="fa fa-user fa-fw"></i>現場管理<span class="fa arrow"></span></a>
  65. <ul class="nav nav-second-level">
  66. <li>
  67. <a href="#" onclick="show_item('carin_query', 'carin_query');">出入場記錄</a>
  68. </li>
  69. <li>
  70. <a href="#" onclick="show_item('cario_list', 'cario_list');">進出場現況表</a>
  71. </li>
  72. <li>
  73. <a href="#" onclick="show_item('member_query', 'member_query');">會員現況</a>
  74. </li>
  75. <!--li>
  76. <a href="#" onclick="show_item('reversible_lane', 'reversible_lane');">調撥車道</a>
  77. </li>
  78. <li>
  79. <a href="#" onclick="show_item('member_add', 'member_add');">會員加入</a>
  80. </li>
  81. <li>
  82. <a href="#" onclick="show_item('opendoors', 'opendoors');">出入口開門</a>
  83. </li-->
  84. </ul>
  85. <!-- /.nav-second-level -->
  86. </li>
  87. <li>
  88. <a href="#"><i class="fa fa-user fa-fw"></i>在席管理<span class="fa arrow"></span></a>
  89. <ul class="nav nav-second-level">
  90. <li>
  91. <a href="#" onclick="show_item('pks_group_query', 'pks_group_query');">剩餘車位數</a>
  92. </li>
  93. </ul>
  94. </li>
  95. <li>
  96. <a href="#"><i class="fa fa-user fa-fw"></i>場站設定<span class="fa arrow"></span></a>
  97. <ul class="nav nav-second-level">
  98. <li>
  99. <a href="#" onclick="show_item('station_setting', 'station_setting');">設定檔</a>
  100. </li>
  101. </ul>
  102. </li>
  103. <!--li>
  104. <a href="#"><i class="fa fa-user fa-fw"></i>查核<span class="fa arrow"></span></a>
  105. <ul class="nav nav-second-level">
  106. <li>
  107. <a href="#" onclick="show_item('pks_check', 'pks_check');">在席查核</a>
  108. </li>
  109. <li>
  110. <a href="#" onclick="reset_pks_check();">重設在席查核</a>
  111. </li>
  112. <li>
  113. <a href="#" onclick="show_item('carin_check', 'carin_check');;">入場查核</a>
  114. </li>
  115. </ul>
  116. </li-->
  117. <li>
  118. <a href="#"><i class="fa fa-user fa-fw"></i>報表<span class="fa arrow"></span></a>
  119. <ul class="nav nav-second-level">
  120. <li>
  121. <a href="<?=SERVER_URL?>reports.html/Vghtc_report_month?month=<?php echo date('m',mktime(0,0,0,(date('m')-1),1,date('Y')));?>" target="_blank"><i class="fa fa-user fa-fw"></i>車流量表(日)</a>
  122. </li>
  123. <li>
  124. <a href="<?=SERVER_URL?>reports.html/Vghtc_report_daily?month=<?php echo date('m',mktime(0,0,0,(date('m')-1),1,date('Y')));?>" target="_blank"><i class="fa fa-user fa-fw"></i>車流量表(時)</a>
  125. </li>
  126. <!--li>
  127. <a href="<?=SERVER_URL?>reports.html/Cario_seat_report_day" target="_blank"><i class="fa fa-user fa-fw"></i>停車時間分析表</a>
  128. </li-->
  129. </ul>
  130. </li>
  131. <!--li>
  132. <a href="http://59.124.122.113/login" target="_blank"><i class="fa fa-user fa-fw"></i>QR Code申請列印<span class="fa arrow"></span></a>
  133. </li>
  134. <li>
  135. <a href="http://61.219.172.11:60123/admins_station.html/" target="_blank"><i class="fa fa-user fa-fw"></i>月租系統<span class="fa arrow"></span></a>
  136. </li>
  137. <li>
  138. <a href="http://61.219.172.11:60123/altob_service.html/" target="_blank"><i class="fa fa-user fa-fw"></i>營收回報系統<span class="fa arrow"></span></a>
  139. </li-->
  140. <li>
  141. <a href="#" onclick="logout(event)">登出</a>
  142. </li>
  143. </ul>
  144. </div>
  145. <!-- /.sidebar-collapse -->
  146. </div>
  147. <!-- /.navbar-static-side -->
  148. </nav>
  149. <div id="page-wrapper"><?php /* 主要資料顯示區 */ ?>
  150. <div class="row">
  151. <div class="col-lg-12">
  152. <h1 class="page-header">管理作業</h1><?php /* 右側小表頭 */ ?>
  153. </div>
  154. <!-- /.col-lg-12 -->
  155. </div>
  156. <!-- /.row -->
  157. <?php /* ----- 更新所有場站 ----- */ ?>
  158. <div data-items="rent_sync_all" class="row">
  159. <div class="col-lg-12">
  160. <div class="panel panel-default">
  161. <div class="panel-heading"><?php /* 資料顯示區灰色小表頭 */ ?>
  162. 所有場站更新
  163. </div>
  164. <div class="panel-body">
  165. <div data-rows class="row">
  166. <div class="col-lg-6">
  167. <form role="form" method="post" id="rent_sync_all" action="<?=APP_URL?>rent_sync">
  168. <div class="form-group">
  169. <label>開始日期</label>
  170. <input type="date" name="start_date" class="form-control" />
  171. </div>
  172. <div class="form-group">
  173. <label>結束日期</label>
  174. <input type="date" name="end_date" class="form-control" />
  175. </div>
  176. <input type="hidden" name="station_no" value="0" />
  177. <button type="submit" class="btn btn-default">全部更新</button>
  178. <button type="reset" class="btn btn-default">重填</button>
  179. </form>
  180. </div>
  181. <!-- /.col-lg-6 (nested) -->
  182. </div>
  183. <!-- /.row (nested) -->
  184. <div data-rows class="row"><?php /* ----- 全部更新後的訊息 ----- */ ?>
  185. <div id="msg_rent_sync_all" class="col-lg-6"></div>
  186. </div><?php /* ----- end 全部更新後的訊息 ----- */ ?>
  187. </div>
  188. <!-- /.panel-body -->
  189. </div>
  190. <!-- /.panel -->
  191. </div>
  192. <!-- /.col-lg-12 -->
  193. </div>
  194. <?php /* ----- 更新所有場站(結束) ----- */ ?>
  195. <?php /* ----- 單一場站月租異動同步 ----- */ ?>
  196. <div data-items="rent_sync" class="row" style="display:none;">
  197. <div class="col-lg-12">
  198. <div class="panel panel-default">
  199. <div class="panel-heading"><?php /* 資料顯示區灰色小表頭 */ ?>
  200. 單站更新
  201. </div>
  202. <div class="panel-body">
  203. <div data-rows class="row">
  204. <div class="col-lg-6">
  205. <form role="form" method="post" form_type="rent_sync" action="<?=APP_URL?>rent_sync">
  206. <div class="form-group">
  207. <label>場站</label>
  208. <select name="station_no" class="form-control">
  209. <option value="12109">文中國小</option>
  210. <option>金城</option>
  211. <option>板橋國中</option>
  212. <option>二重疏洪道</option>
  213. <option>中正紀念堂兩廳院</option>
  214. </select>
  215. </div>
  216. <div class="form-group">
  217. <label>開始日期</label>
  218. <input type="date" name="start_date" class="form-control">
  219. </div>
  220. <div class="form-group">
  221. <label>結束日期</label>
  222. <input type="date" name="end_date" class="form-control">
  223. </div>
  224. <button type="submit" class="btn btn-default">單站更新</button>
  225. <button type="reset" class="btn btn-default">重填</button>
  226. </form>
  227. </div>
  228. <!-- /.col-lg-6 (nested) -->
  229. </div>
  230. <!-- /.row (nested) -->
  231. </div>
  232. <!-- /.panel-body -->
  233. </div>
  234. <!-- /.panel -->
  235. </div>
  236. <!-- /.col-lg-12 -->
  237. </div>
  238. <?php /* ----- 單一場站月租異動同步(結束) ----- */ ?>
  239. <?php /* ----- 剩餘車位清單 ----- */ ?>
  240. <div data-items="available_curr" class="row" style="display:none;">
  241. <div class="col-lg-12">
  242. <div class="panel panel-default">
  243. <div class="panel-heading"><?php /* 資料顯示區灰色小表頭 */ ?>
  244. 剩餘車位清單
  245. </div>
  246. <div class="panel-body">
  247. <div data-rows class="row">
  248. <div class="col-lg-12">
  249. <div class="dataTable_wrapper">
  250. <table class="table table-striped table-bordered table-hover">
  251. <thead>
  252. <tr>
  253. <th style="text-align:center;">編號</th>
  254. <th style="text-align:left;">場站名稱</th>
  255. <th style="text-align:right;">總數</th>
  256. <th style="text-align:right;">空位數</th>
  257. <th style="text-align:right;">入場數</th>
  258. <th style="text-align:right;">使用率</th>
  259. </tr>
  260. <tr id="available_curr_wk" style="display:none;"><?php /* 提供即時剩餘車位清單 */ ?>
  261. <td data-tag="station_no" style="text-align:center;vertical-align: middle;"></td>
  262. <td data-tag="name" style="text-align:left;vertical-align: middle;"></td>
  263. <td data-tag="tot_pkg" style="text-align:right;vertical-align: middle;"></td>
  264. <td data-tag="ava_pkg" style="text-align:right;vertical-align: middle;"></td>
  265. <td data-tag="used_pkg" style="text-align:right;vertical-align: middle;"></td>
  266. <td data-tag="ratio_pkg" style="text-align:right;vertical-align: middle;"></td>
  267. </tr>
  268. </thead>
  269. <tbody id="available_curr_tbody" style="font-size:14px;"></tbody>
  270. </table>
  271. </div>
  272. </div>
  273. <!-- /.col-lg-6 (nested) -->
  274. </div>
  275. <?php /* ----- 報表清單(結束) ----- */ ?>
  276. </div>
  277. <!-- /.panel-body -->
  278. </div>
  279. <!-- /.panel -->
  280. </div>
  281. <!-- /.col-lg-12 -->
  282. </div>
  283. <?php /* ----- 剩餘車位清單(結束) ----- */ ?>
  284. <?php /* ----- 剩餘車位設定 ----- */ ?>
  285. <div data-items="available_set" class="row" style="display:none;">
  286. <div class="col-lg-12">
  287. <div class="panel panel-default">
  288. <div class="panel-heading"><?php /* 資料顯示區灰色小表頭 */ ?>
  289. 剩餘車位設定
  290. </div>
  291. <div class="panel-body">
  292. <div data-rows class="row">
  293. <div class="col-lg-12">
  294. <div class="dataTable_wrapper">
  295. <table class="table table-striped table-bordered table-hover">
  296. <thead>
  297. <tr>
  298. <th style="text-align:center;">編號</th>
  299. <th style="text-align:left;">場站名稱</th>
  300. <th style="text-align:left;">總數</th>
  301. <th style="text-align:left;">空位數</th>
  302. <th style="text-align:right;">入場數</th>
  303. <th style="text-align:right;">使用率</th>
  304. <th style="text-align:center;">設定</th>
  305. </tr>
  306. <tr id="available_list" style="display:none;"><?php /* 提供設定剩餘車位設定 */ ?>
  307. <td data-tag="station_no" style="text-align:center;vertical-align: middle;"></td>
  308. <td data-tag="name" style="text-align:left;vertical-align: middle;"></td>
  309. <td data-tag="tot_pkg" style="text-align:left;vertical-align: middle;"></td>
  310. <td data-tag="ava_pkg" style="text-align:left;vertical-align: middle;"></td>
  311. <td data-tag="used_pkg" style="text-align:right;vertical-align: middle;"></td>
  312. <td data-tag="ratio_pkg" style="text-align:right;vertical-align: middle;"></td>
  313. <td data-tag="edits" style="text-align:center;vertical-align: middle;"></td>
  314. </tr>
  315. </thead>
  316. <tbody id="available_tbody" style="font-size:14px;"></tbody>
  317. </table>
  318. </div>
  319. </div>
  320. <!-- /.col-lg-6 (nested) -->
  321. </div>
  322. <?php /* ----- 報表清單(結束) ----- */ ?>
  323. </div>
  324. <!-- /.panel-body -->
  325. </div>
  326. <!-- /.panel -->
  327. </div>
  328. <!-- /.col-lg-12 -->
  329. </div>
  330. <?php /* ----- 剩餘車位設定(結束) ----- */ ?>
  331. <div data-items="member_add" class="row" style="display:none;"><?php /* 會員加入填寫資料 */ ?>
  332. <div class="col-lg-12">
  333. <div class="panel panel-default">
  334. <div id="member_data_type" class="panel-heading">新增會員資料</div><?php /* 資料顯示區灰色小表頭 */ ?>
  335. <div class="panel-body">
  336. <div data-rows class="row">
  337. <div class="col-lg-6">
  338. <form id="member_add" role="form" method="post" action="<?=APP_URL?>member_add">
  339. <div class="form-group">
  340. <label>*場站</label>
  341. <select class="form-control" name="station_no">
  342. <option value="<?=STATION_NO?>" selected>本站</option>
  343. </select>
  344. </div>
  345. <div class="form-group">
  346. <label>*車牌號碼</label>
  347. <input id="ma_lpr" name="lpr" class="form-control" placeholder="限英數字碼" style="text-transform:uppercase" />
  348. <input id="ma_old_lpr" name="old_lpr" type="hidden" />
  349. </div>
  350. <div class="form-group">
  351. <label>eTag</label>
  352. <input id="ma_etag" name="etag" class="form-control" placeholder="限英數字碼" style="text-transform:uppercase">
  353. </div>
  354. <!--div class="form-group">
  355. <label>*租期選項</label><br />
  356. <label class="radio-inline">
  357. <input type="radio" name="period_pay" id="optionsRadiosInline1" value="1" checked>月繳
  358. </label>
  359. <label class="radio-inline">
  360. <input type="radio" name="period_pay" id="optionsRadiosInline2" value="2">雙月繳
  361. </label>
  362. <label class="radio-inline">
  363. <input type="radio" name="period_pay" id="optionsRadiosInline3" value="3">季繳
  364. </label>
  365. </label>
  366. <label class="radio-inline">
  367. <input type="radio" name="period_pay" id="optionsRadiosInline3" value="4">半年繳
  368. </label>
  369. </label>
  370. <label class="radio-inline">
  371. <input type="radio" name="optionsRadiosInline" id="optionsRadiosInline3" value="5">年繳
  372. </label>
  373. </div-->
  374. <div class="form-group">
  375. <label>開始日期</label>
  376. <!--input id="ma_start_date" type="text" name="start_date" class="form-control"
  377. data-validation="length"
  378. data-validation-length="1-20"
  379. data-validation-error-msg="請輸入開始日期"/-->
  380. <!--input id="ma_start_date" type="datetime" name="start_date" class="form-control" /-->
  381. <input id="ma_start_date" type="datetime-local" name="start_date" class="form-control" step="1"/>
  382. </div>
  383. <div class="form-group">
  384. <label>結束日期</label>
  385. <!--input id="ma_end_date" type="text" name="end_date" class="form-control"
  386. data-validation="length"
  387. data-validation-length="1-20"
  388. data-validation-error-msg="請輸入結束日期"/-->
  389. <!--input id="ma_end_date" type="datetime" name="end_date" class="form-control" /-->
  390. <input id="ma_end_date" type="datetime-local" name="end_date" class="form-control" step="1"/>
  391. </div>
  392. <div class="form-group">
  393. <label>*姓名/公司名稱</label>
  394. <input id="ma_member_name" name="member_name" class="form-control">
  395. </div>
  396. <div class="form-group">
  397. <label>*手機</label>
  398. <input id="ma_mobile_no" name='mobile_no' class="form-control">
  399. </div>
  400. <!-- div class="form-group">
  401. <label>電子郵件</label>
  402. <input name='email' class="form-control">
  403. </div>
  404. <div class="form-group">
  405. <label>車型</label>
  406. <input name="car_model" class="form-control">
  407. </div>
  408. <div class="form-group">
  409. <label>顏色</label>
  410. <input name="color" class="form-control">
  411. </div>
  412. <div class="form-group">
  413. <label>年份</label>
  414. <input name="car_year" class="form-control">
  415. </div -->
  416. <div class="form-group">
  417. <label>合約號碼</label>
  418. <input id="ma_contract_no" name="contract_no" class="form-control">
  419. </div>
  420. <div class="form-group">
  421. <label>租金金額</label>
  422. <input id="ma_amt" name="amt" class="form-control">
  423. </div>
  424. <div class="form-group">
  425. <label>身份證號/統一編號</label>
  426. <input id="ma_member_id" name="member_id" class="form-control">
  427. </div>
  428. <div class="form-group">
  429. <label>電話(宅)</label>
  430. <input id="ma_tel_h" name='tel_h' class="form-control">
  431. </div>
  432. <div class="form-group">
  433. <label>電話(公)</label>
  434. <input id="ma_tel_o" name='tel_o' class="form-control">
  435. </div>
  436. <!--div class="form-group">
  437. <label>里名</label>
  438. <input name='village' class="form-control">
  439. </div-->
  440. <div class="form-group">
  441. <label>地址</label>
  442. <input id="ma_addr" name='addr' class="form-control">
  443. </div>
  444. <button type="submit" class="btn btn-default">存檔</button>
  445. <button type="reset" class="btn btn-default">重填</button>
  446. <input id="ma_member_no" type="hidden" name="member_no" value="0" />
  447. </form>
  448. </div>
  449. <!-- /.col-lg-6 (nested) -->
  450. </div>
  451. <!-- /.row (nested) -->
  452. </div>
  453. <!-- /.panel-body -->
  454. </div>
  455. <!-- /.panel -->
  456. </div>
  457. <!-- /.col-lg-12 -->
  458. </div>
  459. <?php /* ----- 會員加入填寫資料(結束) ----- */ ?>
  460. <?php /* ----- 會員查詢 ----- */?>
  461. <div data-items="member_query" class="row" style="display:none;">
  462. <div class="col-lg-12">
  463. <div class="panel panel-default">
  464. <div class="panel-heading">
  465. 會員現況表
  466. </div>
  467. <!-- /.panel-heading -->
  468. <div class="panel-body">
  469. <div class="dataTable_wrapper">
  470. <table class="table table-striped table-bordered table-hover">
  471. <thead>
  472. <tr>
  473. <th style="text-align:left;">車牌</th>
  474. <th style="text-align:left;">姓名</th>
  475. <th style="text-align:center;">手機</th>
  476. <th style="text-align:center;">開始日</th>
  477. <th style="text-align:center;">結束日</th>
  478. <th style="text-align:center;">合約號</th>
  479. <!--th style="text-align:center;">eTag</th>
  480. <th style="text-align:center;">租金</th>
  481. <th style="text-align:center;">功能</th-->
  482. <th style="text-align:center;">有效期限</th>
  483. <th style="text-align:center;">場站編號</th>
  484. <th style="text-align:center;">更新時間</th>
  485. </tr>
  486. </thead>
  487. <tbody id="member_list" style="font-size:14px;"></tbody>
  488. </table>
  489. </div><?php /* ----- end of dataTable_wrapper ----- */?>
  490. </div><?php /* ----- end of panel-body ----- */?>
  491. </div><?php /* ----- end of panel panel-default ----- */?>
  492. </div><?php /* ----- end of col-lg-12 ----- */?>
  493. </div>
  494. <?php /* ----- 會員查詢(結束) ----- */?>
  495. <?php /* ----- 行動支付記錄 ----- */?>
  496. <div data-items="tx_bill_query" class="row" style="display:none;">
  497. <div class="col-lg-12">
  498. <div class="panel panel-default">
  499. <div class="panel-heading">
  500. 行動支付記錄
  501. </div>
  502. <!-- /.panel-heading -->
  503. <div class="panel-body">
  504. <div class="dataTable_wrapper">
  505. <table class="table table-striped table-bordered table-hover">
  506. <thead>
  507. <tr>
  508. <th style="text-align:left;">車牌</th>
  509. <th style="text-align:left;">金額</th>
  510. <th style="text-align:center;">支付訊息</th>
  511. <th style="text-align:center;">支付種類</th>
  512. <th style="text-align:center;">發票號碼</th>
  513. <th style="text-align:center;">入場時間</th>
  514. <th style="text-align:center;">結算時間</th>
  515. <th style="text-align:center;">限時離場</th>
  516. <th style="text-align:center;">發票統編</th>
  517. <th style="text-align:center;">發票信箱</th>
  518. <th style="text-align:center;">發票簡訊</th>
  519. <th style="text-align:center;">交易時間</th>
  520. </tr>
  521. </thead>
  522. <tbody id="tx_bill_list" style="font-size:14px;"></tbody>
  523. </table>
  524. </div><?php /* ----- end of dataTable_wrapper ----- */?>
  525. </div><?php /* ----- end of panel-body ----- */?>
  526. </div><?php /* ----- end of panel panel-default ----- */?>
  527. </div><?php /* ----- end of col-lg-12 ----- */?>
  528. </div>
  529. <?php /* ----- 行動支付記錄(結束) ----- */?>
  530. <?php /* ----- 月租繳款機記錄 ----- */?>
  531. <div data-items="tx_bill_ats_query" class="row" style="display:none;">
  532. <div class="col-lg-12">
  533. <div class="panel panel-default">
  534. <div class="panel-heading">
  535. 月租繳款機記錄
  536. </div>
  537. <!-- /.panel-heading -->
  538. <div class="panel-body">
  539. <div class="dataTable_wrapper">
  540. <table class="table table-striped table-bordered table-hover">
  541. <thead>
  542. <tr>
  543. <th style="text-align:left;">車牌</th>
  544. <th style="text-align:left;">金額</th>
  545. <th style="text-align:center;">支付訊息</th>
  546. <th style="text-align:center;">支付種類</th>
  547. <th style="text-align:center;">發票號碼</th>
  548. <th style="text-align:center;">到期日</th>
  549. <th style="text-align:center;">續期開始日</th>
  550. <th style="text-align:center;">續期到期日</th>
  551. <th style="text-align:center;">會員名稱</th>
  552. <th style="text-align:center;">發票統編</th>
  553. <th style="text-align:center;">發票信箱</th>
  554. <th style="text-align:center;">發票簡訊</th>
  555. <th style="text-align:center;">交易時間</th>
  556. </tr>
  557. </thead>
  558. <tbody id="tx_bill_ats_list" style="font-size:14px;"></tbody>
  559. </table>
  560. </div><?php /* ----- end of dataTable_wrapper ----- */?>
  561. </div><?php /* ----- end of panel-body ----- */?>
  562. </div><?php /* ----- end of panel panel-default ----- */?>
  563. </div><?php /* ----- end of col-lg-12 ----- */?>
  564. </div>
  565. <?php /* ----- 月租繳款機記錄(結束) ----- */?>
  566. <?php /* ----- 出入場記錄 ----- */?>
  567. <div data-items="carin_query" class="row" style="display:none;">
  568. <div class="col-lg-12">
  569. <div class="panel panel-default">
  570. <div class="panel-heading">出入場記錄</div>
  571. <!-- /.panel-heading -->
  572. <div class="panel-body">
  573. <div class="dataTable_wrapper">
  574. <table class="table table-striped table-bordered table-hover">
  575. <tr>
  576. <td style="text-align:right;">車號</td>
  577. <td style="text-align:left;"><input type="text" id="lpr_query" name="lpr_query" class="form-control" style="text-transform:uppercase" placeholder="請至少輸入四碼" /></td>
  578. <td style="text-align:left;"><input type="button" name="lpr_query" value="查詢" onclick="carin_lpr_query();" /></td>
  579. </tr>
  580. <!--tr>
  581. <td style="text-align:right;">時間</td>
  582. <td style="text-align:left;">
  583. <input type="datetime-local" id="carin_time_query" />&nbsp;&nbsp;前後範圍
  584. <select name="minutes_range" id="minutes_range">
  585. <option value="10" selected>10分鐘</option>
  586. <option value="15">15分鐘</option>
  587. <option value="20">20分鐘</option>
  588. <option value="30">30分鐘</option>
  589. </select>
  590. </td>
  591. <td style="text-align:left;"><input type="button" value="查詢" onclick="carin_time_query();" /></td>
  592. </tr-->
  593. <tr>
  594. <td style="text-align:right;">入場<br/>車辨失敗</td>
  595. <td style="text-align:left;">
  596. <input type="datetime-local" id="carin_none_query"/>&nbsp;&nbsp;前後範圍
  597. <select name="hours_range" id="hours_range">
  598. <option value="1" selected>1小時</option>
  599. <option value="3">3小時</option>
  600. <option value="12">12小時</option>
  601. <option value="24">24小時</option>
  602. </select>
  603. </td>
  604. <td style="text-align:left;"><input type="button" value="查詢" onclick="carin_none_query();" /></td>
  605. </tr>
  606. </table>
  607. </div><?php /* ----- end of dataTable_wrapper ----- */?>
  608. <!--div id="carin_query_list" class="dataTable_wrapper" style="display:none;"-->
  609. <div id="carin_query_list" class="dataTable_wrapper">
  610. <table id="lpr_query_list" class="table table-striped table-bordered table-hover">
  611. <thead>
  612. <tr>
  613. <th style="text-align:center;">出入口</th>
  614. <th style="text-align:center;">時間</th>
  615. <th style="text-align:center;">車號</th>
  616. <th style="text-align:center;">eTag</th>
  617. <th style="text-align:center;">車主</th>
  618. <th style="text-align:center;">照片</th>
  619. </tr>
  620. </thead>
  621. <tbody id="carin_query_tbody" style="font-size:14px;"></tbody>
  622. </table>
  623. </div><?php /* ----- end of dataTable_wrapper ----- */?>
  624. </div><?php /* ----- end of panel-body ----- */?>
  625. </div><?php /* ----- end of panel panel-default ----- */?>
  626. </div><?php /* ----- end of col-lg-12 ----- */?>
  627. </div>
  628. <?php /* ----- 出入場記錄(結束) ----- */?>
  629. <?php /* ----- 進出場現況表 ----- */?>
  630. <div data-items="cario_list" class="row" style="display:none;">
  631. <div class="col-lg-12">
  632. <div class="panel panel-default">
  633. <div class="panel-heading">
  634. 進出場現況表
  635. &nbsp;<button id='create_cario_btn' class="btn btn-large btn-success pull-right" style="font-size:16px;" onclick='show_create_cario_dialog();'>手動建檔</button>
  636. </div>
  637. <!-- /.panel-heading -->
  638. <div class="panel-body">
  639. <div class="dataTable_wrapper">
  640. <table class="table table-striped table-bordered table-hover">
  641. <thead>
  642. <tr>
  643. <th style="text-align:center;">出入口</th>
  644. <th style="text-align:center;">時間</th>
  645. <th style="text-align:center;">車號</th>
  646. <th style="text-align:center;">eTag</th>
  647. <th style="text-align:center;">車主</th>
  648. <th style="text-align:center;">照片</th>
  649. </tr>
  650. </thead>
  651. <tbody id="cario_list_tbody" style="font-size:14px;">
  652. <tr id="cario_0">
  653. <td class="cario_list" data-tag="io_name"></td>
  654. <td class="cario_list" data-tag="io_time"></td>
  655. <td class="cario_list" data-tag="lpr"></td>
  656. <td class="cario_list" data-tag="etag"></td>
  657. <td class="cario_list" data-tag="owner"></td>
  658. <td class="cario_list" data-tag="pic_name"><img height="57" width="150" class="resize" /></td>
  659. </tr>
  660. <tr id="cario_1">
  661. <td class="cario_list" data-tag="io_name"></td>
  662. <td class="cario_list" data-tag="io_time"></td>
  663. <td class="cario_list" data-tag="lpr"></td>
  664. <td class="cario_list" data-tag="etag"></td>
  665. <td class="cario_list" data-tag="owner"></td>
  666. <td class="cario_list" data-tag="pic_name"><img height="57" width="150" class="resize" /></td>
  667. </tr>
  668. <tr id="cario_2">
  669. <td class="cario_list" data-tag="io_name"></td>
  670. <td class="cario_list" data-tag="io_time"></td>
  671. <td class="cario_list" data-tag="lpr"></td>
  672. <td class="cario_list" data-tag="etag"></td>
  673. <td class="cario_list" data-tag="owner"></td>
  674. <td class="cario_list" data-tag="pic_name"><img height="57" width="150" class="resize" /></td>
  675. </tr>
  676. <tr id="cario_3">
  677. <td class="cario_list" data-tag="io_name"></td>
  678. <td class="cario_list" data-tag="io_time"></td>
  679. <td class="cario_list" data-tag="lpr"></td>
  680. <td class="cario_list" data-tag="etag"></td>
  681. <td class="cario_list" data-tag="owner"></td>
  682. <td class="cario_list" data-tag="pic_name"><img height="57" width="150" class="resize" /></td>
  683. </tr>
  684. <tr id="cario_4">
  685. <td class="cario_list" data-tag="io_name"></td>
  686. <td class="cario_list" data-tag="io_time"></td>
  687. <td class="cario_list" data-tag="lpr"></td>
  688. <td class="cario_list" data-tag="etag"></td>
  689. <td class="cario_list" data-tag="owner"></td>
  690. <td class="cario_list" data-tag="pic_name"><img height="57" width="150" class="resize" /></td>
  691. </tr>
  692. <tr id="cario_5">
  693. <td class="cario_list" data-tag="io_name"></td>
  694. <td class="cario_list" data-tag="io_time"></td>
  695. <td class="cario_list" data-tag="lpr"></td>
  696. <td class="cario_list" data-tag="etag"></td>
  697. <td class="cario_list" data-tag="owner"></td>
  698. <td class="cario_list" data-tag="pic_name"><img height="57" width="150" class="resize" /></td>
  699. </tr>
  700. <tr id="cario_6">
  701. <td class="cario_list" data-tag="io_name"></td>
  702. <td class="cario_list" data-tag="io_time"></td>
  703. <td class="cario_list" data-tag="lpr"></td>
  704. <td class="cario_list" data-tag="etag"></td>
  705. <td class="cario_list" data-tag="owner"></td>
  706. <td class="cario_list" data-tag="pic_name"><img height="57" width="150" class="resize" /></td>
  707. </tr>
  708. <tr id="cario_7">
  709. <td class="cario_list" data-tag="io_name"></td>
  710. <td class="cario_list" data-tag="io_time"></td>
  711. <td class="cario_list" data-tag="lpr"></td>
  712. <td class="cario_list" data-tag="etag"></td>
  713. <td class="cario_list" data-tag="owner"></td>
  714. <td class="cario_list" data-tag="pic_name"><img height="57" width="150" class="resize" /></td>
  715. </tr>
  716. <tr id="cario_8">
  717. <td class="cario_list" data-tag="io_name"></td>
  718. <td class="cario_list" data-tag="io_time"></td>
  719. <td class="cario_list" data-tag="lpr"></td>
  720. <td class="cario_list" data-tag="etag"></td>
  721. <td class="cario_list" data-tag="owner"></td>
  722. <td class="cario_list" data-tag="pic_name"><img height="57" width="150" class="resize" /></td>
  723. </tr>
  724. <tr id="cario_9">
  725. <td class="cario_list" data-tag="io_name"></td>
  726. <td class="cario_list" data-tag="io_time"></td>
  727. <td class="cario_list" data-tag="lpr"></td>
  728. <td class="cario_list" data-tag="etag"></td>
  729. <td class="cario_list" data-tag="owner"></td>
  730. <td class="cario_list" data-tag="pic_name"><img height="57" width="150" class="resize" /></td>
  731. </tr>
  732. </tbody>
  733. </table>
  734. </div><?php /* ----- end of dataTable_wrapper ----- */?>
  735. </div><?php /* ----- end of panel-body ----- */?>
  736. </div><?php /* ----- end of panel panel-default ----- */?>
  737. </div><?php /* ----- end of col-lg-12 ----- */?>
  738. </div>
  739. <?php /* ----- 進出場現況表(結束) ----- */?>
  740. <?php /* ----- 調撥車道 ----- */?>
  741. <div data-items="reversible_lane" class="row" style="display:none;">
  742. <div class="col-lg-12">
  743. <div class="panel panel-default">
  744. <div class="panel-heading">
  745. 調撥車道
  746. </div>
  747. <!-- /.panel-heading -->
  748. <div class="panel-body">
  749. <div class="dataTable_wrapper">
  750. <form id="lane_form">
  751. <div class="form-group">
  752. <label>第1車道-入&nbsp;&nbsp;&nbsp;</label>
  753. <label class="radio-inline">
  754. <input type="radio" name="lane_0" data-lane_no="0" value="1">啟用
  755. </label>
  756. <label class="radio-inline">
  757. <input type="radio" name="lane_0" data-lane_no="0" value="0">停用
  758. </label>
  759. </div>
  760. <div class="form-group">
  761. <label>第2車道-入&nbsp;&nbsp;&nbsp;</label>
  762. <label class="radio-inline">
  763. <input type="radio" name="lane_1" data-lane_no="1" value="1">啟用
  764. </label>
  765. <label class="radio-inline">
  766. <input type="radio" name="lane_1" data-lane_no="1" value="0">停用 (調撥車道入)
  767. </label>
  768. </div>
  769. <div class="form-group">
  770. <label>第3車道-出&nbsp;&nbsp;&nbsp;</label>
  771. <label class="radio-inline">
  772. <input type="radio" name="lane_2" data-lane_no="2" value="1">啟用
  773. </label>
  774. <label class="radio-inline">
  775. <input type="radio" name="lane_2" data-lane_no="2" value="0">停用 (調撥車道出)
  776. </label>
  777. </div>
  778. <div class="form-group">
  779. <label>第4車道-出&nbsp;&nbsp;&nbsp;</label>
  780. <label class="radio-inline">
  781. <input type="radio" name="lane_3" data-lane_no="3" value="1">啟用
  782. </label>
  783. <label class="radio-inline">
  784. <input type="radio" name="lane_3" data-lane_no="3" value="0">停用
  785. </label>
  786. </div>
  787. </form>
  788. </div><?php /* ----- end of dataTable_wrapper ----- */?>
  789. </div><?php /* ----- end of panel-body ----- */?>
  790. </div><?php /* ----- end of panel panel-default ----- */?>
  791. </div><?php /* ----- end of col-lg-12 ----- */?>
  792. </div>
  793. <?php /* ----- 調撥車道(結束) ----- */?>
  794. <?php /* ----- 出入口開門 ----- */?>
  795. <div data-items="opendoors" class="row" style="display:none;">
  796. <div class="col-lg-12">
  797. <div class="panel panel-default">
  798. <div class="panel-heading">出入口開門</div>
  799. <!-- /.panel-heading -->
  800. <div class="panel-body">
  801. <div class="dataTable_wrapper">
  802. <table class="table table-striped table-bordered table-hover">
  803. <tr>
  804. <td style="text-align:left;">第1車道 - 入場</td>
  805. <td style="text-align:center;"><input type="button" value="開門" onclick="opendoors('0');" /></td>
  806. </tr>
  807. <tr>
  808. <td style="text-align:left;">第2車道 - 調撥入場</td>
  809. <td style="text-align:center;"><input type="button" value="開門" onclick="opendoors('1');" /></td>
  810. </tr>
  811. <tr>
  812. <td style="text-align:left;">第3車道 - 調撥出場</td>
  813. <td style="text-align:center;"><input type="button" value="開門" onclick="opendoors('2');" /></td>
  814. </tr>
  815. <tr>
  816. <td style="text-align:left;">第4車道 - 出場</td>
  817. <td style="text-align:center;"><input type="button" value="開門" onclick="opendoors('3');" /></td>
  818. </tr>
  819. </table>
  820. </div><?php /* ----- end of dataTable_wrapper ----- */?>
  821. </div><?php /* ----- end of panel-body ----- */?>
  822. </div><?php /* ----- end of panel panel-default ----- */?>
  823. </div><?php /* ----- end of col-lg-12 ----- */?>
  824. </div>
  825. <?php /* ----- 出入口開門(結束) ----- */?>
  826. <?php /* ----- 在席查核清單 ----- */?>
  827. <div data-items="pks_check" class="row" style="display:none;">
  828. <div class="col-lg-12">
  829. <div class="panel panel-default">
  830. <div class="panel-heading">
  831. 在席查無入場資料清單(共<span id="tot_pks_check"></span>筆, 測試中)
  832. </div>
  833. <!-- /.panel-heading -->
  834. <div class="panel-body">
  835. <div class="dataTable_wrapper">
  836. <table class="table table-striped table-bordered table-hover">
  837. <thead>
  838. <tr>
  839. <th style="text-align:center;">車格號</th>
  840. <th style="text-align:center;">車號</th>
  841. <th style="text-align:center;">入格時間</th>
  842. <th style="text-align:center;">照片</th>
  843. </tr>
  844. </thead>
  845. <tbody id="pks_list_tbody" style="font-size:14px;">
  846. </tbody>
  847. </table>
  848. </div><?php /* ----- end of dataTable_wrapper ----- */?>
  849. </div><?php /* ----- end of panel-body ----- */?>
  850. </div><?php /* ----- end of panel panel-default ----- */?>
  851. </div><?php /* ----- end of col-lg-12 ----- */?>
  852. </div>
  853. <?php /* ----- 在席查核清單(結束) ----- */?>
  854. <?php /* ----- 入場查核清單 ----- */?>
  855. <div data-items="carin_check" class="row" style="display:none;">
  856. <div class="col-lg-12">
  857. <div class="panel panel-default">
  858. <div class="panel-heading">
  859. 入場查無在席資料清單(共<span id="tot_carin_check"></span>筆, 測試中)
  860. </div>
  861. <!-- /.panel-heading -->
  862. <div class="panel-body">
  863. <div class="dataTable_wrapper">
  864. <table class="table table-striped table-bordered table-hover">
  865. <thead>
  866. <tr>
  867. <th style="text-align:center;">車號</th>
  868. <th style="text-align:center;">時間</th>
  869. <th style="text-align:center;">類別</th>
  870. <th style="text-align:center;">照片</th>
  871. </tr>
  872. </thead>
  873. <tbody id="carin_list_tbody" style="font-size:14px;">
  874. </tbody>
  875. </table>
  876. </div><?php /* ----- end of dataTable_wrapper ----- */?>
  877. </div><?php /* ----- end of panel-body ----- */?>
  878. </div><?php /* ----- end of panel panel-default ----- */?>
  879. </div><?php /* ----- end of col-lg-12 ----- */?>
  880. </div>
  881. <?php /* ----- 入場查核清單(結束) ----- */?>
  882. <?php /* ----- 樓層剩餘車位數調整 ----- */?>
  883. <div data-items="pks_group_query" class="row" style="display:none;">
  884. <div class="col-lg-12">
  885. <div class="panel panel-default">
  886. <div class="panel-heading">
  887. 樓層車位數 (按 F5 更新)
  888. </div>
  889. <!-- /.panel-heading -->
  890. <div class="panel-body">
  891. <div class="dataTable_wrapper">
  892. <table class="table table-striped table-bordered table-hover">
  893. <thead>
  894. <tr>
  895. <th style="text-align:left;">樓層</th>
  896. <th style="text-align:left;">樓層 ID</th>
  897. <th style="text-align:center;">車位總數</th>
  898. <th style="text-align:center;">已使用(在席)</th>
  899. <th style="text-align:center;">未使用(在席)</th>
  900. <th style="text-align:center;">微調值</th>
  901. <th style="text-align:center;">剩餘車位數微調</th>
  902. <th style="text-align:center;">空車位顯示值</th>
  903. </tr>
  904. </thead>
  905. <tbody id="pks_group_list" style="font-size:20px;"></tbody>
  906. </table>
  907. </div><?php /* ----- end of dataTable_wrapper ----- */?>
  908. </div><?php /* ----- end of panel-body ----- */?>
  909. </div><?php /* ----- end of panel panel-default ----- */?>
  910. </div><?php /* ----- end of col-lg-12 ----- */?>
  911. </div>
  912. <?php /* ----- 樓層剩餘車位數調整(結束) ----- */?>
  913. </div>
  914. <!-- /#page-wrapper -->
  915. </div>
  916. <!-- /#wrapper -->
  917. <!-- jQuery -->
  918. <script src="<?=BOOTSTRAPS?>bower_components/jquery/dist/jquery.min.js"></script>
  919. <!-- Bootstrap Core JavaScript -->
  920. <script src="<?=BOOTSTRAPS?>bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
  921. <!-- Metis Menu Plugin JavaScript -->
  922. <script src="<?=BOOTSTRAPS?>bower_components/metisMenu/dist/metisMenu.min.js"></script>
  923. <!-- Morris Charts JavaScript -->
  924. <script src="<?=BOOTSTRAPS?>bower_components/raphael/raphael-min.js"></script>
  925. <!--script src="<?=BOOTSTRAPS?>bower_components/morrisjs/morris.min.js"></script-->
  926. <!--script src="<?=BOOTSTRAPS?>js/morris-data.js"></script-->
  927. <!-- virtual keyboard -->
  928. <link href="<?=WEB_LIB?>virtual-keyboard/css/jquery-ui.min.css" rel="stylesheet">
  929. <link href="<?=WEB_LIB?>virtual-keyboard/css/keyboard.css" rel="stylesheet">
  930. <script src="<?=WEB_LIB?>virtual-keyboard/js/jquery-ui.min.js"></script>
  931. <script src="<?=WEB_LIB?>virtual-keyboard/js/jquery.keyboard.js"></script>
  932. <script src="<?=WEB_LIB?>virtual-keyboard/js/jquery.keyboard.extension-caret.js"></script>
  933. <!-- alertify -->
  934. <link href="<?=WEB_LIB?>css/alertify.core.css" rel="stylesheet">
  935. <link href="<?=WEB_LIB?>css/alertify.bootstrap.css" rel="stylesheet">
  936. <script src="<?=WEB_LIB?>js/alertify.min.js"></script>
  937. <!-- Custom Theme JavaScript -->
  938. <script src="<?=BOOTSTRAPS?>dist/js/sb-admin-2.js"></script>
  939. <div id="works" style="display:none;"></div><?php /* 作為浮動顯示區之用 */ ?>
  940. </body>
  941. </html>
  942. <script>
  943. var AltobObject = AltobObject || {}; // ALTOB 專用命名空間
  944. /*
  945. 客製化參數
  946. */
  947. (function(){
  948. AltobObject.xvars = {};
  949. AltobObject.station_no = '<?= $station_no; ?>';
  950. AltobObject.station_name = '<?= $station_name; ?>';
  951. })();
  952. var timer;
  953. var timeout_sec = 10;<?php /* 每多少秒檢查一次空車位 */ ?>
  954. <?php /* alertify function */ ?>
  955. function alertify_log($msg)
  956. {
  957. alertify.set({delay : 2000});
  958. alertify.log($msg);
  959. }
  960. function alertify_error($msg)
  961. {
  962. alertify.set({delay : 2000});
  963. alertify.error($msg);
  964. }
  965. function alertify_success($msg)
  966. {
  967. alertify.set({delay : 2000});
  968. alertify.success($msg);
  969. }
  970. function alertify_msg($msg)
  971. {
  972. alertify.set({ labels: {
  973. ok : "確定"
  974. } });
  975. alertify.alert($msg, function (e){
  976. // do nothing
  977. });
  978. }
  979. <?php /* 連接mqtt Queue */ ?>
  980. /*
  981. // var client = new Paho.MQTT.Client("192.168.0.135", 8000, "cario_now");
  982. var client = new Paho.MQTT.Client("61.220.179.128", 1883, "cario_now");
  983. // set callback handlers
  984. client.onConnectionLost = onConnectionLost;
  985. client.onMessageArrived = onMessageArrived;
  986. // called when the client connects
  987. function onConnect()
  988. {
  989. // Once a connection has been made, make a subscription and send a message.
  990. console.log("onConnect");
  991. client.subscribe("cario_now", 2);
  992. }
  993. // called when the client loses its connection
  994. function onConnectionLost(responseObject)
  995. {
  996. if (responseObject.errorCode !== 0)
  997. {
  998. console.log("onConnectionLost:"+responseObject.errorMessage);
  999. }
  1000. }
  1001. // called when a message arrives
  1002. function onMessageArrived(message)
  1003. {
  1004. console.log("onMessageArrived:"+message.payloadString);
  1005. }
  1006. */
  1007. // 微調剩餘車位數
  1008. function pks_availables_update(idx, value, station_no)
  1009. {
  1010. //console.log(idx + ", " + value);
  1011. $.ajax
  1012. ({
  1013. url: "<?=APP_URL?>pks_availables_update/" + idx + "/" + value+ "/" + station_no,
  1014. type: "post",
  1015. dataType:"json",
  1016. data: {},
  1017. success: function(jdata)
  1018. {
  1019. if(jdata > 0)
  1020. {
  1021. alertify_log("調整完成! 請稍侯");
  1022. show_item('pks_group_query', 'pks_group_query'); // refresh
  1023. }else{
  1024. alertify_log("沒有任何變化!");
  1025. }
  1026. }
  1027. });
  1028. }
  1029. // 載入頁面
  1030. function load_page(tags)
  1031. {
  1032. if ($("[data-items='"+tags+"']").length == 0) // 第一次loading
  1033. {
  1034. $.ajax
  1035. ({
  1036. url:"<?=APP_URL?>get_html",
  1037. async:false,
  1038. timeout:1500,
  1039. type:"post",
  1040. dataType:"text",
  1041. data:{"tag_name":tags},
  1042. success:function(jdata)
  1043. {
  1044. $("#page-wrapper").append(jdata);
  1045. }
  1046. });
  1047. }
  1048. }
  1049. <?php /* 顯示指定項目 */ ?>
  1050. function show_item(tags, type)
  1051. {
  1052. // if (timer) { window.clearTimeout(timer); }
  1053. // client.disconnect();
  1054. <?php /* 新增月租資料, 設定初始值 */ ?>
  1055. if (type == "member_add")
  1056. {
  1057. $("#ma_lpr").val("");
  1058. $("#ma_old_lpr").val("");
  1059. $("#ma_etag").val("");
  1060. $("#ma_start_date").val("");
  1061. $("#ma_end_date").val("");
  1062. $("#ma_member_name").val("");
  1063. $("#ma_mobile_no").val("");
  1064. $("#ma_contract_no").val("");
  1065. $("#ma_amt").val("");
  1066. $("#ma_member_no").val("0");
  1067. $("#member_data_type").text("新增會員資料");
  1068. }
  1069. switch(tags)
  1070. {
  1071. // -- 設定檔 --
  1072. case "station_setting":
  1073. load_page(tags);
  1074. reload_station_setting(type);
  1075. break;
  1076. <?php /* 樓層資訊查詢, 並列出清單 */ ?>
  1077. case "pks_group_query":
  1078. $("#pks_group_list").html("");<?php /* 清除原內容 */ ?>
  1079. $.ajax
  1080. ({
  1081. url: "<?=APP_URL?>pks_group_query",
  1082. type: "post",
  1083. dataType:"json",
  1084. data: {},
  1085. success: function(jdata)
  1086. {
  1087. var pks_group_list = [];
  1088. for(idx in jdata)
  1089. {
  1090. mno = jdata[idx]['group_id'];
  1091. pks_group_list = pks_group_list.concat([
  1092. "<tr><td id='pks_group_", mno, "' data-group_id='", mno, "' data-group_id='", jdata[idx]['group_id'], "' data-group_name='", jdata[idx]['group_name'], "' data-tot='", jdata[idx]['tot'] ,"' data-station_no='", jdata[idx]['station_no'] ,"</td>",
  1093. "<td id='group_name_", mno, "' style='text-align:left; vertical-align:middle; '>", jdata[idx]['group_name'], "</td>",
  1094. "<td id='group_id_", mno, "' style='text-align:left; vertical-align:middle; '>", jdata[idx]['group_id'], "</td>",
  1095. "<td id='tot_", mno, "' style='text-align:center; vertical-align:middle; '>", jdata[idx]['tot'], "</td>",
  1096. "<td id='parked_", mno, "' style='text-align:center; vertical-align:middle; '>", jdata[idx]['parked'], "</td>",
  1097. "<td id='availables_", mno, "' style='text-align:center; vertical-align:middle; '>", jdata[idx]['availables'], "</td>",
  1098. "<td id='renum_", mno, "' style='text-align:center; vertical-align:middle; color:blue; '>", jdata[idx]['renum'], "</td>",
  1099. "<td style='text-align:center;vertical-align:middle; '>",
  1100. "<button class='btn btn-default' onclick='pks_availables_update(\"", mno, "\", 999, ", jdata[idx]['station_no'],");'>滿車</button>&nbsp",
  1101. "<button class='btn btn-default' onclick='pks_availables_update(\"", mno, "\", 100, ", jdata[idx]['station_no'],");'>+100</button>&nbsp",
  1102. "<button class='btn btn-default' onclick='pks_availables_update(\"", mno, "\", 10, ", jdata[idx]['station_no'],");'>+10</button>&nbsp",
  1103. "<button class='btn btn-default' onclick='pks_availables_update(\"", mno, "\", 1, ", jdata[idx]['station_no'],");'>+1</button>&nbsp",
  1104. "<button class='btn btn-default' onclick='pks_availables_update(\"", mno, "\", 0, ", jdata[idx]['station_no'],");'>重設</button>&nbsp",
  1105. "<button class='btn btn-default' onclick='pks_availables_update(\"", mno, "\", -1, ", jdata[idx]['station_no'],");'>-1</button>&nbsp",
  1106. "<button class='btn btn-default' onclick='pks_availables_update(\"", mno, "\", -10, ", jdata[idx]['station_no'],");'>-10</button>&nbsp",
  1107. "<button class='btn btn-default' onclick='pks_availables_update(\"", mno, "\", -100, ", jdata[idx]['station_no'],");'>-100</button>&nbsp",
  1108. "<td id='space_", mno, "' style='text-align:center; vertical-align:middle; color:red; '>", jdata[idx]['space'], "</td>",
  1109. "</td>",
  1110. "</tr>"]);
  1111. }
  1112. $("#pks_group_list").append(pks_group_list.join(''));
  1113. }
  1114. });
  1115. break;
  1116. <?php /* 會員查詢, 並列出清單 */ ?>
  1117. case "member_query":
  1118. $("#member_list").html("");<?php /* 清除原內容 */ ?>
  1119. $.ajax
  1120. ({
  1121. url: "<?=APP_URL?>member_query",
  1122. type: "post",
  1123. dataType:"json",
  1124. data: {},
  1125. success: function(jdata)
  1126. {
  1127. var member_list = [];
  1128. for(idx in jdata)
  1129. {
  1130. mno = jdata[idx]['member_no'];
  1131. member_list = member_list.concat([
  1132. "<tr><td id='lpr_", mno, "' data-member_no='", mno, "' data-member_id='", jdata[idx]['member_id'], "' data-tel_o='", jdata[idx]['tel_o'], "' data-tel_h='", jdata[idx]['tel_h'], "' data-addr='", jdata[idx]['addr'], "' style='text-align:left; '>", jdata[idx]['lpr'], "</td>",
  1133. "<td id='name_", mno, "' style='text-align:left; '>", jdata[idx]['member_name'], "</td>",
  1134. "<td id='mobile_", mno, "' style='text-align:center; '>", jdata[idx]['mobile_no'], "</td>",
  1135. "<td id='sdate_", mno, "' style='text-align:center; '>", jdata[idx]['start_date'], "</td>",
  1136. "<td id='edate_", mno, "' style='text-align:center; '>", jdata[idx]['end_date'], "</td>",
  1137. "<td id='contract_", mno, "' style='text-align:center; '>", jdata[idx]['contract_no'], "</td>",
  1138. //"<td id='etag_", mno, "' style='text-align:center; '>", jdata[idx]['etag'], "</td>",
  1139. //"<td id='amt_", mno, "' style='text-align:center; '>", jdata[idx]['amt'], "</td>",
  1140. //"<td style='text-align:center, '><select id='sel_", mno, "' onChange='member_modify(", mno, "); '><option value='choice'>請選擇</option><option value='modify'>修改</option><option value='delete'>刪除</option></select></td>",
  1141. "<td id='valid_time_", mno, "' style='text-align:center; '>", jdata[idx]['valid_time'], "</td>",
  1142. "<td id='station_no_", mno, "' style='text-align:center; '>", jdata[idx]['station_no'], "</td>",
  1143. "<td id='update_time_", mno, "' style='text-align:center; '>", jdata[idx]['update_time'], "</td>",
  1144. "</tr>"]);
  1145. }
  1146. $("#member_list").append(member_list.join(''));
  1147. }
  1148. });
  1149. break;
  1150. <?php /* 行動支付記錄 */ ?>
  1151. case "tx_bill_query":
  1152. $("#tx_bill_list").html("");<?php /* 清除原內容 */ ?>
  1153. $.ajax
  1154. ({
  1155. url: "<?=APP_URL?>tx_bill_query",
  1156. type: "post",
  1157. dataType:"json",
  1158. data: {},
  1159. success: function(jdata)
  1160. {
  1161. var tx_bill_list = [];
  1162. for(idx in jdata)
  1163. {
  1164. mno = jdata[idx]['order_no'];
  1165. tx_bill_list = tx_bill_list.concat([
  1166. "<tr><td id='lpr_", mno, "' data-order_no='", mno, "' style='text-align:left; '>", jdata[idx]['lpr'], "</td>",
  1167. "<td id='amt_", mno, "' style='text-align:center; '>", jdata[idx]['amt'], "</td>",
  1168. "<td id='rtn_msg_", mno, "' style='text-align:center; '>", jdata[idx]['rtn_msg'], "</td>",
  1169. "<td id='payment_type_", mno, "' style='text-align:center; '>", jdata[idx]['payment_type'], "</td>",
  1170. "<td id='invoice_no_", mno, "' style='text-align:center; '>", jdata[idx]['invoice_no'], "</td>",
  1171. "<td id='in_time_", mno, "' style='text-align:center; '>", jdata[idx]['in_time'], "</td>",
  1172. "<td id='balance_time_", mno, "' style='text-align:center; '>", jdata[idx]['balance_time'], "</td>",
  1173. "<td id='out_before_time_", mno, "' style='text-align:center; '>", jdata[idx]['out_before_time'], "</td>",
  1174. "<td id='company_no_", mno, "' style='text-align:center; '>", jdata[idx]['company_no'], "</td>",
  1175. "<td id='email_", mno, "' style='text-align:center; '>", jdata[idx]['email'], "</td>",
  1176. "<td id='mobile_", mno, "' style='text-align:center; '>", jdata[idx]['mobile'], "</td>",
  1177. "<td id='tx_time_", mno, "' style='text-align:center; '>", jdata[idx]['tx_time'], "</td>",
  1178. "</tr>"]);
  1179. }
  1180. $("#tx_bill_list").append(tx_bill_list.join(''));
  1181. }
  1182. });
  1183. break;
  1184. case "tx_bill_ats_query":
  1185. $("#tx_bill_ats_list").html("");<?php /* 清除原內容 */ ?>
  1186. $.ajax
  1187. ({
  1188. url: "<?=APP_URL?>tx_bill_ats_query",
  1189. type: "post",
  1190. dataType:"json",
  1191. data: {},
  1192. success: function(jdata)
  1193. {
  1194. var tx_bill_ats_list = [];
  1195. for(idx in jdata)
  1196. {
  1197. mno = jdata[idx]['order_no'];
  1198. tx_bill_ats_list = tx_bill_ats_list.concat([
  1199. "<tr><td id='lpr_", mno, "' data-order_no='", mno, "' style='text-align:left; '>", jdata[idx]['lpr'], "</td>",
  1200. "<td id='amt_", mno, "' style='text-align:center; '>", jdata[idx]['amt'], "</td>",
  1201. "<td id='rtn_msg_", mno, "' style='text-align:center; '>", jdata[idx]['rtn_msg'], "</td>",
  1202. "<td id='payment_type_", mno, "' style='text-align:center; '>", jdata[idx]['payment_type'], "</td>",
  1203. "<td id='invoice_no_", mno, "' style='text-align:center; '>", jdata[idx]['invoice_no'], "</td>",
  1204. "<td id='end_time_", mno, "' style='text-align:center; '>", jdata[idx]['end_time'], "</td>",
  1205. "<td id='next_start_time_", mno, "' style='text-align:center; '>", jdata[idx]['next_start_time'], "</td>",
  1206. "<td id='next_end_time_", mno, "' style='text-align:center; '>", jdata[idx]['next_end_time'], "</td>",
  1207. "<td id='member_name_", mno, "' style='text-align:center; '>", jdata[idx]['member_name'], "</td>",
  1208. "<td id='company_no_", mno, "' style='text-align:center; '>", jdata[idx]['company_no'], "</td>",
  1209. "<td id='email_", mno, "' style='text-align:center; '>", jdata[idx]['email'], "</td>",
  1210. "<td id='mobile_", mno, "' style='text-align:center; '>", jdata[idx]['mobile'], "</td>",
  1211. "<td id='tx_time_", mno, "' style='text-align:center; '>", jdata[idx]['tx_time'], "</td>",
  1212. "</tr>"]);
  1213. }
  1214. $("#tx_bill_ats_list").append(tx_bill_ats_list.join(''));
  1215. }
  1216. });
  1217. break;
  1218. <?php /* ----- 入場查詢 ----- */ ?>
  1219. case "carin_query":
  1220. $("#lpr_query").val("");
  1221. $("#carin_query_list").hide();
  1222. break;
  1223. <?php /* 進出場現況表 */ ?>
  1224. case "cario_list":
  1225. // connect the client
  1226. // client.connect({onSuccess:onConnect}); //mqtt
  1227. break;
  1228. <?php /* 調撥車道 */ ?>
  1229. case "reversible_lane":
  1230. $.ajax
  1231. ({
  1232. url: "<?=APP_URL?>reversible_lane_query",
  1233. type: "post",
  1234. dataType:"json",
  1235. data: {},
  1236. success: function(jdata)
  1237. {
  1238. for(idx in jdata)
  1239. {
  1240. $("input[name=lane_"+idx+"][value='"+jdata[idx]+"']").prop("checked", true);
  1241. }
  1242. }
  1243. });
  1244. break;
  1245. // ----- 在席查核 -----
  1246. case "pks_check":
  1247. $("#pks_list_tbody").html("");
  1248. $.ajax
  1249. ({
  1250. url: "<?=APP_URL?>pks_check_list", // 讀入在席車號查無資料清單
  1251. type: "post",
  1252. dataType:"json",
  1253. data: {},
  1254. success: function(jdata)
  1255. {
  1256. $("#tot_pks_check").text(jdata.length);
  1257. for(idx in jdata)
  1258. {
  1259. str = "<tr onclick='correct_lpr(\""+jdata[idx]["pksno"]+"\", \""+jdata[idx]["lpr"]+"\");'>" +
  1260. "<td class='cario_list' style='vertical-align:middle;' data-tag='pksno'>"+jdata[idx]["pksno"]+"</td>" +
  1261. "<td class='cario_list' style='vertical-align:middle;' data-tag='lpr'>"+jdata[idx]["lpr"]+"</td>" +
  1262. "<td class='cario_list' style='vertical-align:middle;' data-tag='in_time'>"+jdata[idx]["in_time"]+"</td>" +
  1263. "<td class='cario_list' style='vertical-align:middle;' data-tag='pic_name'><img height='57' width='150' class='resize' src='http://203.75.167.89/pkspic/"+jdata[idx]["pic_name"]+"' /></td></tr>";
  1264. $("#pks_list_tbody").append(str);
  1265. }
  1266. set_resize();
  1267. }
  1268. });
  1269. break;
  1270. // ----- 入場查核 -----
  1271. case "carin_check":
  1272. $("#carin_list_tbody").html("");
  1273. $.ajax
  1274. ({
  1275. url: "<?=APP_URL?>carin_check_list", // 讀入入場車號查核在席無資料清單
  1276. type: "post",
  1277. dataType:"json",
  1278. data: {},
  1279. success: function(jdata)
  1280. {
  1281. $("#tot_carin_check").text(jdata.length);
  1282. for(idx in jdata)
  1283. {
  1284. str = "<tr onclick='correct_carin_lpr(\""+jdata[idx]["cario_no"]+"\", \""+jdata[idx]["lpr"]+"\", \""+jdata[idx]['in_time']+"\");'>" +
  1285. "<td class='cario_list' style='vertical-align:middle;' data-tag='lpr'>"+jdata[idx]["lpr"]+"</td>" +
  1286. "<td class='cario_list' style='vertical-align:middle;' data-tag='in_time'>"+jdata[idx]["in_time"]+"</td>" +
  1287. "<td class='cario_list' style='vertical-align:middle;' data-tag='type'>"+jdata[idx]["type"]+"</td>" +
  1288. "<td class='cario_list' style='vertical-align:middle;' data-tag='pic_name'><img height='57' width='150' class='resize' src='http://203.75.167.89/carpic/"+jdata[idx]["pic_name"]+"' /></td></tr>";
  1289. $("#carin_list_tbody").append(str);
  1290. }
  1291. set_resize();
  1292. }
  1293. });
  1294. break;
  1295. default:
  1296. break;
  1297. }
  1298. $("[data-items]").hide();
  1299. $("[data-items="+tags+"]").show();
  1300. return false;
  1301. }
  1302. <?php /* ----- 以車號查詢入場資料 ----- */ ?>
  1303. function carin_lpr_query()
  1304. {
  1305. var lpr = $("#lpr_query").val().toUpperCase();
  1306. if ( lpr == "")
  1307. {
  1308. alert("車號欄位必填");
  1309. return false;
  1310. }
  1311. $.ajax
  1312. ({
  1313. url: "<?=APP_URL?>carin_lpr_query/"+lpr,
  1314. type: "post",
  1315. dataType:"json",
  1316. data: {},
  1317. success: function(jdata)
  1318. {
  1319. if (jdata.length == 0)
  1320. {
  1321. alert("查無此車 !");
  1322. return false;
  1323. }
  1324. var str = "";
  1325. for(idx in jdata)
  1326. {
  1327. str += "<tr><td style='text-align:center;vertical-align:middle;'>"+jdata[idx]['io_name']+
  1328. "</td><td style='text-align:center;vertical-align:middle;'>"+jdata[idx]['io_time']+
  1329. "</td><td style='text-align:center;vertical-align:middle;'>"+jdata[idx]['lpr']+
  1330. "</td><td style='text-align:center;vertical-align:middle;'>"+jdata[idx]['etag']+
  1331. "</td><td style='text-align:center;vertical-align:middle;'>"+jdata[idx]['owner']+
  1332. "</td><td style='text-align:center;vertical-align:middle;'><img height='57' width='150' class='carin_resize' src='"+jdata[idx]['pic_name']+
  1333. "' /></td></tr>";
  1334. }
  1335. $("#carin_query_tbody").html(str);
  1336. <?php /* mouse滑過時放大照片 */ ?>
  1337. $('.carin_resize').hover
  1338. (
  1339. function()
  1340. {
  1341. pos_x = $(this).position().left;
  1342. pos_y = $(this).position().top;
  1343. $("#works").css
  1344. ({ "position":"absolute",
  1345. "top":pos_y,
  1346. "left":pos_x
  1347. }).html("<img src='"+$(this).attr("src")+"' width='300px' height='140px' />").show();
  1348. },
  1349. function()
  1350. {
  1351. $("#works").hide();
  1352. }
  1353. );
  1354. $("#carin_query_list").show();
  1355. }
  1356. });
  1357. }
  1358. <?php /* ----- 以時間查詢入場資料 ----- */ ?>
  1359. function carin_time_query()
  1360. {
  1361. var time_query = $("#carin_time_query").val();
  1362. if (time_query == "")
  1363. {
  1364. alert("時間欄位必填");
  1365. return false;
  1366. }
  1367. $.ajax
  1368. ({
  1369. url: "<?=APP_URL?>carin_time_query/",
  1370. type: "post",
  1371. dataType:"json",
  1372. data: {"time_query":time_query, "minutes_range":$("#minutes_range").val()},
  1373. success: function(jdata)
  1374. {
  1375. var str = "";
  1376. for(idx in jdata)
  1377. {
  1378. str += "<tr><td style='text-align:center;vertical-align:middle;'>"+jdata[idx]['io_name']+
  1379. "</td><td style='text-align:center;vertical-align:middle;'>"+jdata[idx]['io_time']+
  1380. "</td><td style='text-align:center;vertical-align:middle;'>"+jdata[idx]['lpr']+
  1381. "</td><td style='text-align:center;vertical-align:middle;'>"+jdata[idx]['etag']+
  1382. "</td><td style='text-align:center;vertical-align:middle;'>"+jdata[idx]['owner']+
  1383. "</td><td style='text-align:center;vertical-align:middle;'><img height='57' width='150' class='carin_resize' src='"+jdata[idx]['pic_name']+
  1384. "' /></td></tr>";
  1385. }
  1386. $("#carin_query_tbody").html(str);
  1387. <?php /* mouse滑過時放大照片 */ ?>
  1388. $('.carin_resize').hover
  1389. (
  1390. function()
  1391. {
  1392. pos_x = $(this).position().left;
  1393. pos_y = $(this).position().top;
  1394. $("#works").css
  1395. ({ "position":"absolute",
  1396. "top":pos_y,
  1397. "left":pos_x
  1398. }).html("<img src='"+$(this).attr("src")+"' width='300px' height='140px' />").show();
  1399. },
  1400. function()
  1401. {
  1402. $("#works").hide();
  1403. }
  1404. );
  1405. $("#carin_query_list").show();
  1406. }
  1407. });
  1408. }
  1409. // 車辨失敗查詢
  1410. function carin_none_query()
  1411. {
  1412. var time_query = $("#carin_none_query").val();
  1413. if (time_query == "")
  1414. {
  1415. alert("時間欄位必填");
  1416. return false;
  1417. }
  1418. $.ajax
  1419. ({
  1420. url: "<?=APP_URL?>carin_none_query/",
  1421. type: "post",
  1422. dataType:"json",
  1423. data: {"time_query":time_query, "hours_range":$("#hours_range").val()},
  1424. success: function(jdata)
  1425. {
  1426. var content_arr = [];
  1427. for(idx in jdata)
  1428. {
  1429. content_arr = content_arr.concat([
  1430. "<tr><td style='text-align:center;vertical-align:middle;'>", jdata[idx]['io_name'],
  1431. "</td><td style='text-align:center;vertical-align:middle;'>", jdata[idx]['io_time'],
  1432. "</td><td style='text-align:center;vertical-align:middle;'>"
  1433. ]);
  1434. // 車辨失敗可新增車號
  1435. content_arr = content_arr.concat([
  1436. '<span style="font-size:16px;">車辨失敗</span><br/><button class="btn-default" onclick="show_upd_cario_dialog(', jdata[idx]['cario_no'], ', \'', jdata[idx]['lpr'], '\');">輸入車號</button>'
  1437. ]);
  1438. content_arr = content_arr.concat([
  1439. "</td><td style='text-align:center;vertical-align:middle;'>", jdata[idx]['etag'],
  1440. "</td><td style='text-align:center;vertical-align:middle;'>", jdata[idx]['owner'],
  1441. "</td><td style='text-align:center;vertical-align:middle;'>",
  1442. "<img height='57' width='150' class='carin_resize' src='", jdata[idx]['pic_name'], "' /></td></tr>"
  1443. ]);
  1444. }
  1445. $("#carin_query_tbody").html(content_arr.join(''));
  1446. <?php /* mouse滑過時放大照片 */ ?>
  1447. $('.carin_resize').hover
  1448. (
  1449. function()
  1450. {
  1451. pos_x = $(this).position().left;
  1452. pos_y = $(this).position().top;
  1453. $("#works").css
  1454. ({ "position":"absolute",
  1455. "top":pos_y,
  1456. "left":pos_x
  1457. }).html("<img src='"+$(this).attr("src")+"' width='300px' height='140px' />").show();
  1458. },
  1459. function()
  1460. {
  1461. $("#works").hide();
  1462. }
  1463. );
  1464. $("#carin_query_list").show();
  1465. }
  1466. });
  1467. }
  1468. <?php /* 修改或刪除選項 */ ?>
  1469. function member_modify(member_no)
  1470. {
  1471. select_item = $("#sel_"+member_no).val();
  1472. switch(select_item)
  1473. {
  1474. case "choice":<?php /* 請選擇(忽略不處理) */ ?>
  1475. return flase;
  1476. case "modify":
  1477. $("#ma_lpr").val($("#lpr_"+member_no).text());
  1478. $("#ma_old_lpr").val($("#lpr_"+member_no).text());
  1479. $("#ma_member_id").val($("#lpr_"+member_no).data("member_id"));
  1480. $("#ma_tel_o").val($("#lpr_"+member_no).data("tel_o"));
  1481. $("#ma_tel_h").val($("#lpr_"+member_no).data("tel_h"));
  1482. $("#ma_addr").val($("#lpr_"+member_no).data("addr"));
  1483. //$("#ma_start_date").val($("#sdate_"+member_no).text());
  1484. //$("#ma_end_date").val($("#edate_"+member_no).text());
  1485. //$("#ma_start_date").val($("#sdate_"+member_no).text().split(' ')[0]);
  1486. //$("#ma_end_date").val($("#edate_"+member_no).text().split(' ')[0]);
  1487. $("#ma_start_date").val($("#sdate_"+member_no).text().replace(' ', 'T'));
  1488. $("#ma_end_date").val($("#edate_"+member_no).text().replace(' ', 'T'));
  1489. $("#ma_member_name").val($("#name_"+member_no).text());
  1490. $("#ma_mobile_no").val($("#mobile_"+member_no).text());
  1491. $("#ma_contract_no").val($("#contract_"+member_no).text());
  1492. $("#ma_etag").val($("#etag_"+member_no).text());
  1493. $("#ma_amt").val($("#amt_"+member_no).text());
  1494. $("#ma_member_no").val(member_no);
  1495. $("#member_data_type").text("修改會員資料");
  1496. show_item("member_add", "member_modify");
  1497. break;
  1498. case "delete":
  1499. if (!confirm("確定刪除嗎 ?")) return false;
  1500. $.ajax
  1501. ({
  1502. url:"<?=APP_URL?>member_delete",
  1503. type:"post",
  1504. dataType:"text",
  1505. data:{"member_no":member_no},
  1506. success:function(jdata)
  1507. {
  1508. if (jdata == "ok")
  1509. {
  1510. alert("刪除成功 !");
  1511. show_item("member_query", "member_query");
  1512. }
  1513. }
  1514. });
  1515. break;
  1516. }
  1517. }
  1518. <?php /* 每隔固定時間, 檢查剩餘車位數 */ ?>
  1519. function available_check(time_point)
  1520. {
  1521. $.ajax
  1522. ({
  1523. url:"<?=APP_URL?>available_check",
  1524. type:"post",
  1525. dataType:"json",
  1526. data:{"time_point":time_point},
  1527. success:function(jdata)
  1528. {
  1529. for(idx in jdata)
  1530. {
  1531. if (idx == 0) { continue; }
  1532. stno = jdata[idx]['station_no'];
  1533. $("[data-stno_curr="+stno+"]>[data-tag=station_no]").text(stno);
  1534. $("[data-stno_curr="+stno+"]>[data-tag=name]").text(jdata[idx]['name']);
  1535. $("[data-stno_curr="+stno+"]>[data-tag=tot_pkg]").text(jdata[idx]['tot_pkg']);
  1536. $("[data-stno_curr="+stno+"]>[data-tag=ava_pkg]").text(jdata[idx]['ava_pkg']);
  1537. $("[data-stno_curr="+stno+"]>[data-tag=used_pkg]").text(jdata[idx]['used_pkg']);
  1538. $("[data-stno_curr="+stno+"]>[data-tag=ratio_pkg]").text(jdata[idx]['ratio_pkg']);
  1539. }
  1540. window.clearTimeout(timer);
  1541. timer = window.setTimeout("available_check("+jdata[0]['time_point']+")", timeout_sec * 1000);
  1542. }
  1543. });
  1544. }
  1545. <?php /* 讀出剩餘車位數供清單用 */ ?>
  1546. function available_curr()
  1547. {
  1548. $.ajax
  1549. ({
  1550. url: "<?=APP_URL?>available_set",
  1551. type: "post",
  1552. dataType:"json",
  1553. success: function(jdata)
  1554. {
  1555. $("#available_curr_tbody").html(""); <?php /* 重設剩餘車位數 */ ?>
  1556. for(idx in jdata)
  1557. {
  1558. if (idx == 0) { continue; }
  1559. stno = jdata[idx]['station_no'];
  1560. $("#available_curr_wk>[data-tag=station_no]").text(stno);
  1561. $("#available_curr_wk>[data-tag=name]").text(jdata[idx]['name']);
  1562. $("#available_curr_wk>[data-tag=tot_pkg]").text(jdata[idx]['tot_pkg']);
  1563. $("#available_curr_wk>[data-tag=ava_pkg]").text(jdata[idx]['ava_pkg']);
  1564. $("#available_curr_wk>[data-tag=used_pkg]").text(jdata[idx]['used_pkg']);
  1565. $("#available_curr_wk>[data-tag=ratio_pkg]").text(jdata[idx]['ratio_pkg']);
  1566. $("<tr data-stno_curr='"+stno+"'>"+$("#available_curr_wk").html()+"</tr>").appendTo("#available_curr_tbody");
  1567. }
  1568. $("#available_curr").show();
  1569. timer = window.setTimeout("available_check("+jdata[0]['time_point']+")", timeout_sec * 1000);
  1570. }
  1571. });
  1572. }
  1573. <?php /* 讀出剩餘車位數供設定用 */ ?>
  1574. function available_set()
  1575. {
  1576. $.ajax
  1577. ({
  1578. url: "<?=APP_URL?>available_set",
  1579. type: "post",
  1580. dataType:"json",
  1581. success: function(jdata)
  1582. {
  1583. $("#available_tbody").html(""); <?php /* 重設剩餘車位數 */ ?>
  1584. for(idx in jdata)
  1585. {
  1586. if (idx == 0) { continue; }
  1587. st_no = jdata[idx]['station_no'];
  1588. $("#available_list>[data-tag=station_no]").text(st_no);
  1589. $("#available_list>[data-tag=name]").html("<input id='st_name_"+st_no+"' value='"+jdata[idx]['name']+"' class='form-control' />");
  1590. $("#available_list>[data-tag=tot_pkg]").html("<input id='st_tot_"+st_no+"' value='"+jdata[idx]['tot_pkg']+"' class='form-control input-sm' />");
  1591. $("#available_list>[data-tag=ava_pkg]").html("<input id='st_ava_"+st_no+"' value='"+jdata[idx]['ava_pkg']+"' class='form-control input-sm' />");
  1592. $("#available_list>[data-tag=used_pkg]").text(jdata[idx]['used_pkg']);
  1593. $("#available_list>[data-tag=ratio_pkg]").text(jdata[idx]['ratio_pkg']);
  1594. $("#available_list>[data-tag=edits]").html("<button onclick=\"available_update('"+st_no+"');\">修改</button>");
  1595. $("<tr data-st_no='"+st_no+"'>"+$("#available_list").html()+"</tr>").appendTo("#available_tbody");
  1596. }
  1597. <?php /* 清除最後一筆的暫存資料, 以免最後一筆的id發生重覆 */ ?>
  1598. $("#available_list>[data-tag=name]").html("");
  1599. $("#available_list>[data-tag=tot_pkg]").html("");
  1600. $("#available_list>[data-tag=ava_pkg]").html("");
  1601. $("#available_set").show();
  1602. }
  1603. });
  1604. }
  1605. <?php /* 剩餘車位數更新 */ ?>
  1606. function available_update(station_no)
  1607. {
  1608. $.ajax
  1609. ({
  1610. url: "<?=APP_URL?>available_update",
  1611. dataType:"json",
  1612. type:"post",
  1613. data:{"station_no":station_no, "st_name":$("#st_name_"+station_no).val(), "tot_pkg":$("#st_tot_"+station_no).val(), "ava_pkg":$("#st_ava_"+station_no).val()},
  1614. success:function(jdata)
  1615. {
  1616. $("#available_tbody>tr[data-st_no="+station_no+"]>[data-tag=used_pkg]").text(jdata['used_pkg']);
  1617. $("#available_tbody>tr[data-st_no="+station_no+"]>[data-tag=ratio_pkg]").text(jdata['ratio_pkg']);
  1618. alert($("#st_name_"+station_no).val()+"("+station_no+") 已更新完成 !");
  1619. }
  1620. });
  1621. }
  1622. var current_h;
  1623. var current_w;
  1624. $(document).ready(function()
  1625. {
  1626. $(".cario_list").css({"vertical-align":"middle"});<?php /* 進出場實況表,強制垂直置中 */ ?>
  1627. $("#member_add").submit(function(event)
  1628. {
  1629. if ($("#ma_member_no").val() == "0")
  1630. {
  1631. $("#ma_old_lpr").val($("#ma_lpr").val());
  1632. }
  1633. event.preventDefault();
  1634. $.ajax
  1635. ({
  1636. url: "<?=APP_URL?>member_add",
  1637. type: "post",
  1638. dataType:"text",
  1639. data: $(this).serialize(),
  1640. success: function(jdata)
  1641. {
  1642. if (jdata == "ok")
  1643. {
  1644. $("#ma_lpr").val("");
  1645. $("#ma_old_lpr").val("");
  1646. $("#ma_etag").val("");
  1647. $("#ma_start_date").val("");
  1648. $("#ma_end_date").val("");
  1649. $("#ma_member_name").val("");
  1650. $("#ma_mobile_no").val("");
  1651. $("#ma_contract_no").val("");
  1652. $("#ma_member_id").val("");
  1653. $("#ma_tel_h").val("");
  1654. $("#ma_tel_o").val("");
  1655. $("#ma_addr").val("");
  1656. $("#ma_member_no").val("0");
  1657. alert("月租資料存檔完成 !");
  1658. show_item('member_query', 'member_query');
  1659. }
  1660. else
  1661. {
  1662. alert(jdata);
  1663. }
  1664. }
  1665. });
  1666. });
  1667. set_resize(); // 建立放大照片
  1668. // 調撥車道設定
  1669. $('#lane_form input[type=radio]').change(function()
  1670. {
  1671. lane_no = $(this).data("lane_no");
  1672. $.ajax
  1673. ({
  1674. url: "<?=APP_URL?>reversible_lane_set",
  1675. dataType:"text",
  1676. type:"post",
  1677. data:{"lane_no":lane_no, "actions":$(this).val()},
  1678. success:function(jdata)
  1679. {
  1680. }
  1681. });
  1682. return true;
  1683. });
  1684. // Custom: altob-keyaction
  1685. // ********************
  1686. $.extend($.keyboard.keyaction, {
  1687. accept : function(base) {
  1688. base.close(true); // same as base.accept();
  1689. // do something
  1690. return false; // return false prevents further processing
  1691. }
  1692. });
  1693. // Custom: altob-input
  1694. // ********************
  1695. $('#upd_cario_lpr, #cms_lpr').keyboard({
  1696. usePreview: false,
  1697. css : {
  1698. // input & preview styles
  1699. input : 'ui-widget-content ui-corner-all',
  1700. // keyboard container - this wraps the preview area (if `usePreview` is true) and all keys
  1701. container : 'ui-widget-content ui-widget ui-corner-all ui-helper-clearfix',
  1702. // default keyboard button state, these are applied to all keys, the remaining css options are toggled as needed
  1703. buttonDefault : 'ui-state-default ui-corner-all',
  1704. // hovered button
  1705. buttonHover : 'ui-state-hover',
  1706. // Action keys (e.g. Accept, Cancel, Tab, etc); this replaces the "actionClass" option
  1707. buttonAction : 'ui-state-active',
  1708. // used when disabling the decimal button {dec} when a decimal exists in the input area
  1709. buttonDisabled : 'ui-state-disabled'
  1710. },
  1711. position : {
  1712. // null (attach to input/textarea) or a jQuery object (attach elsewhere)
  1713. of : null,
  1714. my : 'center top',
  1715. at : 'center top',
  1716. // at2 is used when "usePreview" is false (centers keyboard at the bottom
  1717. // of the input/textarea)
  1718. at2: 'center bottom',
  1719. collision: 'flipfit flipfit'
  1720. },
  1721. display: {
  1722. 'bksp' : '\u2190',
  1723. 'default' : 'ABC',
  1724. 'accept' : '確 認'
  1725. },
  1726. layout: 'custom',
  1727. customLayout: {
  1728. 'default': [
  1729. '1 2 3 4 5 6 7 8 9 0 {bksp}',
  1730. 'Q W E R T Y U I O P',
  1731. 'A S D F G H J K L',
  1732. 'Z X C V B N M {accept}'
  1733. ]
  1734. }
  1735. });
  1736. });
  1737. $(document).ready(function()
  1738. {
  1739. $returntrue=cario_listtable();
  1740. if($returntrue){
  1741. setInterval(function(){ cario_listtable(); }, 5000); //預設10000毫秒自動重複執行cartnumber()函數
  1742. }
  1743. function cario_listtable(){
  1744. $.ajax
  1745. ({
  1746. url: "<?=APP_URL?>cario_list",
  1747. type: "post",
  1748. dataType:"json",
  1749. data: {},
  1750. success: function(jdata)
  1751. {
  1752. $("#cario_list_tbody").html("");
  1753. for(idx in jdata)
  1754. {
  1755. str = "<tr id='cario_"+idx+"'>"+
  1756. "<td class=\"cario_list\" data-tag=\"io_name\">"+jdata[idx]['io_name']+"</td>"+
  1757. "<td class=\"cario_list\" data-tag=\"io_time\">"+jdata[idx]['io_time']+"</td>"+
  1758. "<td class=\"cario_list\" data-tag=\"lpr\">"+jdata[idx]['lpr']+"</td>"+
  1759. "<td class=\"cario_list\" data-tag=\"etag\">"+jdata[idx]['etag']+"</td>"+
  1760. "<td class=\"cario_list\" data-tag=\"owner\">"+jdata[idx]['owner']+"</td>"+
  1761. "<td class=\"cario_list\" data-tag=\"pic_name\"><img height='57' width='150' class='resize' src="+jdata[idx]['pic_name']+"></td>"+
  1762. "</tr>"
  1763. $("#cario_list_tbody").append(str);
  1764. }
  1765. set_resize();
  1766. }
  1767. });
  1768. return true;
  1769. }
  1770. });
  1771. function opendoors(lane_no)
  1772. {
  1773. $.ajax
  1774. ({
  1775. url: "<?=APP_URL?>opendoors/"+lane_no,
  1776. dataType:"text",
  1777. type:"post",
  1778. data:{},
  1779. success:function(jdata)
  1780. {
  1781. }
  1782. });
  1783. return true;
  1784. }
  1785. // 設定放大照片
  1786. function set_resize()
  1787. {
  1788. $('.resize').hover
  1789. (
  1790. function()
  1791. {
  1792. pos_x = $(this).position().left - 100;
  1793. pos_y = $(this).position().top - 100;
  1794. $("#works").css
  1795. ({ "position":"absolute",
  1796. "top":pos_y,
  1797. "left":pos_x
  1798. }).html("<img src='"+$(this).attr("src")+"' width='400px' height='240px' />").show();
  1799. },
  1800. function()
  1801. {
  1802. $("#works").hide();
  1803. }
  1804. );
  1805. }
  1806. // 重設在席查核
  1807. function reset_pks_check()
  1808. {
  1809. $.ajax
  1810. ({
  1811. url: "<?=APP_URL?>reset_pks_check",
  1812. dataType:"json",
  1813. type:"post",
  1814. data:{},
  1815. success:function(jdata)
  1816. {
  1817. alert("重設在席查核完成,在席總計:"+jdata["tot"]+", 更新筆數:"+jdata["tot_correct"]);
  1818. }
  1819. });
  1820. }
  1821. // 更正在席車號
  1822. function correct_lpr(pksno, lpr)
  1823. {
  1824. new_lpr = prompt("車格#"+pksno+"正確車號(大小寫皆可):", lpr);
  1825. if (new_lpr == "") return false;
  1826. $.ajax
  1827. ({
  1828. url: "<?=APP_URL?>correct_pks_lpr/"+pksno+"/"+new_lpr.toUpperCase(),
  1829. dataType:"json",
  1830. type:"post",
  1831. data:{},
  1832. success:function(jdata)
  1833. {
  1834. msg_err = jdata["err"] == 0 ? "在席更新正確車號," : "在席或車號錯誤無法更新,";
  1835. msg_cario = jdata["cario_no"] == 0 ? "查無入場資料" : "且與入場資料相符";
  1836. alert(msg_err+msg_cario);
  1837. show_item('pks_check', 'pks_check');
  1838. }
  1839. });
  1840. }
  1841. // 更正在席車號
  1842. function correct_carin_lpr(cario_no, lpr, in_time)
  1843. {
  1844. new_lpr = prompt("正確車號(大小寫皆可):", lpr);
  1845. if (new_lpr == "") return false;
  1846. $.ajax
  1847. ({
  1848. url: "<?=APP_URL?>correct_carin_lpr/"+cario_no+"/"+new_lpr.toUpperCase()+"/"+encodeURIComponent(in_time),
  1849. dataType:"json",
  1850. type:"post",
  1851. data:{},
  1852. success:function(jdata)
  1853. {
  1854. msg_pks = jdata["pksno"] == 0 ? "但無在席資料" : "且在席資料也更新完成 !";
  1855. alert("入場資料更新完成, "+msg_pks);
  1856. show_item('carin_check', 'carin_check');
  1857. }
  1858. });
  1859. }
  1860. <?php /* 登出 */ ?>
  1861. function logout(event)
  1862. {
  1863. event.preventDefault();
  1864. $.ajax
  1865. ({
  1866. url: "<?=APP_URL?>user_logout",
  1867. success: function(jdata)
  1868. {
  1869. window.location = "<?=APP_URL?>";
  1870. }
  1871. });
  1872. }
  1873. </script>
  1874. <!-- ----- 進出資料建立小框 ----- -->
  1875. <div class="modal fade" id="show_create_cario_dialog">
  1876. <div class="modal-dialog" style="width:70%;height:100%">
  1877. <div class="modal-content" style="width:70%;height:100%">
  1878. <div class="modal-header"><h3>手動建立資料</h3></div>
  1879. <div class="modal-body" style="max-height: calc(100vh - 210px); overflow-y: auto">
  1880. <form id="show_create_cario_form" class="center-block">
  1881. <div class="main">
  1882. <div class="dataTable_wrapper">
  1883. <table class="table table-striped table-bordered table-hover" style="font-size:28px;">
  1884. <tbody>
  1885. <tr class="form-group">
  1886. <td style="text-align:right;">場站</td>
  1887. <td style="text-align:left;" id="create_cario_station_name"></td>
  1888. </tr>
  1889. <tr class="form-group">
  1890. <td style="text-align:right;">場站編號</td>
  1891. <td style="text-align:left;" id="create_cario_station_no"></td>
  1892. </tr>
  1893. <!--tr class="form-group">
  1894. <td style="text-align:right;">車道</td>
  1895. <td style="text-align:left;">
  1896. <div id="cms_ivsno_box"/>
  1897. </td>
  1898. </tr-->
  1899. <tr class="form-group">
  1900. <td style="text-align:right;">進出場</td>
  1901. <td style="text-align:left;">
  1902. <div id="cms_io_box"/>
  1903. </td>
  1904. </tr>
  1905. <tr class="form-group">
  1906. <td style="text-align:right;">時間</td>
  1907. <td style="text-align:left;">
  1908. <input id="cms_time_box" name="cms_time" type="datetime-local" class="form-control" style="font-size:36px;height:56px;" autocomplete="off" disabled="disabled"
  1909. min="<?php echo substr(date("c",strtotime("-1months")),0,16); ?>" />
  1910. </td>
  1911. </tr>
  1912. <tr class="form-group">
  1913. <td style="text-align:right;">車種</td>
  1914. <td style="text-align:left;">
  1915. <div id="cms_ctype_box"/>
  1916. </td>
  1917. </tr>
  1918. <tr class="form-group">
  1919. <td style="text-align:right;">車牌號碼</td>
  1920. <td style="text-align:left;">
  1921. <input id="cms_lpr" name="lpr" class="form-control" placeholder="限英數字碼" style="text-transform:uppercase;font-size:48px;height:56px;" />
  1922. </td>
  1923. </tr>
  1924. </tbody>
  1925. </table>
  1926. <button type="button" class="btn btn-large btn-success pull-right" style="font-size:22px;" onclick="do_create_cario();">確認送出</button>
  1927. &nbsp;&nbsp;
  1928. <button type="button" class="btn btn-large btn-cancel" onclick="$('#show_create_cario_dialog').modal('hide');">取消</button>
  1929. </div><!-- ----- end of dataTable_wrapper ----- -->
  1930. </div><!-- ----- end of main ----- -->
  1931. </form>
  1932. </div><!-- end of modal-body -->
  1933. </div><!-- end of modal-content -->
  1934. </div><!-- end of modal-dialog -->
  1935. </div><!-- end of modal show -->
  1936. <!-- ----- 進出資料建立小框(結束) ----- -->
  1937. <script>
  1938. //選擇進場車道時可以設定進場時間
  1939. function time_check()
  1940. {
  1941. var station_no = AltobObject.xvars["create_cario_info"]["station_no"];
  1942. var io = $("#sel_cms_io_" + station_no).val();
  1943. if(io == 'I')
  1944. {
  1945. $("#cms_time_box").attr('disabled', false);
  1946. }
  1947. else
  1948. {
  1949. $("#cms_time_box").attr('disabled', true);
  1950. }
  1951. }
  1952. // 顯示新增車辨記錄
  1953. function show_create_cario_dialog()
  1954. {
  1955. if(typeof AltobObject.station_no == 'undefined' || AltobObject.station_no == '' || AltobObject.station_no == 0)
  1956. {
  1957. alertify_msg("尚未設定場站。。");
  1958. return false;
  1959. }
  1960. if(typeof AltobObject.xvars == 'undefined')
  1961. {
  1962. alertify_msg("未知的錯誤。。");
  1963. return false;
  1964. }
  1965. AltobObject.xvars["create_cario_info"] = {};
  1966. AltobObject.xvars["create_cario_info"]["station_no"] = AltobObject.station_no;
  1967. $("#create_cario_station_name").text(AltobObject.station_name);
  1968. $("#create_cario_station_no").text(AltobObject.station_no);
  1969. // 進出場
  1970. var cms_io_content = [];
  1971. cms_io_content = cms_io_content.concat(["<select onClick=\"time_check();\" id='sel_cms_io_", AltobObject.station_no, "'><option value='choice'>請選擇</option>"]);
  1972. cms_io_content = cms_io_content.concat(["<option value='I'>進場</option>"]);
  1973. cms_io_content = cms_io_content.concat(["<option value='O'>離場</option>"]);
  1974. $("#cms_io_box").html('').html(cms_io_content.join(''));
  1975. // 車種
  1976. var cms_ctype_content = [];
  1977. cms_ctype_content = cms_ctype_content.concat(["<select id='sel_cms_ctype_", AltobObject.station_no, "'><option value='choice'>請選擇</option>"]);
  1978. cms_ctype_content = cms_ctype_content.concat(["<option value='C'>汽車</option>"]);
  1979. cms_ctype_content = cms_ctype_content.concat(["<option value='M'>機車</option>"]);
  1980. $("#cms_ctype_box").html('').html(cms_ctype_content.join(''));
  1981. //編輯時間
  1982. var mydate = new Date();
  1983. var month = mydate.getMonth() + 1;
  1984. var day = mydate.getDate();
  1985. var hours = mydate.getHours();
  1986. var minutes = mydate.getMinutes();
  1987. month = (month.toString().length == 1) ? ("0" + month) : month;
  1988. day = (day.toString().length == 1) ? ("0" + day) : day;
  1989. hours = (hours.toString().length == 1) ? ("0" + hours) : hours;
  1990. minutes = (minutes.toString().length == 1) ? ("0" + minutes) : minutes;
  1991. var result = mydate.getFullYear() + '-' + month + '-' + day+'T'+hours+':'+minutes;
  1992. //設定現在時間
  1993. $("#cms_time_box").val(result.toString());
  1994. // 車號
  1995. $("#cms_lpr").val('');
  1996. $("#show_create_cario_dialog").modal({backdrop:false,keyboard:false});
  1997. }
  1998. // 完成
  1999. function do_create_cario()
  2000. {
  2001. var station_no = AltobObject.xvars["create_cario_info"]["station_no"];
  2002. var io = $("#sel_cms_io_" + station_no).val();
  2003. var ctype = $("#sel_cms_ctype_" + station_no).val();
  2004. var lpr = $("#cms_lpr").val();
  2005. var time = $("#cms_time_box").val();
  2006. if(!(station_no))
  2007. {
  2008. alertify_msg("系統錯誤");
  2009. return false;
  2010. }
  2011. if(io!='I' && io!='O')
  2012. {
  2013. alertify_msg("請選擇此車是進場還是出場?");
  2014. return false;
  2015. }
  2016. if(ctype!='C' && ctype!='M')
  2017. {
  2018. alertify_msg("請選擇車種");
  2019. return false;
  2020. }
  2021. if(lpr.length < 4 || lpr.length > 7)
  2022. {
  2023. alertify_msg("請檢查車號是否正確?");
  2024. return false;
  2025. }
  2026. var dt = new Date(time.replace("-", "/").replace("-", "/").replace("T", " "));
  2027. var dt1 = new Date();
  2028. var dt2 = new Date();
  2029. dt2.setMonth(dt1.getMonth() - 1);
  2030. if(dt > dt1 || dt < dt2)
  2031. {
  2032. alertify_msg("請注意:時間不能大於現在時間,以及不能低於1個月");
  2033. return false;
  2034. }
  2035. if (!confirm("確認資料無誤並送出 ?")) return false;
  2036. $.ajax
  2037. ({
  2038. url: "<?=APP_URL?>local_lprio",
  2039. dataType: "text",
  2040. type:"post",
  2041. data:
  2042. {
  2043. "cmd": 1,
  2044. "station_no":station_no,
  2045. "ivsno": 0, // 都帶 0
  2046. "io":io,
  2047. "ctype":ctype,
  2048. "time":time,
  2049. "lpr":lpr
  2050. },
  2051. error:function(xhr, ajaxOptions, thrownError)
  2052. {
  2053. alertify_msg(xhr.responseText);
  2054. console.log("error:"+xhr.responseText+"|"+ajaxOptions+"|"+thrownError);
  2055. },
  2056. success:function(jdata)
  2057. {
  2058. if (jdata == "ok")
  2059. {
  2060. alertify_msg("操作完成。。");
  2061. show_item('cario_list', 'cario_list'); // 更新
  2062. }
  2063. else
  2064. {
  2065. alertify_msg("操作失敗。。" + jdata);
  2066. }
  2067. }
  2068. });
  2069. delete AltobObject.xvars["create_cario_info"];
  2070. $('#show_create_cario_dialog').modal('hide');
  2071. }
  2072. </script>
  2073. <!-- ----- 進出資料修改小框 ----- -->
  2074. <div class="modal fade" id="show_upd_cario_dialog">
  2075. <div class="modal-dialog" style="width:70%;height:100%">
  2076. <div class="modal-content" style="width:70%;height:100%">
  2077. <div class="modal-header"><h3>手動建立資料</h3></div>
  2078. <div class="modal-body" style="max-height: calc(100vh - 210px); overflow-y: auto">
  2079. <form id="show_upd_cario_form" class="center-block">
  2080. <div class="main">
  2081. <div class="dataTable_wrapper">
  2082. <table class="table table-striped table-bordered table-hover" style="font-size:28px;">
  2083. <tbody>
  2084. <tr class="form-group">
  2085. <td style="text-align:right;">場站</td>
  2086. <td style="text-align:left;" id="upd_cario_station_name"></td>
  2087. </tr>
  2088. <tr class="form-group">
  2089. <td style="text-align:right;">場站編號</td>
  2090. <td style="text-align:left;" id="upd_cario_station_no"></td>
  2091. </tr>
  2092. <tr class="form-group">
  2093. <td style="text-align:right;">車牌號碼</td>
  2094. <td style="text-align:left;">
  2095. <input id="upd_cario_lpr" name="lpr" class="form-control" placeholder="限英數字碼" style="text-transform:uppercase;font-size:48px;height:56px;" />
  2096. </td>
  2097. </tr>
  2098. </tbody>
  2099. </table>
  2100. <button type="button" class="btn btn-large btn-success pull-right" style="font-size:22px;" onclick="do_upd_cario();">確認送出</button>
  2101. &nbsp;&nbsp;
  2102. <button type="button" class="btn btn-large btn-cancel" onclick="$('#show_upd_cario_dialog').modal('hide');">取消</button>
  2103. </div><!-- ----- end of dataTable_wrapper ----- -->
  2104. </div><!-- ----- end of main ----- -->
  2105. </form>
  2106. </div><!-- end of modal-body -->
  2107. </div><!-- end of modal-content -->
  2108. </div><!-- end of modal-dialog -->
  2109. </div><!-- end of modal show -->
  2110. <!-- ----- 進出資料修改小框(結束) ----- -->
  2111. <script>
  2112. // 顯示新增車辨記錄
  2113. function show_upd_cario_dialog(cario_no, lpr)
  2114. {
  2115. if(typeof AltobObject.station_no == 'undefined' || AltobObject.station_no == '' || AltobObject.station_no == 0)
  2116. {
  2117. alertify_msg("尚未設定場站。。");
  2118. return false;
  2119. }
  2120. if(typeof AltobObject.xvars == 'undefined')
  2121. {
  2122. alertify_msg("未知的錯誤。。");
  2123. return false;
  2124. }
  2125. AltobObject.xvars["upd_cario_info"] = {};
  2126. AltobObject.xvars["upd_cario_info"]["station_no"] = AltobObject.station_no;
  2127. AltobObject.xvars["upd_cario_info"]["cario_no"] = cario_no;
  2128. AltobObject.xvars["upd_cario_info"]["old_lpr"] = lpr;
  2129. $("#upd_cario_station_name").text(AltobObject.station_name);
  2130. $("#upd_cario_station_no").text(AltobObject.station_no);
  2131. // 車號
  2132. if(lpr == 'NONE')
  2133. $("#upd_cario_lpr").val('');
  2134. else
  2135. $("#upd_cario_lpr").val(lpr);
  2136. $("#show_upd_cario_dialog").modal({backdrop:false,keyboard:false});
  2137. }
  2138. // 完成
  2139. function do_upd_cario()
  2140. {
  2141. if (!confirm("確認資料無誤並送出 ?")) return false;
  2142. var station_no = AltobObject.xvars["upd_cario_info"]["station_no"];
  2143. var cario_no = AltobObject.xvars["upd_cario_info"]["cario_no"];
  2144. var old_lpr = AltobObject.xvars["upd_cario_info"]["old_lpr"];
  2145. var new_lpr = $("#upd_cario_lpr").val();
  2146. if(!(station_no && cario_no))
  2147. {
  2148. alertify_msg("資料不足。。");
  2149. return false;
  2150. }
  2151. $.ajax
  2152. ({
  2153. url: "<?=APP_URL?>local_lprio",
  2154. dataType: "text",
  2155. type:"post",
  2156. data:
  2157. {
  2158. "cmd": 2,
  2159. "station_no":station_no,
  2160. "cario_no":cario_no,
  2161. "old_lpr":old_lpr,
  2162. "new_lpr":new_lpr
  2163. },
  2164. error:function(xhr, ajaxOptions, thrownError)
  2165. {
  2166. alertify_msg(xhr.responseText);
  2167. console.log("error:"+xhr.responseText+"|"+ajaxOptions+"|"+thrownError);
  2168. },
  2169. success:function(jdata)
  2170. {
  2171. if (jdata == "ok")
  2172. {
  2173. alertify_msg("操作完成。。");
  2174. show_item('cario_list', 'cario_list'); // 更新
  2175. }
  2176. else
  2177. {
  2178. alertify_msg("操作失敗。。" + jdata);
  2179. }
  2180. }
  2181. });
  2182. delete AltobObject.xvars["upd_cario_info"];
  2183. $('#show_upd_cario_dialog').modal('hide');
  2184. }
  2185. </script>