VM暫存
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

3779 wiersze
159KB

  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. <script>
  11. // document.write("<base href='http://" + document.location.host + "' />");
  12. </script>
  13. <script src="/libs/js/jquery.min.js"></script>
  14. <script src="/admins_station.html/js_vars"></script>
  15. <style>
  16. .cario_list{text-align:center;vertical-align:middle;}
  17. </style>
  18. <!-- Bootstrap Core CSS -->
  19. <link href="/libs/bootstrap_sb/bower_components/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
  20. <!-- MetisMenu CSS -->
  21. <link href="/libs/bootstrap_sb/bower_components/metisMenu/dist/metisMenu.min.css" rel="stylesheet">
  22. <!-- Timeline CSS -->
  23. <link href="/libs/bootstrap_sb/dist/css/timeline.css" rel="stylesheet">
  24. <!-- Custom CSS -->
  25. <link href="/libs/bootstrap_sb/dist/css/sb-admin-2.css" rel="stylesheet">
  26. <!-- Morris Charts CSS -->
  27. <link href="/libs/bootstrap_sb/bower_components/morrisjs/morris.css" rel="stylesheet">
  28. <!-- Custom Fonts -->
  29. <link href="/libs/bootstrap_sb/bower_components/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
  30. <!-- Bootstrap Core JavaScript -->
  31. <script src="/libs/bootstrap_sb/bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
  32. <script src="/libs/bootstrap_sb/bower_components/metisMenu/dist/metisMenu.min.js"></script>
  33. <link href="/libs/bootstrap/css/bootstrap-datetimepicker.min.css" rel="stylesheet">
  34. <script src="/libs/bootstrap/js/bootstrap-datetimepicker.min.js"></script>
  35. <script src="/libs/bootstrap/js/bootstrap-datetimepicker.zh-TW.js"></script>
  36. <!-- Morris Charts JavaScript -->
  37. <script src="/libs/bootstrap_sb/bower_components/raphael/raphael-min.js"></script>
  38. <!-- Custom Theme JavaScript -->
  39. <script src="/libs/bootstrap_sb/dist/js/sb-admin-2.js"></script>
  40. <!--script src="/libs/js/mqttws.min.js"></script-->
  41. <!-- alertify -->
  42. <link href="/libs/css/alertify.core.css" rel="stylesheet">
  43. <link href="/libs/css/alertify.bootstrap.css" rel="stylesheet">
  44. <script src="/libs/js/alertify.min.js"></script>
  45. <!-- moment -->
  46. <script src="/libs/js/moment.min.js"></script>
  47. </head>
  48. <body style="font-family:Microsoft JhengHei;">
  49. <div id="wrapper">
  50. <!-- Navigation -->
  51. <nav class="navbar navbar-default navbar-static-top" role="navigation" style="margin-bottom: 0">
  52. <div class="navbar-header">
  53. <a class="navbar-brand">歐特儀營管系統<span id="user_name" style="font-size:10px;color:blue;"></span></a>
  54. </div>
  55. <!-- /.navbar-top-links(左側選單) -->
  56. <div class="navbar-default sidebar" role="navigation">
  57. <div class="sidebar-nav navbar-collapse">
  58. <ul class="nav" id="side-menu">
  59. <li>
  60. <a href="#"><i class="fa fa-edit fa-fw"></i>帳務管理<span class="fa arrow"></span></a>
  61. <ul class="nav nav-second-level">
  62. <!--li>
  63. <a href="#" onclick="show_item('invoice_close', 'invoice_close');">關帳(每日)</a>
  64. </li>
  65. <li>
  66. <a href="#" onclick="show_item('invoice_history', 'invoice_history');">關帳記錄</a>
  67. </li-->
  68. <li>
  69. <a href="#" onclick="show_item('check_point', 'check_point');">關帳(手動)</a>
  70. </li>
  71. <li>
  72. <a href="#" onclick="show_item('check_point_report', 'check_point_report');">關帳查詢</a>
  73. </li>
  74. <li>
  75. <a href="#" onclick="show_item('price_plan_query_all', 'price_plan_query_all');">費率設定</a>
  76. </li>
  77. </ul>
  78. </li>
  79. <li>
  80. <a href="#"><i class="fa fa-user fa-fw"></i>會員管理<span class="fa arrow"></span></a>
  81. <ul class="nav nav-second-level">
  82. <li>
  83. <a href="#" onclick="show_item('member_query', 'member_query');">會員查詢</a>
  84. </li>
  85. <li>
  86. <a href="#" onclick="show_item('member_add', 'member_add');">會員加入</a>
  87. </li>
  88. <li>
  89. <a href="#" onclick="show_item('member_query_all', 'member_query_all');">會員清單</a>
  90. </li>
  91. <li>
  92. <a href="#" onclick="show_item('member_tx_refund_query', 'member_tx_refund_query');">退租查詢</a>
  93. </li>
  94. </ul>
  95. <!-- /.nav-second-level -->
  96. </li>
  97. <li>
  98. <a href="#"><i class="fa fa-user fa-fw"></i>查核作業<span class="fa arrow"></span></a>
  99. <ul class="nav nav-second-level">
  100. <li>
  101. <a href="#" onclick="show_item('member_tx_check_query', 'member_tx_check_query');">待審核交易</a>
  102. </li>
  103. <li>
  104. <a href="#" onclick="show_item('cario_temp_not_finished_query_all', 'cario_temp_not_finished_query_all');">臨停未結清單</a>
  105. </li>
  106. </ul>
  107. <!-- /.nav-second-level -->
  108. </li>
  109. <li>
  110. <a href="#"><i class="fa fa-user fa-fw"></i>發票管理<span class="fa arrow"></span></a>
  111. <ul class="nav nav-second-level">
  112. <li>
  113. <a href="#" onclick="show_item('member_tx_bill_query', 'ok');">待開立清單</a>
  114. </li>
  115. <li>
  116. <a href="#" onclick="show_item('member_tx_bill_query', 'more');">待補開清單</a>
  117. </li>
  118. <li>
  119. <a href="#" onclick="show_item('member_tx_bill_query', 'refund');">待折讓清單</a>
  120. </li>
  121. </ul>
  122. <!-- /.nav-second-level -->
  123. </li>
  124. <!--li>
  125. <a href="#"><i class="fa fa-user fa-fw"></i>發票管理<span class="fa arrow"></span></a>
  126. <ul class="nav nav-second-level">
  127. <li>
  128. <a href="#" onclick="show_item('invoice_open', 'invoice_open');">發票開帳</a>
  129. </li>
  130. <li>
  131. <a href="#" onclick="show_item('invoice_reprint', 'invoice_reprint');">發票補印</a>
  132. </li>
  133. <li>
  134. <a href="#" onclick="show_item('invoice_cancel', 'invoice_cancel');">發票作廢</a>
  135. </li>
  136. <li>
  137. <a href="#" onclick="show_item('invoice_rows', 'invoice_rows');">發票下載</a>
  138. </li>
  139. <li>
  140. <a href="#" onclick="show_item('invoice_close', 'invoice_close');">發票清帳</a>
  141. </li>
  142. </ul>
  143. </li-->
  144. <li>
  145. <a href="#" onclick="location.replace('/admins_station.html');">登出</a>
  146. <!-- /.nav-second-level -->
  147. </li>
  148. </ul>
  149. </div>
  150. <!-- /.sidebar-collapse -->
  151. </div>
  152. <!-- /.navbar-static-side -->
  153. </nav>
  154. <div id="page-wrapper"><!-- 主要資料顯示區 -->
  155. <div class="row">
  156. <div class="col-lg-12">
  157. <h1 class="page-header">營業管理作業</h1><!-- 右側小表頭 -->
  158. </div>
  159. <!-- /.col-lg-12 -->
  160. </div>
  161. <!-- /.row -->
  162. <!-- ----- 會員加入填寫資料 ----- -->
  163. <div data-items="member_add" class="row" style="display:none;"><!-- 會員加入填寫資料 -->
  164. <div class="col-lg-12">
  165. <div class="panel panel-default">
  166. <div id="member_data_type" class="panel-heading">新增會員資料</div><!-- 資料顯示區灰色小表頭 -->
  167. <div class="panel-body">
  168. <div data-rows class="row">
  169. <div class="col-lg-6">
  170. <!--form id="member_add" role="form" method="post" data-src="action::APP_URL::member_add"-->
  171. <form id="member_add" role="form" method="post" data-src="/admins_station.html/member_add">
  172. <div class="form-group">
  173. <label>*場站</label>
  174. <select class="form-control" id="station_no_modify" name="station_no">
  175. </select>
  176. </div>
  177. <div class="form-group">
  178. <label>*車牌號碼</label>
  179. <input id="ma_lpr" name="lpr" class="form-control" placeholder="限英數字碼" style="text-transform:uppercase" />
  180. <input id="ma_old_lpr" name="old_lpr" type="hidden" />
  181. </div>
  182. <div class="form-group">
  183. <label>eTag</label>
  184. <input id="ma_etag" name="etag" class="form-control" placeholder="限英數字碼" style="text-transform:uppercase">
  185. </div>
  186. <div class="form-group">
  187. <label>*不足月開始日期(開始日)</label>
  188. <input id="ma_demonth_start_date" type="datetime" name="demonth_start_date" class="form-control" onchange="calculate_rents_amt();"/>
  189. </div>
  190. <div class="form-group">
  191. <label>*不足月結束日期</label>
  192. <input id="ma_demonth_end_date" type="datetime" name="demonth_end_date" class="form-control" />
  193. </div>
  194. <div class="form-group">
  195. <label>*足月開始日期</label>
  196. <input id="ma_start_date" type="datetime" name="start_date" class="form-control" />
  197. </div>
  198. <div class="form-group">
  199. <label>*足月結束日期(到期日)</label>
  200. <input id="ma_end_date" type="datetime" name="end_date" class="form-control" />
  201. </div>
  202. <div class="form-group">
  203. <label class="select-inline">
  204. <button type="button" class="btn btn-default btn-xl btn-primary pull-left" onclick="member_park_time();">*進出場時段</button>&nbsp;
  205. </label>
  206. </div>
  207. <div class="form-group">
  208. <label class="select-inline">*首期繳期
  209. <select class="form-control input-sm" id="fee_period1" name="fee_period1" onClick="calculate_rents_amt();"></select>
  210. </label>
  211. <label class="select-inline">*首期租金 (依使用天數拆分)
  212. <input id="ma_amt1" name="amt1" class="form-control" value="0" onblur="re_amt();">
  213. </label>
  214. <label class="select-inline" id="amt1_max_view">
  215. &nbsp;說明:&nbsp;
  216. &nbsp;每日租金(&nbsp;<span id="amt1_max">0</span>&nbsp;元
  217. &nbsp;/ &nbsp;<span id="amt1_days_total">0</span>&nbsp;天)
  218. &nbsp;* 實際天數&nbsp;<span id="amt1_days">0</span>&nbsp;天
  219. </label>
  220. </div>
  221. <div class="form-group">
  222. <label class="select-inline">*例行繳期
  223. <select class="form-control input-sm" id="fee_period" name="fee_period" onClick="calculate_rents_amt();"></select>
  224. </label>
  225. <label class="select-inline">*例行租金 (依使用月數拆分)
  226. <input id="ma_amt" name="amt" class="form-control" value="0" onblur="re_amt();">
  227. </label>
  228. <!-- 第一版, 按日拆
  229. label class="select-inline" id="amt2_max_view">
  230. &nbsp;*說明:&nbsp;
  231. &nbsp;每日租金(&nbsp;<span id="amt2_max">0</span>&nbsp;元
  232. &nbsp;/ &nbsp;<span id="amt2_days_total">0</span>&nbsp;天)
  233. &nbsp;* 實際天數&nbsp;<span id="amt2_days">0</span>&nbsp;天
  234. </label-->
  235. <label class="select-inline" id="amt2_max_view">
  236. &nbsp;說明:&nbsp;
  237. &nbsp;每月租金(&nbsp;<span id="amt2_max">0</span>&nbsp;元
  238. &nbsp;/ &nbsp;<span id="amt2_months_total">0</span>&nbsp;個月)
  239. &nbsp;* 實際月數&nbsp;<span id="amt2_months">0</span>&nbsp;個月
  240. </label>
  241. </div>
  242. <div class="form-group">
  243. <label class="select-inline">*會員身份
  244. <select class="form-control input-sm" id="member_attr" name="member_attr" onClick="calculate_rents_amt();"></select>
  245. </label>
  246. <label class="select-inline">*押金(不列入發票金額)
  247. <input id="ma_deposit" name="deposit" class="form-control" value="0" onblur="re_amt();">
  248. </label>
  249. <label class="select-inline" id="amt_accrued_view">
  250. &nbsp;&nbsp;應計金額 (原價):<span id="amt_accrued">0</span>
  251. </label>
  252. </div>
  253. <div class="form-group">
  254. <label class="select-inline" style="color:blue;font-size:18px;" id="amt_tot_view">
  255. 租金:<span id="amt_tot">0</span>
  256. </label>
  257. </div>
  258. <div class="form-group">
  259. <label>合約號碼</label>
  260. <input id="ma_contract_no" name="contract_no" class="form-control">
  261. </div>
  262. <div class="form-group">
  263. <label>*姓名/公司名稱</label>
  264. <input id="ma_member_name" name="member_name" class="form-control" style="font-size:48px;height:56px;">
  265. </div>
  266. <div class="form-group">
  267. <label>*手機</label>
  268. <input id="ma_mobile_no" name='mobile_no' class="form-control">
  269. </div>
  270. <div class="form-group">
  271. <label>身份證號</label>
  272. <input id="ma_member_id" name="member_id" class="form-control">
  273. </div>
  274. <div class="form-group">
  275. <label>會員統一編號</label>
  276. <input id="ma_member_company_no" name="member_company_no" class="form-control">
  277. </div>
  278. <div class="form-group">
  279. <label>電話(宅)</label>
  280. <input id="ma_tel_h" name='tel_h' class="form-control">
  281. </div>
  282. <div class="form-group">
  283. <label>電話(公)</label>
  284. <input id="ma_tel_o" name='tel_o' class="form-control">
  285. </div>
  286. <div class="form-group">
  287. <label>地址</label>
  288. <input id="ma_addr" name='addr' class="form-control">
  289. </div>
  290. <div class="form-group">
  291. <button type="submit" class="btn btn-large btn-success pull-left">存檔</button>
  292. &nbsp;&nbsp;
  293. <!--button type="reset" class="btn btn-large btn-cancel">重填</button-->
  294. <input id="ma_member_no" type="hidden" name="member_no" value="0" />
  295. <input id="ma_company_no" type="hidden" name="company_no" />
  296. <input id="ma_park_time" type="hidden" name="park_time" />
  297. <input id="ma_amt_tot" type="hidden" name="amt_tot" />
  298. <input id="ma_amt_accrued" type="hidden" name="amt_accrued" />
  299. <input id="ma_demonth_start_date_done" type="hidden" name="demonth_start_date_done"/>
  300. <input id="ma_demonth_end_date_done" type="hidden" name="demonth_end_date_done"/>
  301. <input id="ma_start_date_done" type="hidden" name="start_date_done"/>
  302. <input id="ma_end_date_done" type="hidden" name="end_date_done"/>
  303. <!--input id="ma_fee_period1_done" type="hidden" name="fee_period1_done"/>
  304. <input id="ma_fee_period_done" type="hidden" name="fee_period_done"/>
  305. <input id="ma_member_attr_done" type="hidden" name="member_attr_done"/-->
  306. </div>
  307. </form>
  308. </div>
  309. <!-- /.col-lg-6 (nested) -->
  310. </div>
  311. <!-- /.row (nested) -->
  312. </div>
  313. <!-- /.panel-body -->
  314. </div>
  315. <!-- /.panel -->
  316. </div>
  317. <!-- /.col-lg-12 -->
  318. </div>
  319. <!-- ----- 會員加入填寫資料(結束) ----- -->
  320. <?php /* ----- 交易查核總覽 ----- */?>
  321. <div data-items="member_tx_check_query" class="row" style="display:none;">
  322. <div class="col-lg-12">
  323. <div class="panel panel-default">
  324. <div class="panel-heading">
  325. 待審核清單
  326. </div>
  327. <!-- /.panel-heading -->
  328. <div class="panel-body">
  329. <div class="dataTable_wrapper">
  330. <table class="table table-striped table-bordered table-hover">
  331. <thead>
  332. <tr>
  333. <th style="text-align:left;">代號</th>
  334. <!--th style="text-align:left;">場站</th-->
  335. <th style="text-align:center;">入帳日</th>
  336. <th style="text-align:left;">入帳車號</th>
  337. <th style="text-align:left;">目前車號</th>
  338. <th style="text-align:center;">會員開始日</th>
  339. <th style="text-align:center;">上期繳期</th>
  340. <th style="text-align:center;">上期結束日</th>
  341. <th style="text-align:center;">上期租金</th>
  342. <th style="text-align:center;">本期繳期</th>
  343. <th style="text-align:center;">本期開始日</th>
  344. <th style="text-align:center;">本期結束日</th>
  345. <th style="text-align:center;">本期租金</th>
  346. <!--th style="text-align:center;">發票開立</th-->
  347. <th style="text-align:center;">審核狀態</th>
  348. <th style="text-align:center;">有效期限</th>
  349. <th style="text-align:center;">備註</th>
  350. </tr>
  351. </thead>
  352. <tbody id="member_tx_check" style="font-size:18px;"></tbody>
  353. </table>
  354. </div><?php /* ----- end of dataTable_wrapper ----- */?>
  355. </div><?php /* ----- end of panel-body ----- */?>
  356. </div><?php /* ----- end of panel panel-default ----- */?>
  357. </div><?php /* ----- end of col-lg-12 ----- */?>
  358. </div>
  359. <?php /* ----- 交易查核總覽(結束) ----- */?>
  360. <?php /* ----- 會員清單 ----- */?>
  361. <div data-items="member_query_all" class="row" style="display:none;">
  362. <div class="col-lg-12">
  363. <div class="panel panel-default">
  364. <div class="panel-heading">
  365. 會員清單
  366. </div>
  367. <!-- /.panel-heading -->
  368. <div class="panel-body">
  369. <div class="dataTable_wrapper">
  370. <table class="table table-striped table-bordered table-hover">
  371. <thead>
  372. <tr>
  373. <th style="text-align:left;">車號</th>
  374. <th style="text-align:left;">姓名</th>
  375. <th style="text-align:center;">手機</th>
  376. <th style="text-align:center;">開始日</th>
  377. <th style="text-align:center;">結束日</th>
  378. <th style="text-align:center;">繳期</th>
  379. <th style="text-align:center;">身份</th>
  380. <!--th style="text-align:center;">租金</th-->
  381. <th style="text-align:center;">停權</th>
  382. <!--th style="text-align:center;">狀態</th-->
  383. <th style="text-align:center;">有效期限</th>
  384. <!--th style="text-align:center;">備註</th-->
  385. </tr>
  386. </thead>
  387. <tbody id="member_list_all" style="font-size:18px;"></tbody>
  388. </table>
  389. </div><?php /* ----- end of dataTable_wrapper ----- */?>
  390. </div><?php /* ----- end of panel-body ----- */?>
  391. </div><?php /* ----- end of panel panel-default ----- */?>
  392. </div><?php /* ----- end of col-lg-12 ----- */?>
  393. </div>
  394. <?php /* ----- 會員清單(結束) ----- */?>
  395. <!-- ----- 會員查詢 ----- -->
  396. <div data-items="member_query" class="row">
  397. <div class="col-lg-12">
  398. <div class="panel panel-default">
  399. <div class="panel-heading">
  400. 會員查詢
  401. <form id="member_query_form" role="form">
  402. <div class="form-group">
  403. <label class="select-inline" for="station_select">
  404. <select class="form-control" id="station_select">
  405. </select>
  406. </label>
  407. <label class="radio-inline"><input type="radio" name="q_item" value="lpr" checked />車號</label>
  408. <label class="radio-inline"><input type="radio" name="q_item" value="member_name" />姓名</label>
  409. <label class="radio-inline"><input type="radio" name="q_item" value="mobile_no" />手機</label>
  410. <label class="radio-inline"><input type="radio" name="q_item" value="end_date" />到期日</label>
  411. <label class="radio-inline"><input type="radio" name="q_item" value="contract_no" />合約號碼</label>
  412. <label class="input-inline">&nbsp;&nbsp;<input type="text" id="q_str" placeholder="關鍵字" /></label>
  413. <label class="input-inline"><input type="submit" value="查詢" /></label>
  414. </div>
  415. </form>
  416. </div>
  417. <!-- /.panel-heading -->
  418. <div class="panel-body">
  419. <div class="dataTable_wrapper">
  420. <table class="table table-striped table-bordered table-hover">
  421. <thead>
  422. <tr>
  423. <th style="text-align:left;">場站</th>
  424. <th style="text-align:left;">車號</th>
  425. <th style="text-align:left;">姓名</th>
  426. <th style="text-align:center;">手機</th>
  427. <th style="text-align:center;">開始日</th>
  428. <th style="text-align:center;">結束日</th>
  429. <th style="text-align:center;">繳期</th>
  430. <th style="text-align:center;">身份</th>
  431. <th style="text-align:center;">合約號</th>
  432. <!--th style="text-align:center;">租金</th-->
  433. <th style="text-align:center;">停權</th>
  434. <th style="text-align:center;">功能</th>
  435. </tr>
  436. </thead>
  437. <tbody id="member_list" style="font-size:22px;"></tbody>
  438. </table>
  439. </div><!-- ----- end of dataTable_wrapper ----- -->
  440. </div><!-- ----- end of panel-body ----- -->
  441. </div><!-- ----- end of panel panel-default ----- -->
  442. </div><!-- ----- end of col-lg-12 ----- -->
  443. </div>
  444. <!-- ----- 會員查詢(結束) ----- -->
  445. <!-- ----- 交易記錄 ----- -->
  446. <div data-items="member_tx_query" class="row" style="display:none;">
  447. <div class="col-lg-12">
  448. <div class="panel panel-default">
  449. <div class="panel-heading">
  450. 交易記錄
  451. </div>
  452. <!-- /.panel-heading -->
  453. <div class="panel-body">
  454. <div class="dataTable_wrapper">
  455. <table class="table table-striped table-bordered table-hover">
  456. <thead>
  457. <tr>
  458. <th style="text-align:center;">代號</th>
  459. <!--th style="text-align:left;">場站</th-->
  460. <th style="text-align:center;">入帳日</th>
  461. <th style="text-align:left;">車號</th>
  462. <th style="text-align:center;">會員開始日</th>
  463. <th style="text-align:center;">上期繳期</th>
  464. <th style="text-align:center;">上期結束日</th>
  465. <th style="text-align:center;">上期租金</th>
  466. <th style="text-align:center;">本期繳期</th>
  467. <th style="text-align:center;">本期開始日</th>
  468. <th style="text-align:center;">本期結束日</th>
  469. <th style="text-align:center;">本期租金</th>
  470. <!--th style="text-align:center;">發票時間</th>
  471. <th style="text-align:center;">買方統編</th>
  472. <th style="text-align:center;">賣方統編</th>
  473. <th style="text-align:center;">發票字軌</th>
  474. <th style="text-align:center;">發票號碼</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;">有效期限</th>
  480. <th style="text-align:center;">備註</th>
  481. <th style="text-align:center;">功能</th>
  482. </tr>
  483. </thead>
  484. <tbody id="member_tx_list" style="font-size:18px;"></tbody>
  485. </table>
  486. </div><!-- ----- end of dataTable_wrapper ----- -->
  487. </div><!-- ----- end of panel-body ----- -->
  488. </div><!-- ----- end of panel panel-default ----- -->
  489. </div><!-- ----- end of col-lg-12 ----- -->
  490. </div>
  491. <!-- ----- 交易查詢(結束) ----- -->
  492. <!-- ----- 發票記錄 ----- -->
  493. <div data-items="member_tx_bill_query" class="row" style="display:none;">
  494. <div class="col-lg-12">
  495. <div class="panel panel-default">
  496. <div class="panel-heading">
  497. 發票記錄
  498. </div>
  499. <!-- /.panel-heading -->
  500. <div class="panel-body">
  501. <div class="dataTable_wrapper">
  502. <table class="table table-striped table-bordered table-hover">
  503. <thead>
  504. <tr>
  505. <th style="text-align:left;">代號</th>
  506. <!--th style="text-align:left;">場站</th-->
  507. <th style="text-align:center;">入帳日</th>
  508. <th style="text-align:left;">車號</th>
  509. <th style="text-align:center;">會員開始日</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. <th style="text-align:center;">發票金額</th>
  521. <th style="text-align:center;">發票字軌</th>
  522. <th style="text-align:center;">發票號碼</th>
  523. <th style="text-align:center;">發票種類</th>
  524. <!--th style="text-align:center;">發票開立狀態</th>
  525. <th style="text-align:center;">審核狀態</th>
  526. <th style="text-align:center;">有效期限</th>
  527. <th style="text-align:center;">備註</th-->
  528. <th style="text-align:center;">狀態</th>
  529. <th style="text-align:center;">待辦金額</th>
  530. </tr>
  531. </thead>
  532. <tbody id="member_tx_bill_list" style="font-size:16px;"></tbody>
  533. </table>
  534. </div><!-- ----- end of dataTable_wrapper ----- -->
  535. </div><!-- ----- end of panel-body ----- -->
  536. </div><!-- ----- end of panel panel-default ----- -->
  537. </div><!-- ----- end of col-lg-12 ----- -->
  538. </div>
  539. <!-- ----- 發票記錄(結束) ----- -->
  540. <?php /* ----- 臨停未結清單 ----- */?>
  541. <div data-items="cario_temp_not_finished_query_all" class="row" style="display:none;">
  542. <div class="col-lg-12">
  543. <div class="panel panel-default">
  544. <div class="panel-heading">
  545. 臨停未結清單 (2017-02-01 00:00:00 進場 ~ 至 <span id='altob_current_time_str'></span>)
  546. </div>
  547. <!-- /.panel-heading -->
  548. <div class="panel-body">
  549. <div class="dataTable_wrapper">
  550. <table class="table table-striped table-bordered table-hover">
  551. <thead>
  552. <tr>
  553. <th style="text-align:left;">代號</th>
  554. <th style="text-align:left;">車牌號碼</th>
  555. <th style="text-align:center;">進場時間</th>
  556. <th style="text-align:center;">最後付款時間</th>
  557. <th style="text-align:center;">限時離場時間</th>
  558. <th style="text-align:center;">功能</th>
  559. </tr>
  560. </thead>
  561. <tbody id="cario_temp_not_finished_query_all" style="font-size:18px;"></tbody>
  562. </table>
  563. </div><?php /* ----- end of dataTable_wrapper ----- */?>
  564. </div><?php /* ----- end of panel-body ----- */?>
  565. </div><?php /* ----- end of panel panel-default ----- */?>
  566. </div><?php /* ----- end of col-lg-12 ----- */?>
  567. </div>
  568. <?php /* ----- 臨停未結清單(結束) ----- */?>
  569. </div>
  570. <!-- /#page-wrapper -->
  571. </div>
  572. <!-- /#wrapper -->
  573. <!-- 作為浮動顯示區之用 -->
  574. <div id="works" style="display:none;"></div>
  575. <!-- ----- 登入小框 ----- -->
  576. <div class="modal fade" id="login_dialog">
  577. <div class="modal-dialog modal-sm">
  578. <div class="modal-content">
  579. <div class="modal-header"><h3>登入</h3></div>
  580. <div class="modal-body">
  581. <form id="login_form" class="center-block" method="post" action="/admins_station.html/login_verify">
  582. <div class="main">
  583. <label>帳號</label>
  584. <div class="input-group">
  585. <span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
  586. <input type="text" class="form-control" name="login_name" placeholder="請輸入帳號" autofocus />
  587. </div>
  588. <label>密碼</label>
  589. <div class="input-group">
  590. <span class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></span>
  591. <input type="password" class="form-control" name="login_pswd" placeholder="請輸入密碼">
  592. </div>
  593. <div class="row"><br /></div>
  594. <div class="row">
  595. <div class="col-xs-6 col-md-6"></div>
  596. <div class="col-xs-6 col-md-6 pull-right">
  597. <button type="submit" class="btn btn-large btn-success pull-right">登入</button>
  598. </div>
  599. </div>
  600. </div>
  601. </form>
  602. </div><!-- end of modal-body -->
  603. </div><!-- end of modal-content -->
  604. </div><!-- end of modal-dialog -->
  605. </div><!-- end of modal show -->
  606. <!-- ----- 登入小框(結束) ----- -->
  607. <!-- ----- 會員時段表小框[修改或新增] ----- -->
  608. <div class="modal fade" id="pt_dialog">
  609. <!-- div class="modal-dialog modal-sm"-->
  610. <div class="modal-dialog">
  611. <div class="modal-content">
  612. <div class="modal-header"><h3>時段表</h3></div>
  613. <div class="modal-body">
  614. <form id="pt_form" class="center-block">
  615. <div class="main">
  616. <div class="dataTable_wrapper">
  617. <table class="table table-striped table-bordered table-hover">
  618. <thead>
  619. <tr>
  620. <th style="text-align:center;">選項</th>
  621. <th style="text-align:center;">代碼</th>
  622. <th style="text-align:left;">備註</th>
  623. </tr>
  624. </thead>
  625. <tbody id="pt_list" style="font-size:10px;"></tbody>
  626. </table>
  627. <button type="button" class="btn btn-large btn-success pull-left" onclick="$('#pt_dialog').modal('hide');">確定</button>
  628. &nbsp;&nbsp;
  629. <button type="button" class="btn btn-large btn-cancel" onclick="$('#pt_dialog').modal('hide');">取消</button>
  630. </div><!-- ----- end of dataTable_wrapper ----- -->
  631. </div><!-- ----- end of main ----- -->
  632. </form>
  633. </div><!-- end of modal-body -->
  634. </div><!-- end of modal-content -->
  635. </div><!-- end of modal-dialog -->
  636. </div><!-- end of modal show -->
  637. <!-- ----- 會員時段表小框[修改或新增](結束) ----- -->
  638. <!-- ----- 停車時段 ----- -->
  639. <div class="modal fade" id="park_time_dialog">
  640. <div class="modal-dialog modal-sm">
  641. <div class="modal-content">
  642. <div class="modal-header"><h3>停車時段</h3></div>
  643. <div class="modal-body">
  644. <form id="login_form" class="center-block" method="post" action="/admins_station.html/park_time_modify">
  645. <div class="main">
  646. <label>時段代碼</label>
  647. <div class="input-group">
  648. <input type="text" class="form-control" name="time_id" placeholder="請輸入時段代碼" autofocus />
  649. </div>
  650. <label>排序序號</label>
  651. <div class="input-group">
  652. <input type="text" class="form-control" name="seqno" placeholder="請輸入排序序號" />
  653. </div>
  654. <div class="row"><br /></div>
  655. <div class="row">
  656. <div class="col-xs-6 col-md-6"></div>
  657. <div class="col-xs-6 col-md-6 pull-right">
  658. <button type="submit" class="btn btn-large btn-success pull-left">存檔</button>
  659. <span class="button" data-dismiss="modal" aria-label="Close">&nbsp;&nbsp;
  660. <button type="button" class="btn btn-large btn-cancel">取消</button>
  661. </span>
  662. </div>
  663. </div>
  664. </div>
  665. </form>
  666. </div><!-- end of modal-body -->
  667. </div><!-- end of modal-content -->
  668. </div><!-- end of modal-dialog -->
  669. </div><!-- end of modal show -->
  670. <!-- ----- 停車時段(結束) ----- -->
  671. <!-- ----- 臨停未結確認小框 ----- -->
  672. <div class="modal fade" id="cario_temp_check_dialog">
  673. <div class="modal-dialog modal-sm">
  674. <div class="modal-content">
  675. <div class="modal-header"><h3>臨停未結查核作業</h3></div>
  676. <div class="modal-body">
  677. <form id="cario_temp_check_form" class="center-block">
  678. <div class="main">
  679. <div class="dataTable_wrapper">
  680. <table class="table table-striped table-bordered table-hover" style="font-size:12px;">
  681. <tbody id="cario_temp_check_list">
  682. <tr>
  683. <td style="text-align:right;">進場車號</td>
  684. <td style="text-align:left;" id="cario_temp_check_lpr"></td>
  685. </tr>
  686. <tr>
  687. <td style="text-align:right;">進場時間</td>
  688. <td style="text-align:left;" id="cario_temp_check_in_time"></td>
  689. </tr>
  690. <tr>
  691. <td style="text-align:right;">限時離場時間</td>
  692. <td style="text-align:left;" id="cario_temp_check_out_before_time"></td>
  693. </tr>
  694. <tr>
  695. <td style="text-align:right;">最後付款時間</td>
  696. <td style="text-align:left;" id="cario_temp_check_pay_time"></td>
  697. </tr>
  698. <tr>
  699. <td style="text-align:right;vertical-align:middle">臨停未結說明</td>
  700. <td style="text-align:left;"><input type="text" id="cario_temp_check_remarks" class="form-control" style="width:150px !important;" /></td>
  701. </tr>
  702. </tbody>
  703. </table>
  704. <button type="button" class="btn btn-large btn-success pull-left" onclick="do_cario_temp_check_ok();">確認完成</button>
  705. &nbsp;&nbsp;
  706. <button type="button" class="btn btn-large btn-cancel" onclick="$('#cario_temp_check_dialog').modal('hide');">取消</button>
  707. </div><!-- ----- end of dataTable_wrapper ----- -->
  708. </div><!-- ----- end of main ----- -->
  709. </form>
  710. </div><!-- end of modal-body -->
  711. </div><!-- end of modal-content -->
  712. </div><!-- end of modal-dialog -->
  713. </div><!-- end of modal show -->
  714. <!-- ----- 臨停未結確認小框 (結束) ----- -->
  715. <div id="works" style="display:none"></div>
  716. </body>
  717. </html>
  718. <script>
  719. function alertify_count_down($msg, $delay)
  720. {
  721. alertify.set({delay : $delay});
  722. alertify.log($msg);
  723. }
  724. function alertify_log($msg)
  725. {
  726. alertify.set({delay : 2000});
  727. alertify.log($msg);
  728. }
  729. function alertify_error($msg)
  730. {
  731. alertify.set({delay : 2000});
  732. alertify.error($msg);
  733. }
  734. function alertify_success($msg)
  735. {
  736. alertify.set({delay : 2000});
  737. alertify.success($msg);
  738. }
  739. function alertify_msg($msg)
  740. {
  741. alertify.set({ labels: {
  742. ok : "確定"
  743. } });
  744. alertify.alert($msg, function (e){
  745. // do nothing
  746. });
  747. }
  748. /*
  749. // 設定href, src, action的路徑及參數
  750. $("[data-src]").each(function()
  751. {
  752. arr = $(this).data("src").split("::");
  753. $(this).prop(arr[0], eval(arr[1])+arr[2]);
  754. });
  755. */
  756. // global var(共用陣列與變數)
  757. var week_name = Array("週日", "週一", "週二", "週三", "週四", "週五", "週六");
  758. var park_type = Array("", "一般", "非假日", "假日");
  759. // -- 顯示指定項目 --
  760. function show_item(tags, type)
  761. {
  762. // client.disconnect();
  763. // -- 新增月租資料, 設定初始值 --
  764. if (type == "member_add")
  765. {
  766. $("#member_list").html(""); // 清空member_list
  767. $("#member_list_all").html(""); // 清空member_list_all
  768. $("#ma_station_no").val("");
  769. $("#ma_lpr").val("").prop("readonly",false); // 2017-02-13 updated
  770. $("#ma_old_lpr").val("").prop("readonly",false); // 2017-02-13 updated
  771. $("#ma_etag").val("");
  772. $("#ma_demonth_start_date").val("").prop("disabled",false);
  773. // 禁止直接輸入到期日
  774. $("#ma_demonth_end_date").val("").prop("disabled",true);
  775. $("#ma_start_date").val("").prop("disabled",true);
  776. $("#ma_end_date").val("").prop("disabled",true);
  777. $("#ma_demonth_start_date_done").val("");
  778. $("#ma_demonth_end_date_done").val("");
  779. $("#ma_start_date_done").val("");
  780. $("#ma_end_date_done").val("");
  781. //$("#ma_fee_period1_done").val("");
  782. //$("#ma_fee_period_done").val("");
  783. //$("#ma_member_attr_done").val("");
  784. $("#ma_member_name").val("");
  785. $("#ma_member_id").val("");
  786. $("#ma_mobile_no").val("");
  787. $("#ma_deposit").val("").prop("readonly",true);
  788. $("#ma_amt1").val("").prop("readonly",true);
  789. $("#ma_amt").val("").prop("readonly",true);
  790. $("#ma_member_no").val("0");
  791. $("#ma_member_company_no").val("");
  792. $("#member_data_type").html("新增會員資料");
  793. // 設定以上三個item的第一個項目為選項預設值
  794. $("#member_attr")[0].selectedIndex = 0;
  795. $("#fee_period1")[0].selectedIndex = 0;
  796. $("#fee_period")[0].selectedIndex = 0;
  797. $("#member_attr").prop("disabled",false);
  798. $("#fee_period1").prop("disabled",false);
  799. $("#fee_period").prop("disabled",false);
  800. $('input:checkbox.pt_id_checkbox').prop("disabled",false);
  801. }
  802. else if (type == "member_switch")
  803. {
  804. // 繳期修改
  805. $("#member_attr").prop("disabled",false);
  806. $("#fee_period1").prop("disabled",true);
  807. $("#fee_period").prop("disabled",false);
  808. $('input:checkbox.pt_id_checkbox').prop("disabled",false);
  809. }
  810. else
  811. {
  812. $("#member_attr").prop("disabled",true);
  813. $("#fee_period1").prop("disabled",true);
  814. $("#fee_period").prop("disabled",true);
  815. $('input:checkbox.pt_id_checkbox').prop("disabled",true);
  816. }
  817. $("#amt_tot_view").hide();
  818. $("#amt_accrued_view").hide();
  819. //$("#ma_contract_no").hide();
  820. $("#amt1_max_view").hide();
  821. $("#amt2_max_view").hide();
  822. switch(tags)
  823. {
  824. // -- 費率總覽 --
  825. case "price_plan_query_all":
  826. load_page(tags);
  827. break;
  828. // -- 會員總覽 --
  829. case "member_query_all":
  830. $("#member_list_all").html("");<?php /* 清除原內容 */ ?>
  831. $.ajax
  832. ({
  833. url: "<?=APP_URL?>member_query_all",
  834. type: "post",
  835. dataType:"json",
  836. data: {},
  837. success: function(jdata)
  838. {
  839. var member_list = [];
  840. for(idx in jdata)
  841. {
  842. mno = jdata[idx]['member_no'];
  843. member_list = member_list.concat([
  844. "<tr><td id='member_query_all_lpr_", mno, "' style='text-align:left; '>", jdata[idx]['lpr'], "</td>",
  845. "<td id='name_", mno, "' style='text-align:left; '>", jdata[idx]['member_name'], "</td>",
  846. "<td id='mobile_", mno, "' style='text-align:center; '>", jdata[idx]['mobile_no'], "</td>",
  847. "<td id='sdate_", mno, "' style='text-align:center; '>", jdata[idx]['start_date'], "</td>",
  848. "<td id='edate_", mno, "' style='text-align:center; '>", jdata[idx]['end_date'], "</td>",
  849. "<td id='fee_period_", mno, "' style='text-align:center; '>", period_name[jdata[idx]['fee_period']], "</td>",
  850. "<td id='member_attr_", mno, "' style='text-align:center; '>", mem_attr[jdata[idx]['member_attr']], "</td>",
  851. //"<td id='contract_", mno, "' style='text-align:center; '>", jdata[idx]['contract_no'], "</td>",
  852. //"<td id='etag_", mno, "' style='text-align:center; '>", jdata[idx]['etag'], "</td>",
  853. //"<td id='amt_", mno, "' style='text-align:center; '>", jdata[idx]['amt'], "</td>",
  854. //"<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>",
  855. //"</tr>"
  856. ]);
  857. if(jdata[idx]['suspended'] == "1")
  858. {
  859. member_list = member_list.concat(["<td style='text-align:center;'><input type='checkbox' checked id='suspended_", mno, "' disabled/></td>"]);
  860. }
  861. else
  862. {
  863. member_list = member_list.concat(["<td style='text-align:center;'><input type='checkbox' id='suspended_", mno, "' disabled/></td>"]);
  864. }
  865. /*
  866. if(jdata[idx]['verify_state'] == 0)
  867. {
  868. member_list = member_list.concat(["<td style='color:red;text-align:center;' id='verify_state_", mno, "'><button class='btn btn-default' onclick='member_tx_check(0);'>待審核</button></td>"]);
  869. }
  870. else if(jdata[idx]['verify_state'] == 1)
  871. {
  872. member_list = member_list.concat(["<td style='color:green;text-align:center;' id='verify_state_", mno, "'>審核通過</td>"]);
  873. }
  874. else
  875. {
  876. member_list = member_list.concat(["<td style='color:blue;text-align:center;' id='verify_state_", mno, "'><button class='btn btn-default' style='color:blue;' onclick='member_tx_check(0);'>未通過</button></td>"]);
  877. }
  878. */
  879. if(jdata[idx]['valid_time'] < jdata[idx]['end_date'])
  880. {
  881. //member_list = member_list.concat(["<td style='color:red;text-align:left;' id='valid_time_", mno, "'>", jdata[idx]['valid_time'], "</td>"]);
  882. member_list = member_list.concat(["<td style='color:red;text-align:center;' id='valid_time_", mno, "'><button class='btn' style='color:red;' onclick='member_tx_check(0);'>將於 ", jdata[idx]['valid_time'], " 到期</button></td>"]);
  883. }
  884. else
  885. {
  886. member_list = member_list.concat(["<td style='color:green;text-align:left;' id='valid_time_", mno, "'>結束日 ", jdata[idx]['end_date'], " 到期</td>"]);
  887. }
  888. //member_list = member_list.concat(["<td style='color:blue;text-align:center;' id='remarks_", mno, "'>", jdata[idx]['remarks'], "</td>"]);
  889. member_list = member_list.concat(["</tr>"]);
  890. }
  891. $("#member_list_all").append(member_list.join(''));
  892. }
  893. });
  894. break;
  895. // -- 審核總覽 --
  896. case "member_tx_check_query":
  897. $("#member_tx_check").html(""); // -- 清除原內容 --
  898. $.ajax
  899. ({
  900. url: "<?=APP_URL?>member_tx_check_query",
  901. type: "post",
  902. dataType:"json",
  903. data: {},
  904. success:function(jdata)
  905. {
  906. var member_list = ["<tr>"];
  907. for(idx in jdata)
  908. {
  909. tx_no = jdata[idx]['tx_no'];
  910. member_list = member_list.concat(["<td style='text-align:center;'>", tx_no, "</td>"]);
  911. //member_list = member_list.concat(["<td style='text-align:center;'>", st[jdata[idx]['station_no']], "</td>"]);
  912. member_list = member_list.concat(["<td id='acc_date_", tx_no, "' style='text-align:center;'>", jdata[idx]['acc_date'], "</td>"]);
  913. member_list = member_list.concat(["<td id='member_tx_lpr_", tx_no,
  914. "' data-station_no='", jdata[idx]['station_no'],
  915. "' data-member_no='", jdata[idx]['member_no'],
  916. "' data-tx_no='", jdata[idx]['tx_no'],
  917. "' data-member_company_no='", jdata[idx]['member_company_no'],
  918. "' data-company_no='", jdata[idx]['company_no'],
  919. "' data-amt='", jdata[idx]['amt'],
  920. "' data-amt1='", jdata[idx]['amt1'],
  921. "' data-deposit='", jdata[idx]['deposit'],
  922. "' data-start_date_last='", jdata[idx]['start_date_last'],
  923. "' data-end_date='", jdata[idx]['end_date'],
  924. "' data-lpr='", jdata[idx]['lpr'],
  925. "' data-fee_period='", jdata[idx]['fee_period'],
  926. "' style='text-align:left;'>", jdata[idx]['lpr'], "</td>"]);
  927. if(jdata[idx]['current_lpr'])
  928. {
  929. member_list = member_list.concat(["<td id='current_lpr_", tx_no, "' style='text-align:center;'>", jdata[idx]['current_lpr'], "</td>"]);
  930. }
  931. else
  932. {
  933. member_list = member_list.concat(["<td id='current_lpr_", tx_no, "' style='text-align:center;'>已刪除</td>"]);
  934. }
  935. member_list = member_list.concat(["<td id='sdate_last_", tx_no, "' style='text-align:center;'>", jdata[idx]['start_date_last'], "</td>"]);
  936. member_list = member_list.concat(["<td id='fee_period_last_", tx_no, "' style='text-align:center;'>", period_name[jdata[idx]['fee_period_last']], "</td>"]);
  937. member_list = member_list.concat(["<td id='edate_last_", tx_no, "' style='text-align:center;'>", jdata[idx]['end_date_last'], "</td>"]);
  938. member_list = member_list.concat(["<td id='amt_last_", tx_no, "' style='text-align:center;'>", jdata[idx]['amt_last'], "</td>"]);
  939. member_list = member_list.concat(["<td id='fee_period_", tx_no, "' style='text-align:center;'>", period_name[jdata[idx]['fee_period']], "</td>"]);
  940. member_list = member_list.concat(["<td id='sdate_", tx_no, "' style='text-align:center;'>", jdata[idx]['start_date'], "</td>"]);
  941. member_list = member_list.concat(["<td id='edate_", tx_no, "' style='text-align:center;'>", jdata[idx]['end_date'], "</td>"]);
  942. member_list = member_list.concat(["<td id='amt_", tx_no, "' style='text-align:center;'>", jdata[idx]['amt'], "</td>"]);
  943. //member_list = member_list.concat(["<td style='text-align:center;'><button class='btn btn-default' onclick='show_member_tx_bill(", tx_no ,");'>瀏覽</button></td>"]);
  944. if(jdata[idx]['tx_state'] == 4)
  945. {
  946. member_list = member_list.concat(["<td style='color:black;text-align:center;'>已退租</td>"]);
  947. }
  948. else if(jdata[idx]['tx_state'] == 44)
  949. {
  950. member_list = member_list.concat(["<td style='color:black;text-align:center;'>交易取消</td>"]);
  951. }
  952. else if(jdata[idx]['verify_state'] == 0)
  953. {
  954. member_list = member_list.concat(["<td style='color:red;text-align:center;'><button class='btn btn-default' style='color:red;' onclick='member_tx_check(", tx_no + ");'>待審核</button></td>"]);
  955. }
  956. else if(jdata[idx]['verify_state'] == 1)
  957. {
  958. member_list = member_list.concat(["<td style='color:green;text-align:center;'>已審核</td>"]);
  959. }
  960. else
  961. {
  962. member_list = member_list.concat(["<td style='color:red;text-align:center;'><button class='btn btn-default' style='color:blue;' onclick='member_tx_check(", tx_no + ");'>未通過</button></td>"]);
  963. }
  964. member_list = member_list.concat(["<td style='color:red;text-align:center;' id='valid_time_", tx_no, "'>", jdata[idx]['valid_time'], "</td>"]);
  965. member_list = member_list.concat(["<td style='color:blue;text-align:left;' id='remarks_", tx_no, "'>", jdata[idx]['remarks'], "</td>"]);
  966. member_list = member_list.concat(["</tr>"]);
  967. }
  968. $("#member_tx_check").append(member_list.join(''));
  969. }
  970. });
  971. break;
  972. // -- 臨停未結清單 --
  973. case "cario_temp_not_finished_query_all":
  974. $("#altob_current_time_str").text(moment(new Date()).format("YYYY-MM-DD HH:mm:ss"));
  975. $("#cario_temp_not_finished_query_all").html(""); // -- 清除原內容 --
  976. $.ajax
  977. ({
  978. url: "<?=APP_URL?>cario_temp_not_finished_query_all",
  979. type: "post",
  980. dataType:"json",
  981. data:{"station_no":$("#station_select").val(), "q_item":'in_time', "q_str":'2017-02-01'},
  982. success:function(jdata)
  983. {
  984. var cario_temp_list = ["<tr>"];
  985. for(idx in jdata)
  986. {
  987. cario_no = jdata[idx]['cario_no'];
  988. cario_temp_list = cario_temp_list.concat(["<td style='text-align:left;'>", cario_no, "</td>"]);
  989. cario_temp_list = cario_temp_list.concat(["<td id='cario_temp_not_finished_query_all_lpr_", cario_no,
  990. "' data-station_no='", jdata[idx]['station_no'],
  991. "' data-cario_no='", jdata[idx]['cario_no'],
  992. "' data-lpr='", jdata[idx]['lpr'],
  993. "' data-in_time='", jdata[idx]['in_time'],
  994. "' data-out_before_time='", jdata[idx]['out_before_time'],
  995. "' data-pay_time='", jdata[idx]['pay_time'],
  996. "' style='text-align:left;'>", jdata[idx]['lpr'], "</td>"]);
  997. cario_temp_list = cario_temp_list.concat(["<td style='text-align:center;'>", jdata[idx]['in_time'], "</td>"]);
  998. cario_temp_list = cario_temp_list.concat(["<td style='text-align:center;'>", jdata[idx]['pay_time'], "</td>"]);
  999. cario_temp_list = cario_temp_list.concat(["<td style='text-align:center;'>", jdata[idx]['out_before_time'], "</td>"]);
  1000. cario_temp_list = cario_temp_list.concat(["<td style='color:red;text-align:center;'><button class='btn btn-default' style='color:red;' onclick='cario_temp_check(", cario_no + ");'>人工審核</button></td>"]);
  1001. cario_temp_list = cario_temp_list.concat(["</tr>"]);
  1002. }
  1003. $("#cario_temp_not_finished_query_all").append(cario_temp_list.join(''));
  1004. }
  1005. });
  1006. break;
  1007. // -- 退租交易清單 --
  1008. case "member_tx_refund_query":
  1009. load_page(tags);
  1010. break;
  1011. // -- 會員查詢, 並列出清單 --
  1012. case "member_query":
  1013. //$("#member_list").html(""); // -- 清除原內容 --
  1014. break;
  1015. // -- 交易查詢, 並列出清單 --
  1016. case "member_tx_query":
  1017. $("#member_tx_list").html(""); // -- 清除原內容 --
  1018. break;
  1019. // -- 發票查詢, 並列出清單 --
  1020. case "member_tx_bill_query":
  1021. $("#member_tx_bill_list").html(""); // -- 清除原內容 --
  1022. if (type == "ok")
  1023. {
  1024. show_member_tx_bill(0, '0,1,99', '100'); // 待開立 (未審核, 已審核, 審核未通過, 未開立發票)
  1025. }
  1026. else if (type == "more")
  1027. {
  1028. show_member_tx_bill(0, '', '1', '4'); // 待補開 (已退租, 待補開發票)
  1029. }
  1030. else if (type == "refund")
  1031. {
  1032. show_member_tx_bill(0, '', '2', '4'); // 待折讓 (已退租, 已開立發票)
  1033. }
  1034. break;
  1035. // -- 費率查詢, 並列出清單 --
  1036. case "price_plan_query_all":
  1037. $("#price_plan_list").html(""); // -- 清除原內容 --
  1038. break;
  1039. // 停車時段設定
  1040. case "park_time":
  1041. $.ajax
  1042. ({
  1043. url: APP_URL+"park_time",
  1044. type: "post",
  1045. dataType:"json",
  1046. data: {},
  1047. success: function(jdata)
  1048. {
  1049. var str = "";
  1050. for(idx in jdata)
  1051. {
  1052. pt_id = jdata[idx]['time_id'];
  1053. str += "<tr id='pt_"+pt_id+"' data-type='"+jdata[idx]['park_type']+"' data-week_start='"+jdata[idx]['week_start']+"' data-week_end='"+jdata[idx]['week_end']+"'>";
  1054. str += "<td id='pt_seqno_"+pt_id+"' style='text-align:center;'>"+jdata[idx]['seqno']+"</td>";
  1055. str += "<td id='pt_time_id_"+pt_id+"' style='text-align:center;'>"+pt_id+"</td>";
  1056. /*
  1057. str += "<td id='pt_park_type_"+pt_id+"' style='text-align:center;'>"+park_type[jdata[idx]['park_type']]+"</td>";
  1058. str += "<td id='pt_week_start_"+pt_id+"' style='text-align:center;'>"+week_name[jdata[idx]['week_start']]+"</td>";
  1059. str += "<td id='pt_week_end_"+pt_id+"' style='text-align:center;'>"+week_name[jdata[idx]['week_end']]+"</td>";
  1060. str += "<td id='pt_daytime_start_"+pt_id+"' style='text-align:center;'>"+jdata[idx]['daytime_start']+"</td>";
  1061. str += "<td id='pt_daytime_end_"+pt_id+"' style='text-align:center;'>"+jdata[idx]['daytime_end']+"</td>";
  1062. */
  1063. str += "<td id='pt_remarks_"+pt_id+"' style='text-align:left;'>"+jdata[idx]['remarks']+"</td>";
  1064. str += "<td style='text-align:center;'><select id='sel_park_time_"+pt_id+"' onclick='park_time_modify(\""+pt_id+"\");'><option value='choice'>請選擇</option><option value='modify'>修改</option><option value='delete'>刪除</option></select></td>";
  1065. str += "</tr>";
  1066. }
  1067. //$("#park_time_list").html("").append(str);
  1068. $("#park_time_list").html(str);
  1069. }
  1070. });
  1071. break;
  1072. case "check_point": // 關帳
  1073. $("#check_point_time").val(moment(new Date()).format("YYYY-MM-DD HH:mm:ss"));
  1074. $("#check_point_remarks").val("");
  1075. load_page(tags);
  1076. break;
  1077. case "check_point_report": // 關帳查詢
  1078. load_page(tags);
  1079. break;
  1080. case "invoice_open":
  1081. case "invoice_reprint":
  1082. case "invoice_cancel":
  1083. case "invoice_rows":
  1084. case "invoice_close":
  1085. load_page(tags);
  1086. break;
  1087. default:
  1088. $("#"+tags+"_list").html(""); // -- 清除原內容 --
  1089. break;
  1090. }
  1091. $("[data-items]").hide();
  1092. $("[data-items="+tags+"]").show();
  1093. return false;
  1094. }
  1095. // 載入頁面
  1096. function load_page(tags)
  1097. {
  1098. if ($("[data-items='"+tags+"']").length == 0) // 第一次loading
  1099. {
  1100. $.ajax
  1101. ({
  1102. url:APP_URL+"get_html",
  1103. async:false,
  1104. timeout:1500,
  1105. type:"post",
  1106. dataType:"text",
  1107. data:{"tag_name":tags,"company_no":company_no},
  1108. success:function(jdata)
  1109. {
  1110. $("#page-wrapper").append(jdata);
  1111. }
  1112. });
  1113. }
  1114. }
  1115. // 停車時段修改或刪除選項
  1116. function park_time_modify(park_time_id)
  1117. {
  1118. select_item = $("#sel_park_time_"+park_time_id).val();
  1119. switch(select_item)
  1120. {
  1121. case "choice": // -- 請選擇(忽略不處理) --
  1122. return false;
  1123. case "modify":
  1124. $("[name=time_id]").val($("#pt_time_id_"+park_time_id).text());
  1125. $("[name=seqno]").val($("#pt_seqno_"+park_time_id).text());
  1126. $("#park_time_dialog").modal
  1127. ({
  1128. backdrop:false,
  1129. keyboard:false
  1130. });
  1131. break;
  1132. case "delete":
  1133. if (!confirm("確定刪除嗎 ?")) return false;
  1134. $.ajax
  1135. ({
  1136. url:APP_URL+"park_time_delete",
  1137. type:"post",
  1138. dataType:"text",
  1139. data:{"time_id":park_time_id},
  1140. success:function(jdata)
  1141. {
  1142. if (jdata == "ok")
  1143. {
  1144. alertify_msg("刪除成功 !");
  1145. show_item("park_time", "");
  1146. }
  1147. }
  1148. });
  1149. break;
  1150. }
  1151. }
  1152. // 查核作業
  1153. function member_tx_check(tx_no)
  1154. {
  1155. alertify_msg("請通知總公司營管!<br/><br/>電話:02-27057716 分機 119<br/><br/>");
  1156. }
  1157. // 臨停未結確認
  1158. function cario_temp_check(cario_no)
  1159. {
  1160. var station_no = $("#cario_temp_not_finished_query_all_lpr_"+cario_no).data("station_no");
  1161. var lpr = $("#cario_temp_not_finished_query_all_lpr_"+cario_no).data("lpr");
  1162. var in_time = $("#cario_temp_not_finished_query_all_lpr_"+cario_no).data("in_time");
  1163. var pay_time = $("#cario_temp_not_finished_query_all_lpr_"+cario_no).data("pay_time");
  1164. var out_before_time = $("#cario_temp_not_finished_query_all_lpr_"+cario_no).data("out_before_time");
  1165. // 發票資訊
  1166. xvars["cario_temp_check"] = Array();
  1167. xvars["cario_temp_check"]["cario_no"] = cario_no;
  1168. xvars["cario_temp_check"]["station_no"] = station_no;
  1169. xvars["cario_temp_check"]["in_time"] = in_time;
  1170. xvars["cario_temp_check"]["pay_time"] = (pay_time == "") ? '未付款': pay_time;
  1171. xvars["cario_temp_check"]["out_before_time"] = out_before_time;
  1172. $("#cario_temp_check_lpr").text("").text(lpr);
  1173. $("#cario_temp_check_in_time").text("").text(in_time);
  1174. $("#cario_temp_check_pay_time").text("").text(pay_time);
  1175. $("#cario_temp_check_out_before_time").text("").text(out_before_time);
  1176. $("#cario_temp_check_remarks").text("");
  1177. $("#cario_temp_check_dialog").modal({backdrop:false,keyboard:false});
  1178. }
  1179. // 臨停未結確認完成
  1180. function do_cario_temp_check_ok()
  1181. {
  1182. if (!confirm("確認審核通過 ?")) return false;
  1183. var station_no = xvars["cario_temp_check"]["station_no"];
  1184. var cario_no = xvars["cario_temp_check"]["cario_no"];
  1185. var cario_temp_check_remarks = $("#cario_temp_check_remarks").val();
  1186. if (cario_temp_check_remarks == "")
  1187. {
  1188. alertify_msg("請說明原因,謝謝");
  1189. return false;
  1190. }
  1191. //alertify_msg("施工中..zzz");
  1192. //return false;
  1193. // 新增審核資訊
  1194. $.ajax
  1195. ({
  1196. url:APP_URL+"cario_temp_confirmed",
  1197. dataType:"text",
  1198. type:"post",
  1199. data:
  1200. {
  1201. "station_no": station_no,
  1202. "cario_no": cario_no,
  1203. "remarks": cario_temp_check_remarks
  1204. },
  1205. error:function(xhr, ajaxOptions, thrownError)
  1206. {
  1207. var error_msg = xhr.responseText ? xhr.responseText : "連線失敗, 請稍候再試";
  1208. alertify_msg(error_msg);
  1209. console.log("error:"+error_msg+"|"+ajaxOptions+"|"+thrownError);
  1210. },
  1211. success:function(jdata)
  1212. {
  1213. if (jdata == "ok")
  1214. {
  1215. alertify_msg("確認完成!");
  1216. show_item('cario_temp_not_finished_query_all', 'cario_temp_not_finished_query_all');
  1217. }
  1218. else if(jdata == "not_synced")
  1219. {
  1220. alertify_sync(station_no);
  1221. }
  1222. else if (jdata == "check_fail")
  1223. {
  1224. alertify_msg("操作失敗,已取消");
  1225. }
  1226. else
  1227. {
  1228. alertify_msg("操作失敗 !");
  1229. }
  1230. }
  1231. });
  1232. delete xvars["cario_temp_check"];
  1233. $('#cario_temp_check_dialog').modal('hide');
  1234. }
  1235. // 接續開立發票 (補開發票)
  1236. function next_refund_bill(tx_bill_no)
  1237. {
  1238. if (!confirm("建立下一張發票 ?")) return false;
  1239. var station_no = $("#tx_bill_lpr_"+tx_bill_no).data("station_no");
  1240. var member_no = $("#tx_bill_lpr_"+tx_bill_no).data("member_no");
  1241. var remain_amt = $("#tx_bill_lpr_"+tx_bill_no).data("remain_amt");
  1242. var tx_no = $("#tx_bill_lpr_"+tx_bill_no).data("tx_no");
  1243. if(remain_amt > 0)
  1244. {
  1245. // 尚餘金額繼續開立
  1246. xvars["rents"] = Array();
  1247. xvars["rents"]["tx_bill_no"] = tx_bill_no;
  1248. xvars["rents"]["tx_no"] = tx_no;
  1249. xvars["rents"]["station_no"] = station_no;
  1250. xvars["rents"]["member_no"] = member_no;
  1251. xvars["rents"]["remain_amt"] = parseInt(remain_amt);
  1252. //console.log(xvars["rents"]);
  1253. $.ajax
  1254. ({
  1255. url:APP_URL+"next_tx_bill",
  1256. type:"post",
  1257. dataType:"text",
  1258. data:{ "station_no":station_no, "tx_no":tx_no,
  1259. "tx_bill_no":tx_bill_no, "member_no":member_no,
  1260. "remain_amt":remain_amt},
  1261. success:function(jdata)
  1262. {
  1263. if (jdata == "ok")
  1264. {
  1265. alertify_msg("建立完成 ! ");
  1266. show_member_tx_bill(0, '', '1', '4'); // 待補開 (已退租, 待補開發票)
  1267. }
  1268. else if (jdata == "tx_error_not_found")
  1269. {
  1270. alertify_msg("異常:查無開立資訊");
  1271. }
  1272. else if (jdata == "tx_error_not_ready")
  1273. {
  1274. alertify_msg("操作錯誤:請先處理本期發票");
  1275. }
  1276. else if (jdata == "tx_error_next")
  1277. {
  1278. alertify_msg("異常:查無待開立資訊");
  1279. }
  1280. else
  1281. {
  1282. alertify_msg("請於 " + jdata + ",再建立新的發票");
  1283. }
  1284. }
  1285. });
  1286. }
  1287. else
  1288. {
  1289. // 各期月租發票補印
  1290. alertify_msg("流程異常:請通知總公司處理:" + tx_bill_no);
  1291. }
  1292. }
  1293. /*
  1294. function refund_invoice_more(tx_bill_no)
  1295. {
  1296. if (!confirm("確定補開發票 ?")) return false;
  1297. var station_no = $("#tx_bill_lpr_"+tx_bill_no).data("station_no");
  1298. var member_no = $("#tx_bill_lpr_"+tx_bill_no).data("member_no");
  1299. var invoice_amt = $("#tx_bill_lpr_"+tx_bill_no).data("invoice_amt");
  1300. var tx_no = $("#tx_bill_lpr_"+tx_bill_no).data("tx_no");
  1301. if(refund_amt > 0)
  1302. {
  1303. // 尚餘金額繼續開立
  1304. xvars["rents"] = Array();
  1305. xvars["rents"]["tx_bill_no"] = tx_bill_no;
  1306. xvars["rents"]["station_no"] = station_no;
  1307. xvars["rents"]["member_no"] = member_no;
  1308. xvars["rents"]["invoice_amt"] = parseInt(invoice_amt);
  1309. $.ajax
  1310. ({
  1311. url:APP_URL+"refund_invoice_more",
  1312. type:"post",
  1313. dataType:"text",
  1314. data:{ "station_no":station_no, "tx_no":tx_no,
  1315. "tx_bill_no":tx_bill_no, "member_no":member_no,
  1316. "refund_amt":refund_amt},
  1317. success:function(jdata)
  1318. {
  1319. if (jdata == "ok")
  1320. {
  1321. alertify_msg("補開完成 ! ");
  1322. show_member_tx_bill(0, '', '1', '4'); // 待補開 (已退租, 待補開發票)
  1323. }
  1324. else if (jdata == "tx_error_not_found")
  1325. {
  1326. alertify_msg("異常:查無開立資訊");
  1327. }
  1328. else if (jdata == "tx_error_not_ready")
  1329. {
  1330. alertify_msg("異常:查無發票資訊");
  1331. }
  1332. else
  1333. {
  1334. alertify_msg("異常:" + jdata);
  1335. }
  1336. }
  1337. });
  1338. }
  1339. else
  1340. {
  1341. // 各期月租發票補印
  1342. alertify_msg("流程異常:請通知總公司處理:" + tx_bill_no);
  1343. }
  1344. }
  1345. */
  1346. // 折讓發票
  1347. function refund_invoice_allowance(tx_bill_no)
  1348. {
  1349. if (!confirm("確定折讓發票 ?")) return false;
  1350. var station_no = $("#tx_bill_lpr_"+tx_bill_no).data("station_no");
  1351. var member_no = $("#tx_bill_lpr_"+tx_bill_no).data("member_no");
  1352. var refund_amt = $("#tx_bill_lpr_"+tx_bill_no).data("refund_amt");
  1353. var tx_no = $("#tx_bill_lpr_"+tx_bill_no).data("tx_no");
  1354. if(refund_amt > 0)
  1355. {
  1356. // 尚餘金額繼續開立
  1357. xvars["rents"] = Array();
  1358. xvars["rents"]["tx_bill_no"] = tx_bill_no;
  1359. xvars["rents"]["station_no"] = station_no;
  1360. xvars["rents"]["member_no"] = member_no;
  1361. xvars["rents"]["refund_amt"] = parseInt(refund_amt);
  1362. $.ajax
  1363. ({
  1364. url:APP_URL+"refund_invoice_allowance",
  1365. type:"post",
  1366. dataType:"text",
  1367. data:{ "station_no":station_no, "tx_no":tx_no,
  1368. "tx_bill_no":tx_bill_no, "member_no":member_no,
  1369. "refund_amt":refund_amt},
  1370. success:function(jdata)
  1371. {
  1372. if (jdata == "ok")
  1373. {
  1374. alertify_msg("折讓完成 ! ");
  1375. show_member_tx_bill(0, '', '2', '4'); // 待折讓 (已退租, 已開立發票)
  1376. }
  1377. else if (jdata == "tx_error_not_found")
  1378. {
  1379. alertify_msg("異常:查無開立資訊");
  1380. }
  1381. else if (jdata == "tx_error_not_ready")
  1382. {
  1383. alertify_msg("異常:查無發票資訊");
  1384. }
  1385. else
  1386. {
  1387. alertify_msg("異常:" + jdata);
  1388. }
  1389. }
  1390. });
  1391. }
  1392. else
  1393. {
  1394. // 各期月租發票補印
  1395. alertify_msg("流程異常:請通知總公司處理:" + tx_bill_no);
  1396. }
  1397. }
  1398. // 接續開立發票
  1399. function next_tx_bill(tx_bill_no)
  1400. {
  1401. if (!confirm("建立下一張發票 ?")) return false;
  1402. var station_no = $("#tx_bill_lpr_"+tx_bill_no).data("station_no");
  1403. var member_no = $("#tx_bill_lpr_"+tx_bill_no).data("member_no");
  1404. var remain_amt = $("#tx_bill_lpr_"+tx_bill_no).data("remain_amt");
  1405. var tx_no = $("#tx_bill_lpr_"+tx_bill_no).data("tx_no");
  1406. var invoice_state = $("#tx_bill_lpr_"+tx_bill_no).data("invoice_state");
  1407. if(remain_amt > 0)
  1408. {
  1409. // 尚餘金額繼續開立
  1410. xvars["rents"] = Array();
  1411. xvars["rents"]["tx_bill_no"] = tx_bill_no;
  1412. xvars["rents"]["tx_no"] = tx_no;
  1413. xvars["rents"]["station_no"] = station_no;
  1414. xvars["rents"]["member_no"] = member_no;
  1415. xvars["rents"]["remain_amt"] = parseInt(remain_amt);
  1416. //console.log(xvars["rents"]);
  1417. $.ajax
  1418. ({
  1419. url:APP_URL+"next_tx_bill",
  1420. type:"post",
  1421. dataType:"text",
  1422. data:{ "station_no":station_no, "tx_no":tx_no,
  1423. "tx_bill_no":tx_bill_no, "member_no":member_no,
  1424. "remain_amt":remain_amt},
  1425. success:function(jdata)
  1426. {
  1427. if (jdata == "ok")
  1428. {
  1429. alertify_msg("建立完成 ! ");
  1430. if(invoice_state == 1)
  1431. {
  1432. show_member_tx_bill(0, '', '1', '4'); // 待補開 (已退租)
  1433. }
  1434. else if(invoice_state == 2)
  1435. {
  1436. show_member_tx_bill(0, '', '2', '4'); // 待折讓 (已退租, 已開立發票)
  1437. }
  1438. else
  1439. {
  1440. show_member_tx_bill(tx_no);
  1441. }
  1442. }
  1443. else if (jdata == "tx_error_not_found")
  1444. {
  1445. alertify_msg("異常:查無開立資訊");
  1446. }
  1447. else if (jdata == "tx_error_not_ready")
  1448. {
  1449. alertify_msg("操作錯誤:請先處理本期發票");
  1450. }
  1451. else if (jdata == "tx_error_next")
  1452. {
  1453. alertify_msg("異常:查無待開立資訊");
  1454. }
  1455. else
  1456. {
  1457. alertify_msg("請於 " + jdata + ",再建立新的發票");
  1458. }
  1459. }
  1460. });
  1461. }
  1462. else
  1463. {
  1464. // 各期月租發票補印
  1465. alertify_msg("流程異常:請通知總公司處理:" + tx_bill_no);
  1466. }
  1467. }
  1468. /*
  1469. // 待折讓 (已退租, 已開立發票)
  1470. function show_member_refund_allowance()
  1471. {
  1472. show_member_tx_bill(0, '', '2', '4');
  1473. }
  1474. // 待補開 (已退租)
  1475. function show_member_refund_more_invoice()
  1476. {
  1477. show_member_tx_bill(0, '', '1', '4');
  1478. }
  1479. */
  1480. // 發票開立記錄
  1481. function show_member_tx_bill(tx_no=0, verify_state_str='', invoice_state_str='', tx_state_str='', tx_bill_no =0, member_refund_id=0)
  1482. {
  1483. show_item("member_tx_bill_query", "member_tx_bill_query");
  1484. $.ajax
  1485. ({
  1486. url:APP_URL+"member_tx_bill_query",
  1487. type:"post",
  1488. dataType:"json",
  1489. data:{"station_no":station_no, "tx_no":tx_no, "verify_state_str":verify_state_str,
  1490. "invoice_state_str":invoice_state_str, "tx_state_str":tx_state_str,
  1491. "tx_bill_no":tx_bill_no, "member_refund_id":member_refund_id},
  1492. success:function(jdata)
  1493. {
  1494. var member_list = [["<tr>"]];
  1495. for(idx in jdata)
  1496. {
  1497. //console.log(jdata.length + " : " + idx + " , " + jdata[idx]['invoice_amt'] + " : " + jdata[idx]['remain_amt']);
  1498. tx_no = jdata[idx]['tx_no'];
  1499. member_list = member_list.concat(["<td style='text-align:left;'>", jdata[idx]['tx_no'], "_", jdata[idx]['tx_bill_no'], "</td>"]);
  1500. //member_list = member_list.concat(["<td style='text-align:left;'>", st[jdata[idx]['station_no']], "</td>"]);
  1501. member_list = member_list.concat(["<td id='acc_date_", tx_no, "' style='text-align:center;'>", jdata[idx]['acc_date'], "</td>"]);
  1502. member_list = member_list.concat(["<td id='tx_bill_lpr_", jdata[idx]['tx_bill_no'],
  1503. "' data-station_no='", jdata[idx]['station_no'],
  1504. "' data-member_no='", jdata[idx]['member_no'],
  1505. "' data-tx_bill_no='", jdata[idx]['tx_bill_no'],
  1506. "' data-tx_no='", jdata[idx]['tx_no'],
  1507. "' data-member_company_no='", jdata[idx]['member_company_no'],
  1508. "' data-company_no='", jdata[idx]['company_no'],
  1509. "' data-invoice_amt='", jdata[idx]['invoice_amt'],
  1510. "' data-remain_amt='", jdata[idx]['remain_amt'],
  1511. "' data-period_3_amt='", jdata[idx]['period_3_amt'],
  1512. "' data-amt='", jdata[idx]['amt'],
  1513. "' data-amt1='", jdata[idx]['amt1'],
  1514. "' data-deposit='", jdata[idx]['deposit'],
  1515. "' data-start_date_last='", jdata[idx]['start_date_last'],
  1516. "' data-end_date='", jdata[idx]['end_date'],
  1517. "' data-lpr='", jdata[idx]['lpr'],
  1518. "' data-fee_period='", jdata[idx]['fee_period'],
  1519. "' data-refund_amt='", jdata[idx]['refund_amt'],
  1520. "' data-invoice_state='", jdata[idx]['invoice_state'],
  1521. "' style='text-align:left;'>", jdata[idx]['lpr'], "</td>"]);
  1522. member_list = member_list.concat(["<td id='sdate_last_", tx_no, "' style='text-align:center;'>", jdata[idx]['start_date_last'], "</td>"]);
  1523. member_list = member_list.concat(["<td id='fee_period_last_", tx_no, "' style='text-align:center;'>", period_name[jdata[idx]['fee_period_last']], "</td>"]);
  1524. member_list = member_list.concat(["<td id='edate_last_", tx_no, "' style='text-align:center;'>", jdata[idx]['end_date_last'], "</td>"]);
  1525. member_list = member_list.concat(["<td id='amt_last_", tx_no, "' style='text-align:center;'>", jdata[idx]['amt_last'], "</td>"]);
  1526. member_list = member_list.concat(["<td id='fee_period_", tx_no, "' style='text-align:center;'>", period_name[jdata[idx]['fee_period']], "</td>"]);
  1527. member_list = member_list.concat(["<td id='sdate_", tx_no, "' style='text-align:center;'>", jdata[idx]['start_date'], "</td>"]);
  1528. if(jdata[idx]['invoice_state'] == 1)
  1529. {
  1530. // 待補開
  1531. member_list = member_list.concat(["<td id='edate_", tx_no, "' style='text-align:center;'>指定退租日<br/>", jdata[idx]['end_date'], "</td>"]);
  1532. member_list = member_list.concat(["<td id='amt_", tx_no, "' style='text-align:center;'>補繳總金額<br/>", jdata[idx]['amt'], " 元</td>"]);
  1533. }
  1534. else if(jdata[idx]['invoice_state'] == 2)
  1535. {
  1536. // 待折讓
  1537. member_list = member_list.concat(["<td id='edate_", tx_no, "' style='text-align:center;'>指定退租日<br/>", jdata[idx]['end_date'], "</td>"]);
  1538. member_list = member_list.concat(["<td id='amt_", tx_no, "' style='text-align:center;'>折讓總金額<br/>", jdata[idx]['amt'], " 元</td>"]);
  1539. }
  1540. else
  1541. {
  1542. member_list = member_list.concat(["<td id='edate_", tx_no, "' style='text-align:center;'>", jdata[idx]['end_date'], "</td>"]);
  1543. member_list = member_list.concat(["<td id='amt_", tx_no, "' style='text-align:center;'>", jdata[idx]['amt'], " 元</td>"]);
  1544. }
  1545. // 是否已有發票
  1546. if(jdata[idx]['invoice_no'] > 0)
  1547. {
  1548. member_list = member_list.concat(["<td id='invoice_time_", tx_no, "' style='text-align:center;'>", jdata[idx]['invoice_time'], "</td>"]);
  1549. member_list = member_list.concat(["<td id='member_company_no_", tx_no, "' style='text-align:center;'>", jdata[idx]['member_company_no'], "</td>"]);
  1550. member_list = member_list.concat(["<td id='company_no_", tx_no, "' style='text-align:center;'>", jdata[idx]['company_no'], "</td>"]);
  1551. member_list = member_list.concat(["<td id='invoice_amt_", tx_no, "' style='text-align:center;'>", jdata[idx]['invoice_amt'], "</td>"]);
  1552. member_list = member_list.concat(["<td id='invoice_track_", tx_no, "' style='text-align:center;'>", jdata[idx]['invoice_track'], "</td>"]);
  1553. member_list = member_list.concat(["<td id='invoice_no_", tx_no, "' style='text-align:center;'>", jdata[idx]['invoice_no'], "</td>"]);
  1554. if(jdata[idx]['invoice_type'] == 0)
  1555. {
  1556. member_list = member_list.concat(["<td id='invoice_type_", tx_no, "' style='text-align:center;'>電子發票</td>"]);
  1557. }
  1558. else if(jdata[idx]['invoice_type'] == 1)
  1559. {
  1560. member_list = member_list.concat(["<td id='invoice_type_", tx_no, "' style='text-align:center;'>手開發票</td>"]);
  1561. }
  1562. else
  1563. {
  1564. member_list = member_list.concat(["<td id='invoice_type_", tx_no, "' style='text-align:center;'>異常</td>"]);
  1565. }
  1566. }
  1567. else
  1568. {
  1569. member_list = member_list.concat(["<td id='invoice_time_", tx_no, "' style='text-align:center;'>未開立</td>"]);
  1570. member_list = member_list.concat(["<td id='member_company_no_", tx_no, "' style='text-align:center;'>", jdata[idx]['member_company_no'], "</td>"]);
  1571. member_list = member_list.concat(["<td id='company_no_", tx_no, "' style='text-align:center;'>", jdata[idx]['company_no'], "</td>"]);
  1572. member_list = member_list.concat(["<td id='invoice_amt_", tx_no, "' style='text-align:center;'>", jdata[idx]['invoice_amt'], "</td>"]);
  1573. member_list = member_list.concat(["<td id='invoice_track_", tx_no, "' style='text-align:center;'></td>"]);
  1574. if(jdata[idx]['tx_state'] == 4 && jdata[idx]['invoice_state'] == 0)
  1575. {
  1576. // 已退租, 原先交易將不再開放開立
  1577. member_list = member_list.concat(["<td id='invoice_no_", tx_no, "' style='text-align:center;'></td>"]);
  1578. member_list = member_list.concat(["<td id='invoice_type_", tx_no, "' style='text-align:center;'></td>"]);
  1579. }
  1580. else
  1581. {
  1582. member_list = member_list.concat(["<td id='invoice_no_", tx_no, "' style='text-align:center;'><button class='btn btn-default' onclick='print_tx_invoice(", jdata[idx]['tx_bill_no'] ,");'>列印發票</button></td>"]);
  1583. member_list = member_list.concat(["<td id='invoice_type_", tx_no, "' style='text-align:center;'><button class='btn btn-default' onclick='hand_tx_invoice(", jdata[idx]['tx_bill_no'] ,");'>手開發票</button></td>"]);
  1584. }
  1585. }
  1586. //member_list = member_list.concat(["<td style='color:blue;text-align:center;' id='remarks_", jdata[idx]['tx_bill_no'], "'>", jdata[idx]['remarks'], "</td>"]);
  1587. if(jdata[idx]['tx_state'] == 4)
  1588. {
  1589. member_list = member_list.concat(["<td style='color:black;text-align:center;'>已退租</td>"]);
  1590. }
  1591. else if(jdata[idx]['tx_state'] == 44)
  1592. {
  1593. member_list = member_list.concat(["<td style='color:black;text-align:center;'>交易取消</td>"]);
  1594. }
  1595. else if(jdata[idx]['verify_state'] == 0)
  1596. {
  1597. member_list = member_list.concat(["<td style='color:red;text-align:center;'><button class='btn btn-default' style='color:red;' onclick='member_tx_check(", tx_no + ");'>待審核</button></td>"]);
  1598. }
  1599. else if(jdata[idx]['verify_state'] == 1)
  1600. {
  1601. member_list = member_list.concat(["<td style='color:green;text-align:center;'>已審核</td>"]);
  1602. }
  1603. else
  1604. {
  1605. member_list = member_list.concat(["<td style='color:red;text-align:center;'><button class='btn btn-default' style='color:blue;' onclick='member_tx_check(", tx_no + ");'>未通過</button></td>"]);
  1606. }
  1607. // 剩餘開立金額
  1608. if(jdata[idx]['invoice_state'] == 1)
  1609. {
  1610. // 待開立
  1611. if(jdata[idx]['remain_amt'] > 0)
  1612. {
  1613. member_list = member_list.concat(["<td style='text-align:center;'><button class='btn btn-default' onclick='next_refund_bill(", jdata[idx]['tx_bill_no'] ,");'>尚餘 ", jdata[idx]['remain_amt'] ," 元</button></td>"]);
  1614. }
  1615. else
  1616. {
  1617. member_list = member_list.concat(["<td style='text-align:center;'>無</td>"]);
  1618. }
  1619. }
  1620. else if(jdata[idx]['invoice_state'] == 2)
  1621. {
  1622. // 待折讓
  1623. if(jdata[idx]['refund_amt'] > 0)
  1624. {
  1625. member_list = member_list.concat(["<td style='text-align:center;'><button class='btn btn-default' onclick='refund_invoice_allowance(", jdata[idx]['tx_bill_no'] ,");'>待折讓 ", jdata[idx]['refund_amt'] ," 元</button></td>"]);
  1626. }
  1627. else
  1628. {
  1629. member_list = member_list.concat(["<td style='text-align:center;'>異常</td>"]);
  1630. }
  1631. }
  1632. else
  1633. {
  1634. // 待開立
  1635. if(jdata[idx]['remain_amt'] > 0)
  1636. {
  1637. if(jdata[idx]['tx_state'] == 4 && jdata[idx]['invoice_state'] == 0)
  1638. {
  1639. // 已退租, 原先交易將不再開放開立
  1640. member_list = member_list.concat(["<td style='text-align:center;'>尚餘 ", jdata[idx]['remain_amt'] ," 元</td>"]);
  1641. }
  1642. else
  1643. {
  1644. member_list = member_list.concat(["<td style='text-align:center;'><button class='btn btn-default' onclick='next_tx_bill(", jdata[idx]['tx_bill_no'] ,");'>尚餘 ", jdata[idx]['remain_amt'] ," 元</button></td>"]);
  1645. }
  1646. }
  1647. else
  1648. {
  1649. member_list = member_list.concat(["<td style='text-align:center;'>無</td>"]);
  1650. }
  1651. }
  1652. member_list = member_list.concat(["</tr>"]);;
  1653. }
  1654. $("#member_tx_bill_list").append(member_list.join(''));
  1655. }
  1656. });
  1657. }
  1658. // 顯示會員交易記錄
  1659. function show_member_tx(member_no)
  1660. {
  1661. $.ajax
  1662. ({
  1663. url:APP_URL+"member_tx_query",
  1664. type:"post",
  1665. dataType:"json",
  1666. data:{"station_no":station_no, "member_no":member_no},
  1667. success:function(jdata)
  1668. {
  1669. show_item("member_tx_query", "member_tx_query");
  1670. var member_list = ['<tr>'];
  1671. for(idx in jdata)
  1672. {
  1673. tx_no = jdata[idx]['tx_no'];
  1674. member_list = member_list.concat(["<td style='text-align:center;'>", tx_no, "</td>"]);
  1675. //member_list = member_list.concat(["<td style='text-align:left;'>", st[jdata[idx]['station_no']], "</td>"]);
  1676. member_list = member_list.concat(["<td id='acc_date_", tx_no, "' style='text-align:center;'>", jdata[idx]['acc_date'], "</td>"]);
  1677. member_list = member_list.concat(["<td id='show_member_tx_lpr_", tx_no,
  1678. "' data-station_no='", jdata[idx]['station_no'],
  1679. "' data-member_no='", jdata[idx]['member_no'],
  1680. "' data-tx_no='", jdata[idx]['tx_no'],
  1681. "' data-member_company_no='", jdata[idx]['member_company_no'],
  1682. "' data-company_no='", jdata[idx]['company_no'],
  1683. "' data-amt='", jdata[idx]['amt'],
  1684. "' data-amt1='", jdata[idx]['amt1'],
  1685. "' data-deposit='", jdata[idx]['deposit'],
  1686. "' data-start_date_last='", jdata[idx]['start_date_last'],
  1687. "' data-end_date='", jdata[idx]['end_date'],
  1688. "' data-lpr='", jdata[idx]['lpr'],
  1689. "' data-fee_period='", jdata[idx]['fee_period'],
  1690. "' style='text-align:left;'>", jdata[idx]['lpr'], "</td>"]);
  1691. member_list = member_list.concat(["<td id='sdate_last_", tx_no, "' style='text-align:center;'>", jdata[idx]['start_date_last'], "</td>"]);
  1692. member_list = member_list.concat(["<td id='fee_period_last_", tx_no, "' style='text-align:center;'>", period_name[jdata[idx]['fee_period_last']], "</td>"]);
  1693. member_list = member_list.concat(["<td id='edate_last_", tx_no, "' style='text-align:center;'>", jdata[idx]['end_date_last'], "</td>"]);
  1694. member_list = member_list.concat(["<td id='amt_last_", tx_no, "' style='text-align:center;'>", jdata[idx]['amt_last'], "</td>"]);
  1695. member_list = member_list.concat(["<td id='fee_period_", tx_no, "' style='text-align:center;'>", period_name[jdata[idx]['fee_period']], "</td>"]);
  1696. member_list = member_list.concat(["<td id='sdate_", tx_no, "' style='text-align:center;'>", jdata[idx]['start_date'], "</td>"]);
  1697. member_list = member_list.concat(["<td id='edate_", tx_no, "' style='text-align:center;'>", jdata[idx]['end_date'], "</td>"]);
  1698. member_list = member_list.concat(["<td id='amt_", tx_no, "' style='text-align:center;'>", jdata[idx]['amt'], "</td>"]);
  1699. member_list = member_list.concat(["<td style='text-align:center;'><button class='btn btn-default' onclick='show_member_tx_bill(", tx_no ,");'>瀏覽</button></td>"]);
  1700. if(jdata[idx]['tx_state'] == 4)
  1701. {
  1702. member_list = member_list.concat(["<td style='color:black;text-align:center;'>已退租</td>"]);
  1703. }
  1704. else if(jdata[idx]['tx_state'] == 44)
  1705. {
  1706. member_list = member_list.concat(["<td style='color:black;text-align:center;'>交易取消</td>"]);
  1707. }
  1708. else if(jdata[idx]['verify_state'] == 0)
  1709. {
  1710. member_list = member_list.concat(["<td style='color:red;text-align:center;'><button class='btn btn-default' style='color:red;' onclick='member_tx_check(", tx_no + ");'>待審核</button></td>"]);
  1711. }
  1712. else if(jdata[idx]['verify_state'] == 1)
  1713. {
  1714. member_list = member_list.concat(["<td style='color:green;text-align:center;'>已審核</td>"]);
  1715. }
  1716. else
  1717. {
  1718. member_list = member_list.concat(["<td style='color:red;text-align:center;'><button class='btn btn-default' style='color:blue;' onclick='member_tx_check(", tx_no + ");'>未通過</button></td>"]);
  1719. }
  1720. member_list = member_list.concat(["<td style='color:red;text-align:center;' id='valid_time_", tx_no, "'>", jdata[idx]['valid_time'], "</td>"]);
  1721. member_list = member_list.concat(["<td style='color:blue;text-align:left;' id='remarks_", tx_no, "'>", jdata[idx]['remarks'], "</td>"]);
  1722. member_list = member_list.concat(["<td style='text-align:center, '><select id='member_tx_sel_",tx_no,"' onChange='member_tx_modify(", tx_no, "); '><option value='choice'>請選擇</option><option value='cancel'>交易取消</option></select></td>"]);
  1723. member_list = member_list.concat(["</tr>"]);
  1724. }
  1725. $("#member_tx_list").append(member_list.join(''));
  1726. }
  1727. });
  1728. }
  1729. // 交易異動
  1730. function member_tx_modify(tx_no)
  1731. {
  1732. select_item = $("#member_tx_sel_"+tx_no).val();
  1733. $("#member_tx_sel_"+tx_no+" option[value='choice']").prop("selected", true);
  1734. switch(select_item)
  1735. {
  1736. case "cancel":
  1737. if (!confirm("確定取消這筆交易 ? \n\n[注意事項]\n**若為剛建立之會員,且交易尚未審核\n**將直接刪除會員資料!!")) return false;
  1738. var member_no = $("#show_member_tx_lpr_"+tx_no).data("member_no");
  1739. $.ajax
  1740. ({
  1741. url:APP_URL+"member_tx_cancel",
  1742. type:"post",
  1743. dataType:"text",
  1744. data:
  1745. {
  1746. "station_no": $("#show_member_tx_lpr_"+tx_no).data("station_no"),
  1747. "member_no": member_no,
  1748. "tx_no": tx_no
  1749. },
  1750. error:function(xhr, ajaxOptions, thrownError)
  1751. {
  1752. alertify_msg(xhr.responseText);
  1753. console.log("error:"+xhr.responseText+"|"+ajaxOptions+"|"+thrownError);
  1754. },
  1755. success:function(jdata)
  1756. {
  1757. if (jdata == "ok")
  1758. {
  1759. alertify_msg("交易已取消");
  1760. show_member_tx(member_no);
  1761. }
  1762. else if (jdata == "tx_error_not_found")
  1763. {
  1764. alertify_msg("查無資料");
  1765. }
  1766. else if (jdata == "member_not_found")
  1767. {
  1768. alertify_msg("查無會員");
  1769. }
  1770. else if (jdata == "tx_error_refuse")
  1771. {
  1772. alertify_msg("拒絕處理:請進行退租操作");
  1773. }
  1774. else if (jdata == "tx_error_not_last")
  1775. {
  1776. alertify_msg("拒絕處理:請由最新一筆交易開始操作");
  1777. }
  1778. else
  1779. {
  1780. alertify_msg("未知的錯誤");
  1781. }
  1782. }
  1783. });
  1784. break;
  1785. default: // -- 其餘選擇(忽略不處理) --
  1786. return false;
  1787. }
  1788. }
  1789. // 修改或刪除選項
  1790. function member_modify(member_no)
  1791. {
  1792. select_item = $("#sel_"+member_no).val();
  1793. $("#sel_"+member_no+" option[value='choice']").prop("selected", true);
  1794. switch(select_item)
  1795. {
  1796. // 交易記錄
  1797. case "tx_logs":
  1798. show_member_tx(member_no);
  1799. break;
  1800. // 繳租作業
  1801. case "rents":
  1802. // get data
  1803. xvars["rents"] = Array();
  1804. xvars["rents"]["station_no"] = $("#lpr_"+member_no).data("station_no");
  1805. xvars["rents"]["member_no"] = member_no;
  1806. xvars["rents"]["member_attr"] = $("#lpr_"+member_no).data("member_attr");
  1807. xvars["rents"]["lpr"] = $("#lpr_"+member_no).text();
  1808. xvars["rents"]["fee_period"] = $("#lpr_"+member_no).data("fee_period");
  1809. xvars["rents"]["member_company_no"] = $("#lpr_"+member_no).data("member_company_no");
  1810. xvars["rents"]["company_no"] = $("#lpr_"+member_no).data("company_no");
  1811. xvars["rents"]["fee_period_last"] = $("#lpr_"+member_no).data("fee_period_last");
  1812. xvars["rents"]["amt_last"] = $("#lpr_"+member_no).data("amt");//$("#amt_"+member_no).text();
  1813. xvars["rents"]["end_date_last"] = $("#edate_"+member_no).text();
  1814. // clean view
  1815. $("#rents_name").text("");
  1816. $("#rents_station_name").text("");
  1817. $("#rents_end_date_last").text("");
  1818. $("#rents_period").text("");
  1819. $("#rents_company_no").val("");
  1820. $("#rents_member_company_no").val("");
  1821. $("#rents_amt").text("");
  1822. $("#rents_end_date").text("");
  1823. // set view
  1824. $("#rents_name").text($("#lpr_"+member_no).data("member_name")+" ("+$("#lpr_"+member_no).data("lpr")+")");
  1825. $("#rents_station_name").text(st[xvars["rents"]["station_no"]]);
  1826. $("#rents_end_date_last").text($("#lpr_"+member_no).data("end_date")); // 上期到期日
  1827. $("#rents_period").text(period_name[xvars["rents"]["fee_period"]]);
  1828. $("#rents_company_no").val(xvars["rents"]["company_no"]); // 賣方統編
  1829. $("#rents_member_company_no").val(xvars["rents"]["member_company_no"]); // 買方統編
  1830. // 一律顯示作業框
  1831. $("#rents_dialog").modal({backdrop:false,keyboard:false});
  1832. // 取得目前租金費率
  1833. $.ajax
  1834. ({
  1835. url:APP_URL+"get_rents_json",
  1836. type:"post",
  1837. dataType:"json",
  1838. error:function(xhr, ajaxOptions, thrownError)
  1839. {
  1840. alertify_msg(xhr.responseText);
  1841. console.log("error:"+xhr.responseText+"|"+ajaxOptions+"|"+thrownError);
  1842. },
  1843. success:function(jdata)
  1844. {
  1845. //console.log('data:' + xvars["rents"]["fee_period"] + ', ' + xvars["rents"]["member_attr"]);
  1846. xvars["rents"]["amt"] = jdata[xvars["rents"]["fee_period"]][xvars["rents"]["member_attr"]];
  1847. if(xvars["rents"]["amt"] > 0)
  1848. $("#rents_amt").text(xvars["rents"]["amt"]); // 本期租金
  1849. else
  1850. $("#rents_amt").text("查無設定。。"); // 異常
  1851. }
  1852. });
  1853. // 繳租作業小框
  1854. $.ajax
  1855. ({
  1856. url:WEB_SERVICE, // 計算下期截止日
  1857. type:"post",
  1858. dataType:"text",
  1859. data:
  1860. {
  1861. "cmd":"last_date_next",
  1862. "last_date_curr":$("#lpr_"+member_no).data("end_date"),
  1863. "fee_period":$("#lpr_"+member_no).data("fee_period")
  1864. },
  1865. error:function(xhr, ajaxOptions, thrownError)
  1866. {
  1867. var error_msg = xhr.responseText ? xhr.responseText : "連線失敗, 請稍候再試";
  1868. alertify_msg(error_msg);
  1869. console.log("error:"+error_msg+"|"+ajaxOptions+"|"+thrownError);
  1870. },
  1871. success:function(jdata)
  1872. {
  1873. xvars["rents"]["end_date"] = jdata;
  1874. if(xvars["rents"]["end_date"])
  1875. $("#rents_end_date").text(xvars["rents"]["end_date"]); // 本期到期日
  1876. else
  1877. $("#rents_end_date").text("發生異常。。"); // 異常
  1878. }
  1879. });
  1880. break;
  1881. // 手開:繳租作業
  1882. case "hand_rents":
  1883. $.ajax
  1884. ({
  1885. url:WEB_SERVICE, // 計算下期截止日
  1886. type:"post",
  1887. dataType:"text",
  1888. data:
  1889. {
  1890. "cmd":"last_date_next",
  1891. "last_date_curr":$("#lpr_"+member_no).data("end_date"),
  1892. "fee_period":$("#lpr_"+member_no).data("fee_period")
  1893. },
  1894. error:function(xhr, ajaxOptions, thrownError)
  1895. {
  1896. var error_msg = xhr.responseText ? xhr.responseText : "連線失敗, 請稍候再試";
  1897. alertify_msg(error_msg);
  1898. console.log("error:"+error_msg+"|"+ajaxOptions+"|"+thrownError);
  1899. },
  1900. success:function(jdata)
  1901. {
  1902. xvars["rents"] = Array();
  1903. xvars["rents"]["station_no"] = $("#lpr_"+member_no).data("station_no");
  1904. xvars["rents"]["member_no"] = member_no;
  1905. xvars["rents"]["lpr"] = $("#lpr_"+member_no).data("lpr");
  1906. xvars["rents"]["fee_period"] = $("#lpr_"+member_no).data("fee_period");
  1907. xvars["rents"]["member_company_no"] = $("#lpr_"+member_no).data("member_company_no");
  1908. xvars["rents"]["company_no"] = $("#lpr_"+member_no).data("company_no");
  1909. xvars["rents"]["fee_period_last"] = $("#lpr_"+member_no).data("fee_period_last");
  1910. xvars["rents"]["amt_last"] = $("#lpr_"+member_no).data("amt");//$("#amt_"+member_no).text();
  1911. xvars["rents"]["amt"] = xvars["rents"]["amt_last"];
  1912. xvars["rents"]["start_date"] = $("#lpr_"+member_no).data("start_date");
  1913. xvars["rents"]["end_date_last"] = $("#lpr_"+member_no).data("end_date");
  1914. xvars["rents"]["end_date"] = jdata;
  1915. $("#hand_rents_name").text($("#lpr_"+member_no).data("member_name")+" ("+$("#lpr_"+member_no).data("lpr")+")");
  1916. $("#hand_rents_station_name").text(st[xvars["rents"]["station_no"]]);
  1917. $("#hand_rents_end_date_last").text($("#lpr_"+member_no).data("end_date")); // 上期到期日
  1918. $("#hand_rents_end_date").text(xvars["rents"]["end_date"]); // 本期到期日
  1919. $("#hand_rents_period").text(period_name[xvars["rents"]["fee_period"]]);
  1920. $("#hand_rents_amt").text(xvars["rents"]["amt"]);
  1921. $("#hand_rents_amt_tot").text(xvars["rents"]["amt"]);
  1922. $("#hand_rents_company_no").val(xvars["rents"]["company_no"]); // 賣方統編
  1923. if(xvars["rents"]["member_company_no"] == 0 || xvars["rents"]["member_company_no"] == '')
  1924. {
  1925. $("#hand_rents_member_company_no").val("");
  1926. }
  1927. else
  1928. {
  1929. $("#hand_rents_member_company_no").val(xvars["rents"]["member_company_no"]); // 買方統編
  1930. }
  1931. $("#hand_rents_dialog").modal({backdrop:false,keyboard:false});
  1932. }
  1933. });
  1934. break;
  1935. // 修改作業
  1936. case "modify":
  1937. $("#station_no_modify").val($("#lpr_"+member_no).data("station_no"));
  1938. $("#ma_station_no").val($("#lpr_"+member_no).data("station_no"));
  1939. //$("#ma_lpr").val($("#lpr_"+member_no).data("lpr"));
  1940. //$("#ma_old_lpr").val($("#lpr_"+member_no).data("lpr"));
  1941. $("#ma_lpr").val($("#lpr_"+member_no).data("lpr")).prop("readonly",true); // 2017-02-13 updated
  1942. $("#ma_old_lpr").val($("#lpr_"+member_no).data("lpr")).prop("readonly",true); // 2017-02-13 updated
  1943. $("#ma_etag").val($("#lpr_"+member_no).data("etag"));
  1944. $("#ma_member_id").val($("#lpr_"+member_no).data("member_id"));
  1945. $("#ma_member_company_no").val($("#lpr_"+member_no).data("member_company_no"));
  1946. $("#ma_tel_o").val($("#lpr_"+member_no).data("tel_o"));
  1947. $("#ma_tel_h").val($("#lpr_"+member_no).data("tel_h"));
  1948. $("#ma_addr").val($("#lpr_"+member_no).data("addr"));
  1949. $("#ma_member_name").val($("#lpr_"+member_no).data("member_name"));
  1950. if( $("#lpr_"+member_no).data("demonth_start_date") == null &&
  1951. $("#lpr_"+member_no).data("demonth_end_date") == null &&
  1952. $("#lpr_"+member_no).data("rent_start_date") == null)
  1953. {
  1954. $("#ma_demonth_start_date").val($("#lpr_"+member_no).data("start_date")).prop("disabled",true); // 只有起訖時間的情況
  1955. }
  1956. else
  1957. {
  1958. $("#ma_demonth_start_date").val($("#lpr_"+member_no).data("demonth_start_date")).prop("disabled",true);
  1959. }
  1960. $("#ma_demonth_end_date").val($("#lpr_"+member_no).data("demonth_end_date")).prop("disabled",true);
  1961. $("#ma_start_date").val($("#lpr_"+member_no).data("rent_start_date")).prop("disabled",true);
  1962. $("#ma_end_date").val($("#lpr_"+member_no).data("end_date")).prop("disabled",true);
  1963. $("#ma_demonth_start_date_done").val($("#lpr_"+member_no).data("demonth_start_date"));
  1964. $("#ma_demonth_end_date_done").val($("#lpr_"+member_no).data("demonth_end_date"));
  1965. $("#ma_start_date_done").val($("#lpr_"+member_no).data("rent_start_date"));
  1966. $("#ma_end_date_done").val($("#lpr_"+member_no).data("end_date"));
  1967. //$("#ma_fee_period1_done").val($("#lpr_"+member_no).data("fee_period1"));
  1968. //$("#ma_fee_period_done").val($("#lpr_"+member_no).data("fee_period"));
  1969. //$("#ma_member_attr_done").val($("#lpr_"+member_no).data("member_attr"));
  1970. $("#ma_member_name").val($("#lpr_"+member_no).data("member_name"));
  1971. $("#ma_mobile_no").val($("#lpr_"+member_no).data("mobile_no"));
  1972. $("#ma_contract_no").val($("#lpr_"+member_no).data("contract_no"));
  1973. $("#ma_deposit").val($("#lpr_"+member_no).data("deposit")).prop("readonly",true);
  1974. $("#ma_amt1").val($("#lpr_"+member_no).data("amt1")).prop("readonly",true);
  1975. //$("#ma_amt").val($("#amt_"+member_no).text()).prop("readonly",true);
  1976. $("#ma_amt").val($("#lpr_"+member_no).data("amt")).prop("readonly",true);
  1977. $("#ma_member_no").val(member_no);
  1978. $("#fee_period1 option[value='"+$("#lpr_"+member_no).data("fee_period1")+"']").prop("selected", "selected");
  1979. $("#fee_period option[value='"+$("#lpr_"+member_no).data("fee_period")+"']").prop("selected", "selected");
  1980. $("#member_attr option[value='"+$("#lpr_"+member_no).data("member_attr")+"']").prop("selected", "selected");
  1981. $("#member_data_type").html("修改會員資料</button>");
  1982. $("input[id^=pt_id_]").prop("checked",false); // 全部取消勾
  1983. arr = $("#lpr_"+member_no).data("pt_id").split(",");
  1984. for(idx in arr)
  1985. {
  1986. $("#pt_id_"+arr[idx]).prop("checked",true);
  1987. }
  1988. show_item("member_add", "member_modify");
  1989. break;
  1990. case "switch":
  1991. alertify_msg("請通知總公司營管!<br/><br/>電話:02-27057716 分機 119<br/><br/>");
  1992. break;
  1993. case "stop":
  1994. xvars["rents"] = Array();
  1995. xvars["rents"]["station_no"] = $("#lpr_"+member_no).data("station_no");
  1996. xvars["rents"]["member_no"] = member_no;
  1997. xvars["rents"]["member_attr"] = $("#lpr_"+member_no).data("member_attr");
  1998. xvars["rents"]["lpr"] = $("#lpr_"+member_no).data("lpr");
  1999. xvars["rents"]["fee_period"] = $("#lpr_"+member_no).data("fee_period");
  2000. xvars["rents"]["member_company_no"] = $("#lpr_"+member_no).data("member_company_no");
  2001. xvars["rents"]["company_no"] = $("#lpr_"+member_no).data("company_no");
  2002. xvars["rents"]["fee_period_last"] = $("#lpr_"+member_no).data("fee_period_last");
  2003. xvars["rents"]["amt_last"] = $("#lpr_"+member_no).data("amt");//$("#amt_"+member_no).text();
  2004. xvars["rents"]["amt"] = xvars["rents"]["amt_last"];
  2005. xvars["rents"]["end_date_last"] = $("#lpr_"+member_no).data("end_date");
  2006. $("#stop_rents_name").text("").text($("#lpr_"+member_no).data("member_name")+" ("+$("#lpr_"+member_no).data("lpr")+")");
  2007. $("#stop_rents_station_name").text("").text(st[xvars["rents"]["station_no"]]);
  2008. /*
  2009. console.log(
  2010. 'demonth_start_date: ' + $("#lpr_"+member_no).data("demonth_start_date") +
  2011. ', demonth_end_date:' + $("#lpr_"+member_no).data("demonth_end_date") +
  2012. ', rent_start_date:' + $("#lpr_"+member_no).data("rent_start_date") +
  2013. ', fee_period:' + $("#lpr_"+member_no).data("fee_period") + ', fee_period1:' + $("#lpr_"+member_no).data("fee_period1") +
  2014. ', amt:' + $("#lpr_"+member_no).data("amt") + ', amt1:' + $("#lpr_"+member_no).data("amt1")
  2015. );
  2016. */
  2017. $("#stop_rents_tot_amt").text(""); // clean
  2018. $("#stop_rents_end_date").val(""); // clean
  2019. $("#stop_rents_desc").html("請指定 [退租日]");
  2020. $("#stop_rents_end_date_last").text("").text($("#lpr_"+member_no).data("end_date")); // 上期到期日
  2021. $("#stop_rents_period").text("").text(period_name[xvars["rents"]["fee_period"]]);
  2022. $("#stop_rents_member_attr").text("").text(mem_attr[xvars["rents"]["member_attr"]]);
  2023. //$("#stop_rents_amt").text("").text(xvars["rents"]["amt"]);
  2024. $("#stop_rents_dialog").modal({backdrop:false,keyboard:false});
  2025. break;
  2026. /*
  2027. case "delete":
  2028. if (!confirm("確定刪除嗎 ?")) return false;
  2029. $.ajax
  2030. ({
  2031. url:APP_URL+"member_delete",
  2032. type:"post",
  2033. dataType:"text",
  2034. data:{"member_no":member_no, "station_no":station_no},
  2035. error:function(xhr, ajaxOptions, thrownError)
  2036. {
  2037. alertify_msg(xhr.responseText);
  2038. console.log("error:"+xhr.responseText+"|"+ajaxOptions+"|"+thrownError);
  2039. },
  2040. success:function(jdata)
  2041. {
  2042. if (jdata == "ok")
  2043. {
  2044. alertify_msg("刪除成功 !");
  2045. show_item("member_query", "member_query");
  2046. }
  2047. else if (jdata == "delete_error")
  2048. {
  2049. alertify_msg("刪除失敗");
  2050. }
  2051. else
  2052. {
  2053. alertify_msg("處理失敗");
  2054. }
  2055. }
  2056. });
  2057. break;
  2058. */
  2059. default: // -- 其餘選擇(忽略不處理) --
  2060. return false;
  2061. }
  2062. }
  2063. $(document).ready(function()
  2064. {
  2065. $("#ma_company_no").val(company_no); // 預設值為場站統編
  2066. if (xvars["ck"] == "NOLOGIN")
  2067. {
  2068. $("#login_dialog").modal
  2069. ({
  2070. backdrop:false,
  2071. keyboard:false
  2072. });
  2073. }
  2074. // 設定場站資訊
  2075. for(station_no in st)
  2076. {
  2077. $(new Option(st[station_no],station_no)).appendTo('#station_select');
  2078. $(new Option(st[station_no],station_no)).appendTo('#station_no_modify'); // 會員修改場站編號
  2079. //$(new Option(st[station_no],station_no)).appendTo('#station_refund_select'); // 會員退租場站編號
  2080. }
  2081. // 會員身份類別
  2082. for(idx in mem_attr)
  2083. {
  2084. $(new Option(mem_attr[idx],idx)).appendTo('#member_attr');
  2085. }
  2086. // 繳期表(首期)
  2087. for(idx in period_name)
  2088. {
  2089. $(new Option(period_name[idx],idx)).appendTo('#fee_period1');
  2090. }
  2091. // 繳期表(例行)
  2092. for(idx in period_name)
  2093. {
  2094. $(new Option(period_name[idx],idx)).appendTo('#fee_period');
  2095. }
  2096. /*
  2097. // 設定以上三個item的第一個項目為選項預設值
  2098. $("#member_attr")[0].selectedIndex = 0;
  2099. $("#fee_period1")[0].selectedIndex = 0;
  2100. $("#fee_period")[0].selectedIndex = 0;
  2101. */
  2102. // 設定時段表
  2103. str = "";
  2104. for(pt_id in pt)
  2105. {
  2106. str += "<tr>";
  2107. str += "<td style='text-align:center;'><input type='checkbox' id='pt_id_"+pt_id+"' class='pt_id_checkbox' value='"+pt_id+"' /></td>";
  2108. str += "<td style='text-align:center;'>"+pt_id+"</td>";
  2109. str += "<td style='text-align:left;'>"+pt[pt_id]['remarks']+"</td>";
  2110. str += "</tr>";
  2111. }
  2112. $("#pt_list").html(str);
  2113. $(".cario_list").css({"vertical-align":"middle"}); // 進出場實況表,強制垂直置中
  2114. $("#ma_demonth_start_date").datetimepicker({language:"zh-TW",autoclose:true,minView:2,format:"yyyy-mm-dd"});
  2115. $("#ma_demonth_end_date").datetimepicker({language:"zh-TW",autoclose:true,minView:2,format:"yyyy-mm-dd"});
  2116. $("#ma_start_date").datetimepicker({language:"zh-TW",autoclose:true,minView:2,format:"yyyy-mm-dd"});
  2117. $("#ma_end_date").datetimepicker({language:"zh-TW",autoclose:true,minView:2,format:"yyyy-mm-dd"});
  2118. $("#stop_rents_end_date").datetimepicker({language:"zh-TW",autoclose:true,minView:2,format:"yyyy-mm-dd"});
  2119. // 帳密登入檢核
  2120. $("#login_form").submit(function(e)
  2121. {
  2122. e.preventDefault();
  2123. if ($("[name=login_name]").val() == "" || $("[name=login_pswd]").val() == "")
  2124. {
  2125. alertify_msg("帳號或密碼不可為空白");
  2126. return false;
  2127. }
  2128. $.ajax
  2129. ({
  2130. url:APP_URL+"login_verify",
  2131. type: "post",
  2132. dataType:"json",
  2133. data: $(this).serialize(),
  2134. success: function(jdata)
  2135. {
  2136. if (jdata["rcode"] == "OK")
  2137. {
  2138. xvars["ck"] = jdata["ck"];
  2139. $('#login_dialog').modal('hide');
  2140. }
  2141. else
  2142. {
  2143. //xvars["ck"] = jdata["ck"];
  2144. //xvars["user_name"] = jdata["ck"];
  2145. alertify_msg("帳號或密碼錯誤, 請重新輸入! ");
  2146. }
  2147. }
  2148. });
  2149. });
  2150. // 會員查詢
  2151. $("#member_query_form").submit(function(e)
  2152. {
  2153. e.preventDefault();
  2154. if ($("#q_str").val() == "")
  2155. {
  2156. alertify_log("請填寫查詢關鍵字..");
  2157. return false;
  2158. }
  2159. $("#member_list").html("");
  2160. $.ajax
  2161. ({
  2162. url:APP_URL+"member_query",
  2163. type:"post",
  2164. dataType:"json",
  2165. data:{"station_no":$("#station_select").val(), "q_item":$("input:radio:checked[name=q_item]").val(), "q_str":$("#q_str").val()},
  2166. success:function(jdata)
  2167. {
  2168. var member_list = "";
  2169. for(idx in jdata)
  2170. {
  2171. mno = jdata[idx]['member_no'];
  2172. member_list += "<tr><td style='text-align:left;'>"+st[jdata[idx]['station_no']]+"</td>";
  2173. member_list += "<td id='lpr_"+mno+
  2174. "' data-station_no='"+jdata[idx]['station_no']+
  2175. "' data-member_no='"+mno+
  2176. "' data-member_company_no='"+jdata[idx]['member_company_no']+
  2177. //"' data-company_no='"+jdata[idx]['company_no']+
  2178. "' data-company_no='"+ company_no +
  2179. "' data-member_id='"+jdata[idx]['member_id']+
  2180. "' data-etag='"+jdata[idx]['etag']+
  2181. "' data-demonth_start_date='"+jdata[idx]['demonth_start_date']+
  2182. "' data-demonth_end_date='"+jdata[idx]['demonth_end_date']+
  2183. "' data-rent_start_date='"+jdata[idx]['rent_start_date']+
  2184. "' data-member_attr='"+jdata[idx]['member_attr']+
  2185. "' data-fee_period1='"+jdata[idx]['fee_period1']+
  2186. "' data-fee_period='"+jdata[idx]['fee_period']+
  2187. "' data-amt1='"+jdata[idx]['amt1']+
  2188. "' data-amt='"+jdata[idx]['amt']+
  2189. "' data-deposit='"+jdata[idx]['deposit']+
  2190. "' data-tel_o='"+jdata[idx]['tel_o']+
  2191. "' data-tel_h='"+jdata[idx]['tel_h']+
  2192. "' data-addr='"+jdata[idx]['addr']+
  2193. "' data-pt_id='"+jdata[idx]['park_time']+
  2194. "' data-lpr='"+jdata[idx]['lpr']+
  2195. "' data-member_name='"+jdata[idx]['member_name']+
  2196. "' data-mobile_no='"+jdata[idx]['mobile_no']+
  2197. "' data-contract_no='"+jdata[idx]['contract_no']+
  2198. "' data-start_date='"+jdata[idx]['start_date']+
  2199. "' data-end_date='"+jdata[idx]['end_date']+
  2200. "' style='text-align:left;'>"+jdata[idx]['lpr']+"</td>";
  2201. member_list += "<td id='name_"+mno+"' style='text-align:left;'>"+jdata[idx]['member_name']+"</td>";
  2202. member_list += "<td id='mobile_"+mno+"' style='text-align:center;'>"+jdata[idx]['mobile_no']+"</td>";
  2203. member_list += "<td id='sdate_"+mno+"' style='text-align:center;'>"+jdata[idx]['start_date']+"</td>";
  2204. member_list += "<td id='edate_"+mno+"' style='text-align:center;'>"+jdata[idx]['end_date']+"</td>";
  2205. member_list += "<td id='fee_period_"+mno+"' style='text-align:center;'>"+period_name[jdata[idx]['fee_period']]+"</td>";
  2206. member_list += "<td id='member_attr_"+mno+"' style='text-align:center;'>"+mem_attr[jdata[idx]['member_attr']]+"</td>";
  2207. member_list += "<td id='contract_"+mno+"' style='text-align:center;'>"+jdata[idx]['contract_no']+"</td>";
  2208. //member_list += "<td id='amt_"+mno+"' style='text-align:center;'>"+jdata[idx]['amt']+"</td>";
  2209. if(jdata[idx]['suspended'] == "1")
  2210. {
  2211. member_list += "<td style='text-align:center;'><input type='checkbox' checked id='suspended_"+mno+"' disabled/></td>";
  2212. member_list += "<td style='text-align:center;'><select id='sel_"+mno+"' onclick='member_modify("+mno+");'><option value='choice'>請選擇</option><option value='tx_logs'>交易記錄</option><option value='rents'>繳租</option></select></td>";
  2213. }
  2214. else
  2215. {
  2216. member_list += "<td style='text-align:center;'><input type='checkbox' id='suspended_"+mno+"' disabled/></td>";
  2217. member_list += "<td style='text-align:center;'><select id='sel_"+mno+"' onclick='member_modify("+mno+");'><option value='choice'>請選擇</option><option value='tx_logs'>交易記錄</option><option value='rents'>繳租</option><option value='modify'>一般修改</option><option value='switch'>繳期修改</option><option value='stop'>退租</option></select></td>";
  2218. }
  2219. member_list += "</tr>";
  2220. }
  2221. $("#member_list").html(member_list);
  2222. }
  2223. });
  2224. });
  2225. $("#member_add").submit(function(event)
  2226. {
  2227. event.preventDefault();
  2228. // 停車時段
  2229. $("#ma_park_time").val($('input:checkbox:checked.pt_id_checkbox').map(function(){ return this.value; }).get().join(","));
  2230. if ($("#ma_member_no").val() == "0")
  2231. {
  2232. $("#ma_old_lpr").val($("#ma_lpr").val());
  2233. // 新增:檢查必填欄位
  2234. if ($("#ma_lpr").val() == "" ||
  2235. $("#ma_start_date").val() == "" ||
  2236. $("#ma_end_date").val() == "" ||
  2237. $("#ma_member_name").val() == "" ||
  2238. $("#ma_mobile_no").val() == "" ||
  2239. $("#ma_park_time").val() == ""
  2240. )
  2241. {
  2242. alertify_msg("必填欄位不可空白");
  2243. return false;
  2244. }
  2245. }
  2246. else
  2247. {
  2248. // 修改:檢查必填欄位
  2249. if ($("#ma_lpr").val() == "" ||
  2250. //$("#ma_start_date").val() == "" ||
  2251. $("#ma_end_date").val() == "" ||
  2252. $("#ma_member_name").val() == "" ||
  2253. $("#ma_mobile_no").val() == "" ||
  2254. $("#ma_park_time").val() == ""
  2255. )
  2256. {
  2257. alertify_msg("必填欄位不可空白");
  2258. return false;
  2259. }
  2260. }
  2261. $("#ma_amt_tot").val($("#amt_tot").text());
  2262. $("#ma_amt_accrued").val($("#amt_accrued").text());
  2263. if($("#ma_member_company_no").val() == "") $("#ma_member_company_no").val(0);
  2264. // 禁止直接輸入,補值
  2265. $("#ma_demonth_end_date_done").val($("#ma_demonth_end_date").val());
  2266. $("#ma_start_date_done").val($("#ma_start_date").val());
  2267. $("#ma_end_date_done").val($("#ma_end_date").val());
  2268. $.ajax
  2269. ({
  2270. url: APP_URL+"member_add",
  2271. type: "post",
  2272. dataType:"json",
  2273. data: $(this).serialize(),
  2274. error:function(xhr, ajaxOptions, thrownError)
  2275. {
  2276. alertify_msg(xhr.responseText);
  2277. console.log("error:"+xhr.responseText+"|"+ajaxOptions+"|"+thrownError);
  2278. },
  2279. success: function(jdata)
  2280. {
  2281. if(jdata == 'update_error')
  2282. {
  2283. alertify_msg("更新失敗, 請稍候再試");
  2284. }
  2285. else if(jdata == 'trans_error')
  2286. {
  2287. alertify_msg("操作失敗, 請稍候再試");
  2288. }
  2289. else if (jdata["member_no"] != "0")
  2290. {
  2291. if(jdata["action_code"] == "A")
  2292. {
  2293. // 新增會員資料, 印發票
  2294. xvars["rents"] = Array();
  2295. xvars["rents"]["tx_no"] = jdata["tx_no"];
  2296. xvars["rents"]["station_no"] = station_no;
  2297. xvars["rents"]["member_no"] = jdata["member_no"];
  2298. xvars["rents"]["member_company_no"] = $("#ma_member_company_no").val();
  2299. xvars["rents"]["company_no"] = company_no;
  2300. xvars["rents"]["fee_period"] = $("#fee_period").val();
  2301. xvars["rents"]["amt"] = parseInt($("#ma_amt").val());
  2302. xvars["rents"]["amt1"] = parseInt($("#ma_amt1").val());
  2303. xvars["rents"]["invoice_amt"] = jdata["invoice_amt"];
  2304. xvars["rents"]["remain_amt"] = jdata["remain_amt"];
  2305. xvars["rents"]["period_3_amt"] = jdata["period_3_amt"];
  2306. $("#first_rents_name").text($("#ma_member_name").val()+" ("+ $("#ma_lpr").val() +")");
  2307. $("#first_rents_station_name").text(st[xvars["rents"]["station_no"]]);
  2308. $("#first_rents_start_date").text($("#ma_demonth_start_date").val()); // 上期開始日
  2309. $("#first_rents_end_date").text($("#ma_end_date").val()); // 本期結束日
  2310. $("#first_rents_deposit").text($("#ma_deposit").val());
  2311. $("#first_rents_period").text(period_name[xvars["rents"]["fee_period"]]);
  2312. $("#first_rents_amt").text(xvars["rents"]["amt"]);
  2313. $("#first_rents_amt1").text(xvars["rents"]["amt1"]);
  2314. $("#first_rents_invoice_amt").text(xvars["rents"]["invoice_amt"]);
  2315. $("#first_rents_remain_desc").html(get_invoice_desc(xvars["rents"]["amt"], xvars["rents"]["amt1"], xvars["rents"]["invoice_amt"], xvars["rents"]["remain_amt"], xvars["rents"]["period_3_amt"])); // 發票說明
  2316. $("#first_rents_company_no").val(xvars["rents"]["company_no"]); // 賣方統編
  2317. if(xvars["rents"]["member_company_no"] == 0 || xvars["rents"]["member_company_no"] == '')
  2318. {
  2319. $("#first_rents_member_company_no").val("");
  2320. }
  2321. else
  2322. {
  2323. $("#first_rents_member_company_no").val(xvars["rents"]["member_company_no"]); // 買方統編
  2324. }
  2325. $("#first_rents_dialog").modal({backdrop:false,keyboard:false});
  2326. }
  2327. else if(jdata["action_code"] == "U")
  2328. {
  2329. // 更新會員資料
  2330. alertify_msg("月租資料存檔完成 !");
  2331. }
  2332. else
  2333. {
  2334. // 未知
  2335. alertify_msg("未知的操作..");
  2336. }
  2337. show_item('member_query', 'member_query');
  2338. }
  2339. else
  2340. {
  2341. alertify_msg(jdata["msg"]);
  2342. }
  2343. }
  2344. });
  2345. });
  2346. // 定時自動更新頁面
  2347. (function autoReloadPage(){
  2348. var pageReloadTimeMillis = 600000; // 頁面, 自動重新載入週期 ( 10 min )
  2349. var pageCheckReloadTimeMillis = 10000; // 頁面, 判斷重新載入週期 ( 10 sec )
  2350. var pageShowReloadTimeMillis = 50000; // 頁面, 開始顯示倒數週期 ( 50 sec )
  2351. var aliveTime = moment();
  2352. var countdownTimeMillis = pageReloadTimeMillis;
  2353. $(document.body).bind("mousemove keypress", function(e) {
  2354. aliveTime = moment();
  2355. countdownTimeMillis = pageReloadTimeMillis;
  2356. });
  2357. function refresh() {
  2358. if(moment() - aliveTime >= pageReloadTimeMillis) // 如果頁面沒動作, 才更新
  2359. window.location.reload(true);
  2360. else{
  2361. countdownTimeMillis -= pageCheckReloadTimeMillis;
  2362. if(countdownTimeMillis < pageCheckReloadTimeMillis)
  2363. {
  2364. alertify_count_down("重新載入中..請稍候..", pageCheckReloadTimeMillis);
  2365. }
  2366. else if(countdownTimeMillis < pageShowReloadTimeMillis){
  2367. alertify_count_down("倒數: " + (countdownTimeMillis / 1000) + " 秒, 重新載入畫面..", pageCheckReloadTimeMillis);
  2368. }
  2369. setTimeout(refresh, pageCheckReloadTimeMillis);
  2370. }
  2371. }
  2372. setTimeout(refresh, pageCheckReloadTimeMillis);
  2373. })();
  2374. });
  2375. // 會員時段表
  2376. function member_park_time()
  2377. {
  2378. $("#pt_dialog").modal
  2379. ({
  2380. backdrop:false,
  2381. keyboard:false
  2382. });
  2383. }
  2384. // 計算租金
  2385. function calculate_rents_amt()
  2386. {
  2387. // 計算月租金額
  2388. $.ajax
  2389. ({
  2390. url:APP_URL+"calculate_rents_amt",
  2391. dataType:"json",
  2392. type:"post",
  2393. data:
  2394. {
  2395. "cmd":"calculate_rents_amt",
  2396. "station_no":station_no,
  2397. "demonth_start_date":$("#ma_demonth_start_date").val(),
  2398. "member_attr":$("#member_attr").val(),
  2399. "period_1":$("#fee_period1").val(), // 首期繳期
  2400. "period_2":$("#fee_period").val() // 例行繳期
  2401. },
  2402. success:function(jdata)
  2403. {
  2404. $("#ma_demonth_start_date").val(jdata["demonth_start_date"]);
  2405. $("#ma_demonth_end_date").val(jdata["demonth_end_date"]).prop("disabled",true);
  2406. $("#ma_start_date").val(jdata["start_date"]).prop("disabled",true);
  2407. $("#ma_end_date").val(jdata["end_date"]).prop("disabled",true);
  2408. $("#amt1_max").text(jdata["demonth_amt"]);
  2409. $("#amt1_days").text(jdata["demonth_days"]);
  2410. $("#amt1_days_total").text(jdata["demonth_days_total"]);
  2411. $("#amt1_max_view").show();
  2412. // 第一版: 依天數拆分
  2413. /*
  2414. $("#amt2_max").text(jdata["amonth_amt"]);
  2415. $("#amt2_days").text(jdata["amonth_days"]);
  2416. $("#amt2_days_total").text(jdata["amonth_days_total"]);
  2417. $("#amt2_max_view").show();
  2418. */
  2419. // 第二版: 依月數拆分 2017-02-13 updated
  2420. $("#amt2_max").text(jdata["amonth_amt"]);
  2421. $("#amt2_months").text(jdata["amonth_months"]);
  2422. $("#amt2_months_total").text(jdata["amonth_months_total"]);
  2423. $("#amt2_max_view").show();
  2424. $("#ma_amt1").val(jdata["rents_amt1"]);
  2425. $("#ma_amt").val(jdata["rents_amt2"]);
  2426. $("#ma_deposit").val(jdata["rents_deposit"]);
  2427. $("#amt_accrued").text(parseInt(jdata["rents_amt1"])+parseInt(jdata["rents_amt2"])+parseInt(jdata["rents_deposit"]));
  2428. $("#ma_amt_accrued").val($("#amt_accrued").text());
  2429. re_amt(true);
  2430. }
  2431. });
  2432. }
  2433. // 重新計算實際租金
  2434. function re_amt(show_sccured_view=false)
  2435. {
  2436. if ($("#ma_amt1").val() == "") $("#ma_amt1").val(0);
  2437. if ($("#ma_amt").val() == "") $("#ma_amt").val(0);
  2438. if ($("#ma_deposit").val() == "") $("#ma_deposit").val(0);
  2439. $("#amt_tot").text(parseInt($("#ma_amt1").val())+parseInt($("#ma_amt").val())+parseInt($("#ma_deposit").val()));
  2440. //$("#amt_tot").text(parseInt($("#ma_amt1").val())+parseInt($("#ma_amt").val())); // 無押金
  2441. $("#ma_amt_tot").val($("#amt_tot").text());
  2442. $("#amt_tot_view").show();
  2443. if(show_sccured_view)
  2444. {
  2445. $("#amt_accrued_view").show();
  2446. }
  2447. }
  2448. // 取得發票開立說明
  2449. function get_invoice_desc(amt, amt1, invoice_amt, remain_amt, period_3_amt)
  2450. {
  2451. var thisAmt = parseInt(invoice_amt) - parseInt(amt1);
  2452. var result;
  2453. if(amt1 > 0)
  2454. {
  2455. result = ["首期 " , amt1 , " 元 + 本期 " , thisAmt , " 元 <br/><br/>*發票金額:" , invoice_amt , " 元"];
  2456. }
  2457. else
  2458. {
  2459. result = ["本期 " , thisAmt , " 元 <br/><br/>*發票金額:" , invoice_amt , " 元"];
  2460. }
  2461. if(remain_amt > 0)
  2462. {
  2463. result = result.concat("<br/>*尚餘:" , remain_amt , " 元,另外開立發票");
  2464. }
  2465. return result.join('');
  2466. }
  2467. </script>
  2468. <!-- ----- [H.1] 手開:首期繳租作業小框 ----- -->
  2469. <!-- ----- ID: hand_first_rents_dialog ----- -->
  2470. <!-- ----- action: do_hand_first_rents_payment() ----- -->
  2471. <div class="modal fade" id="hand_first_rents_dialog">
  2472. <div class="modal-dialog modal-sm">
  2473. <div class="modal-content">
  2474. <div class="modal-header"><h3>手開發票</h3></div>
  2475. <div class="modal-body">
  2476. <form id="hand_first_rents_form" class="center-block">
  2477. <div class="main">
  2478. <div class="dataTable_wrapper">
  2479. <table class="table table-striped table-bordered table-hover" style="font-size:12px;">
  2480. <tbody id="hand_first_rents_list">
  2481. <tr>
  2482. <td style="text-align:right;">姓名</td>
  2483. <td style="text-align:left;" id="hand_first_rents_name"></td>
  2484. </tr>
  2485. <tr>
  2486. <td style="text-align:right;">場站</td>
  2487. <td style="text-align:left;" id="hand_first_rents_station_name"></td>
  2488. </tr>
  2489. <tr>
  2490. <td style="text-align:right;vertical-align:middle">賣方統編</td>
  2491. <td style="text-align:left;"><input type="text" id="hand_first_rents_company_no" class="form-control" style="width:100px !important;" /></td>
  2492. </tr>
  2493. <tr>
  2494. <td style="text-align:right;">開始日</td>
  2495. <td style="text-align:left;" id="hand_first_rents_start_date"></td>
  2496. </tr>
  2497. <tr>
  2498. <td style="text-align:right;">到期日</td>
  2499. <td style="text-align:left;" id="hand_first_rents_end_date"></td>
  2500. </tr>
  2501. <tr>
  2502. <td style="text-align:right;">押金</td>
  2503. <td style="text-align:left;" id="hand_first_rents_deposit"></td>
  2504. </tr>
  2505. <tr>
  2506. <td style="text-align:right;">首期租金</td>
  2507. <td style="text-align:left;" id="hand_first_rents_amt1"></td>
  2508. </tr>
  2509. <tr>
  2510. <td style="text-align:right;">例行繳期</td>
  2511. <td style="text-align:left;" id="hand_first_rents_period"></td>
  2512. </tr>
  2513. <tr>
  2514. <td style="text-align:right;">例行租金</td>
  2515. <td style="text-align:left;" id="hand_first_rents_amt"></td>
  2516. </tr>
  2517. <tr>
  2518. <tr>
  2519. <td style="text-align:right;vertical-align:middle">買方統編</td>
  2520. <td style="text-align:left;"><input type="text" id="hand_first_rents_member_company_no" class="form-control" style="width:100px !important;" /></td>
  2521. </tr>
  2522. <tr>
  2523. <td style="text-align:right;">發票金額</td>
  2524. <td style="text-align:left;color:blue;" id="hand_first_rents_invoice_amt"></td>
  2525. </tr>
  2526. <tr>
  2527. <td style="text-align:right;">開立說明</td>
  2528. <td style="text-align:left;color:blue;" id="hand_first_rents_remain_desc"></td>
  2529. </tr>
  2530. <tr>
  2531. <td style="text-align:right;vertical-align:middle">發票字軌</td>
  2532. <td style="text-align:left;"><input type="text" id="hand_first_rents_invoice_track" class="form-control" style="width:100px !important;" /></td>
  2533. </tr>
  2534. <tr>
  2535. <td style="text-align:right;vertical-align:middle">發票號碼</td>
  2536. <td style="text-align:left;"><input type="text" id="hand_first_rents_invoice_no" class="form-control" style="width:100px !important;" /></td>
  2537. </tr>
  2538. </tbody>
  2539. </table>
  2540. <button type="button" class="btn btn-large btn-success pull-left" onclick="do_hand_first_rents_payment();">確認送出</button>
  2541. &nbsp;&nbsp;
  2542. <button type="button" class="btn btn-large btn-cancel" onclick="$('#hand_first_rents_dialog').modal('hide');">取消</button>
  2543. </div><!-- ----- end of dataTable_wrapper ----- -->
  2544. </div><!-- ----- end of main ----- -->
  2545. </form>
  2546. </div><!-- end of modal-body -->
  2547. </div><!-- end of modal-content -->
  2548. </div><!-- end of modal-dialog -->
  2549. </div><!-- end of modal show -->
  2550. <!-- ----- 手開:首期繳租作業小框(結束) ----- -->
  2551. <script>
  2552. // 手開:首期月租發票
  2553. function do_hand_first_rents_payment()
  2554. {
  2555. if($("#hand_first_rents_company_no").val() == '0' || $("#hand_first_rents_company_no").val() == '' || $("#hand_first_rents_company_no").val().length != 8)
  2556. {
  2557. alertify_error('賣方統編有誤,請修正');
  2558. return false;
  2559. }
  2560. if($("#hand_first_rents_member_company_no").val() != '' && $("#hand_first_rents_member_company_no").val().length != 8)
  2561. {
  2562. alertify_error('買方統編有誤,請修正');
  2563. return false;
  2564. }
  2565. if($("#hand_first_rents_invoice_track").val() == '0' || $("#hand_first_rents_invoice_track").val() == '' || $("#hand_first_rents_invoice_track").val().length != 2)
  2566. {
  2567. alertify_error('發票字軌有誤,請修正');
  2568. return false;
  2569. }
  2570. if($("#hand_first_rents_invoice_no").val() == '0' || $("#hand_first_rents_invoice_no").val() == '' || $("#hand_first_rents_invoice_no").val().length != 8)
  2571. {
  2572. alertify_error('發票號碼有誤,請修正');
  2573. return false;
  2574. }
  2575. if (!confirm("確認資料無誤並送出 ?")) return false;
  2576. var invoice_state = xvars["rents"]["invoice_state"];
  2577. var tx_bill_no = xvars["rents"]["tx_bill_no"];
  2578. var tx_no = xvars["rents"]["tx_no"];
  2579. var member_no = xvars["rents"]["member_no"];
  2580. var company_no = $("#hand_first_rents_company_no").val();
  2581. var member_company_no = $("#hand_first_rents_member_company_no").val();
  2582. if (member_company_no == "") member_company_no = "0"; // 列印二聯式發票
  2583. // 新增月租付款交易
  2584. $.ajax
  2585. ({
  2586. url:APP_URL+"hand_first_rents_payment",
  2587. dataType:"text",
  2588. type:"post",
  2589. data:
  2590. {
  2591. "tx_bill_no": tx_bill_no,
  2592. "tx_no": tx_no,
  2593. "station_no":xvars["rents"]["station_no"],
  2594. "member_no":member_no,
  2595. "member_company_no":member_company_no,
  2596. "company_no":company_no,
  2597. "amt":xvars["rents"]["amt"],
  2598. "amt1":xvars["rents"]["amt1"],
  2599. "invoice_amt": xvars["rents"]["invoice_amt"],
  2600. "invoice_track":$("#hand_first_rents_invoice_track").val(),
  2601. "invoice_no":$("#hand_first_rents_invoice_no").val()
  2602. },
  2603. error:function(xhr, ajaxOptions, thrownError)
  2604. {
  2605. alertify_msg(xhr.responseText);
  2606. console.log("error:"+xhr.responseText+"|"+ajaxOptions+"|"+thrownError);
  2607. },
  2608. success:function(jdata)
  2609. {
  2610. if (jdata == "ok")
  2611. {
  2612. alertify_msg("完成 ! ");
  2613. if(invoice_state == 1)
  2614. {
  2615. show_member_tx_bill(0, '', '1', '4'); // 待補開 (已退租)
  2616. }
  2617. else if(invoice_state == 2)
  2618. {
  2619. show_member_tx_bill(0, '', '2', '4'); // 待折讓 (已退租, 已開立發票)
  2620. }
  2621. else
  2622. {
  2623. show_member_tx_bill(tx_no);
  2624. }
  2625. }
  2626. else
  2627. {
  2628. alertify_msg("操作失敗!");
  2629. }
  2630. }
  2631. });
  2632. delete xvars["rents"];
  2633. $('#hand_first_rents_dialog').modal('hide');
  2634. }
  2635. // 手開發票
  2636. function hand_tx_invoice(tx_bill_no)
  2637. {
  2638. var station_no = $("#tx_bill_lpr_"+tx_bill_no).data("station_no");
  2639. var member_no = $("#tx_bill_lpr_"+tx_bill_no).data("member_no");
  2640. var member_name = $("#tx_bill_lpr_"+tx_bill_no).data("member_name");
  2641. var member_company_no = $("#tx_bill_lpr_"+tx_bill_no).data("member_company_no");
  2642. var company_no = $("#tx_bill_lpr_"+tx_bill_no).data("company_no");
  2643. var invoice_amt = $("#tx_bill_lpr_"+tx_bill_no).data("invoice_amt");
  2644. var remain_amt = $("#tx_bill_lpr_"+tx_bill_no).data("remain_amt");
  2645. var period_3_amt = $("#tx_bill_lpr_"+tx_bill_no).data("period_3_amt");
  2646. var amt = $("#tx_bill_lpr_"+tx_bill_no).data("amt");
  2647. var amt1 = $("#tx_bill_lpr_"+tx_bill_no).data("amt1");
  2648. var deposit = $("#tx_bill_lpr_"+tx_bill_no).data("deposit");
  2649. var start_date_last = $("#tx_bill_lpr_"+tx_bill_no).data("start_date_last");
  2650. var end_date = $("#tx_bill_lpr_"+tx_bill_no).data("end_date");
  2651. var lpr = $("#tx_bill_lpr_"+tx_bill_no).data("lpr");
  2652. var fee_period = $("#tx_bill_lpr_"+tx_bill_no).data("fee_period");
  2653. var fee_period_last = $("#tx_bill_lpr_"+tx_bill_no).data("fee_period_last");
  2654. var tx_no = $("#tx_bill_lpr_"+tx_bill_no).data("tx_no");
  2655. var invoice_state = $("#tx_bill_lpr_"+tx_bill_no).data("invoice_state");
  2656. if(invoice_amt > 0)
  2657. {
  2658. // 首期月租付款並列印發票
  2659. xvars["rents"] = Array();
  2660. xvars["rents"]["tx_bill_no"] = tx_bill_no;
  2661. xvars["rents"]["tx_no"] = tx_no;
  2662. xvars["rents"]["station_no"] = station_no;
  2663. xvars["rents"]["member_no"] = member_no;
  2664. xvars["rents"]["member_company_no"] = member_company_no;
  2665. xvars["rents"]["company_no"] = company_no;
  2666. xvars["rents"]["fee_period"] = fee_period;
  2667. xvars["rents"]["amt"] = parseInt(amt);
  2668. xvars["rents"]["amt1"] = parseInt(amt1);
  2669. xvars["rents"]["invoice_amt"] = parseInt(invoice_amt);
  2670. xvars["rents"]["remain_amt"] = parseInt(remain_amt);
  2671. xvars["rents"]["period_3_amt"] = parseInt(period_3_amt);
  2672. xvars["rents"]["invoice_state"] = invoice_state;
  2673. $("#hand_first_rents_name").text( "車號 " + lpr +"");
  2674. $("#hand_first_rents_station_name").text(st[xvars["rents"]["station_no"]]);
  2675. $("#hand_first_rents_start_date").text(start_date_last); // 上期開始日
  2676. $("#hand_first_rents_end_date").text(end_date); // 本期結束日
  2677. $("#hand_first_rents_deposit").text(deposit);
  2678. $("#hand_first_rents_period").text(period_name[xvars["rents"]["fee_period"]]);
  2679. $("#hand_first_rents_amt").text(xvars["rents"]["amt"]);
  2680. $("#hand_first_rents_amt1").text(xvars["rents"]["amt1"]);
  2681. $("#hand_first_rents_company_no").val(xvars["rents"]["company_no"]); // 賣方統編
  2682. $("#hand_first_rents_invoice_amt").text(xvars["rents"]["invoice_amt"]);
  2683. $("#hand_first_rents_remain_desc").html(get_invoice_desc(xvars["rents"]["amt"], xvars["rents"]["amt1"], xvars["rents"]["invoice_amt"], xvars["rents"]["remain_amt"], xvars["rents"]["period_3_amt"])); // 發票說明
  2684. if(xvars["rents"]["member_company_no"] == 0 || xvars["rents"]["member_company_no"] == '')
  2685. {
  2686. $("#hand_first_rents_member_company_no").val("");
  2687. }
  2688. else
  2689. {
  2690. $("#hand_first_rents_member_company_no").val(xvars["rents"]["member_company_no"]); // 買方統編
  2691. }
  2692. $("#hand_first_rents_dialog").modal({backdrop:false,keyboard:false});
  2693. }
  2694. else
  2695. {
  2696. // 各期月租發票補印
  2697. alertify_msg("流程異常:請通知總公司處理:" + tx_bill_no);
  2698. }
  2699. }
  2700. </script>
  2701. <!-- ----- [H.2] 手開:繳租作業小框 ----- -->
  2702. <!-- ----- ID: hand_rents_dialog ----- -->
  2703. <!-- ----- action: do_hand_rents_payment() ----- -->
  2704. <div class="modal fade" id="hand_rents_dialog">
  2705. <div class="modal-dialog modal-sm">
  2706. <div class="modal-content">
  2707. <div class="modal-header"><h3>手開發票</h3></div>
  2708. <div class="modal-body">
  2709. <form id="hand_rents_form" class="center-block">
  2710. <div class="main">
  2711. <div class="dataTable_wrapper">
  2712. <table class="table table-striped table-bordered table-hover" style="font-size:12px;">
  2713. <tbody id="hand_rents_list">
  2714. <tr>
  2715. <td style="text-align:right;">姓名</td>
  2716. <td style="text-align:left;" id="hand_rents_name"></td>
  2717. </tr>
  2718. <tr>
  2719. <td style="text-align:right;">場站</td>
  2720. <td style="text-align:left;" id="hand_rents_station_name"></td>
  2721. </tr>
  2722. <tr>
  2723. <td style="text-align:right;vertical-align:middle">賣方統編</td>
  2724. <td style="text-align:left;"><input type="text" id="hand_rents_company_no" class="form-control" style="width:100px !important;" /></td>
  2725. </tr>
  2726. <tr>
  2727. <td style="text-align:right;">上期到期日</td>
  2728. <td style="text-align:left;" id="hand_rents_end_date_last"></td>
  2729. </tr>
  2730. <tr>
  2731. <td style="text-align:right;">本期到期日</td>
  2732. <td style="text-align:left;" id="hand_rents_end_date"></td>
  2733. </tr>
  2734. <tr>
  2735. <td style="text-align:right;">繳期</td>
  2736. <td style="text-align:left;" id="hand_rents_period"></td>
  2737. </tr>
  2738. <tr>
  2739. <td style="text-align:right;">租金</td>
  2740. <td style="text-align:left;" id="hand_rents_amt"></td>
  2741. </tr>
  2742. <tr>
  2743. <td style="text-align:right;vertical-align:middle">買方統編</td>
  2744. <td style="text-align:left;"><input type="text" id="hand_rents_member_company_no" class="form-control" style="width:100px !important;" /></td>
  2745. </tr>
  2746. <tr>
  2747. <td style="text-align:right;">發票金額</td>
  2748. <td style="text-align:left;color:blue;" id="hand_rents_invoice_amt"></td>
  2749. </tr>
  2750. <tr>
  2751. <td style="text-align:right;">開立說明</td>
  2752. <td style="text-align:left;color:blue;" id="hand_rents_remain_desc"></td>
  2753. </tr>
  2754. <tr>
  2755. <td style="text-align:right;vertical-align:middle">發票字軌</td>
  2756. <td style="text-align:left;"><input type="text" id="hand_rents_invoice_track" class="form-control" style="width:100px !important;" /></td>
  2757. </tr>
  2758. <tr>
  2759. <td style="text-align:right;vertical-align:middle">發票號碼</td>
  2760. <td style="text-align:left;"><input type="text" id="hand_rents_invoice_no" class="form-control" style="width:100px !important;" /></td>
  2761. </tr>
  2762. </tbody>
  2763. </table>
  2764. <button type="button" class="btn btn-large btn-success pull-left" onclick="do_hand_rents_payment();">確認送出</button>
  2765. &nbsp;&nbsp;
  2766. <button type="button" class="btn btn-large btn-cancel" onclick="$('#hand_rents_dialog').modal('hide');">取消</button>
  2767. </div><!-- ----- end of dataTable_wrapper ----- -->
  2768. </div><!-- ----- end of main ----- -->
  2769. </form>
  2770. </div><!-- end of modal-body -->
  2771. </div><!-- end of modal-content -->
  2772. </div><!-- end of modal-dialog -->
  2773. </div><!-- end of modal show -->
  2774. <!-- ----- 手開:繳租作業小框(結束) ----- -->
  2775. <script>
  2776. // 手開:月租付款
  2777. function do_hand_rents_payment()
  2778. {
  2779. if($("#hand_rents_company_no").val() == '0' || $("#hand_rents_company_no").val() == '' || $("#hand_rents_company_no").val().length != 8)
  2780. {
  2781. alertify_error('賣方統編有誤,請修正');
  2782. return false;
  2783. }
  2784. if($("#hand_rents_member_company_no").val() != '' && $("#hand_rents_member_company_no").val().length != 8)
  2785. {
  2786. alertify_error('買方統編有誤,請修正');
  2787. return false;
  2788. }
  2789. /*
  2790. if($("#hand_rents_invoice_track").val() == '0' || $("#hand_rents_invoice_track").val() == '' || $("#hand_rents_invoice_track").val().length != 2)
  2791. {
  2792. alertify_error('發票字軌有誤,請修正');
  2793. return false;
  2794. }
  2795. if($("#hand_rents_invoice_no").val() == '0' || $("#hand_rents_invoice_no").val() == '' || $("#hand_rents_invoice_no").val().length != 8)
  2796. {
  2797. alertify_error('發票號碼有誤,請修正');
  2798. return false;
  2799. }
  2800. */
  2801. if (!confirm("確認資料無誤並送出 ?")) return false;
  2802. var member_no = xvars["rents"]["member_no"];
  2803. var company_no = $("#hand_rents_company_no").val();
  2804. var member_company_no = $("#hand_rents_member_company_no").val();
  2805. if (member_company_no == "") member_company_no = "0"; // 列印二聯式發票
  2806. // 新增月租付款交易
  2807. $.ajax
  2808. ({
  2809. url:APP_URL+"hand_rents_payment",
  2810. dataType:"text",
  2811. type:"post",
  2812. data:
  2813. {
  2814. "station_no":xvars["rents"]["station_no"],
  2815. "member_no":member_no,
  2816. "lpr":xvars["rents"]["lpr"],
  2817. "member_company_no":member_company_no,
  2818. "company_no":company_no,
  2819. "fee_period":xvars["rents"]["fee_period"],
  2820. "fee_period_last":xvars["rents"]["fee_period_last"],
  2821. "amt":xvars["rents"]["amt"],
  2822. "amt_last":xvars["rents"]["amt_last"],
  2823. "end_date":xvars["rents"]["end_date"],
  2824. "start_date_last":xvars["rents"]["start_date"],
  2825. "end_date_last":xvars["rents"]["end_date_last"],
  2826. "invoice_track":$("#hand_rents_invoice_track").val(),
  2827. "invoice_no":$("#hand_rents_invoice_no").val()
  2828. },
  2829. error:function(xhr, ajaxOptions, thrownError)
  2830. {
  2831. alertify_msg(xhr.responseText);
  2832. console.log("error:"+xhr.responseText+"|"+ajaxOptions+"|"+thrownError);
  2833. },
  2834. success:function(jdata)
  2835. {
  2836. if (jdata == "ok")
  2837. {
  2838. alertify_msg("完成 ! ");
  2839. show_member_tx(member_no);
  2840. }
  2841. else
  2842. {
  2843. alertify_msg("操作失敗!");
  2844. }
  2845. }
  2846. });
  2847. delete xvars["rents"];
  2848. $('#hand_rents_dialog').modal('hide');
  2849. }
  2850. </script>
  2851. <!-- ----- [P.1] 首期繳租作業小框 ----- -->
  2852. <!-- ----- ID: first_rents_dialog ----- -->
  2853. <!-- ----- action: do_first_rents_payment() ----- -->
  2854. <div class="modal fade" id="first_rents_dialog">
  2855. <div class="modal-dialog modal-sm">
  2856. <div class="modal-content">
  2857. <div class="modal-header"><h3>列印發票</h3></div>
  2858. <div class="modal-body">
  2859. <form id="first_rents_form" class="center-block">
  2860. <div class="main">
  2861. <div class="dataTable_wrapper">
  2862. <table class="table table-striped table-bordered table-hover" style="font-size:12px;">
  2863. <tbody id="first_rents_list">
  2864. <tr>
  2865. <td style="text-align:right;">姓名</td>
  2866. <td style="text-align:left;" id="first_rents_name"></td>
  2867. </tr>
  2868. <tr>
  2869. <td style="text-align:right;">場站</td>
  2870. <td style="text-align:left;" id="first_rents_station_name"></td>
  2871. </tr>
  2872. <tr>
  2873. <td style="text-align:right;vertical-align:middle">賣方統編</td>
  2874. <td style="text-align:left;"><input type="text" id="first_rents_company_no" class="form-control" style="width:100px !important;" /></td>
  2875. </tr>
  2876. <tr>
  2877. <td style="text-align:right;">開始日</td>
  2878. <td style="text-align:left;" id="first_rents_start_date"></td>
  2879. </tr>
  2880. <tr>
  2881. <td style="text-align:right;">到期日</td>
  2882. <td style="text-align:left;" id="first_rents_end_date"></td>
  2883. </tr>
  2884. <tr>
  2885. <td style="text-align:right;">押金</td>
  2886. <td style="text-align:left;" id="first_rents_deposit"></td>
  2887. </tr>
  2888. <tr>
  2889. <td style="text-align:right;">首期租金</td>
  2890. <td style="text-align:left;" id="first_rents_amt1"></td>
  2891. </tr>
  2892. <tr>
  2893. <td style="text-align:right;">例行繳期</td>
  2894. <td style="text-align:left;" id="first_rents_period"></td>
  2895. </tr>
  2896. <tr>
  2897. <td style="text-align:right;">例行租金</td>
  2898. <td style="text-align:left;" id="first_rents_amt"></td>
  2899. </tr>
  2900. <tr>
  2901. <td style="text-align:right;">發票金額</td>
  2902. <td style="text-align:left;color:blue;" id="first_rents_invoice_amt"></td>
  2903. </tr>
  2904. <tr>
  2905. <td style="text-align:right;">開立說明</td>
  2906. <td style="text-align:left;color:blue;" id="first_rents_remain_desc"></td>
  2907. </tr>
  2908. <tr>
  2909. <td style="text-align:right;vertical-align:middle">買方統編</td>
  2910. <td style="text-align:left;"><input type="text" id="first_rents_member_company_no" class="form-control" style="width:100px !important;" /></td>
  2911. </tr>
  2912. </tbody>
  2913. </table>
  2914. <button type="button" class="btn btn-large btn-success pull-left" onclick="do_first_rents_payment();">列印</button>
  2915. &nbsp;&nbsp;
  2916. <button type="button" class="btn btn-large btn-cancel" onclick="$('#first_rents_dialog').modal('hide');">稍後再印</button>
  2917. </div><!-- ----- end of dataTable_wrapper ----- -->
  2918. </div><!-- ----- end of main ----- -->
  2919. </form>
  2920. </div><!-- end of modal-body -->
  2921. </div><!-- end of modal-content -->
  2922. </div><!-- end of modal-dialog -->
  2923. </div><!-- end of modal show -->
  2924. <!-- ----- 首期繳租作業小框(結束) ----- -->
  2925. <script>
  2926. // 首期月租付款並列印發票
  2927. function do_first_rents_payment()
  2928. {
  2929. if($("#first_rents_company_no").val() == '0' || $("#first_rents_company_no").val() == '' || $("#first_rents_company_no").val().length != 8)
  2930. {
  2931. alertify_error('賣方統編有誤,請修正');
  2932. return false;
  2933. }
  2934. if($("#first_rents_member_company_no").val() != '' && $("#first_rents_member_company_no").val().length != 8)
  2935. {
  2936. alertify_error('買方統編有誤,請修正');
  2937. return false;
  2938. }
  2939. if (!confirm("確認已繳款並即將列印發票 ?")) return false;
  2940. var member_no = xvars["rents"]["member_no"];
  2941. var company_no = $("#first_rents_company_no").val();
  2942. var member_company_no = $("#first_rents_member_company_no").val();
  2943. if (member_company_no == "") member_company_no = "0"; // 列印二聯式發票
  2944. // 新增月租付款交易
  2945. $.ajax
  2946. ({
  2947. url:APP_URL+"first_rents_payment",
  2948. dataType:"text",
  2949. type:"post",
  2950. data:
  2951. {
  2952. "tx_no": xvars["rents"]["tx_no"],
  2953. "station_no":xvars["rents"]["station_no"],
  2954. "member_no":member_no,
  2955. "member_company_no":member_company_no,
  2956. "company_no":company_no,
  2957. "amt":xvars["rents"]["amt"],
  2958. "amt1":xvars["rents"]["amt1"],
  2959. "invoice_amt":xvars["rents"]["invoice_amt"],
  2960. "tx_bill_no":xvars["rents"]["tx_bill_no"]
  2961. },
  2962. error:function(xhr, ajaxOptions, thrownError)
  2963. {
  2964. alertify_msg(xhr.responseText);
  2965. console.log("error:"+xhr.responseText+"|"+ajaxOptions+"|"+thrownError);
  2966. },
  2967. success:function(jdata)
  2968. {
  2969. if (jdata == "ok")
  2970. {
  2971. alertify_msg("月租付款交易成功 ! ");
  2972. show_member_tx(member_no);
  2973. }
  2974. else if (jdata == "invoice_fail")
  2975. {
  2976. alertify_msg("發票列印失敗,請補印發票");
  2977. }
  2978. else
  2979. {
  2980. alertify_msg("月租付款失敗!");
  2981. }
  2982. }
  2983. });
  2984. delete xvars["rents"];
  2985. $('#first_rents_dialog').modal('hide');
  2986. }
  2987. // 補印發票
  2988. function print_tx_invoice(tx_bill_no)
  2989. {
  2990. var station_no = $("#tx_bill_lpr_"+tx_bill_no).data("station_no");
  2991. var member_no = $("#tx_bill_lpr_"+tx_bill_no).data("member_no");
  2992. var member_name = $("#tx_bill_lpr_"+tx_bill_no).data("member_name");
  2993. var member_company_no = $("#tx_bill_lpr_"+tx_bill_no).data("member_company_no");
  2994. var company_no = $("#tx_bill_lpr_"+tx_bill_no).data("company_no");
  2995. var invoice_amt = $("#tx_bill_lpr_"+tx_bill_no).data("invoice_amt");
  2996. var remain_amt = $("#tx_bill_lpr_"+tx_bill_no).data("remain_amt");
  2997. var period_3_amt = $("#tx_bill_lpr_"+tx_bill_no).data("period_3_amt");
  2998. var amt = $("#tx_bill_lpr_"+tx_bill_no).data("amt");
  2999. var amt1 = $("#tx_bill_lpr_"+tx_bill_no).data("amt1");
  3000. var deposit = $("#tx_bill_lpr_"+tx_bill_no).data("deposit");
  3001. var start_date_last = $("#tx_bill_lpr_"+tx_bill_no).data("start_date_last");
  3002. var end_date = $("#tx_bill_lpr_"+tx_bill_no).data("end_date");
  3003. var lpr = $("#tx_bill_lpr_"+tx_bill_no).data("lpr");
  3004. var fee_period = $("#tx_bill_lpr_"+tx_bill_no).data("fee_period");
  3005. var fee_period_last = $("#tx_bill_lpr_"+tx_bill_no).data("fee_period_last");
  3006. var tx_no = $("#tx_bill_lpr_"+tx_bill_no).data("tx_no");
  3007. if(invoice_amt > 0)
  3008. {
  3009. // 首期月租付款並列印發票
  3010. xvars["rents"] = Array();
  3011. xvars["rents"]["tx_bill_no"] = tx_bill_no;
  3012. xvars["rents"]["tx_no"] = tx_no;
  3013. xvars["rents"]["station_no"] = station_no;
  3014. xvars["rents"]["member_no"] = member_no;
  3015. xvars["rents"]["member_company_no"] = member_company_no;
  3016. xvars["rents"]["company_no"] = company_no;
  3017. xvars["rents"]["fee_period"] = fee_period;
  3018. xvars["rents"]["amt"] = parseInt(amt);
  3019. xvars["rents"]["amt1"] = parseInt(amt1);
  3020. xvars["rents"]["invoice_amt"] = parseInt(invoice_amt);
  3021. xvars["rents"]["remain_amt"] = parseInt(remain_amt);
  3022. xvars["rents"]["period_3_amt"] = parseInt(period_3_amt);
  3023. $("#first_rents_name").text( "新會員 (" + lpr +")");
  3024. $("#first_rents_station_name").text(st[xvars["rents"]["station_no"]]);
  3025. $("#first_rents_start_date").text(start_date_last); // 上期開始日
  3026. $("#first_rents_end_date").text(end_date); // 本期結束日
  3027. $("#first_rents_deposit").text(deposit);
  3028. $("#first_rents_period").text(period_name[xvars["rents"]["fee_period"]]);
  3029. $("#first_rents_amt").text(xvars["rents"]["amt"]);
  3030. $("#first_rents_amt1").text(xvars["rents"]["amt1"]);
  3031. $("#first_rents_invoice_amt").text(xvars["rents"]["invoice_amt"]);
  3032. $("#first_rents_remain_desc").html(get_invoice_desc(xvars["rents"]["amt"], xvars["rents"]["amt1"], xvars["rents"]["invoice_amt"], xvars["rents"]["remain_amt"], xvars["rents"]["period_3_amt"])); // 發票說明
  3033. $("#first_rents_company_no").val(xvars["rents"]["company_no"]); // 賣方統編
  3034. if(xvars["rents"]["member_company_no"] == 0 || xvars["rents"]["member_company_no"] == '')
  3035. {
  3036. $("#first_rents_member_company_no").val("");
  3037. }
  3038. else
  3039. {
  3040. $("#first_rents_member_company_no").val(xvars["rents"]["member_company_no"]); // 買方統編
  3041. }
  3042. $("#first_rents_dialog").modal({backdrop:false,keyboard:false});
  3043. }
  3044. else
  3045. {
  3046. // 各期月租發票補印
  3047. alertify_msg("流程異常:請通知總公司處理:" + tx_bill_no);
  3048. }
  3049. }
  3050. </script>
  3051. <!-- ----- [P.2] 繳租作業小框 ----- -->
  3052. <!-- ----- ID: rents_dialog ----- -->
  3053. <!-- ----- action: do_rents_payment() ----- -->
  3054. <div class="modal fade" id="rents_dialog">
  3055. <div class="modal-dialog modal-sm">
  3056. <div class="modal-content">
  3057. <div class="modal-header"><h3>繳租作業</h3></div>
  3058. <div class="modal-body">
  3059. <form id="rents_form" class="center-block">
  3060. <div class="main">
  3061. <div class="dataTable_wrapper">
  3062. <table class="table table-striped table-bordered table-hover" style="font-size:12px;">
  3063. <tbody id="rents_list">
  3064. <tr>
  3065. <td style="text-align:right;">姓名</td>
  3066. <td style="text-align:left;" id="rents_name"></td>
  3067. </tr>
  3068. <tr>
  3069. <td style="text-align:right;">場站</td>
  3070. <td style="text-align:left;" id="rents_station_name"></td>
  3071. </tr>
  3072. <tr>
  3073. <td style="text-align:right;vertical-align:middle">賣方統編</td>
  3074. <td style="text-align:left;"><input type="text" id="rents_company_no" class="form-control" style="width:100px !important;" /></td>
  3075. </tr>
  3076. <tr>
  3077. <td style="text-align:right;">上期到期日</td>
  3078. <td style="text-align:left;" id="rents_end_date_last"></td>
  3079. </tr>
  3080. <tr>
  3081. <td style="text-align:right;">本期到期日</td>
  3082. <td style="text-align:left;" id="rents_end_date"></td>
  3083. </tr>
  3084. <tr>
  3085. <td style="text-align:right;">繳期</td>
  3086. <td style="text-align:left;" id="rents_period"></td>
  3087. </tr>
  3088. <tr>
  3089. <td style="text-align:right;">租金</td>
  3090. <td style="text-align:left;" id="rents_amt"></td>
  3091. </tr>
  3092. <tr>
  3093. <td style="text-align:right;vertical-align:middle">買方統編</td>
  3094. <td style="text-align:left;"><input type="text" id="rents_member_company_no" class="form-control" style="width:100px !important;" /></td>
  3095. </tr>
  3096. </tbody>
  3097. </table>
  3098. <button type="button" class="btn btn-large btn-success pull-left" onclick="do_rents_payment();">確定</button>
  3099. &nbsp;&nbsp;
  3100. <button type="button" class="btn btn-large btn-cancel" onclick="$('#rents_dialog').modal('hide');">取消交易</button>
  3101. </div><!-- ----- end of dataTable_wrapper ----- -->
  3102. </div><!-- ----- end of main ----- -->
  3103. </form>
  3104. </div><!-- end of modal-body -->
  3105. </div><!-- end of modal-content -->
  3106. </div><!-- end of modal-dialog -->
  3107. </div><!-- end of modal show -->
  3108. <!-- ----- 繳租作業小框(結束) ----- -->
  3109. <script>
  3110. // 月租付款並列印發票
  3111. function do_rents_payment()
  3112. {
  3113. if($("#rents_company_no").val() == '0' || $("#rents_company_no").val() == '' || $("#rents_company_no").val().length != 8)
  3114. {
  3115. alertify_error('賣方統編有誤,請修正');
  3116. return false;
  3117. }
  3118. if($("#rents_company_no").val() != '' && $("#rents_company_no").val().length != 8)
  3119. {
  3120. alertify_error('買方統編有誤,請修正');
  3121. return false;
  3122. }
  3123. if (!confirm("確認已繳款並開立發票 ?")) return false;
  3124. var member_no = xvars["rents"]["member_no"];
  3125. var company_no = $("#rents_company_no").val();
  3126. var member_company_no = $("#rents_member_company_no").val();
  3127. if (member_company_no == "") member_company_no = "0"; // 列印二聯式發票
  3128. // 新增月租付款交易
  3129. $.ajax
  3130. ({
  3131. url:APP_URL+"rents_payment",
  3132. dataType:"text",
  3133. type:"post",
  3134. data:
  3135. {
  3136. "station_no":xvars["rents"]["station_no"],
  3137. "member_no":member_no,
  3138. "member_attr":xvars["rents"]["member_attr"],
  3139. "lpr":xvars["rents"]["lpr"],
  3140. "member_company_no":member_company_no,
  3141. "company_no":company_no,
  3142. "fee_period":xvars["rents"]["fee_period"],
  3143. "fee_period_last":xvars["rents"]["fee_period_last"],
  3144. "amt":xvars["rents"]["amt"],
  3145. "amt_last":xvars["rents"]["amt_last"],
  3146. "end_date":xvars["rents"]["end_date"],
  3147. "start_date_last":$("#sdate_"+xvars["rents"]["member_no"]).text(),
  3148. "end_date_last":xvars["rents"]["end_date_last"]
  3149. },
  3150. error:function(xhr, ajaxOptions, thrownError)
  3151. {
  3152. alertify_msg(xhr.responseText);
  3153. console.log("error:"+xhr.responseText+"|"+ajaxOptions+"|"+thrownError);
  3154. },
  3155. success:function(jdata)
  3156. {
  3157. if (jdata == "ok")
  3158. {
  3159. alertify_msg("月租付款交易成功 ! ");
  3160. show_member_tx(member_no);
  3161. }
  3162. else if (jdata == "invoice_fail")
  3163. {
  3164. alertify_msg("發票列印失敗,交易已取消");
  3165. }
  3166. else
  3167. {
  3168. alertify_msg("月租付款失敗 !");
  3169. }
  3170. }
  3171. });
  3172. delete xvars["rents"];
  3173. $('#rents_dialog').modal('hide');
  3174. }
  3175. </script>
  3176. <!-- ----- [S] 退租作業小框 ----- -->
  3177. <!-- ----- ID: stop_rents_dialog ----- -->
  3178. <!-- ----- action: do_stop_rents_payment() ----- -->
  3179. <div class="modal fade" id="stop_rents_dialog">
  3180. <div class="modal-dialog modal-xl">
  3181. <div class="modal-content">
  3182. <div class="modal-header"><h3>退租作業</h3></div>
  3183. <div class="modal-body">
  3184. <form id="stop_rents_form" class="center-block">
  3185. <div class="main">
  3186. <div class="dataTable_wrapper">
  3187. <table class="table table-striped table-bordered table-hover" style="font-size:18px;">
  3188. <tbody id="stop_rents_list">
  3189. <tr>
  3190. <td style="text-align:right;">姓名</td>
  3191. <td style="text-align:left;" id="stop_rents_name"></td>
  3192. </tr>
  3193. <tr>
  3194. <td style="text-align:right;">場站</td>
  3195. <td style="text-align:left;" id="stop_rents_station_name"></td>
  3196. </tr>
  3197. <tr>
  3198. <td style="text-align:right;">身份別</td>
  3199. <td style="text-align:left;" id="stop_rents_member_attr"></td>
  3200. </tr>
  3201. <tr>
  3202. <td style="text-align:right;">繳期</td>
  3203. <td style="text-align:left;" id="stop_rents_period"></td>
  3204. </tr>
  3205. <!--tr>
  3206. <td style="text-align:right;">繳期租金</td>
  3207. <td style="text-align:left;" id="stop_rents_amt"></td>
  3208. </tr-->
  3209. <tr>
  3210. <td style="text-align:right;">到期日</td>
  3211. <td style="text-align:left;" id="stop_rents_end_date_last"></td>
  3212. </tr>
  3213. <tr>
  3214. <td style="text-align:right;">退租日</td>
  3215. <td style="text-align:left;"><input id="stop_rents_end_date" type="datetime" name="stop_rents_end_date" class="form-control" onchange="calculate_stop_rents_amt();"/></td>
  3216. </tr>
  3217. <tr>
  3218. <td style="text-align:right;">退租明細</td>
  3219. <td style="text-align:left;font-size:24px;color:blue;" id="stop_rents_desc"></td>
  3220. </tr>
  3221. <tr>
  3222. <input id="stop_rents_tot_amt" type="hidden" name="stop_rents_tot_amt"/>
  3223. </tr>
  3224. </tbody>
  3225. </table>
  3226. <button type="button" class="btn btn-large btn-success pull-left" onclick="do_stop_rents_payment();">確定</button>
  3227. &nbsp;&nbsp;
  3228. <button type="button" class="btn btn-large btn-cancel" onclick="$('#stop_rents_dialog').modal('hide');">取消</button>
  3229. </div><!-- ----- end of dataTable_wrapper ----- -->
  3230. </div><!-- ----- end of main ----- -->
  3231. </form>
  3232. </div><!-- end of modal-body -->
  3233. </div><!-- end of modal-content -->
  3234. </div><!-- end of modal-dialog -->
  3235. </div><!-- end of modal show -->
  3236. <!-- ----- 退租作業小框(結束) ----- -->
  3237. <script>
  3238. // 退租, 試算
  3239. function calculate_stop_rents_amt()
  3240. {
  3241. var station_no = xvars["rents"]["station_no"];
  3242. var member_no = xvars["rents"]["member_no"];
  3243. var stop_date = $("#stop_rents_end_date").val();
  3244. $("#stop_rents_desc").html("");
  3245. $.ajax
  3246. ({
  3247. url:APP_URL+"calculate_stop_rents_amt",
  3248. dataType:"json",
  3249. type:"post",
  3250. data:
  3251. {
  3252. "station_no":station_no,
  3253. "member_no":member_no,
  3254. "stop_date":stop_date
  3255. },
  3256. success:function(jdata)
  3257. {
  3258. var tmp_list = [];
  3259. var invoice_tmp_list = [];
  3260. for(idx in jdata["results"])
  3261. {
  3262. var detail = jdata["results"][idx];
  3263. var fee_period_last_name = (detail.fee_period_last == 0) ? '臨停費率': period_name[detail.fee_period_last] ? period_name[detail.fee_period_last] : '繳期 ' + detail.fee_period_last;
  3264. var fee_period_name = (detail.fee_period == 0) ? '臨停費率': period_name[detail.fee_period] ? period_name[detail.fee_period] : '繳期 ' + detail.fee_period;
  3265. var stop_rents_period_name = (detail.stop_rents_period == 0) ? '臨停費率': period_name[detail.stop_rents_period] ? period_name[detail.stop_rents_period] : '繳期 ' + detail.stop_rents_period;
  3266. // 不足月
  3267. if(detail.amt1 > 0)
  3268. {
  3269. tmp_list = tmp_list.concat([
  3270. "[ ", detail.start_date_last, " 至 ", detail.end_date_last, " ] <br/>",
  3271. "* 計費:", detail.amt1, " 元 (", fee_period_last_name, ")<br/>"]);
  3272. if(detail.stop_rents_used_amt_last == detail.amt1)
  3273. {
  3274. tmp_list = tmp_list.concat(["**使用完畢**<br/>"]);
  3275. }
  3276. else if(detail.stop_rents_used_amt_last > 0)
  3277. {
  3278. tmp_list = tmp_list.concat([
  3279. "* 使用:", detail.stop_used_days_last, " 天<br/>",
  3280. "* 費用:", detail.stop_rents_used_amt_last, " 元 (臨停費率)<br/>"]);
  3281. }
  3282. else
  3283. {
  3284. tmp_list = tmp_list.concat(["**尚未使用**<br/>"]);
  3285. }
  3286. }
  3287. // 足月
  3288. if(detail.amt > 0)
  3289. {
  3290. tmp_list = tmp_list.concat([
  3291. "[ ", detail.start_date, " 至 ", detail.end_date, " ] <br/>",
  3292. "* 計費:", detail.amt, " 元 (", fee_period_name, ")<br/>"]);
  3293. if(detail.stop_rents_used_amt == detail.amt)
  3294. {
  3295. tmp_list = tmp_list.concat(["**使用完畢**<br/>"]);
  3296. }
  3297. else if(detail.stop_used_days > 0)
  3298. {
  3299. tmp_list = tmp_list.concat([
  3300. "* 使用:", detail.stop_used_days, " 天<br/>",
  3301. "* 費用:", detail.stop_rents_used_amt, " 元 (", stop_rents_period_name, ")<br/>"]);
  3302. }
  3303. else
  3304. {
  3305. tmp_list = tmp_list.concat(["**尚未使用**<br/>"]);
  3306. }
  3307. }
  3308. //發票資訊
  3309. for(idx_i in detail.stop_rents_invoices)
  3310. {
  3311. var invoice = detail.stop_rents_invoices[idx_i];
  3312. tmp_list = tmp_list.concat(["**發票: ", invoice.invoice_track, invoice.invoice_no, "**金額: ", invoice.invoice_amt]);
  3313. if(invoice.refund_amt > 0)
  3314. {
  3315. tmp_list = tmp_list.concat(["<br/>", "****************待折讓發票金額:", invoice.refund_amt]);
  3316. invoice_tmp_list = invoice_tmp_list.concat([
  3317. "**", detail.start_date, "**發票: ", invoice.invoice_track, invoice.invoice_no, "<br/>",
  3318. "****發票金額: ", invoice.invoice_amt, "**待折讓金額:", invoice.refund_amt, "<br/>"]);
  3319. }
  3320. tmp_list = tmp_list.concat(["<br/>"]);
  3321. }
  3322. // 審核狀態
  3323. if(detail.verify_state == 1)
  3324. {
  3325. // 本次結算
  3326. if(detail.stop_rents_return_amt == 0)
  3327. {
  3328. // do nothing
  3329. }
  3330. else if(detail.stop_rents_return_amt > 0)
  3331. {
  3332. tmp_list = tmp_list.concat([">>本次退還金額:", detail.stop_rents_return_amt, " 元<br/>"]);
  3333. }
  3334. else
  3335. {
  3336. tmp_list = tmp_list.concat([">>本次補繳金額:", - detail.stop_rents_return_amt, " 元<br/>"]);
  3337. }
  3338. }
  3339. else
  3340. {
  3341. tmp_list = tmp_list.concat(["**此交易,尚未通過審核**<br/>"]);
  3342. if(detail.remarks)
  3343. {
  3344. tmp_list = tmp_list.concat(["**備註:", detail.remarks, "<br/>"]);
  3345. }
  3346. }
  3347. tmp_list = tmp_list.concat(["<br/>"]);
  3348. }
  3349. // 總結
  3350. tmp_list = tmp_list.concat([
  3351. "[結算]<br/>",
  3352. "**合約終止時間:", stop_date, " 23:59:59 <br/> "]);
  3353. if(jdata["return_amt"] == 0)
  3354. {
  3355. tmp_list = tmp_list.concat([
  3356. "**總退還金額:無<br/> "]);
  3357. }
  3358. else if(jdata["return_amt"] > 0)
  3359. {
  3360. tmp_list = tmp_list.concat([
  3361. "**總退還金額:", jdata["return_amt"], " 元<br/> "]);
  3362. }
  3363. else
  3364. {
  3365. tmp_list = tmp_list.concat([
  3366. "**需補繳金額:", - jdata["return_amt"], " 元 (臨停費率)<br/> "]);
  3367. }
  3368. tmp_list = tmp_list.concat([
  3369. "**押金:", jdata["return_deposit"], " 元<br/><br/>"]);
  3370. // 總結 [折讓發票]
  3371. if(invoice_tmp_list.length > 0)
  3372. {
  3373. tmp_list = tmp_list.concat("[折讓發票]<br/>");
  3374. tmp_list = tmp_list.concat(invoice_tmp_list);
  3375. tmp_list = tmp_list.concat("<br/><br/>");
  3376. }
  3377. if(jdata["verify_state"])
  3378. {
  3379. // 設定總金額
  3380. var tot_amt = parseInt(jdata["return_amt"]) + parseInt(jdata["return_deposit"]);
  3381. $("#stop_rents_tot_amt").text(tot_amt);
  3382. //console.log(station_no + "|" + + member_no + "|" + tot_amt + "|" + stop_date);
  3383. }
  3384. else
  3385. {
  3386. // 審核未完成
  3387. tmp_list = tmp_list.concat([
  3388. "**審核未完成, 請通知營管處理**<br/><br/>"]);
  3389. $("#stop_rents_tot_amt").text('GG');
  3390. }
  3391. $("#stop_rents_desc").append(tmp_list.join(''));
  3392. }
  3393. });
  3394. }
  3395. // 退租
  3396. function do_stop_rents_payment()
  3397. {
  3398. if($("#stop_rents_end_date").val() == '0' || $("#stop_rents_end_date").val() == '')
  3399. {
  3400. alertify_error('退租日有誤,請修正!');
  3401. return false;
  3402. }
  3403. if($("#stop_rents_tot_amt").text() == 'GG')
  3404. {
  3405. alertify_error('請通知營管處理,謝謝!');
  3406. return false;
  3407. }
  3408. var station_no = xvars["rents"]["station_no"];
  3409. var member_no = xvars["rents"]["member_no"];
  3410. var stop_date = $("#stop_rents_end_date").val();
  3411. var tot_amt = $("#stop_rents_tot_amt").text();
  3412. var lpr = xvars["rents"]["lpr"];
  3413. // 新增退租交易
  3414. $.ajax
  3415. ({
  3416. url:APP_URL+"stop_rents_payment",
  3417. dataType:"text",
  3418. type:"post",
  3419. data:
  3420. {
  3421. "station_no":station_no,
  3422. "member_no":member_no,
  3423. "stop_date":stop_date,
  3424. "tot_amt":tot_amt
  3425. },
  3426. error:function(xhr, ajaxOptions, thrownError)
  3427. {
  3428. alertify_msg(xhr.responseText);
  3429. console.log("error:"+xhr.responseText+"|"+ajaxOptions+"|"+thrownError);
  3430. },
  3431. success:function(jdata)
  3432. {
  3433. if (jdata == "ok")
  3434. {
  3435. alertify_msg("成功 ! ");
  3436. // 自動搜尋退租
  3437. $("#q_refund_str").val(lpr);
  3438. $("#member_tx_refund_form").submit();
  3439. show_item('member_tx_refund_query', 'member_tx_refund_query');
  3440. }
  3441. else if (jdata == "invoice_fail")
  3442. {
  3443. alertify_msg("失敗,已取消");
  3444. }
  3445. else
  3446. {
  3447. alertify_msg("失敗 !");
  3448. }
  3449. }
  3450. });
  3451. delete xvars["rents"];
  3452. $('#stop_rents_dialog').modal('hide');
  3453. }
  3454. </script>