VM暫存
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

2949 líneas
117KB

  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_query" class="row">
  164. <div class="col-lg-12">
  165. <div class="panel panel-default">
  166. <div class="panel-heading">
  167. 會員查詢
  168. <form id="member_query_form" role="form">
  169. <div class="form-group">
  170. <label class="select-inline" for="station_select">
  171. <select class="form-control" id="station_select">
  172. </select>
  173. </label>
  174. <label class="radio-inline"><input type="radio" name="q_item" value="lpr" checked />車號</label>
  175. <label class="radio-inline"><input type="radio" name="q_item" value="member_name" />姓名</label>
  176. <label class="radio-inline"><input type="radio" name="q_item" value="mobile_no" />手機</label>
  177. <label class="radio-inline"><input type="radio" name="q_item" value="end_date" />到期日</label>
  178. <label class="radio-inline"><input type="radio" name="q_item" value="contract_no" />合約號碼</label>
  179. <label class="input-inline">&nbsp;&nbsp;<input type="text" id="q_str" placeholder="關鍵字" /></label>
  180. <label class="input-inline"><input type="submit" value="查詢" /></label>
  181. </div>
  182. </form>
  183. </div>
  184. <!-- /.panel-heading -->
  185. <div class="panel-body">
  186. <div class="dataTable_wrapper">
  187. <table class="table table-striped table-bordered table-hover">
  188. <thead>
  189. <tr>
  190. <th style="text-align:left;">場站</th>
  191. <th style="text-align:left;">車號</th>
  192. <th style="text-align:left;">姓名</th>
  193. <th style="text-align:center;">手機</th>
  194. <th style="text-align:center;">開始日</th>
  195. <th style="text-align:center;">結束日</th>
  196. <th style="text-align:center;">繳期</th>
  197. <th style="text-align:center;">身份</th>
  198. <th style="text-align:center;">合約號</th>
  199. <!--th style="text-align:center;">租金</th-->
  200. <th style="text-align:center;">停權</th>
  201. <th style="text-align:center;">功能</th>
  202. </tr>
  203. </thead>
  204. <tbody id="member_list" style="font-size:22px;"></tbody>
  205. </table>
  206. </div><!-- ----- end of dataTable_wrapper ----- -->
  207. </div><!-- ----- end of panel-body ----- -->
  208. </div><!-- ----- end of panel panel-default ----- -->
  209. </div><!-- ----- end of col-lg-12 ----- -->
  210. </div>
  211. <!-- ----- 會員查詢(結束) ----- -->
  212. <!-- ----- 交易記錄 ----- -->
  213. <div data-items="member_tx_query" class="row" style="display:none;">
  214. <div class="col-lg-12">
  215. <div class="panel panel-default">
  216. <div class="panel-heading">
  217. 交易記錄
  218. </div>
  219. <!-- /.panel-heading -->
  220. <div class="panel-body">
  221. <div class="dataTable_wrapper">
  222. <table class="table table-striped table-bordered table-hover">
  223. <thead>
  224. <tr>
  225. <th style="text-align:center;">代號</th>
  226. <!--th style="text-align:left;">場站</th-->
  227. <th style="text-align:center;">入帳日</th>
  228. <th style="text-align:left;">車號</th>
  229. <th style="text-align:center;">會員開始日</th>
  230. <th style="text-align:center;">上期繳期</th>
  231. <th style="text-align:center;">上期結束日</th>
  232. <th style="text-align:center;">上期租金</th>
  233. <th style="text-align:center;">本期繳期</th>
  234. <th style="text-align:center;">本期開始日</th>
  235. <th style="text-align:center;">本期結束日</th>
  236. <th style="text-align:center;">本期租金</th>
  237. <!--th style="text-align:center;">發票時間</th>
  238. <th style="text-align:center;">買方統編</th>
  239. <th style="text-align:center;">賣方統編</th>
  240. <th style="text-align:center;">發票字軌</th>
  241. <th style="text-align:center;">發票號碼</th>
  242. <th style="text-align:center;">發票金額</th>
  243. <th style="text-align:center;">發票種類</th-->
  244. <th style="text-align:center;">發票記錄</th>
  245. <th style="text-align:center;">審核狀態</th>
  246. <th style="text-align:center;">有效期限</th>
  247. <th style="text-align:center;">備註</th>
  248. <th style="text-align:center;">功能</th>
  249. </tr>
  250. </thead>
  251. <tbody id="member_tx_list" style="font-size:18px;"></tbody>
  252. </table>
  253. </div><!-- ----- end of dataTable_wrapper ----- -->
  254. </div><!-- ----- end of panel-body ----- -->
  255. </div><!-- ----- end of panel panel-default ----- -->
  256. </div><!-- ----- end of col-lg-12 ----- -->
  257. </div>
  258. <!-- ----- 交易查詢(結束) ----- -->
  259. <!-- ----- 發票記錄 ----- -->
  260. <div data-items="member_tx_bill_query" class="row" style="display:none;">
  261. <div class="col-lg-12">
  262. <div class="panel panel-default">
  263. <div class="panel-heading">
  264. 發票記錄
  265. </div>
  266. <!-- /.panel-heading -->
  267. <div class="panel-body">
  268. <div class="dataTable_wrapper">
  269. <table class="table table-striped table-bordered table-hover">
  270. <thead>
  271. <tr>
  272. <th style="text-align:left;">代號</th>
  273. <!--th style="text-align:left;">場站</th-->
  274. <th style="text-align:center;">入帳日</th>
  275. <th style="text-align:left;">車號</th>
  276. <th style="text-align:center;">會員開始日</th>
  277. <th style="text-align:center;">上期繳期</th>
  278. <th style="text-align:center;">上期結束日</th>
  279. <th style="text-align:center;">上期租金</th>
  280. <th style="text-align:center;">本期繳期</th>
  281. <th style="text-align:center;">本期開始日</th>
  282. <th style="text-align:center;">本期結束日</th>
  283. <th style="text-align:center;">本期租金</th>
  284. <th style="text-align:center;">發票時間</th>
  285. <th style="text-align:center;">買方統編</th>
  286. <th style="text-align:center;">賣方統編</th>
  287. <th style="text-align:center;">發票金額</th>
  288. <th style="text-align:center;">發票字軌</th>
  289. <th style="text-align:center;">發票號碼</th>
  290. <th style="text-align:center;">發票種類</th>
  291. <!--th style="text-align:center;">發票開立狀態</th>
  292. <th style="text-align:center;">審核狀態</th>
  293. <th style="text-align:center;">有效期限</th>
  294. <th style="text-align:center;">備註</th-->
  295. <th style="text-align:center;">狀態</th>
  296. <th style="text-align:center;">待辦金額</th>
  297. </tr>
  298. </thead>
  299. <tbody id="member_tx_bill_list" style="font-size:16px;"></tbody>
  300. </table>
  301. </div><!-- ----- end of dataTable_wrapper ----- -->
  302. </div><!-- ----- end of panel-body ----- -->
  303. </div><!-- ----- end of panel panel-default ----- -->
  304. </div><!-- ----- end of col-lg-12 ----- -->
  305. </div>
  306. <!-- ----- 發票記錄(結束) ----- -->
  307. </div>
  308. <!-- /#page-wrapper -->
  309. </div>
  310. <!-- /#wrapper -->
  311. <!-- 作為浮動顯示區之用 -->
  312. <div id="works" style="display:none;"></div>
  313. <!-- ----- 登入小框 ----- -->
  314. <div class="modal fade" id="login_dialog">
  315. <div class="modal-dialog modal-sm">
  316. <div class="modal-content">
  317. <div class="modal-header"><h3>登入</h3></div>
  318. <div class="modal-body">
  319. <form id="login_form" class="center-block" method="post" action="/admins_station.html/login_verify">
  320. <div class="main">
  321. <label>帳號</label>
  322. <div class="input-group">
  323. <span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
  324. <input type="text" class="form-control" name="login_name" placeholder="請輸入帳號" autofocus />
  325. </div>
  326. <label>密碼</label>
  327. <div class="input-group">
  328. <span class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></span>
  329. <input type="password" class="form-control" name="login_pswd" placeholder="請輸入密碼">
  330. </div>
  331. <div class="row"><br /></div>
  332. <div class="row">
  333. <div class="col-xs-6 col-md-6"></div>
  334. <div class="col-xs-6 col-md-6 pull-right">
  335. <button type="submit" class="btn btn-large btn-success pull-right">登入</button>
  336. </div>
  337. </div>
  338. </div>
  339. </form>
  340. </div><!-- end of modal-body -->
  341. </div><!-- end of modal-content -->
  342. </div><!-- end of modal-dialog -->
  343. </div><!-- end of modal show -->
  344. <!-- ----- 登入小框(結束) ----- -->
  345. <!-- ----- 會員時段表小框[修改或新增] ----- -->
  346. <div class="modal fade" id="pt_dialog">
  347. <!-- div class="modal-dialog modal-sm"-->
  348. <div class="modal-dialog">
  349. <div class="modal-content">
  350. <div class="modal-header"><h3>時段表</h3></div>
  351. <div class="modal-body">
  352. <form id="pt_form" class="center-block">
  353. <div class="main">
  354. <div class="dataTable_wrapper">
  355. <table class="table table-striped table-bordered table-hover">
  356. <thead>
  357. <tr>
  358. <th style="text-align:center;">選項</th>
  359. <th style="text-align:center;">代碼</th>
  360. <th style="text-align:left;">備註</th>
  361. </tr>
  362. </thead>
  363. <tbody id="pt_list" style="font-size:10px;"></tbody>
  364. </table>
  365. <button type="button" class="btn btn-large btn-success pull-left" onclick="$('#pt_dialog').modal('hide');">確定</button>
  366. &nbsp;&nbsp;
  367. <button type="button" class="btn btn-large btn-cancel" onclick="$('#pt_dialog').modal('hide');">取消</button>
  368. </div><!-- ----- end of dataTable_wrapper ----- -->
  369. </div><!-- ----- end of main ----- -->
  370. </form>
  371. </div><!-- end of modal-body -->
  372. </div><!-- end of modal-content -->
  373. </div><!-- end of modal-dialog -->
  374. </div><!-- end of modal show -->
  375. <!-- ----- 會員時段表小框[修改或新增](結束) ----- -->
  376. <!-- ----- 停車時段 ----- -->
  377. <div class="modal fade" id="park_time_dialog">
  378. <div class="modal-dialog modal-sm">
  379. <div class="modal-content">
  380. <div class="modal-header"><h3>停車時段</h3></div>
  381. <div class="modal-body">
  382. <form id="login_form" class="center-block" method="post" action="/admins_station.html/park_time_modify">
  383. <div class="main">
  384. <label>時段代碼</label>
  385. <div class="input-group">
  386. <input type="text" class="form-control" name="time_id" placeholder="請輸入時段代碼" autofocus />
  387. </div>
  388. <label>排序序號</label>
  389. <div class="input-group">
  390. <input type="text" class="form-control" name="seqno" placeholder="請輸入排序序號" />
  391. </div>
  392. <div class="row"><br /></div>
  393. <div class="row">
  394. <div class="col-xs-6 col-md-6"></div>
  395. <div class="col-xs-6 col-md-6 pull-right">
  396. <button type="submit" class="btn btn-large btn-success pull-left">存檔</button>
  397. <span class="button" data-dismiss="modal" aria-label="Close">&nbsp;&nbsp;
  398. <button type="button" class="btn btn-large btn-cancel">取消</button>
  399. </span>
  400. </div>
  401. </div>
  402. </div>
  403. </form>
  404. </div><!-- end of modal-body -->
  405. </div><!-- end of modal-content -->
  406. </div><!-- end of modal-dialog -->
  407. </div><!-- end of modal show -->
  408. <!-- ----- 停車時段(結束) ----- -->
  409. <div id="works" style="display:none"></div>
  410. </body>
  411. </html>
  412. <script>
  413. function alertify_count_down($msg, $delay)
  414. {
  415. alertify.set({delay : $delay});
  416. alertify.log($msg);
  417. }
  418. function alertify_log($msg)
  419. {
  420. alertify.set({delay : 2000});
  421. alertify.log($msg);
  422. }
  423. function alertify_error($msg)
  424. {
  425. alertify.set({delay : 2000});
  426. alertify.error($msg);
  427. }
  428. function alertify_success($msg)
  429. {
  430. alertify.set({delay : 2000});
  431. alertify.success($msg);
  432. }
  433. function alertify_msg($msg)
  434. {
  435. alertify.set({ labels: {
  436. ok : "確定"
  437. } });
  438. alertify.alert($msg, function (e){
  439. // do nothing
  440. });
  441. }
  442. /*
  443. // 設定href, src, action的路徑及參數
  444. $("[data-src]").each(function()
  445. {
  446. arr = $(this).data("src").split("::");
  447. $(this).prop(arr[0], eval(arr[1])+arr[2]);
  448. });
  449. */
  450. // global var(共用陣列與變數)
  451. var week_name = Array("週日", "週一", "週二", "週三", "週四", "週五", "週六");
  452. var park_type = Array("", "一般", "非假日", "假日");
  453. // -- 顯示指定項目 --
  454. function show_item(tags, type)
  455. {
  456. // client.disconnect();
  457. // -- 新增月租資料, 設定初始值 --
  458. if (type == "member_add")
  459. {
  460. $("#member_list").html(""); // 清空member_list
  461. $("#member_list_all").html(""); // 清空member_list_all
  462. $("#ma_station_no").val("");
  463. $("#ma_lpr").val("").prop("readonly",false); // 2017-02-13 updated
  464. $("#ma_old_lpr").val("").prop("readonly",false); // 2017-02-13 updated
  465. $("#ma_etag").val("");
  466. $("#ma_demonth_start_date").val("").prop("disabled",false);
  467. // 禁止直接輸入到期日
  468. $("#ma_demonth_end_date").val("").prop("disabled",true);
  469. $("#ma_start_date").val("").prop("disabled",true);
  470. $("#ma_end_date").val("").prop("disabled",true);
  471. $("#ma_demonth_start_date_done").val("");
  472. $("#ma_demonth_end_date_done").val("");
  473. $("#ma_start_date_done").val("");
  474. $("#ma_end_date_done").val("");
  475. //$("#ma_fee_period1_done").val("");
  476. //$("#ma_fee_period_done").val("");
  477. //$("#ma_member_attr_done").val("");
  478. $("#ma_member_name").val("");
  479. $("#ma_member_id").val("");
  480. $("#ma_mobile_no").val("");
  481. $("#ma_deposit").val("").prop("readonly",true);
  482. $("#ma_amt1").val("").prop("readonly",true);
  483. $("#ma_amt").val("").prop("readonly",true);
  484. $("#ma_member_no").val("0");
  485. $("#ma_member_company_no").val("");
  486. $("#member_data_type").html("新增會員資料");
  487. // 設定以上三個item的第一個項目為選項預設值
  488. $("#member_attr")[0].selectedIndex = 0;
  489. $("#fee_period1")[0].selectedIndex = 0;
  490. $("#fee_period")[0].selectedIndex = 0;
  491. $("#member_attr").prop("disabled",false);
  492. $("#fee_period1").prop("disabled",false);
  493. $("#fee_period").prop("disabled",false);
  494. $('input:checkbox.pt_id_checkbox').prop("disabled",false);
  495. }
  496. else if (type == "member_switch")
  497. {
  498. // 繳期修改
  499. $("#member_attr").prop("disabled",false);
  500. $("#fee_period1").prop("disabled",true);
  501. $("#fee_period").prop("disabled",false);
  502. $('input:checkbox.pt_id_checkbox').prop("disabled",false);
  503. }
  504. else
  505. {
  506. $("#member_attr").prop("disabled",true);
  507. $("#fee_period1").prop("disabled",true);
  508. $("#fee_period").prop("disabled",true);
  509. $('input:checkbox.pt_id_checkbox').prop("disabled",true);
  510. }
  511. $("#amt_tot_view").hide();
  512. $("#amt_accrued_view").hide();
  513. //$("#ma_contract_no").hide();
  514. $("#amt1_max_view").hide();
  515. $("#amt2_max_view").hide();
  516. switch(tags)
  517. {
  518. // -- 費率總覽 --
  519. case "price_plan_query_all":
  520. load_page(tags);
  521. reload_price_plan_query_all(); // reload
  522. break;
  523. // -- 會員總覽 --
  524. case "member_query_all":
  525. load_page(tags);
  526. reload_member_query_all(); // reload
  527. break;
  528. // -- 審核總覽 --
  529. case "member_tx_check_query":
  530. load_page(tags);
  531. reload_member_tx_check_query(); // reload
  532. break;
  533. // -- 臨停未結清單 --
  534. case "cario_temp_not_finished_query_all":
  535. load_page(tags);
  536. reload_cario_temp_not_finished_query_all(); // reload
  537. break;
  538. // -- 退租交易清單 --
  539. case "member_tx_refund_query":
  540. load_page(tags);
  541. // 不用 reload
  542. break;
  543. // -- 會員查詢, 並列出清單 --
  544. case "member_query":
  545. //$("#member_list").html(""); // -- 清除原內容 --
  546. break;
  547. // -- 交易查詢, 並列出清單 --
  548. case "member_tx_query":
  549. $("#member_tx_list").html(""); // -- 清除原內容 --
  550. break;
  551. // -- 發票查詢, 並列出清單 --
  552. case "member_tx_bill_query":
  553. $("#member_tx_bill_list").html(""); // -- 清除原內容 --
  554. if (type == "ok")
  555. {
  556. show_member_tx_bill(0, '0,1,99', '100'); // 待開立 (未審核, 已審核, 審核未通過, 未開立發票)
  557. }
  558. else if (type == "more")
  559. {
  560. show_member_tx_bill(0, '', '1', '4'); // 待補開 (已退租, 待補開發票)
  561. }
  562. else if (type == "refund")
  563. {
  564. show_member_tx_bill(0, '', '2', '4'); // 待折讓 (已退租, 已開立發票)
  565. }
  566. break;
  567. // 停車時段設定
  568. case "park_time":
  569. $.ajax
  570. ({
  571. url: APP_URL+"park_time",
  572. type: "post",
  573. dataType:"json",
  574. data: {},
  575. success: function(jdata)
  576. {
  577. var str = "";
  578. for(idx in jdata)
  579. {
  580. pt_id = jdata[idx]['time_id'];
  581. 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']+"'>";
  582. str += "<td id='pt_seqno_"+pt_id+"' style='text-align:center;'>"+jdata[idx]['seqno']+"</td>";
  583. str += "<td id='pt_time_id_"+pt_id+"' style='text-align:center;'>"+pt_id+"</td>";
  584. /*
  585. str += "<td id='pt_park_type_"+pt_id+"' style='text-align:center;'>"+park_type[jdata[idx]['park_type']]+"</td>";
  586. str += "<td id='pt_week_start_"+pt_id+"' style='text-align:center;'>"+week_name[jdata[idx]['week_start']]+"</td>";
  587. str += "<td id='pt_week_end_"+pt_id+"' style='text-align:center;'>"+week_name[jdata[idx]['week_end']]+"</td>";
  588. str += "<td id='pt_daytime_start_"+pt_id+"' style='text-align:center;'>"+jdata[idx]['daytime_start']+"</td>";
  589. str += "<td id='pt_daytime_end_"+pt_id+"' style='text-align:center;'>"+jdata[idx]['daytime_end']+"</td>";
  590. */
  591. str += "<td id='pt_remarks_"+pt_id+"' style='text-align:left;'>"+jdata[idx]['remarks']+"</td>";
  592. 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>";
  593. str += "</tr>";
  594. }
  595. //$("#park_time_list").html("").append(str);
  596. $("#park_time_list").html(str);
  597. }
  598. });
  599. break;
  600. // -- 關帳 --
  601. case "check_point":
  602. load_page(tags);
  603. reload_check_point(); // reload
  604. break;
  605. // -- 關帳查詢 --
  606. case "check_point_report":
  607. load_page(tags);
  608. break;
  609. case "invoice_open":
  610. case "invoice_reprint":
  611. case "invoice_cancel":
  612. case "invoice_rows":
  613. case "invoice_close":
  614. load_page(tags);
  615. break;
  616. default:
  617. $("#"+tags+"_list").html(""); // -- 清除原內容 --
  618. break;
  619. }
  620. $("[data-items]").hide();
  621. $("[data-items="+tags+"]").show();
  622. return false;
  623. }
  624. // 載入頁面
  625. function load_page(tags)
  626. {
  627. if ($("[data-items='"+tags+"']").length == 0) // 第一次loading
  628. {
  629. $.ajax
  630. ({
  631. url:APP_URL+"get_html",
  632. async:false,
  633. timeout:1500,
  634. type:"post",
  635. dataType:"text",
  636. data:{"tag_name":tags,"company_no":company_no},
  637. success:function(jdata)
  638. {
  639. $("#page-wrapper").append(jdata);
  640. }
  641. });
  642. }
  643. }
  644. // 停車時段修改或刪除選項
  645. function park_time_modify(park_time_id)
  646. {
  647. select_item = $("#sel_park_time_"+park_time_id).val();
  648. switch(select_item)
  649. {
  650. case "choice": // -- 請選擇(忽略不處理) --
  651. return false;
  652. case "modify":
  653. $("[name=time_id]").val($("#pt_time_id_"+park_time_id).text());
  654. $("[name=seqno]").val($("#pt_seqno_"+park_time_id).text());
  655. $("#park_time_dialog").modal
  656. ({
  657. backdrop:false,
  658. keyboard:false
  659. });
  660. break;
  661. case "delete":
  662. if (!confirm("確定刪除嗎 ?")) return false;
  663. $.ajax
  664. ({
  665. url:APP_URL+"park_time_delete",
  666. type:"post",
  667. dataType:"text",
  668. data:{"time_id":park_time_id},
  669. success:function(jdata)
  670. {
  671. if (jdata == "ok")
  672. {
  673. alertify_msg("刪除成功 !");
  674. show_item("park_time", "");
  675. }
  676. }
  677. });
  678. break;
  679. }
  680. }
  681. // 查核作業
  682. function member_tx_check(tx_no)
  683. {
  684. alertify_msg("請通知總公司營管!<br/><br/>電話:02-27057716 分機 119<br/><br/>");
  685. }
  686. // 接續開立發票 (補開發票)
  687. function next_refund_bill(tx_bill_no)
  688. {
  689. if (!confirm("建立下一張發票 ?")) return false;
  690. var station_no = $("#tx_bill_lpr_"+tx_bill_no).data("station_no");
  691. var member_no = $("#tx_bill_lpr_"+tx_bill_no).data("member_no");
  692. var remain_amt = $("#tx_bill_lpr_"+tx_bill_no).data("remain_amt");
  693. var tx_no = $("#tx_bill_lpr_"+tx_bill_no).data("tx_no");
  694. if(remain_amt > 0)
  695. {
  696. // 尚餘金額繼續開立
  697. xvars["rents"] = Array();
  698. xvars["rents"]["tx_bill_no"] = tx_bill_no;
  699. xvars["rents"]["tx_no"] = tx_no;
  700. xvars["rents"]["station_no"] = station_no;
  701. xvars["rents"]["member_no"] = member_no;
  702. xvars["rents"]["remain_amt"] = parseInt(remain_amt);
  703. //console.log(xvars["rents"]);
  704. $.ajax
  705. ({
  706. url:APP_URL+"next_tx_bill",
  707. type:"post",
  708. dataType:"text",
  709. data:{ "station_no":station_no, "tx_no":tx_no,
  710. "tx_bill_no":tx_bill_no, "member_no":member_no,
  711. "remain_amt":remain_amt},
  712. success:function(jdata)
  713. {
  714. if (jdata == "ok")
  715. {
  716. alertify_msg("建立完成 ! ");
  717. show_member_tx_bill(0, '', '1', '4'); // 待補開 (已退租, 待補開發票)
  718. }
  719. else if (jdata == "tx_error_not_found")
  720. {
  721. alertify_msg("異常:查無開立資訊");
  722. }
  723. else if (jdata == "tx_error_not_ready")
  724. {
  725. alertify_msg("操作錯誤:請先處理本期發票");
  726. }
  727. else if (jdata == "tx_error_next")
  728. {
  729. alertify_msg("異常:查無待開立資訊");
  730. }
  731. else
  732. {
  733. alertify_msg("請於 " + jdata + ",再建立新的發票");
  734. }
  735. }
  736. });
  737. }
  738. else
  739. {
  740. // 各期月租發票補印
  741. alertify_msg("流程異常:請通知總公司處理:" + tx_bill_no);
  742. }
  743. }
  744. /*
  745. function refund_invoice_more(tx_bill_no)
  746. {
  747. if (!confirm("確定補開發票 ?")) return false;
  748. var station_no = $("#tx_bill_lpr_"+tx_bill_no).data("station_no");
  749. var member_no = $("#tx_bill_lpr_"+tx_bill_no).data("member_no");
  750. var invoice_amt = $("#tx_bill_lpr_"+tx_bill_no).data("invoice_amt");
  751. var tx_no = $("#tx_bill_lpr_"+tx_bill_no).data("tx_no");
  752. if(refund_amt > 0)
  753. {
  754. // 尚餘金額繼續開立
  755. xvars["rents"] = Array();
  756. xvars["rents"]["tx_bill_no"] = tx_bill_no;
  757. xvars["rents"]["station_no"] = station_no;
  758. xvars["rents"]["member_no"] = member_no;
  759. xvars["rents"]["invoice_amt"] = parseInt(invoice_amt);
  760. $.ajax
  761. ({
  762. url:APP_URL+"refund_invoice_more",
  763. type:"post",
  764. dataType:"text",
  765. data:{ "station_no":station_no, "tx_no":tx_no,
  766. "tx_bill_no":tx_bill_no, "member_no":member_no,
  767. "refund_amt":refund_amt},
  768. success:function(jdata)
  769. {
  770. if (jdata == "ok")
  771. {
  772. alertify_msg("補開完成 ! ");
  773. show_member_tx_bill(0, '', '1', '4'); // 待補開 (已退租, 待補開發票)
  774. }
  775. else if (jdata == "tx_error_not_found")
  776. {
  777. alertify_msg("異常:查無開立資訊");
  778. }
  779. else if (jdata == "tx_error_not_ready")
  780. {
  781. alertify_msg("異常:查無發票資訊");
  782. }
  783. else
  784. {
  785. alertify_msg("異常:" + jdata);
  786. }
  787. }
  788. });
  789. }
  790. else
  791. {
  792. // 各期月租發票補印
  793. alertify_msg("流程異常:請通知總公司處理:" + tx_bill_no);
  794. }
  795. }
  796. */
  797. // 折讓發票
  798. function refund_invoice_allowance(tx_bill_no)
  799. {
  800. if (!confirm("確定折讓發票 ?")) return false;
  801. var station_no = $("#tx_bill_lpr_"+tx_bill_no).data("station_no");
  802. var member_no = $("#tx_bill_lpr_"+tx_bill_no).data("member_no");
  803. var refund_amt = $("#tx_bill_lpr_"+tx_bill_no).data("refund_amt");
  804. var tx_no = $("#tx_bill_lpr_"+tx_bill_no).data("tx_no");
  805. if(refund_amt > 0)
  806. {
  807. // 尚餘金額繼續開立
  808. xvars["rents"] = Array();
  809. xvars["rents"]["tx_bill_no"] = tx_bill_no;
  810. xvars["rents"]["station_no"] = station_no;
  811. xvars["rents"]["member_no"] = member_no;
  812. xvars["rents"]["refund_amt"] = parseInt(refund_amt);
  813. $.ajax
  814. ({
  815. url:APP_URL+"refund_invoice_allowance",
  816. type:"post",
  817. dataType:"text",
  818. data:{ "station_no":station_no, "tx_no":tx_no,
  819. "tx_bill_no":tx_bill_no, "member_no":member_no,
  820. "refund_amt":refund_amt},
  821. success:function(jdata)
  822. {
  823. if (jdata == "ok")
  824. {
  825. alertify_msg("折讓完成 ! ");
  826. show_member_tx_bill(0, '', '2', '4'); // 待折讓 (已退租, 已開立發票)
  827. }
  828. else if (jdata == "tx_error_not_found")
  829. {
  830. alertify_msg("異常:查無開立資訊");
  831. }
  832. else if (jdata == "tx_error_not_ready")
  833. {
  834. alertify_msg("異常:查無發票資訊");
  835. }
  836. else
  837. {
  838. alertify_msg("異常:" + jdata);
  839. }
  840. }
  841. });
  842. }
  843. else
  844. {
  845. // 各期月租發票補印
  846. alertify_msg("流程異常:請通知總公司處理:" + tx_bill_no);
  847. }
  848. }
  849. // 接續開立發票
  850. function next_tx_bill(tx_bill_no)
  851. {
  852. if (!confirm("建立下一張發票 ?")) return false;
  853. var station_no = $("#tx_bill_lpr_"+tx_bill_no).data("station_no");
  854. var member_no = $("#tx_bill_lpr_"+tx_bill_no).data("member_no");
  855. var remain_amt = $("#tx_bill_lpr_"+tx_bill_no).data("remain_amt");
  856. var tx_no = $("#tx_bill_lpr_"+tx_bill_no).data("tx_no");
  857. var invoice_state = $("#tx_bill_lpr_"+tx_bill_no).data("invoice_state");
  858. if(remain_amt > 0)
  859. {
  860. // 尚餘金額繼續開立
  861. xvars["rents"] = Array();
  862. xvars["rents"]["tx_bill_no"] = tx_bill_no;
  863. xvars["rents"]["tx_no"] = tx_no;
  864. xvars["rents"]["station_no"] = station_no;
  865. xvars["rents"]["member_no"] = member_no;
  866. xvars["rents"]["remain_amt"] = parseInt(remain_amt);
  867. //console.log(xvars["rents"]);
  868. $.ajax
  869. ({
  870. url:APP_URL+"next_tx_bill",
  871. type:"post",
  872. dataType:"text",
  873. data:{ "station_no":station_no, "tx_no":tx_no,
  874. "tx_bill_no":tx_bill_no, "member_no":member_no,
  875. "remain_amt":remain_amt},
  876. success:function(jdata)
  877. {
  878. if (jdata == "ok")
  879. {
  880. alertify_msg("建立完成 ! ");
  881. if(invoice_state == 1)
  882. {
  883. show_member_tx_bill(0, '', '1', '4'); // 待補開 (已退租)
  884. }
  885. else if(invoice_state == 2)
  886. {
  887. show_member_tx_bill(0, '', '2', '4'); // 待折讓 (已退租, 已開立發票)
  888. }
  889. else
  890. {
  891. show_member_tx_bill(tx_no);
  892. }
  893. }
  894. else if (jdata == "tx_error_not_found")
  895. {
  896. alertify_msg("異常:查無開立資訊");
  897. }
  898. else if (jdata == "tx_error_not_ready")
  899. {
  900. alertify_msg("操作錯誤:請先處理本期發票");
  901. }
  902. else if (jdata == "tx_error_next")
  903. {
  904. alertify_msg("異常:查無待開立資訊");
  905. }
  906. else
  907. {
  908. alertify_msg("請於 " + jdata + ",再建立新的發票");
  909. }
  910. }
  911. });
  912. }
  913. else
  914. {
  915. // 各期月租發票補印
  916. alertify_msg("流程異常:請通知總公司處理:" + tx_bill_no);
  917. }
  918. }
  919. /*
  920. // 待折讓 (已退租, 已開立發票)
  921. function show_member_refund_allowance()
  922. {
  923. show_member_tx_bill(0, '', '2', '4');
  924. }
  925. // 待補開 (已退租)
  926. function show_member_refund_more_invoice()
  927. {
  928. show_member_tx_bill(0, '', '1', '4');
  929. }
  930. */
  931. // 發票開立記錄
  932. 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)
  933. {
  934. show_item("member_tx_bill_query", "member_tx_bill_query");
  935. $.ajax
  936. ({
  937. url:APP_URL+"member_tx_bill_query",
  938. type:"post",
  939. dataType:"json",
  940. data:{"station_no":station_no, "tx_no":tx_no, "verify_state_str":verify_state_str,
  941. "invoice_state_str":invoice_state_str, "tx_state_str":tx_state_str,
  942. "tx_bill_no":tx_bill_no, "member_refund_id":member_refund_id},
  943. success:function(jdata)
  944. {
  945. var member_list = [["<tr>"]];
  946. for(idx in jdata)
  947. {
  948. //console.log(jdata.length + " : " + idx + " , " + jdata[idx]['invoice_amt'] + " : " + jdata[idx]['remain_amt']);
  949. tx_no = jdata[idx]['tx_no'];
  950. member_list = member_list.concat(["<td style='text-align:left;'>", jdata[idx]['tx_no'], "_", jdata[idx]['tx_bill_no'], "</td>"]);
  951. //member_list = member_list.concat(["<td style='text-align:left;'>", st[jdata[idx]['station_no']], "</td>"]);
  952. member_list = member_list.concat(["<td id='acc_date_", tx_no, "' style='text-align:center;'>", jdata[idx]['acc_date'], "</td>"]);
  953. member_list = member_list.concat(["<td id='tx_bill_lpr_", jdata[idx]['tx_bill_no'],
  954. "' data-station_no='", jdata[idx]['station_no'],
  955. "' data-member_no='", jdata[idx]['member_no'],
  956. "' data-tx_bill_no='", jdata[idx]['tx_bill_no'],
  957. "' data-tx_no='", jdata[idx]['tx_no'],
  958. "' data-member_company_no='", jdata[idx]['member_company_no'],
  959. "' data-company_no='", jdata[idx]['company_no'],
  960. "' data-invoice_amt='", jdata[idx]['invoice_amt'],
  961. "' data-remain_amt='", jdata[idx]['remain_amt'],
  962. "' data-period_3_amt='", jdata[idx]['period_3_amt'],
  963. "' data-amt='", jdata[idx]['amt'],
  964. "' data-amt1='", jdata[idx]['amt1'],
  965. "' data-deposit='", jdata[idx]['deposit'],
  966. "' data-start_date_last='", jdata[idx]['start_date_last'],
  967. "' data-end_date='", jdata[idx]['end_date'],
  968. "' data-lpr='", jdata[idx]['lpr'],
  969. "' data-fee_period='", jdata[idx]['fee_period'],
  970. "' data-refund_amt='", jdata[idx]['refund_amt'],
  971. "' data-invoice_state='", jdata[idx]['invoice_state'],
  972. "' style='text-align:left;'>", jdata[idx]['lpr'], "</td>"]);
  973. member_list = member_list.concat(["<td id='sdate_last_", tx_no, "' style='text-align:center;'>", jdata[idx]['start_date_last'], "</td>"]);
  974. member_list = member_list.concat(["<td id='fee_period_last_", tx_no, "' style='text-align:center;'>", period_name[jdata[idx]['fee_period_last']], "</td>"]);
  975. member_list = member_list.concat(["<td id='edate_last_", tx_no, "' style='text-align:center;'>", jdata[idx]['end_date_last'], "</td>"]);
  976. member_list = member_list.concat(["<td id='amt_last_", tx_no, "' style='text-align:center;'>", jdata[idx]['amt_last'], "</td>"]);
  977. member_list = member_list.concat(["<td id='fee_period_", tx_no, "' style='text-align:center;'>", period_name[jdata[idx]['fee_period']], "</td>"]);
  978. member_list = member_list.concat(["<td id='sdate_", tx_no, "' style='text-align:center;'>", jdata[idx]['start_date'], "</td>"]);
  979. if(jdata[idx]['invoice_state'] == 1)
  980. {
  981. // 待補開
  982. member_list = member_list.concat(["<td id='edate_", tx_no, "' style='text-align:center;'>指定退租日<br/>", jdata[idx]['end_date'], "</td>"]);
  983. member_list = member_list.concat(["<td id='amt_", tx_no, "' style='text-align:center;'>補繳總金額<br/>", jdata[idx]['amt'], " 元</td>"]);
  984. }
  985. else if(jdata[idx]['invoice_state'] == 2)
  986. {
  987. // 待折讓
  988. member_list = member_list.concat(["<td id='edate_", tx_no, "' style='text-align:center;'>指定退租日<br/>", jdata[idx]['end_date'], "</td>"]);
  989. member_list = member_list.concat(["<td id='amt_", tx_no, "' style='text-align:center;'>折讓總金額<br/>", jdata[idx]['amt'], " 元</td>"]);
  990. }
  991. else
  992. {
  993. member_list = member_list.concat(["<td id='edate_", tx_no, "' style='text-align:center;'>", jdata[idx]['end_date'], "</td>"]);
  994. member_list = member_list.concat(["<td id='amt_", tx_no, "' style='text-align:center;'>", jdata[idx]['amt'], " 元</td>"]);
  995. }
  996. // 是否已有發票
  997. if(jdata[idx]['invoice_no'] > 0)
  998. {
  999. member_list = member_list.concat(["<td id='invoice_time_", tx_no, "' style='text-align:center;'>", jdata[idx]['invoice_time'], "</td>"]);
  1000. member_list = member_list.concat(["<td id='member_company_no_", tx_no, "' style='text-align:center;'>", jdata[idx]['member_company_no'], "</td>"]);
  1001. member_list = member_list.concat(["<td id='company_no_", tx_no, "' style='text-align:center;'>", jdata[idx]['company_no'], "</td>"]);
  1002. member_list = member_list.concat(["<td id='invoice_amt_", tx_no, "' style='text-align:center;'>", jdata[idx]['invoice_amt'], "</td>"]);
  1003. member_list = member_list.concat(["<td id='invoice_track_", tx_no, "' style='text-align:center;'>", jdata[idx]['invoice_track'], "</td>"]);
  1004. member_list = member_list.concat(["<td id='invoice_no_", tx_no, "' style='text-align:center;'>", jdata[idx]['invoice_no'], "</td>"]);
  1005. if(jdata[idx]['invoice_type'] == 0)
  1006. {
  1007. member_list = member_list.concat(["<td id='invoice_type_", tx_no, "' style='text-align:center;'>電子發票</td>"]);
  1008. }
  1009. else if(jdata[idx]['invoice_type'] == 1)
  1010. {
  1011. member_list = member_list.concat(["<td id='invoice_type_", tx_no, "' style='text-align:center;'>手開發票</td>"]);
  1012. }
  1013. else
  1014. {
  1015. member_list = member_list.concat(["<td id='invoice_type_", tx_no, "' style='text-align:center;'>異常</td>"]);
  1016. }
  1017. }
  1018. else
  1019. {
  1020. member_list = member_list.concat(["<td id='invoice_time_", tx_no, "' style='text-align:center;'>未開立</td>"]);
  1021. member_list = member_list.concat(["<td id='member_company_no_", tx_no, "' style='text-align:center;'>", jdata[idx]['member_company_no'], "</td>"]);
  1022. member_list = member_list.concat(["<td id='company_no_", tx_no, "' style='text-align:center;'>", jdata[idx]['company_no'], "</td>"]);
  1023. member_list = member_list.concat(["<td id='invoice_amt_", tx_no, "' style='text-align:center;'>", jdata[idx]['invoice_amt'], "</td>"]);
  1024. member_list = member_list.concat(["<td id='invoice_track_", tx_no, "' style='text-align:center;'></td>"]);
  1025. if(jdata[idx]['tx_state'] == 4 && jdata[idx]['invoice_state'] == 0)
  1026. {
  1027. // 已退租, 原先交易將不再開放開立
  1028. member_list = member_list.concat(["<td id='invoice_no_", tx_no, "' style='text-align:center;'></td>"]);
  1029. member_list = member_list.concat(["<td id='invoice_type_", tx_no, "' style='text-align:center;'></td>"]);
  1030. }
  1031. else
  1032. {
  1033. 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>"]);
  1034. 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>"]);
  1035. }
  1036. }
  1037. //member_list = member_list.concat(["<td style='color:blue;text-align:center;' id='remarks_", jdata[idx]['tx_bill_no'], "'>", jdata[idx]['remarks'], "</td>"]);
  1038. if(jdata[idx]['tx_state'] == 4)
  1039. {
  1040. member_list = member_list.concat(["<td style='color:black;text-align:center;'>已退租</td>"]);
  1041. }
  1042. else if(jdata[idx]['tx_state'] == 44)
  1043. {
  1044. member_list = member_list.concat(["<td style='color:black;text-align:center;'>交易取消</td>"]);
  1045. }
  1046. else if(jdata[idx]['verify_state'] == 0)
  1047. {
  1048. 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>"]);
  1049. }
  1050. else if(jdata[idx]['verify_state'] == 1)
  1051. {
  1052. member_list = member_list.concat(["<td style='color:green;text-align:center;'>已審核</td>"]);
  1053. }
  1054. else
  1055. {
  1056. 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>"]);
  1057. }
  1058. // 剩餘開立金額
  1059. if(jdata[idx]['invoice_state'] == 1)
  1060. {
  1061. // 待開立
  1062. if(jdata[idx]['remain_amt'] > 0)
  1063. {
  1064. 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>"]);
  1065. }
  1066. else
  1067. {
  1068. member_list = member_list.concat(["<td style='text-align:center;'>無</td>"]);
  1069. }
  1070. }
  1071. else if(jdata[idx]['invoice_state'] == 2)
  1072. {
  1073. // 待折讓
  1074. if(jdata[idx]['refund_amt'] > 0)
  1075. {
  1076. 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>"]);
  1077. }
  1078. else
  1079. {
  1080. member_list = member_list.concat(["<td style='text-align:center;'>異常</td>"]);
  1081. }
  1082. }
  1083. else
  1084. {
  1085. // 待開立
  1086. if(jdata[idx]['remain_amt'] > 0)
  1087. {
  1088. if(jdata[idx]['tx_state'] == 4 && jdata[idx]['invoice_state'] == 0)
  1089. {
  1090. // 已退租, 原先交易將不再開放開立
  1091. member_list = member_list.concat(["<td style='text-align:center;'>尚餘 ", jdata[idx]['remain_amt'] ," 元</td>"]);
  1092. }
  1093. else
  1094. {
  1095. 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>"]);
  1096. }
  1097. }
  1098. else
  1099. {
  1100. member_list = member_list.concat(["<td style='text-align:center;'>無</td>"]);
  1101. }
  1102. }
  1103. member_list = member_list.concat(["</tr>"]);;
  1104. }
  1105. $("#member_tx_bill_list").append(member_list.join(''));
  1106. }
  1107. });
  1108. }
  1109. // 顯示會員交易記錄
  1110. function show_member_tx(member_no)
  1111. {
  1112. $.ajax
  1113. ({
  1114. url:APP_URL+"member_tx_query",
  1115. type:"post",
  1116. dataType:"json",
  1117. data:{"station_no":station_no, "member_no":member_no},
  1118. success:function(jdata)
  1119. {
  1120. show_item("member_tx_query", "member_tx_query");
  1121. var member_list = ['<tr>'];
  1122. for(idx in jdata)
  1123. {
  1124. tx_no = jdata[idx]['tx_no'];
  1125. member_list = member_list.concat(["<td style='text-align:center;'>", tx_no, "</td>"]);
  1126. //member_list = member_list.concat(["<td style='text-align:left;'>", st[jdata[idx]['station_no']], "</td>"]);
  1127. member_list = member_list.concat(["<td id='acc_date_", tx_no, "' style='text-align:center;'>", jdata[idx]['acc_date'], "</td>"]);
  1128. member_list = member_list.concat(["<td id='show_member_tx_lpr_", tx_no,
  1129. "' data-station_no='", jdata[idx]['station_no'],
  1130. "' data-member_no='", jdata[idx]['member_no'],
  1131. "' data-tx_no='", jdata[idx]['tx_no'],
  1132. "' data-member_company_no='", jdata[idx]['member_company_no'],
  1133. "' data-company_no='", jdata[idx]['company_no'],
  1134. "' data-amt='", jdata[idx]['amt'],
  1135. "' data-amt1='", jdata[idx]['amt1'],
  1136. "' data-deposit='", jdata[idx]['deposit'],
  1137. "' data-start_date_last='", jdata[idx]['start_date_last'],
  1138. "' data-end_date='", jdata[idx]['end_date'],
  1139. "' data-lpr='", jdata[idx]['lpr'],
  1140. "' data-fee_period='", jdata[idx]['fee_period'],
  1141. "' style='text-align:left;'>", jdata[idx]['lpr'], "</td>"]);
  1142. member_list = member_list.concat(["<td id='sdate_last_", tx_no, "' style='text-align:center;'>", jdata[idx]['start_date_last'], "</td>"]);
  1143. member_list = member_list.concat(["<td id='fee_period_last_", tx_no, "' style='text-align:center;'>", period_name[jdata[idx]['fee_period_last']], "</td>"]);
  1144. member_list = member_list.concat(["<td id='edate_last_", tx_no, "' style='text-align:center;'>", jdata[idx]['end_date_last'], "</td>"]);
  1145. member_list = member_list.concat(["<td id='amt_last_", tx_no, "' style='text-align:center;'>", jdata[idx]['amt_last'], "</td>"]);
  1146. member_list = member_list.concat(["<td id='fee_period_", tx_no, "' style='text-align:center;'>", period_name[jdata[idx]['fee_period']], "</td>"]);
  1147. member_list = member_list.concat(["<td id='sdate_", tx_no, "' style='text-align:center;'>", jdata[idx]['start_date'], "</td>"]);
  1148. member_list = member_list.concat(["<td id='edate_", tx_no, "' style='text-align:center;'>", jdata[idx]['end_date'], "</td>"]);
  1149. member_list = member_list.concat(["<td id='amt_", tx_no, "' style='text-align:center;'>", jdata[idx]['amt'], "</td>"]);
  1150. member_list = member_list.concat(["<td style='text-align:center;'><button class='btn btn-default' onclick='show_member_tx_bill(", tx_no ,");'>瀏覽</button></td>"]);
  1151. if(jdata[idx]['tx_state'] == 4)
  1152. {
  1153. member_list = member_list.concat(["<td style='color:black;text-align:center;'>已退租</td>"]);
  1154. }
  1155. else if(jdata[idx]['tx_state'] == 44)
  1156. {
  1157. member_list = member_list.concat(["<td style='color:black;text-align:center;'>交易取消</td>"]);
  1158. }
  1159. else if(jdata[idx]['verify_state'] == 0)
  1160. {
  1161. 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>"]);
  1162. }
  1163. else if(jdata[idx]['verify_state'] == 1)
  1164. {
  1165. member_list = member_list.concat(["<td style='color:green;text-align:center;'>已審核</td>"]);
  1166. }
  1167. else
  1168. {
  1169. 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>"]);
  1170. }
  1171. member_list = member_list.concat(["<td style='color:red;text-align:center;' id='valid_time_", tx_no, "'>", jdata[idx]['valid_time'], "</td>"]);
  1172. member_list = member_list.concat(["<td style='color:blue;text-align:left;' id='remarks_", tx_no, "'>", jdata[idx]['remarks'], "</td>"]);
  1173. 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>"]);
  1174. member_list = member_list.concat(["</tr>"]);
  1175. }
  1176. $("#member_tx_list").append(member_list.join(''));
  1177. }
  1178. });
  1179. }
  1180. // 交易異動
  1181. function member_tx_modify(tx_no)
  1182. {
  1183. select_item = $("#member_tx_sel_"+tx_no).val();
  1184. $("#member_tx_sel_"+tx_no+" option[value='choice']").prop("selected", true);
  1185. switch(select_item)
  1186. {
  1187. case "cancel":
  1188. if (!confirm("確定取消這筆交易 ? \n\n[注意事項]\n**若為剛建立之會員,且交易尚未審核\n**將直接刪除會員資料!!")) return false;
  1189. var member_no = $("#show_member_tx_lpr_"+tx_no).data("member_no");
  1190. $.ajax
  1191. ({
  1192. url:APP_URL+"member_tx_cancel",
  1193. type:"post",
  1194. dataType:"text",
  1195. data:
  1196. {
  1197. "station_no": $("#show_member_tx_lpr_"+tx_no).data("station_no"),
  1198. "member_no": member_no,
  1199. "tx_no": tx_no
  1200. },
  1201. error:function(xhr, ajaxOptions, thrownError)
  1202. {
  1203. alertify_msg(xhr.responseText);
  1204. console.log("error:"+xhr.responseText+"|"+ajaxOptions+"|"+thrownError);
  1205. },
  1206. success:function(jdata)
  1207. {
  1208. if (jdata == "ok")
  1209. {
  1210. alertify_msg("交易已取消");
  1211. show_member_tx(member_no);
  1212. }
  1213. else if (jdata == "tx_error_not_found")
  1214. {
  1215. alertify_msg("查無資料");
  1216. }
  1217. else if (jdata == "member_not_found")
  1218. {
  1219. alertify_msg("查無會員");
  1220. }
  1221. else if (jdata == "tx_error_refuse")
  1222. {
  1223. alertify_msg("拒絕處理:請進行退租操作");
  1224. }
  1225. else if (jdata == "tx_error_not_last")
  1226. {
  1227. alertify_msg("拒絕處理:請由最新一筆交易開始操作");
  1228. }
  1229. else
  1230. {
  1231. alertify_msg("未知的錯誤");
  1232. }
  1233. }
  1234. });
  1235. break;
  1236. default: // -- 其餘選擇(忽略不處理) --
  1237. return false;
  1238. }
  1239. }
  1240. // 修改或刪除選項
  1241. function member_modify(member_no)
  1242. {
  1243. select_item = $("#sel_"+member_no).val();
  1244. $("#sel_"+member_no+" option[value='choice']").prop("selected", true);
  1245. switch(select_item)
  1246. {
  1247. // 交易記錄
  1248. case "tx_logs":
  1249. show_member_tx(member_no);
  1250. break;
  1251. // 繳租作業
  1252. case "rents":
  1253. // get data
  1254. xvars["rents"] = Array();
  1255. xvars["rents"]["station_no"] = $("#lpr_"+member_no).data("station_no");
  1256. xvars["rents"]["member_no"] = member_no;
  1257. xvars["rents"]["member_attr"] = $("#lpr_"+member_no).data("member_attr");
  1258. xvars["rents"]["lpr"] = $("#lpr_"+member_no).text();
  1259. xvars["rents"]["fee_period"] = $("#lpr_"+member_no).data("fee_period");
  1260. xvars["rents"]["member_company_no"] = $("#lpr_"+member_no).data("member_company_no");
  1261. xvars["rents"]["company_no"] = $("#lpr_"+member_no).data("company_no");
  1262. xvars["rents"]["fee_period_last"] = $("#lpr_"+member_no).data("fee_period_last");
  1263. xvars["rents"]["amt_last"] = $("#lpr_"+member_no).data("amt");//$("#amt_"+member_no).text();
  1264. xvars["rents"]["end_date_last"] = $("#edate_"+member_no).text();
  1265. // clean view
  1266. $("#rents_name").text("");
  1267. $("#rents_station_name").text("");
  1268. $("#rents_end_date_last").text("");
  1269. $("#rents_period").text("");
  1270. $("#rents_company_no").val("");
  1271. $("#rents_member_company_no").val("");
  1272. $("#rents_amt").text("");
  1273. $("#rents_end_date").text("");
  1274. // set view
  1275. $("#rents_name").text($("#lpr_"+member_no).data("member_name")+" ("+$("#lpr_"+member_no).data("lpr")+")");
  1276. $("#rents_station_name").text(st[xvars["rents"]["station_no"]]);
  1277. $("#rents_end_date_last").text($("#lpr_"+member_no).data("end_date")); // 上期到期日
  1278. $("#rents_period").text(period_name[xvars["rents"]["fee_period"]]);
  1279. $("#rents_company_no").val(xvars["rents"]["company_no"]); // 賣方統編
  1280. $("#rents_member_company_no").val(xvars["rents"]["member_company_no"]); // 買方統編
  1281. // 一律顯示作業框
  1282. $("#rents_dialog").modal({backdrop:false,keyboard:false});
  1283. // 取得目前租金費率
  1284. $.ajax
  1285. ({
  1286. url:APP_URL+"get_rents_json",
  1287. type:"post",
  1288. dataType:"json",
  1289. error:function(xhr, ajaxOptions, thrownError)
  1290. {
  1291. alertify_msg(xhr.responseText);
  1292. console.log("error:"+xhr.responseText+"|"+ajaxOptions+"|"+thrownError);
  1293. },
  1294. success:function(jdata)
  1295. {
  1296. //console.log('data:' + xvars["rents"]["fee_period"] + ', ' + xvars["rents"]["member_attr"]);
  1297. xvars["rents"]["amt"] = jdata[xvars["rents"]["fee_period"]][xvars["rents"]["member_attr"]];
  1298. if(xvars["rents"]["amt"] > 0)
  1299. $("#rents_amt").text(xvars["rents"]["amt"]); // 本期租金
  1300. else
  1301. $("#rents_amt").text("查無設定。。"); // 異常
  1302. }
  1303. });
  1304. // 繳租作業小框
  1305. $.ajax
  1306. ({
  1307. url:WEB_SERVICE, // 計算下期截止日
  1308. type:"post",
  1309. dataType:"text",
  1310. data:
  1311. {
  1312. "cmd":"last_date_next",
  1313. "last_date_curr":$("#lpr_"+member_no).data("end_date"),
  1314. "fee_period":$("#lpr_"+member_no).data("fee_period")
  1315. },
  1316. error:function(xhr, ajaxOptions, thrownError)
  1317. {
  1318. var error_msg = xhr.responseText ? xhr.responseText : "連線失敗, 請稍候再試";
  1319. alertify_msg(error_msg);
  1320. console.log("error:"+error_msg+"|"+ajaxOptions+"|"+thrownError);
  1321. },
  1322. success:function(jdata)
  1323. {
  1324. xvars["rents"]["end_date"] = jdata;
  1325. if(xvars["rents"]["end_date"])
  1326. $("#rents_end_date").text(xvars["rents"]["end_date"]); // 本期到期日
  1327. else
  1328. $("#rents_end_date").text("發生異常。。"); // 異常
  1329. }
  1330. });
  1331. break;
  1332. // 手開:繳租作業
  1333. case "hand_rents":
  1334. $.ajax
  1335. ({
  1336. url:WEB_SERVICE, // 計算下期截止日
  1337. type:"post",
  1338. dataType:"text",
  1339. data:
  1340. {
  1341. "cmd":"last_date_next",
  1342. "last_date_curr":$("#lpr_"+member_no).data("end_date"),
  1343. "fee_period":$("#lpr_"+member_no).data("fee_period")
  1344. },
  1345. error:function(xhr, ajaxOptions, thrownError)
  1346. {
  1347. var error_msg = xhr.responseText ? xhr.responseText : "連線失敗, 請稍候再試";
  1348. alertify_msg(error_msg);
  1349. console.log("error:"+error_msg+"|"+ajaxOptions+"|"+thrownError);
  1350. },
  1351. success:function(jdata)
  1352. {
  1353. xvars["rents"] = Array();
  1354. xvars["rents"]["station_no"] = $("#lpr_"+member_no).data("station_no");
  1355. xvars["rents"]["member_no"] = member_no;
  1356. xvars["rents"]["lpr"] = $("#lpr_"+member_no).data("lpr");
  1357. xvars["rents"]["fee_period"] = $("#lpr_"+member_no).data("fee_period");
  1358. xvars["rents"]["member_company_no"] = $("#lpr_"+member_no).data("member_company_no");
  1359. xvars["rents"]["company_no"] = $("#lpr_"+member_no).data("company_no");
  1360. xvars["rents"]["fee_period_last"] = $("#lpr_"+member_no).data("fee_period_last");
  1361. xvars["rents"]["amt_last"] = $("#lpr_"+member_no).data("amt");//$("#amt_"+member_no).text();
  1362. xvars["rents"]["amt"] = xvars["rents"]["amt_last"];
  1363. xvars["rents"]["start_date"] = $("#lpr_"+member_no).data("start_date");
  1364. xvars["rents"]["end_date_last"] = $("#lpr_"+member_no).data("end_date");
  1365. xvars["rents"]["end_date"] = jdata;
  1366. $("#hand_rents_name").text($("#lpr_"+member_no).data("member_name")+" ("+$("#lpr_"+member_no).data("lpr")+")");
  1367. $("#hand_rents_station_name").text(st[xvars["rents"]["station_no"]]);
  1368. $("#hand_rents_end_date_last").text($("#lpr_"+member_no).data("end_date")); // 上期到期日
  1369. $("#hand_rents_end_date").text(xvars["rents"]["end_date"]); // 本期到期日
  1370. $("#hand_rents_period").text(period_name[xvars["rents"]["fee_period"]]);
  1371. $("#hand_rents_amt").text(xvars["rents"]["amt"]);
  1372. $("#hand_rents_amt_tot").text(xvars["rents"]["amt"]);
  1373. $("#hand_rents_company_no").val(xvars["rents"]["company_no"]); // 賣方統編
  1374. if(xvars["rents"]["member_company_no"] == 0 || xvars["rents"]["member_company_no"] == '')
  1375. {
  1376. $("#hand_rents_member_company_no").val("");
  1377. }
  1378. else
  1379. {
  1380. $("#hand_rents_member_company_no").val(xvars["rents"]["member_company_no"]); // 買方統編
  1381. }
  1382. $("#hand_rents_dialog").modal({backdrop:false,keyboard:false});
  1383. }
  1384. });
  1385. break;
  1386. // 修改作業
  1387. case "modify":
  1388. $("#station_no_modify").val($("#lpr_"+member_no).data("station_no"));
  1389. $("#ma_station_no").val($("#lpr_"+member_no).data("station_no"));
  1390. //$("#ma_lpr").val($("#lpr_"+member_no).data("lpr"));
  1391. //$("#ma_old_lpr").val($("#lpr_"+member_no).data("lpr"));
  1392. $("#ma_lpr").val($("#lpr_"+member_no).data("lpr")).prop("readonly",true); // 2017-02-13 updated
  1393. $("#ma_old_lpr").val($("#lpr_"+member_no).data("lpr")).prop("readonly",true); // 2017-02-13 updated
  1394. $("#ma_etag").val($("#lpr_"+member_no).data("etag"));
  1395. $("#ma_member_id").val($("#lpr_"+member_no).data("member_id"));
  1396. $("#ma_member_company_no").val($("#lpr_"+member_no).data("member_company_no"));
  1397. $("#ma_tel_o").val($("#lpr_"+member_no).data("tel_o"));
  1398. $("#ma_tel_h").val($("#lpr_"+member_no).data("tel_h"));
  1399. $("#ma_addr").val($("#lpr_"+member_no).data("addr"));
  1400. $("#ma_member_name").val($("#lpr_"+member_no).data("member_name"));
  1401. if( $("#lpr_"+member_no).data("demonth_start_date") == null &&
  1402. $("#lpr_"+member_no).data("demonth_end_date") == null &&
  1403. $("#lpr_"+member_no).data("rent_start_date") == null)
  1404. {
  1405. $("#ma_demonth_start_date").val($("#lpr_"+member_no).data("start_date")).prop("disabled",true); // 只有起訖時間的情況
  1406. }
  1407. else
  1408. {
  1409. $("#ma_demonth_start_date").val($("#lpr_"+member_no).data("demonth_start_date")).prop("disabled",true);
  1410. }
  1411. $("#ma_demonth_end_date").val($("#lpr_"+member_no).data("demonth_end_date")).prop("disabled",true);
  1412. $("#ma_start_date").val($("#lpr_"+member_no).data("rent_start_date")).prop("disabled",true);
  1413. $("#ma_end_date").val($("#lpr_"+member_no).data("end_date")).prop("disabled",true);
  1414. $("#ma_demonth_start_date_done").val($("#lpr_"+member_no).data("demonth_start_date"));
  1415. $("#ma_demonth_end_date_done").val($("#lpr_"+member_no).data("demonth_end_date"));
  1416. $("#ma_start_date_done").val($("#lpr_"+member_no).data("rent_start_date"));
  1417. $("#ma_end_date_done").val($("#lpr_"+member_no).data("end_date"));
  1418. //$("#ma_fee_period1_done").val($("#lpr_"+member_no).data("fee_period1"));
  1419. //$("#ma_fee_period_done").val($("#lpr_"+member_no).data("fee_period"));
  1420. //$("#ma_member_attr_done").val($("#lpr_"+member_no).data("member_attr"));
  1421. $("#ma_member_name").val($("#lpr_"+member_no).data("member_name"));
  1422. $("#ma_mobile_no").val($("#lpr_"+member_no).data("mobile_no"));
  1423. $("#ma_contract_no").val($("#lpr_"+member_no).data("contract_no"));
  1424. $("#ma_deposit").val($("#lpr_"+member_no).data("deposit")).prop("readonly",true);
  1425. $("#ma_amt1").val($("#lpr_"+member_no).data("amt1")).prop("readonly",true);
  1426. //$("#ma_amt").val($("#amt_"+member_no).text()).prop("readonly",true);
  1427. $("#ma_amt").val($("#lpr_"+member_no).data("amt")).prop("readonly",true);
  1428. $("#ma_member_no").val(member_no);
  1429. $("#fee_period1 option[value='"+$("#lpr_"+member_no).data("fee_period1")+"']").prop("selected", "selected");
  1430. $("#fee_period option[value='"+$("#lpr_"+member_no).data("fee_period")+"']").prop("selected", "selected");
  1431. $("#member_attr option[value='"+$("#lpr_"+member_no).data("member_attr")+"']").prop("selected", "selected");
  1432. $("#member_data_type").html("修改會員資料</button>");
  1433. $("input[id^=pt_id_]").prop("checked",false); // 全部取消勾
  1434. arr = $("#lpr_"+member_no).data("pt_id").split(",");
  1435. for(idx in arr)
  1436. {
  1437. $("#pt_id_"+arr[idx]).prop("checked",true);
  1438. }
  1439. show_item("member_add", "member_modify");
  1440. break;
  1441. case "switch":
  1442. alertify_msg("請通知總公司營管!<br/><br/>電話:02-27057716 分機 119<br/><br/>");
  1443. break;
  1444. case "stop":
  1445. xvars["rents"] = Array();
  1446. xvars["rents"]["station_no"] = $("#lpr_"+member_no).data("station_no");
  1447. xvars["rents"]["member_no"] = member_no;
  1448. xvars["rents"]["member_attr"] = $("#lpr_"+member_no).data("member_attr");
  1449. xvars["rents"]["lpr"] = $("#lpr_"+member_no).data("lpr");
  1450. xvars["rents"]["fee_period"] = $("#lpr_"+member_no).data("fee_period");
  1451. xvars["rents"]["member_company_no"] = $("#lpr_"+member_no).data("member_company_no");
  1452. xvars["rents"]["company_no"] = $("#lpr_"+member_no).data("company_no");
  1453. xvars["rents"]["fee_period_last"] = $("#lpr_"+member_no).data("fee_period_last");
  1454. xvars["rents"]["amt_last"] = $("#lpr_"+member_no).data("amt");//$("#amt_"+member_no).text();
  1455. xvars["rents"]["amt"] = xvars["rents"]["amt_last"];
  1456. xvars["rents"]["end_date_last"] = $("#lpr_"+member_no).data("end_date");
  1457. $("#stop_rents_name").text("").text($("#lpr_"+member_no).data("member_name")+" ("+$("#lpr_"+member_no).data("lpr")+")");
  1458. $("#stop_rents_station_name").text("").text(st[xvars["rents"]["station_no"]]);
  1459. /*
  1460. console.log(
  1461. 'demonth_start_date: ' + $("#lpr_"+member_no).data("demonth_start_date") +
  1462. ', demonth_end_date:' + $("#lpr_"+member_no).data("demonth_end_date") +
  1463. ', rent_start_date:' + $("#lpr_"+member_no).data("rent_start_date") +
  1464. ', fee_period:' + $("#lpr_"+member_no).data("fee_period") + ', fee_period1:' + $("#lpr_"+member_no).data("fee_period1") +
  1465. ', amt:' + $("#lpr_"+member_no).data("amt") + ', amt1:' + $("#lpr_"+member_no).data("amt1")
  1466. );
  1467. */
  1468. $("#stop_rents_tot_amt").text(""); // clean
  1469. $("#stop_rents_end_date").val(""); // clean
  1470. $("#stop_rents_desc").html("請指定 [退租日]");
  1471. $("#stop_rents_end_date_last").text("").text($("#lpr_"+member_no).data("end_date")); // 上期到期日
  1472. $("#stop_rents_period").text("").text(period_name[xvars["rents"]["fee_period"]]);
  1473. $("#stop_rents_member_attr").text("").text(mem_attr[xvars["rents"]["member_attr"]]);
  1474. //$("#stop_rents_amt").text("").text(xvars["rents"]["amt"]);
  1475. $("#stop_rents_dialog").modal({backdrop:false,keyboard:false});
  1476. break;
  1477. /*
  1478. case "delete":
  1479. if (!confirm("確定刪除嗎 ?")) return false;
  1480. $.ajax
  1481. ({
  1482. url:APP_URL+"member_delete",
  1483. type:"post",
  1484. dataType:"text",
  1485. data:{"member_no":member_no, "station_no":station_no},
  1486. error:function(xhr, ajaxOptions, thrownError)
  1487. {
  1488. alertify_msg(xhr.responseText);
  1489. console.log("error:"+xhr.responseText+"|"+ajaxOptions+"|"+thrownError);
  1490. },
  1491. success:function(jdata)
  1492. {
  1493. if (jdata == "ok")
  1494. {
  1495. alertify_msg("刪除成功 !");
  1496. show_item("member_query", "member_query");
  1497. }
  1498. else if (jdata == "delete_error")
  1499. {
  1500. alertify_msg("刪除失敗");
  1501. }
  1502. else
  1503. {
  1504. alertify_msg("處理失敗");
  1505. }
  1506. }
  1507. });
  1508. break;
  1509. */
  1510. default: // -- 其餘選擇(忽略不處理) --
  1511. return false;
  1512. }
  1513. }
  1514. $(document).ready(function()
  1515. {
  1516. $("#ma_company_no").val(company_no); // 預設值為場站統編
  1517. if (xvars["ck"] == "NOLOGIN")
  1518. {
  1519. $("#login_dialog").modal
  1520. ({
  1521. backdrop:false,
  1522. keyboard:false
  1523. });
  1524. }
  1525. // 設定場站資訊
  1526. for(station_no in st)
  1527. {
  1528. $(new Option(st[station_no],station_no)).appendTo('#station_select');
  1529. //$(new Option(st[station_no],station_no)).appendTo('#station_no_modify'); // 會員修改場站編號
  1530. //$(new Option(st[station_no],station_no)).appendTo('#station_refund_select'); // 會員退租場站編號
  1531. }
  1532. // 預先載入頁面
  1533. load_page("member_add");
  1534. /*
  1535. // 設定以上三個item的第一個項目為選項預設值
  1536. $("#member_attr")[0].selectedIndex = 0;
  1537. $("#fee_period1")[0].selectedIndex = 0;
  1538. $("#fee_period")[0].selectedIndex = 0;
  1539. */
  1540. $(".cario_list").css({"vertical-align":"middle"}); // 進出場實況表,強制垂直置中
  1541. // 帳密登入檢核
  1542. $("#login_form").submit(function(e)
  1543. {
  1544. e.preventDefault();
  1545. if ($("[name=login_name]").val() == "" || $("[name=login_pswd]").val() == "")
  1546. {
  1547. alertify_msg("帳號或密碼不可為空白");
  1548. return false;
  1549. }
  1550. $.ajax
  1551. ({
  1552. url:APP_URL+"login_verify",
  1553. type: "post",
  1554. dataType:"json",
  1555. data: $(this).serialize(),
  1556. success: function(jdata)
  1557. {
  1558. if (jdata["rcode"] == "OK")
  1559. {
  1560. xvars["ck"] = jdata["ck"];
  1561. $('#login_dialog').modal('hide');
  1562. }
  1563. else
  1564. {
  1565. //xvars["ck"] = jdata["ck"];
  1566. //xvars["user_name"] = jdata["ck"];
  1567. alertify_msg("帳號或密碼錯誤, 請重新輸入! ");
  1568. }
  1569. }
  1570. });
  1571. });
  1572. // 會員查詢
  1573. $("#member_query_form").submit(function(e)
  1574. {
  1575. e.preventDefault();
  1576. if ($("#q_str").val() == "")
  1577. {
  1578. alertify_log("請填寫查詢關鍵字..");
  1579. return false;
  1580. }
  1581. $("#member_list").html("");
  1582. $.ajax
  1583. ({
  1584. url:APP_URL+"member_query",
  1585. type:"post",
  1586. dataType:"json",
  1587. data:{"station_no":$("#station_select").val(), "q_item":$("input:radio:checked[name=q_item]").val(), "q_str":$("#q_str").val()},
  1588. success:function(jdata)
  1589. {
  1590. var member_list = "";
  1591. for(idx in jdata)
  1592. {
  1593. mno = jdata[idx]['member_no'];
  1594. member_list += "<tr><td style='text-align:left;'>"+st[jdata[idx]['station_no']]+"</td>";
  1595. member_list += "<td id='lpr_"+mno+
  1596. "' data-station_no='"+jdata[idx]['station_no']+
  1597. "' data-member_no='"+mno+
  1598. "' data-member_company_no='"+jdata[idx]['member_company_no']+
  1599. //"' data-company_no='"+jdata[idx]['company_no']+
  1600. "' data-company_no='"+ company_no +
  1601. "' data-member_id='"+jdata[idx]['member_id']+
  1602. "' data-etag='"+jdata[idx]['etag']+
  1603. "' data-demonth_start_date='"+jdata[idx]['demonth_start_date']+
  1604. "' data-demonth_end_date='"+jdata[idx]['demonth_end_date']+
  1605. "' data-rent_start_date='"+jdata[idx]['rent_start_date']+
  1606. "' data-member_attr='"+jdata[idx]['member_attr']+
  1607. "' data-fee_period1='"+jdata[idx]['fee_period1']+
  1608. "' data-fee_period='"+jdata[idx]['fee_period']+
  1609. "' data-amt1='"+jdata[idx]['amt1']+
  1610. "' data-amt='"+jdata[idx]['amt']+
  1611. "' data-deposit='"+jdata[idx]['deposit']+
  1612. "' data-tel_o='"+jdata[idx]['tel_o']+
  1613. "' data-tel_h='"+jdata[idx]['tel_h']+
  1614. "' data-addr='"+jdata[idx]['addr']+
  1615. "' data-pt_id='"+jdata[idx]['park_time']+
  1616. "' data-lpr='"+jdata[idx]['lpr']+
  1617. "' data-member_name='"+jdata[idx]['member_name']+
  1618. "' data-mobile_no='"+jdata[idx]['mobile_no']+
  1619. "' data-contract_no='"+jdata[idx]['contract_no']+
  1620. "' data-start_date='"+jdata[idx]['start_date']+
  1621. "' data-end_date='"+jdata[idx]['end_date']+
  1622. "' style='text-align:left;'>"+jdata[idx]['lpr']+"</td>";
  1623. member_list += "<td id='name_"+mno+"' style='text-align:left;'>"+jdata[idx]['member_name']+"</td>";
  1624. member_list += "<td id='mobile_"+mno+"' style='text-align:center;'>"+jdata[idx]['mobile_no']+"</td>";
  1625. member_list += "<td id='sdate_"+mno+"' style='text-align:center;'>"+jdata[idx]['start_date']+"</td>";
  1626. member_list += "<td id='edate_"+mno+"' style='text-align:center;'>"+jdata[idx]['end_date']+"</td>";
  1627. member_list += "<td id='fee_period_"+mno+"' style='text-align:center;'>"+period_name[jdata[idx]['fee_period']]+"</td>";
  1628. member_list += "<td id='member_attr_"+mno+"' style='text-align:center;'>"+mem_attr[jdata[idx]['member_attr']]+"</td>";
  1629. member_list += "<td id='contract_"+mno+"' style='text-align:center;'>"+jdata[idx]['contract_no']+"</td>";
  1630. //member_list += "<td id='amt_"+mno+"' style='text-align:center;'>"+jdata[idx]['amt']+"</td>";
  1631. if(jdata[idx]['suspended'] == "1")
  1632. {
  1633. member_list += "<td style='text-align:center;'><input type='checkbox' checked id='suspended_"+mno+"' disabled/></td>";
  1634. 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>";
  1635. }
  1636. else
  1637. {
  1638. member_list += "<td style='text-align:center;'><input type='checkbox' id='suspended_"+mno+"' disabled/></td>";
  1639. 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>";
  1640. }
  1641. member_list += "</tr>";
  1642. }
  1643. $("#member_list").html(member_list);
  1644. }
  1645. });
  1646. });
  1647. // 定時自動更新頁面
  1648. (function autoReloadPage(){
  1649. var pageReloadTimeMillis = 600000; // 頁面, 自動重新載入週期 ( 10 min )
  1650. var pageCheckReloadTimeMillis = 10000; // 頁面, 判斷重新載入週期 ( 10 sec )
  1651. var pageShowReloadTimeMillis = 50000; // 頁面, 開始顯示倒數週期 ( 50 sec )
  1652. var aliveTime = moment();
  1653. var countdownTimeMillis = pageReloadTimeMillis;
  1654. $(document.body).bind("mousemove keypress", function(e) {
  1655. aliveTime = moment();
  1656. countdownTimeMillis = pageReloadTimeMillis;
  1657. });
  1658. function refresh() {
  1659. if(moment() - aliveTime >= pageReloadTimeMillis) // 如果頁面沒動作, 才更新
  1660. window.location.reload(true);
  1661. else{
  1662. countdownTimeMillis -= pageCheckReloadTimeMillis;
  1663. if(countdownTimeMillis < pageCheckReloadTimeMillis)
  1664. {
  1665. alertify_count_down("重新載入中..請稍候..", pageCheckReloadTimeMillis);
  1666. }
  1667. else if(countdownTimeMillis < pageShowReloadTimeMillis){
  1668. alertify_count_down("倒數: " + (countdownTimeMillis / 1000) + " 秒, 重新載入畫面..", pageCheckReloadTimeMillis);
  1669. }
  1670. setTimeout(refresh, pageCheckReloadTimeMillis);
  1671. }
  1672. }
  1673. setTimeout(refresh, pageCheckReloadTimeMillis);
  1674. })();
  1675. });
  1676. // 會員時段表
  1677. function member_park_time()
  1678. {
  1679. $("#pt_dialog").modal
  1680. ({
  1681. backdrop:false,
  1682. keyboard:false
  1683. });
  1684. }
  1685. // 取得發票開立說明
  1686. function get_invoice_desc(amt, amt1, invoice_amt, remain_amt, period_3_amt)
  1687. {
  1688. var thisAmt = parseInt(invoice_amt) - parseInt(amt1);
  1689. var result;
  1690. if(amt1 > 0)
  1691. {
  1692. result = ["首期 " , amt1 , " 元 + 本期 " , thisAmt , " 元 <br/><br/>*發票金額:" , invoice_amt , " 元"];
  1693. }
  1694. else
  1695. {
  1696. result = ["本期 " , thisAmt , " 元 <br/><br/>*發票金額:" , invoice_amt , " 元"];
  1697. }
  1698. if(remain_amt > 0)
  1699. {
  1700. result = result.concat("<br/>*尚餘:" , remain_amt , " 元,另外開立發票");
  1701. }
  1702. return result.join('');
  1703. }
  1704. </script>
  1705. <!-- ----- [H.1] 手開:首期繳租作業小框 ----- -->
  1706. <!-- ----- ID: hand_first_rents_dialog ----- -->
  1707. <!-- ----- action: do_hand_first_rents_payment() ----- -->
  1708. <div class="modal fade" id="hand_first_rents_dialog">
  1709. <div class="modal-dialog modal-sm">
  1710. <div class="modal-content">
  1711. <div class="modal-header"><h3>手開發票</h3></div>
  1712. <div class="modal-body">
  1713. <form id="hand_first_rents_form" class="center-block">
  1714. <div class="main">
  1715. <div class="dataTable_wrapper">
  1716. <table class="table table-striped table-bordered table-hover" style="font-size:12px;">
  1717. <tbody id="hand_first_rents_list">
  1718. <tr>
  1719. <td style="text-align:right;">姓名</td>
  1720. <td style="text-align:left;" id="hand_first_rents_name"></td>
  1721. </tr>
  1722. <tr>
  1723. <td style="text-align:right;">場站</td>
  1724. <td style="text-align:left;" id="hand_first_rents_station_name"></td>
  1725. </tr>
  1726. <tr>
  1727. <td style="text-align:right;vertical-align:middle">賣方統編</td>
  1728. <td style="text-align:left;"><input type="text" id="hand_first_rents_company_no" class="form-control" style="width:100px !important;" /></td>
  1729. </tr>
  1730. <tr>
  1731. <td style="text-align:right;">開始日</td>
  1732. <td style="text-align:left;" id="hand_first_rents_start_date"></td>
  1733. </tr>
  1734. <tr>
  1735. <td style="text-align:right;">到期日</td>
  1736. <td style="text-align:left;" id="hand_first_rents_end_date"></td>
  1737. </tr>
  1738. <tr>
  1739. <td style="text-align:right;">押金</td>
  1740. <td style="text-align:left;" id="hand_first_rents_deposit"></td>
  1741. </tr>
  1742. <tr>
  1743. <td style="text-align:right;">首期租金</td>
  1744. <td style="text-align:left;" id="hand_first_rents_amt1"></td>
  1745. </tr>
  1746. <tr>
  1747. <td style="text-align:right;">例行繳期</td>
  1748. <td style="text-align:left;" id="hand_first_rents_period"></td>
  1749. </tr>
  1750. <tr>
  1751. <td style="text-align:right;">例行租金</td>
  1752. <td style="text-align:left;" id="hand_first_rents_amt"></td>
  1753. </tr>
  1754. <tr>
  1755. <tr>
  1756. <td style="text-align:right;vertical-align:middle">買方統編</td>
  1757. <td style="text-align:left;"><input type="text" id="hand_first_rents_member_company_no" class="form-control" style="width:100px !important;" /></td>
  1758. </tr>
  1759. <tr>
  1760. <td style="text-align:right;">發票金額</td>
  1761. <td style="text-align:left;color:blue;" id="hand_first_rents_invoice_amt"></td>
  1762. </tr>
  1763. <tr>
  1764. <td style="text-align:right;">開立說明</td>
  1765. <td style="text-align:left;color:blue;" id="hand_first_rents_remain_desc"></td>
  1766. </tr>
  1767. <tr>
  1768. <td style="text-align:right;vertical-align:middle">發票字軌</td>
  1769. <td style="text-align:left;"><input type="text" id="hand_first_rents_invoice_track" class="form-control" style="width:100px !important;" /></td>
  1770. </tr>
  1771. <tr>
  1772. <td style="text-align:right;vertical-align:middle">發票號碼</td>
  1773. <td style="text-align:left;"><input type="text" id="hand_first_rents_invoice_no" class="form-control" style="width:100px !important;" /></td>
  1774. </tr>
  1775. </tbody>
  1776. </table>
  1777. <button type="button" class="btn btn-large btn-success pull-left" onclick="do_hand_first_rents_payment();">確認送出</button>
  1778. &nbsp;&nbsp;
  1779. <button type="button" class="btn btn-large btn-cancel" onclick="$('#hand_first_rents_dialog').modal('hide');">取消</button>
  1780. </div><!-- ----- end of dataTable_wrapper ----- -->
  1781. </div><!-- ----- end of main ----- -->
  1782. </form>
  1783. </div><!-- end of modal-body -->
  1784. </div><!-- end of modal-content -->
  1785. </div><!-- end of modal-dialog -->
  1786. </div><!-- end of modal show -->
  1787. <!-- ----- 手開:首期繳租作業小框(結束) ----- -->
  1788. <script>
  1789. // 手開:首期月租發票
  1790. function do_hand_first_rents_payment()
  1791. {
  1792. if($("#hand_first_rents_company_no").val() == '0' || $("#hand_first_rents_company_no").val() == '' || $("#hand_first_rents_company_no").val().length != 8)
  1793. {
  1794. alertify_error('賣方統編有誤,請修正');
  1795. return false;
  1796. }
  1797. if($("#hand_first_rents_member_company_no").val() != '' && $("#hand_first_rents_member_company_no").val().length != 8)
  1798. {
  1799. alertify_error('買方統編有誤,請修正');
  1800. return false;
  1801. }
  1802. if($("#hand_first_rents_invoice_track").val() == '0' || $("#hand_first_rents_invoice_track").val() == '' || $("#hand_first_rents_invoice_track").val().length != 2)
  1803. {
  1804. alertify_error('發票字軌有誤,請修正');
  1805. return false;
  1806. }
  1807. if($("#hand_first_rents_invoice_no").val() == '0' || $("#hand_first_rents_invoice_no").val() == '' || $("#hand_first_rents_invoice_no").val().length != 8)
  1808. {
  1809. alertify_error('發票號碼有誤,請修正');
  1810. return false;
  1811. }
  1812. if (!confirm("確認資料無誤並送出 ?")) return false;
  1813. var invoice_state = xvars["rents"]["invoice_state"];
  1814. var tx_bill_no = xvars["rents"]["tx_bill_no"];
  1815. var tx_no = xvars["rents"]["tx_no"];
  1816. var member_no = xvars["rents"]["member_no"];
  1817. var company_no = $("#hand_first_rents_company_no").val();
  1818. var member_company_no = $("#hand_first_rents_member_company_no").val();
  1819. if (member_company_no == "") member_company_no = "0"; // 列印二聯式發票
  1820. // 新增月租付款交易
  1821. $.ajax
  1822. ({
  1823. url:APP_URL+"hand_first_rents_payment",
  1824. dataType:"text",
  1825. type:"post",
  1826. data:
  1827. {
  1828. "tx_bill_no": tx_bill_no,
  1829. "tx_no": tx_no,
  1830. "station_no":xvars["rents"]["station_no"],
  1831. "member_no":member_no,
  1832. "member_company_no":member_company_no,
  1833. "company_no":company_no,
  1834. "amt":xvars["rents"]["amt"],
  1835. "amt1":xvars["rents"]["amt1"],
  1836. "invoice_amt": xvars["rents"]["invoice_amt"],
  1837. "invoice_track":$("#hand_first_rents_invoice_track").val(),
  1838. "invoice_no":$("#hand_first_rents_invoice_no").val()
  1839. },
  1840. error:function(xhr, ajaxOptions, thrownError)
  1841. {
  1842. alertify_msg(xhr.responseText);
  1843. console.log("error:"+xhr.responseText+"|"+ajaxOptions+"|"+thrownError);
  1844. },
  1845. success:function(jdata)
  1846. {
  1847. if (jdata == "ok")
  1848. {
  1849. alertify_msg("完成 ! ");
  1850. if(invoice_state == 1)
  1851. {
  1852. show_member_tx_bill(0, '', '1', '4'); // 待補開 (已退租)
  1853. }
  1854. else if(invoice_state == 2)
  1855. {
  1856. show_member_tx_bill(0, '', '2', '4'); // 待折讓 (已退租, 已開立發票)
  1857. }
  1858. else
  1859. {
  1860. show_member_tx_bill(tx_no);
  1861. }
  1862. }
  1863. else
  1864. {
  1865. alertify_msg("操作失敗!");
  1866. }
  1867. }
  1868. });
  1869. delete xvars["rents"];
  1870. $('#hand_first_rents_dialog').modal('hide');
  1871. }
  1872. // 手開發票
  1873. function hand_tx_invoice(tx_bill_no)
  1874. {
  1875. var station_no = $("#tx_bill_lpr_"+tx_bill_no).data("station_no");
  1876. var member_no = $("#tx_bill_lpr_"+tx_bill_no).data("member_no");
  1877. var member_name = $("#tx_bill_lpr_"+tx_bill_no).data("member_name");
  1878. var member_company_no = $("#tx_bill_lpr_"+tx_bill_no).data("member_company_no");
  1879. var company_no = $("#tx_bill_lpr_"+tx_bill_no).data("company_no");
  1880. var invoice_amt = $("#tx_bill_lpr_"+tx_bill_no).data("invoice_amt");
  1881. var remain_amt = $("#tx_bill_lpr_"+tx_bill_no).data("remain_amt");
  1882. var period_3_amt = $("#tx_bill_lpr_"+tx_bill_no).data("period_3_amt");
  1883. var amt = $("#tx_bill_lpr_"+tx_bill_no).data("amt");
  1884. var amt1 = $("#tx_bill_lpr_"+tx_bill_no).data("amt1");
  1885. var deposit = $("#tx_bill_lpr_"+tx_bill_no).data("deposit");
  1886. var start_date_last = $("#tx_bill_lpr_"+tx_bill_no).data("start_date_last");
  1887. var end_date = $("#tx_bill_lpr_"+tx_bill_no).data("end_date");
  1888. var lpr = $("#tx_bill_lpr_"+tx_bill_no).data("lpr");
  1889. var fee_period = $("#tx_bill_lpr_"+tx_bill_no).data("fee_period");
  1890. var fee_period_last = $("#tx_bill_lpr_"+tx_bill_no).data("fee_period_last");
  1891. var tx_no = $("#tx_bill_lpr_"+tx_bill_no).data("tx_no");
  1892. var invoice_state = $("#tx_bill_lpr_"+tx_bill_no).data("invoice_state");
  1893. if(invoice_amt > 0)
  1894. {
  1895. // 首期月租付款並列印發票
  1896. xvars["rents"] = Array();
  1897. xvars["rents"]["tx_bill_no"] = tx_bill_no;
  1898. xvars["rents"]["tx_no"] = tx_no;
  1899. xvars["rents"]["station_no"] = station_no;
  1900. xvars["rents"]["member_no"] = member_no;
  1901. xvars["rents"]["member_company_no"] = member_company_no;
  1902. xvars["rents"]["company_no"] = company_no;
  1903. xvars["rents"]["fee_period"] = fee_period;
  1904. xvars["rents"]["amt"] = parseInt(amt);
  1905. xvars["rents"]["amt1"] = parseInt(amt1);
  1906. xvars["rents"]["invoice_amt"] = parseInt(invoice_amt);
  1907. xvars["rents"]["remain_amt"] = parseInt(remain_amt);
  1908. xvars["rents"]["period_3_amt"] = parseInt(period_3_amt);
  1909. xvars["rents"]["invoice_state"] = invoice_state;
  1910. $("#hand_first_rents_name").text( "車號 " + lpr +"");
  1911. $("#hand_first_rents_station_name").text(st[xvars["rents"]["station_no"]]);
  1912. $("#hand_first_rents_start_date").text(start_date_last); // 上期開始日
  1913. $("#hand_first_rents_end_date").text(end_date); // 本期結束日
  1914. $("#hand_first_rents_deposit").text(deposit);
  1915. $("#hand_first_rents_period").text(period_name[xvars["rents"]["fee_period"]]);
  1916. $("#hand_first_rents_amt").text(xvars["rents"]["amt"]);
  1917. $("#hand_first_rents_amt1").text(xvars["rents"]["amt1"]);
  1918. $("#hand_first_rents_company_no").val(xvars["rents"]["company_no"]); // 賣方統編
  1919. $("#hand_first_rents_invoice_amt").text(xvars["rents"]["invoice_amt"]);
  1920. $("#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"])); // 發票說明
  1921. if(xvars["rents"]["member_company_no"] == 0 || xvars["rents"]["member_company_no"] == '')
  1922. {
  1923. $("#hand_first_rents_member_company_no").val("");
  1924. }
  1925. else
  1926. {
  1927. $("#hand_first_rents_member_company_no").val(xvars["rents"]["member_company_no"]); // 買方統編
  1928. }
  1929. $("#hand_first_rents_dialog").modal({backdrop:false,keyboard:false});
  1930. }
  1931. else
  1932. {
  1933. // 各期月租發票補印
  1934. alertify_msg("流程異常:請通知總公司處理:" + tx_bill_no);
  1935. }
  1936. }
  1937. </script>
  1938. <!-- ----- [H.2] 手開:繳租作業小框 ----- -->
  1939. <!-- ----- ID: hand_rents_dialog ----- -->
  1940. <!-- ----- action: do_hand_rents_payment() ----- -->
  1941. <div class="modal fade" id="hand_rents_dialog">
  1942. <div class="modal-dialog modal-sm">
  1943. <div class="modal-content">
  1944. <div class="modal-header"><h3>手開發票</h3></div>
  1945. <div class="modal-body">
  1946. <form id="hand_rents_form" class="center-block">
  1947. <div class="main">
  1948. <div class="dataTable_wrapper">
  1949. <table class="table table-striped table-bordered table-hover" style="font-size:12px;">
  1950. <tbody id="hand_rents_list">
  1951. <tr>
  1952. <td style="text-align:right;">姓名</td>
  1953. <td style="text-align:left;" id="hand_rents_name"></td>
  1954. </tr>
  1955. <tr>
  1956. <td style="text-align:right;">場站</td>
  1957. <td style="text-align:left;" id="hand_rents_station_name"></td>
  1958. </tr>
  1959. <tr>
  1960. <td style="text-align:right;vertical-align:middle">賣方統編</td>
  1961. <td style="text-align:left;"><input type="text" id="hand_rents_company_no" class="form-control" style="width:100px !important;" /></td>
  1962. </tr>
  1963. <tr>
  1964. <td style="text-align:right;">上期到期日</td>
  1965. <td style="text-align:left;" id="hand_rents_end_date_last"></td>
  1966. </tr>
  1967. <tr>
  1968. <td style="text-align:right;">本期到期日</td>
  1969. <td style="text-align:left;" id="hand_rents_end_date"></td>
  1970. </tr>
  1971. <tr>
  1972. <td style="text-align:right;">繳期</td>
  1973. <td style="text-align:left;" id="hand_rents_period"></td>
  1974. </tr>
  1975. <tr>
  1976. <td style="text-align:right;">租金</td>
  1977. <td style="text-align:left;" id="hand_rents_amt"></td>
  1978. </tr>
  1979. <tr>
  1980. <td style="text-align:right;vertical-align:middle">買方統編</td>
  1981. <td style="text-align:left;"><input type="text" id="hand_rents_member_company_no" class="form-control" style="width:100px !important;" /></td>
  1982. </tr>
  1983. <tr>
  1984. <td style="text-align:right;">發票金額</td>
  1985. <td style="text-align:left;color:blue;" id="hand_rents_invoice_amt"></td>
  1986. </tr>
  1987. <tr>
  1988. <td style="text-align:right;">開立說明</td>
  1989. <td style="text-align:left;color:blue;" id="hand_rents_remain_desc"></td>
  1990. </tr>
  1991. <tr>
  1992. <td style="text-align:right;vertical-align:middle">發票字軌</td>
  1993. <td style="text-align:left;"><input type="text" id="hand_rents_invoice_track" class="form-control" style="width:100px !important;" /></td>
  1994. </tr>
  1995. <tr>
  1996. <td style="text-align:right;vertical-align:middle">發票號碼</td>
  1997. <td style="text-align:left;"><input type="text" id="hand_rents_invoice_no" class="form-control" style="width:100px !important;" /></td>
  1998. </tr>
  1999. </tbody>
  2000. </table>
  2001. <button type="button" class="btn btn-large btn-success pull-left" onclick="do_hand_rents_payment();">確認送出</button>
  2002. &nbsp;&nbsp;
  2003. <button type="button" class="btn btn-large btn-cancel" onclick="$('#hand_rents_dialog').modal('hide');">取消</button>
  2004. </div><!-- ----- end of dataTable_wrapper ----- -->
  2005. </div><!-- ----- end of main ----- -->
  2006. </form>
  2007. </div><!-- end of modal-body -->
  2008. </div><!-- end of modal-content -->
  2009. </div><!-- end of modal-dialog -->
  2010. </div><!-- end of modal show -->
  2011. <!-- ----- 手開:繳租作業小框(結束) ----- -->
  2012. <script>
  2013. // 手開:月租付款
  2014. function do_hand_rents_payment()
  2015. {
  2016. if($("#hand_rents_company_no").val() == '0' || $("#hand_rents_company_no").val() == '' || $("#hand_rents_company_no").val().length != 8)
  2017. {
  2018. alertify_error('賣方統編有誤,請修正');
  2019. return false;
  2020. }
  2021. if($("#hand_rents_member_company_no").val() != '' && $("#hand_rents_member_company_no").val().length != 8)
  2022. {
  2023. alertify_error('買方統編有誤,請修正');
  2024. return false;
  2025. }
  2026. /*
  2027. if($("#hand_rents_invoice_track").val() == '0' || $("#hand_rents_invoice_track").val() == '' || $("#hand_rents_invoice_track").val().length != 2)
  2028. {
  2029. alertify_error('發票字軌有誤,請修正');
  2030. return false;
  2031. }
  2032. if($("#hand_rents_invoice_no").val() == '0' || $("#hand_rents_invoice_no").val() == '' || $("#hand_rents_invoice_no").val().length != 8)
  2033. {
  2034. alertify_error('發票號碼有誤,請修正');
  2035. return false;
  2036. }
  2037. */
  2038. if (!confirm("確認資料無誤並送出 ?")) return false;
  2039. var member_no = xvars["rents"]["member_no"];
  2040. var company_no = $("#hand_rents_company_no").val();
  2041. var member_company_no = $("#hand_rents_member_company_no").val();
  2042. if (member_company_no == "") member_company_no = "0"; // 列印二聯式發票
  2043. // 新增月租付款交易
  2044. $.ajax
  2045. ({
  2046. url:APP_URL+"hand_rents_payment",
  2047. dataType:"text",
  2048. type:"post",
  2049. data:
  2050. {
  2051. "station_no":xvars["rents"]["station_no"],
  2052. "member_no":member_no,
  2053. "lpr":xvars["rents"]["lpr"],
  2054. "member_company_no":member_company_no,
  2055. "company_no":company_no,
  2056. "fee_period":xvars["rents"]["fee_period"],
  2057. "fee_period_last":xvars["rents"]["fee_period_last"],
  2058. "amt":xvars["rents"]["amt"],
  2059. "amt_last":xvars["rents"]["amt_last"],
  2060. "end_date":xvars["rents"]["end_date"],
  2061. "start_date_last":xvars["rents"]["start_date"],
  2062. "end_date_last":xvars["rents"]["end_date_last"],
  2063. "invoice_track":$("#hand_rents_invoice_track").val(),
  2064. "invoice_no":$("#hand_rents_invoice_no").val()
  2065. },
  2066. error:function(xhr, ajaxOptions, thrownError)
  2067. {
  2068. alertify_msg(xhr.responseText);
  2069. console.log("error:"+xhr.responseText+"|"+ajaxOptions+"|"+thrownError);
  2070. },
  2071. success:function(jdata)
  2072. {
  2073. if (jdata == "ok")
  2074. {
  2075. alertify_msg("完成 ! ");
  2076. show_member_tx(member_no);
  2077. }
  2078. else
  2079. {
  2080. alertify_msg("操作失敗!");
  2081. }
  2082. }
  2083. });
  2084. delete xvars["rents"];
  2085. $('#hand_rents_dialog').modal('hide');
  2086. }
  2087. </script>
  2088. <!-- ----- [P.1] 首期繳租作業小框 ----- -->
  2089. <!-- ----- ID: first_rents_dialog ----- -->
  2090. <!-- ----- action: do_first_rents_payment() ----- -->
  2091. <div class="modal fade" id="first_rents_dialog">
  2092. <div class="modal-dialog modal-sm">
  2093. <div class="modal-content">
  2094. <div class="modal-header"><h3>列印發票</h3></div>
  2095. <div class="modal-body">
  2096. <form id="first_rents_form" class="center-block">
  2097. <div class="main">
  2098. <div class="dataTable_wrapper">
  2099. <table class="table table-striped table-bordered table-hover" style="font-size:12px;">
  2100. <tbody id="first_rents_list">
  2101. <tr>
  2102. <td style="text-align:right;">姓名</td>
  2103. <td style="text-align:left;" id="first_rents_name"></td>
  2104. </tr>
  2105. <tr>
  2106. <td style="text-align:right;">場站</td>
  2107. <td style="text-align:left;" id="first_rents_station_name"></td>
  2108. </tr>
  2109. <tr>
  2110. <td style="text-align:right;vertical-align:middle">賣方統編</td>
  2111. <td style="text-align:left;"><input type="text" id="first_rents_company_no" class="form-control" style="width:100px !important;" /></td>
  2112. </tr>
  2113. <tr>
  2114. <td style="text-align:right;">開始日</td>
  2115. <td style="text-align:left;" id="first_rents_start_date"></td>
  2116. </tr>
  2117. <tr>
  2118. <td style="text-align:right;">到期日</td>
  2119. <td style="text-align:left;" id="first_rents_end_date"></td>
  2120. </tr>
  2121. <tr>
  2122. <td style="text-align:right;">押金</td>
  2123. <td style="text-align:left;" id="first_rents_deposit"></td>
  2124. </tr>
  2125. <tr>
  2126. <td style="text-align:right;">首期租金</td>
  2127. <td style="text-align:left;" id="first_rents_amt1"></td>
  2128. </tr>
  2129. <tr>
  2130. <td style="text-align:right;">例行繳期</td>
  2131. <td style="text-align:left;" id="first_rents_period"></td>
  2132. </tr>
  2133. <tr>
  2134. <td style="text-align:right;">例行租金</td>
  2135. <td style="text-align:left;" id="first_rents_amt"></td>
  2136. </tr>
  2137. <tr>
  2138. <td style="text-align:right;">發票金額</td>
  2139. <td style="text-align:left;color:blue;" id="first_rents_invoice_amt"></td>
  2140. </tr>
  2141. <tr>
  2142. <td style="text-align:right;">開立說明</td>
  2143. <td style="text-align:left;color:blue;" id="first_rents_remain_desc"></td>
  2144. </tr>
  2145. <tr>
  2146. <td style="text-align:right;vertical-align:middle">買方統編</td>
  2147. <td style="text-align:left;"><input type="text" id="first_rents_member_company_no" class="form-control" style="width:100px !important;" /></td>
  2148. </tr>
  2149. </tbody>
  2150. </table>
  2151. <button type="button" class="btn btn-large btn-success pull-left" onclick="do_first_rents_payment();">列印</button>
  2152. &nbsp;&nbsp;
  2153. <button type="button" class="btn btn-large btn-cancel" onclick="$('#first_rents_dialog').modal('hide');">稍後再印</button>
  2154. </div><!-- ----- end of dataTable_wrapper ----- -->
  2155. </div><!-- ----- end of main ----- -->
  2156. </form>
  2157. </div><!-- end of modal-body -->
  2158. </div><!-- end of modal-content -->
  2159. </div><!-- end of modal-dialog -->
  2160. </div><!-- end of modal show -->
  2161. <!-- ----- 首期繳租作業小框(結束) ----- -->
  2162. <script>
  2163. // 首期月租付款並列印發票
  2164. function do_first_rents_payment()
  2165. {
  2166. if($("#first_rents_company_no").val() == '0' || $("#first_rents_company_no").val() == '' || $("#first_rents_company_no").val().length != 8)
  2167. {
  2168. alertify_error('賣方統編有誤,請修正');
  2169. return false;
  2170. }
  2171. if($("#first_rents_member_company_no").val() != '' && $("#first_rents_member_company_no").val().length != 8)
  2172. {
  2173. alertify_error('買方統編有誤,請修正');
  2174. return false;
  2175. }
  2176. if (!confirm("確認已繳款並即將列印發票 ?")) return false;
  2177. var member_no = xvars["rents"]["member_no"];
  2178. var company_no = $("#first_rents_company_no").val();
  2179. var member_company_no = $("#first_rents_member_company_no").val();
  2180. if (member_company_no == "") member_company_no = "0"; // 列印二聯式發票
  2181. // 新增月租付款交易
  2182. $.ajax
  2183. ({
  2184. url:APP_URL+"first_rents_payment",
  2185. dataType:"text",
  2186. type:"post",
  2187. data:
  2188. {
  2189. "tx_no": xvars["rents"]["tx_no"],
  2190. "station_no":xvars["rents"]["station_no"],
  2191. "member_no":member_no,
  2192. "member_company_no":member_company_no,
  2193. "company_no":company_no,
  2194. "amt":xvars["rents"]["amt"],
  2195. "amt1":xvars["rents"]["amt1"],
  2196. "invoice_amt":xvars["rents"]["invoice_amt"],
  2197. "tx_bill_no":xvars["rents"]["tx_bill_no"]
  2198. },
  2199. error:function(xhr, ajaxOptions, thrownError)
  2200. {
  2201. alertify_msg(xhr.responseText);
  2202. console.log("error:"+xhr.responseText+"|"+ajaxOptions+"|"+thrownError);
  2203. },
  2204. success:function(jdata)
  2205. {
  2206. if (jdata == "ok")
  2207. {
  2208. alertify_msg("月租付款交易成功 ! ");
  2209. show_member_tx(member_no);
  2210. }
  2211. else if (jdata == "invoice_fail")
  2212. {
  2213. alertify_msg("發票列印失敗,請補印發票");
  2214. }
  2215. else
  2216. {
  2217. alertify_msg("月租付款失敗!");
  2218. }
  2219. }
  2220. });
  2221. delete xvars["rents"];
  2222. $('#first_rents_dialog').modal('hide');
  2223. }
  2224. // 補印發票
  2225. function print_tx_invoice(tx_bill_no)
  2226. {
  2227. var station_no = $("#tx_bill_lpr_"+tx_bill_no).data("station_no");
  2228. var member_no = $("#tx_bill_lpr_"+tx_bill_no).data("member_no");
  2229. var member_name = $("#tx_bill_lpr_"+tx_bill_no).data("member_name");
  2230. var member_company_no = $("#tx_bill_lpr_"+tx_bill_no).data("member_company_no");
  2231. var company_no = $("#tx_bill_lpr_"+tx_bill_no).data("company_no");
  2232. var invoice_amt = $("#tx_bill_lpr_"+tx_bill_no).data("invoice_amt");
  2233. var remain_amt = $("#tx_bill_lpr_"+tx_bill_no).data("remain_amt");
  2234. var period_3_amt = $("#tx_bill_lpr_"+tx_bill_no).data("period_3_amt");
  2235. var amt = $("#tx_bill_lpr_"+tx_bill_no).data("amt");
  2236. var amt1 = $("#tx_bill_lpr_"+tx_bill_no).data("amt1");
  2237. var deposit = $("#tx_bill_lpr_"+tx_bill_no).data("deposit");
  2238. var start_date_last = $("#tx_bill_lpr_"+tx_bill_no).data("start_date_last");
  2239. var end_date = $("#tx_bill_lpr_"+tx_bill_no).data("end_date");
  2240. var lpr = $("#tx_bill_lpr_"+tx_bill_no).data("lpr");
  2241. var fee_period = $("#tx_bill_lpr_"+tx_bill_no).data("fee_period");
  2242. var fee_period_last = $("#tx_bill_lpr_"+tx_bill_no).data("fee_period_last");
  2243. var tx_no = $("#tx_bill_lpr_"+tx_bill_no).data("tx_no");
  2244. if(invoice_amt > 0)
  2245. {
  2246. // 首期月租付款並列印發票
  2247. xvars["rents"] = Array();
  2248. xvars["rents"]["tx_bill_no"] = tx_bill_no;
  2249. xvars["rents"]["tx_no"] = tx_no;
  2250. xvars["rents"]["station_no"] = station_no;
  2251. xvars["rents"]["member_no"] = member_no;
  2252. xvars["rents"]["member_company_no"] = member_company_no;
  2253. xvars["rents"]["company_no"] = company_no;
  2254. xvars["rents"]["fee_period"] = fee_period;
  2255. xvars["rents"]["amt"] = parseInt(amt);
  2256. xvars["rents"]["amt1"] = parseInt(amt1);
  2257. xvars["rents"]["invoice_amt"] = parseInt(invoice_amt);
  2258. xvars["rents"]["remain_amt"] = parseInt(remain_amt);
  2259. xvars["rents"]["period_3_amt"] = parseInt(period_3_amt);
  2260. $("#first_rents_name").text( "新會員 (" + lpr +")");
  2261. $("#first_rents_station_name").text(st[xvars["rents"]["station_no"]]);
  2262. $("#first_rents_start_date").text(start_date_last); // 上期開始日
  2263. $("#first_rents_end_date").text(end_date); // 本期結束日
  2264. $("#first_rents_deposit").text(deposit);
  2265. $("#first_rents_period").text(period_name[xvars["rents"]["fee_period"]]);
  2266. $("#first_rents_amt").text(xvars["rents"]["amt"]);
  2267. $("#first_rents_amt1").text(xvars["rents"]["amt1"]);
  2268. $("#first_rents_invoice_amt").text(xvars["rents"]["invoice_amt"]);
  2269. $("#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"])); // 發票說明
  2270. $("#first_rents_company_no").val(xvars["rents"]["company_no"]); // 賣方統編
  2271. if(xvars["rents"]["member_company_no"] == 0 || xvars["rents"]["member_company_no"] == '')
  2272. {
  2273. $("#first_rents_member_company_no").val("");
  2274. }
  2275. else
  2276. {
  2277. $("#first_rents_member_company_no").val(xvars["rents"]["member_company_no"]); // 買方統編
  2278. }
  2279. $("#first_rents_dialog").modal({backdrop:false,keyboard:false});
  2280. }
  2281. else
  2282. {
  2283. // 各期月租發票補印
  2284. alertify_msg("流程異常:請通知總公司處理:" + tx_bill_no);
  2285. }
  2286. }
  2287. </script>
  2288. <!-- ----- [P.2] 繳租作業小框 ----- -->
  2289. <!-- ----- ID: rents_dialog ----- -->
  2290. <!-- ----- action: do_rents_payment() ----- -->
  2291. <div class="modal fade" id="rents_dialog">
  2292. <div class="modal-dialog modal-sm">
  2293. <div class="modal-content">
  2294. <div class="modal-header"><h3>繳租作業</h3></div>
  2295. <div class="modal-body">
  2296. <form id="rents_form" class="center-block">
  2297. <div class="main">
  2298. <div class="dataTable_wrapper">
  2299. <table class="table table-striped table-bordered table-hover" style="font-size:12px;">
  2300. <tbody id="rents_list">
  2301. <tr>
  2302. <td style="text-align:right;">姓名</td>
  2303. <td style="text-align:left;" id="rents_name"></td>
  2304. </tr>
  2305. <tr>
  2306. <td style="text-align:right;">場站</td>
  2307. <td style="text-align:left;" id="rents_station_name"></td>
  2308. </tr>
  2309. <tr>
  2310. <td style="text-align:right;vertical-align:middle">賣方統編</td>
  2311. <td style="text-align:left;"><input type="text" id="rents_company_no" class="form-control" style="width:100px !important;" /></td>
  2312. </tr>
  2313. <tr>
  2314. <td style="text-align:right;">上期到期日</td>
  2315. <td style="text-align:left;" id="rents_end_date_last"></td>
  2316. </tr>
  2317. <tr>
  2318. <td style="text-align:right;">本期到期日</td>
  2319. <td style="text-align:left;" id="rents_end_date"></td>
  2320. </tr>
  2321. <tr>
  2322. <td style="text-align:right;">繳期</td>
  2323. <td style="text-align:left;" id="rents_period"></td>
  2324. </tr>
  2325. <tr>
  2326. <td style="text-align:right;">租金</td>
  2327. <td style="text-align:left;" id="rents_amt"></td>
  2328. </tr>
  2329. <tr>
  2330. <td style="text-align:right;vertical-align:middle">買方統編</td>
  2331. <td style="text-align:left;"><input type="text" id="rents_member_company_no" class="form-control" style="width:100px !important;" /></td>
  2332. </tr>
  2333. </tbody>
  2334. </table>
  2335. <button type="button" class="btn btn-large btn-success pull-left" onclick="do_rents_payment();">確定</button>
  2336. &nbsp;&nbsp;
  2337. <button type="button" class="btn btn-large btn-cancel" onclick="$('#rents_dialog').modal('hide');">取消交易</button>
  2338. </div><!-- ----- end of dataTable_wrapper ----- -->
  2339. </div><!-- ----- end of main ----- -->
  2340. </form>
  2341. </div><!-- end of modal-body -->
  2342. </div><!-- end of modal-content -->
  2343. </div><!-- end of modal-dialog -->
  2344. </div><!-- end of modal show -->
  2345. <!-- ----- 繳租作業小框(結束) ----- -->
  2346. <script>
  2347. // 月租付款並列印發票
  2348. function do_rents_payment()
  2349. {
  2350. if($("#rents_company_no").val() == '0' || $("#rents_company_no").val() == '' || $("#rents_company_no").val().length != 8)
  2351. {
  2352. alertify_error('賣方統編有誤,請修正');
  2353. return false;
  2354. }
  2355. if($("#rents_company_no").val() != '' && $("#rents_company_no").val().length != 8)
  2356. {
  2357. alertify_error('買方統編有誤,請修正');
  2358. return false;
  2359. }
  2360. if (!confirm("確認已繳款並開立發票 ?")) return false;
  2361. var member_no = xvars["rents"]["member_no"];
  2362. var company_no = $("#rents_company_no").val();
  2363. var member_company_no = $("#rents_member_company_no").val();
  2364. if (member_company_no == "") member_company_no = "0"; // 列印二聯式發票
  2365. // 新增月租付款交易
  2366. $.ajax
  2367. ({
  2368. url:APP_URL+"rents_payment",
  2369. dataType:"text",
  2370. type:"post",
  2371. data:
  2372. {
  2373. "station_no":xvars["rents"]["station_no"],
  2374. "member_no":member_no,
  2375. "member_attr":xvars["rents"]["member_attr"],
  2376. "lpr":xvars["rents"]["lpr"],
  2377. "member_company_no":member_company_no,
  2378. "company_no":company_no,
  2379. "fee_period":xvars["rents"]["fee_period"],
  2380. "fee_period_last":xvars["rents"]["fee_period_last"],
  2381. "amt":xvars["rents"]["amt"],
  2382. "amt_last":xvars["rents"]["amt_last"],
  2383. "end_date":xvars["rents"]["end_date"],
  2384. "start_date_last":$("#sdate_"+xvars["rents"]["member_no"]).text(),
  2385. "end_date_last":xvars["rents"]["end_date_last"]
  2386. },
  2387. error:function(xhr, ajaxOptions, thrownError)
  2388. {
  2389. alertify_msg(xhr.responseText);
  2390. console.log("error:"+xhr.responseText+"|"+ajaxOptions+"|"+thrownError);
  2391. },
  2392. success:function(jdata)
  2393. {
  2394. if (jdata == "ok")
  2395. {
  2396. alertify_msg("月租付款交易成功 ! ");
  2397. show_member_tx(member_no);
  2398. }
  2399. else if (jdata == "invoice_fail")
  2400. {
  2401. alertify_msg("發票列印失敗,交易已取消");
  2402. }
  2403. else
  2404. {
  2405. alertify_msg("月租付款失敗 !");
  2406. }
  2407. }
  2408. });
  2409. delete xvars["rents"];
  2410. $('#rents_dialog').modal('hide');
  2411. }
  2412. </script>
  2413. <!-- ----- [S] 退租作業小框 ----- -->
  2414. <!-- ----- ID: stop_rents_dialog ----- -->
  2415. <!-- ----- action: do_stop_rents_payment() ----- -->
  2416. <div class="modal fade" id="stop_rents_dialog">
  2417. <div class="modal-dialog modal-xl">
  2418. <div class="modal-content">
  2419. <div class="modal-header"><h3>退租作業</h3></div>
  2420. <div class="modal-body">
  2421. <form id="stop_rents_form" class="center-block">
  2422. <div class="main">
  2423. <div class="dataTable_wrapper">
  2424. <table class="table table-striped table-bordered table-hover" style="font-size:18px;">
  2425. <tbody id="stop_rents_list">
  2426. <tr>
  2427. <td style="text-align:right;">姓名</td>
  2428. <td style="text-align:left;" id="stop_rents_name"></td>
  2429. </tr>
  2430. <tr>
  2431. <td style="text-align:right;">場站</td>
  2432. <td style="text-align:left;" id="stop_rents_station_name"></td>
  2433. </tr>
  2434. <tr>
  2435. <td style="text-align:right;">身份別</td>
  2436. <td style="text-align:left;" id="stop_rents_member_attr"></td>
  2437. </tr>
  2438. <tr>
  2439. <td style="text-align:right;">繳期</td>
  2440. <td style="text-align:left;" id="stop_rents_period"></td>
  2441. </tr>
  2442. <!--tr>
  2443. <td style="text-align:right;">繳期租金</td>
  2444. <td style="text-align:left;" id="stop_rents_amt"></td>
  2445. </tr-->
  2446. <tr>
  2447. <td style="text-align:right;">到期日</td>
  2448. <td style="text-align:left;" id="stop_rents_end_date_last"></td>
  2449. </tr>
  2450. <tr>
  2451. <td style="text-align:right;">退租日</td>
  2452. <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>
  2453. </tr>
  2454. <tr>
  2455. <td style="text-align:right;">退租明細</td>
  2456. <td style="text-align:left;font-size:24px;color:blue;" id="stop_rents_desc"></td>
  2457. </tr>
  2458. <tr>
  2459. <input id="stop_rents_tot_amt" type="hidden" name="stop_rents_tot_amt"/>
  2460. </tr>
  2461. </tbody>
  2462. </table>
  2463. <button type="button" class="btn btn-large btn-success pull-left" onclick="do_stop_rents_payment();">確定</button>
  2464. &nbsp;&nbsp;
  2465. <button type="button" class="btn btn-large btn-cancel" onclick="$('#stop_rents_dialog').modal('hide');">取消</button>
  2466. </div><!-- ----- end of dataTable_wrapper ----- -->
  2467. </div><!-- ----- end of main ----- -->
  2468. </form>
  2469. </div><!-- end of modal-body -->
  2470. </div><!-- end of modal-content -->
  2471. </div><!-- end of modal-dialog -->
  2472. </div><!-- end of modal show -->
  2473. <!-- ----- 退租作業小框(結束) ----- -->
  2474. <script>
  2475. // 退租, 試算
  2476. function calculate_stop_rents_amt()
  2477. {
  2478. var station_no = xvars["rents"]["station_no"];
  2479. var member_no = xvars["rents"]["member_no"];
  2480. var stop_date = $("#stop_rents_end_date").val();
  2481. $("#stop_rents_desc").html("");
  2482. $.ajax
  2483. ({
  2484. url:APP_URL+"calculate_stop_rents_amt",
  2485. dataType:"json",
  2486. type:"post",
  2487. data:
  2488. {
  2489. "station_no":station_no,
  2490. "member_no":member_no,
  2491. "stop_date":stop_date
  2492. },
  2493. success:function(jdata)
  2494. {
  2495. var tmp_list = [];
  2496. var invoice_tmp_list = [];
  2497. for(idx in jdata["results"])
  2498. {
  2499. var detail = jdata["results"][idx];
  2500. 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;
  2501. var fee_period_name = (detail.fee_period == 0) ? '臨停費率': period_name[detail.fee_period] ? period_name[detail.fee_period] : '繳期 ' + detail.fee_period;
  2502. 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;
  2503. // 不足月
  2504. if(detail.amt1 > 0)
  2505. {
  2506. tmp_list = tmp_list.concat([
  2507. "[ ", detail.start_date_last, " 至 ", detail.end_date_last, " ] <br/>",
  2508. "* 計費:", detail.amt1, " 元 (", fee_period_last_name, ")<br/>"]);
  2509. if(detail.stop_rents_used_amt_last == detail.amt1)
  2510. {
  2511. tmp_list = tmp_list.concat(["**使用完畢**<br/>"]);
  2512. }
  2513. else if(detail.stop_rents_used_amt_last > 0)
  2514. {
  2515. tmp_list = tmp_list.concat([
  2516. "* 使用:", detail.stop_used_days_last, " 天<br/>",
  2517. "* 費用:", detail.stop_rents_used_amt_last, " 元 (臨停費率)<br/>"]);
  2518. }
  2519. else
  2520. {
  2521. tmp_list = tmp_list.concat(["**尚未使用**<br/>"]);
  2522. }
  2523. }
  2524. // 足月
  2525. if(detail.amt > 0)
  2526. {
  2527. tmp_list = tmp_list.concat([
  2528. "[ ", detail.start_date, " 至 ", detail.end_date, " ] <br/>",
  2529. "* 計費:", detail.amt, " 元 (", fee_period_name, ")<br/>"]);
  2530. if(detail.stop_rents_used_amt == detail.amt)
  2531. {
  2532. tmp_list = tmp_list.concat(["**使用完畢**<br/>"]);
  2533. }
  2534. else if(detail.stop_used_days > 0)
  2535. {
  2536. tmp_list = tmp_list.concat([
  2537. "* 使用:", detail.stop_used_days, " 天<br/>",
  2538. "* 費用:", detail.stop_rents_used_amt, " 元 (", stop_rents_period_name, ")<br/>"]);
  2539. }
  2540. else
  2541. {
  2542. tmp_list = tmp_list.concat(["**尚未使用**<br/>"]);
  2543. }
  2544. }
  2545. //發票資訊
  2546. for(idx_i in detail.stop_rents_invoices)
  2547. {
  2548. var invoice = detail.stop_rents_invoices[idx_i];
  2549. tmp_list = tmp_list.concat(["**發票: ", invoice.invoice_track, invoice.invoice_no, "**金額: ", invoice.invoice_amt]);
  2550. if(invoice.refund_amt > 0)
  2551. {
  2552. tmp_list = tmp_list.concat(["<br/>", "****************待折讓發票金額:", invoice.refund_amt]);
  2553. invoice_tmp_list = invoice_tmp_list.concat([
  2554. "**", detail.start_date, "**發票: ", invoice.invoice_track, invoice.invoice_no, "<br/>",
  2555. "****發票金額: ", invoice.invoice_amt, "**待折讓金額:", invoice.refund_amt, "<br/>"]);
  2556. }
  2557. tmp_list = tmp_list.concat(["<br/>"]);
  2558. }
  2559. // 審核狀態
  2560. if(detail.verify_state == 1)
  2561. {
  2562. // 本次結算
  2563. if(detail.stop_rents_return_amt == 0)
  2564. {
  2565. // do nothing
  2566. }
  2567. else if(detail.stop_rents_return_amt > 0)
  2568. {
  2569. tmp_list = tmp_list.concat([">>本次退還金額:", detail.stop_rents_return_amt, " 元<br/>"]);
  2570. }
  2571. else
  2572. {
  2573. tmp_list = tmp_list.concat([">>本次補繳金額:", - detail.stop_rents_return_amt, " 元<br/>"]);
  2574. }
  2575. }
  2576. else
  2577. {
  2578. tmp_list = tmp_list.concat(["**此交易,尚未通過審核**<br/>"]);
  2579. if(detail.remarks)
  2580. {
  2581. tmp_list = tmp_list.concat(["**備註:", detail.remarks, "<br/>"]);
  2582. }
  2583. }
  2584. tmp_list = tmp_list.concat(["<br/>"]);
  2585. }
  2586. // 總結
  2587. tmp_list = tmp_list.concat([
  2588. "[結算]<br/>",
  2589. "**合約終止時間:", stop_date, " 23:59:59 <br/> "]);
  2590. if(jdata["return_amt"] == 0)
  2591. {
  2592. tmp_list = tmp_list.concat([
  2593. "**總退還金額:無<br/> "]);
  2594. }
  2595. else if(jdata["return_amt"] > 0)
  2596. {
  2597. tmp_list = tmp_list.concat([
  2598. "**總退還金額:", jdata["return_amt"], " 元<br/> "]);
  2599. }
  2600. else
  2601. {
  2602. tmp_list = tmp_list.concat([
  2603. "**需補繳金額:", - jdata["return_amt"], " 元 (臨停費率)<br/> "]);
  2604. }
  2605. tmp_list = tmp_list.concat([
  2606. "**押金:", jdata["return_deposit"], " 元<br/><br/>"]);
  2607. // 總結 [折讓發票]
  2608. if(invoice_tmp_list.length > 0)
  2609. {
  2610. tmp_list = tmp_list.concat("[折讓發票]<br/>");
  2611. tmp_list = tmp_list.concat(invoice_tmp_list);
  2612. tmp_list = tmp_list.concat("<br/><br/>");
  2613. }
  2614. if(jdata["verify_state"])
  2615. {
  2616. // 設定總金額
  2617. var tot_amt = parseInt(jdata["return_amt"]) + parseInt(jdata["return_deposit"]);
  2618. $("#stop_rents_tot_amt").text(tot_amt);
  2619. //console.log(station_no + "|" + + member_no + "|" + tot_amt + "|" + stop_date);
  2620. }
  2621. else
  2622. {
  2623. // 審核未完成
  2624. tmp_list = tmp_list.concat([
  2625. "**審核未完成, 請通知營管處理**<br/><br/>"]);
  2626. $("#stop_rents_tot_amt").text('GG');
  2627. }
  2628. $("#stop_rents_desc").append(tmp_list.join(''));
  2629. }
  2630. });
  2631. }
  2632. // 退租
  2633. function do_stop_rents_payment()
  2634. {
  2635. if($("#stop_rents_end_date").val() == '0' || $("#stop_rents_end_date").val() == '')
  2636. {
  2637. alertify_error('退租日有誤,請修正!');
  2638. return false;
  2639. }
  2640. if($("#stop_rents_tot_amt").text() == 'GG')
  2641. {
  2642. alertify_error('請通知營管處理,謝謝!');
  2643. return false;
  2644. }
  2645. var station_no = xvars["rents"]["station_no"];
  2646. var member_no = xvars["rents"]["member_no"];
  2647. var stop_date = $("#stop_rents_end_date").val();
  2648. var tot_amt = $("#stop_rents_tot_amt").text();
  2649. var lpr = xvars["rents"]["lpr"];
  2650. // 新增退租交易
  2651. $.ajax
  2652. ({
  2653. url:APP_URL+"stop_rents_payment",
  2654. dataType:"text",
  2655. type:"post",
  2656. data:
  2657. {
  2658. "station_no":station_no,
  2659. "member_no":member_no,
  2660. "stop_date":stop_date,
  2661. "tot_amt":tot_amt
  2662. },
  2663. error:function(xhr, ajaxOptions, thrownError)
  2664. {
  2665. alertify_msg(xhr.responseText);
  2666. console.log("error:"+xhr.responseText+"|"+ajaxOptions+"|"+thrownError);
  2667. },
  2668. success:function(jdata)
  2669. {
  2670. if (jdata == "ok")
  2671. {
  2672. alertify_msg("成功 ! ");
  2673. // 自動搜尋退租
  2674. $("#q_refund_str").val(lpr);
  2675. $("#member_tx_refund_form").submit();
  2676. show_item('member_tx_refund_query', 'member_tx_refund_query');
  2677. }
  2678. else if (jdata == "invoice_fail")
  2679. {
  2680. alertify_msg("失敗,已取消");
  2681. }
  2682. else
  2683. {
  2684. alertify_msg("失敗 !");
  2685. }
  2686. }
  2687. });
  2688. delete xvars["rents"];
  2689. $('#stop_rents_dialog').modal('hide');
  2690. }
  2691. </script>