feeLoanReceiptTrave.html 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746
  1. <!-- include '../admin/header' -->
  2. <link rel=stylesheet href="<?= WEB_SITE_GLOBAL ?>css/jquery.validator.css">
  3. <script type="text/javascript" src="<?= WEB_SITE_GLOBAL ?>js/jquery.validator.min.js"></script>
  4. <script type="text/javascript" src="<?= WEB_SITE_GLOBAL ?>js/zh-CN.js"></script>
  5. <script src="<?= receipt ?>"></script>
  6. <body>
  7. <div class="mainLayout">
  8. <div class="mainMenu">
  9. <div class="menuItem">
  10. <a href="/" class="mLogo">CLD</a>
  11. <ul>
  12. <!-- include '../admin/menuReceipt' -->
  13. </ul>
  14. </div>
  15. </div>
  16. <div class="warpContent">
  17. <div class="subMenu fL">
  18. <div class="menuItem">
  19. <ul>
  20. <!-- include '../admin/receipt_menu' -->
  21. </ul>
  22. </div>
  23. </div>
  24. <div class="adminContent autoHeight" style="height: 821px;">
  25. <div class="borad-news">
  26. <legend><div class="fR"></div>借款报销费用详情</legend>
  27. <div class="saeaList ">
  28. <!-- loop receiptList -->
  29. <div class="entry loan-list">
  30. <div class="seTable">
  31. <table class="table table-bordered table-condensed table-hover">
  32. <tbody>
  33. <tr><th colspan="2" class="taC">借款费用</th></tr>
  34. <!-- loop receiptList' value.loanItem.借款费用 -->
  35. <tr><th>{{receiptList' value' value.name}}</th><td width="140" class="taR">¥{{receiptList' value' value.price}}</td></tr>
  36. <!-- endloop -->
  37. <tr><th>借款费用</th><td width="140" class="taR">¥{{receiptList' value.accountItem.cSum.loanSum}}</td></tr>
  38. <tr><th class="taC" colspan="2">产生费用所在办事处</th></tr>
  39. <tr><th style="text-align:center" colspan="2">{{receiptDetail' value.category}}</th></tr>
  40. <tr><th class="taC" colspan="2">费用说明</th>
  41. </tr><tr><td colspan="2">{{receiptDetail' value.explanation}}</td></tr>
  42. <tr class="warning"><td class="taR"><b>({{receiptDetail' value.receiptOrder}})本次费用合计</b></td>
  43. <td class="taR"><b style="font-size:24px">¥{{receiptDetail' value.sum}}</b><br>{{receiptDetail' value.BIGsum}}</td></tr>
  44. </tbody>
  45. </table>
  46. </div>
  47. <div class="seCensor loan-censor">
  48. <div class="title">
  49. {{receiptDetail' value.receiptOrder}}
  50. </div>
  51. <div class="censorList">
  52. <ul>
  53. <li class="post">
  54. <div class="avtra"><img src="{{staff.0.avatar}}_2.jpg" width="32"></div>
  55. <div class="comment">
  56. <p><span class="fR">{{receiptDetail' value.date}}</span>{{staff.0.username}}</p>
  57. <p>提交审批</p>
  58. </div>
  59. </li>
  60. <!-- loop receiptDetail' value.verifyList -->
  61. <li <!-- if {{receiptDetail' value' value.status}}==1 --> class="done" <!-- elseif {{receiptDetail' value' value.status}}==3 --> class="undone" <!-- endif -->>
  62. <div class="avtra"><img src="{{receiptDetail' value' value.2}}_2.jpg"></div>
  63. <div class="comment">
  64. <p class="colGray"><span class="fR">{{receiptDetail' value' value.date}}</span>{{receiptDetail' value' value.1}}<!-- if isset({{receiptDetail' value' value.rolename}}) --> ({{receiptDetail' value' value.rolename}}) <!-- endif --></p>
  65. <p>{{receiptDetail' value' value.opinion}}</p>
  66. </div>
  67. </li>
  68. <!-- endloop -->
  69. </ul>
  70. </div>
  71. </div>
  72. </div>
  73. <!-- endloop -->
  74. </div>
  75. <div class="saeaList">
  76. <div class="entry loan-list">
  77. <div class="seTable">
  78. <form action="/saeaLoanReceiptAddDo" name="recepitAdd" method="post">
  79. <input type="hidden" id="agencyR" value="0" />
  80. <input type="hidden" id="travelR" value="0" />
  81. <input type="hidden" id="trainR" value="0" />
  82. <input type="hidden" id="otherR" value="0" />
  83. <input type="hidden" name='rid' value='{{rid}}' />
  84. <input type="hidden" name="itinerary" id="itinerary" value="" />
  85. <table class="table table-bordered table-condensed table-hover">
  86. <tr>
  87. <th>选择报销类型</th>
  88. <td class="taR">
  89. <select name="receiptClass" selectReceiptClass >
  90. <option value="agency">办事处相关费用</option>
  91. <option selected value="trave">差旅相关费用</option>
  92. <option value="internalTrain">内部培训费用</option>
  93. </select>
  94. </td>
  95. </tr>
  96. <tr>
  97. <th colspan="2" class="taC">行程详细</th>
  98. </tr>
  99. <tbody itinerary >
  100. </tbody>
  101. <tr>
  102. <th colspan="2" class="taC"><a href="#route-add"
  103. class="button" addStroke data-toggle="modal">设置行程费用单</a></th>
  104. </tr>
  105. <tbody trave >
  106. <tr><th colspan="2" class="taC">差旅相关费用</th></tr>
  107. <!-- loop acItem -->
  108. <!-- if {{acItem' value.category}} =="差旅相关费用" -->
  109. <tr>
  110. <th>{{acItem' value.name}}</th>
  111. <td width="200" class="taR">¥<span travelPrice_{{acItem' value.aid}} >0</span><input type="hidden" id="travel_{{acItem' value.aid}}" name="travel[]" value="0" placeholder="输入{{acItem' value.name}}" pattern="[0-9]" step="0.01" min="0" class="span2"></td>
  112. </tr>
  113. <!-- endif -->
  114. <!-- endloop -->
  115. <tr><th class="taR">合计</th><td class="colGreen taR" id="travelResult">¥0.00</td></tr>
  116. </tbody>
  117. <tr class="warning"><td class="taR"><b>本次报销费用合计</b></td><td class="colGreed taR"><b style="font-size:24px" id="RS">¥0.00</b></td></tr>
  118. <tr>
  119. <th>选择审批组</th>
  120. <td class="taR">
  121. <select name="verify">
  122. <option value="">请选择审批组</option>
  123. <!-- loop veList -->
  124. <option value="{{veList' value.vid}}" >{{veList' value.description}}(
  125. {{veList' value.staff}}
  126. )</option>
  127. <!-- endloop -->
  128. </select>
  129. </td>
  130. </tr>
  131. <tr><th colspan="2" class="taC">产生费用所在办事处</th></tr>
  132. <tr>
  133. <th>选择办事处</th>
  134. <td class="taR">
  135. <select name="cid" class="span2">
  136. <!-- loop category -->
  137. <option value="{{category' value.cid}}" <!-- if {{category' value.cid}} == {{staff.0.cid}} --> selected <!-- endif --> >{{category' value.title}}</option>
  138. <!-- endloop -->
  139. </select>
  140. </td>
  141. </tr>
  142. <tr><th colspan="2" class="taC">收款信息</th></tr>
  143. <tr><th>收款人户名</th>
  144. <td><input type="text" name="remittanceName" id="remittanceName" value="{{receiptDetail.remittanceName}}" placeholder="请输入收款人户名" ></td>
  145. </tr>
  146. <tr>
  147. <th>收款银行</th>
  148. <td>
  149. <select node-rbt name="remittanceBankType">
  150. <option value="0">广发银行</option>
  151. <option value="1">其他</option>
  152. </select>
  153. </td>
  154. </tr>
  155. <tr><th>收款开户银行名称</th><td>
  156. <input type="text" name="bankName" id="bankName" value="{{receiptDetail.bankName}}" placeholder="请输入收款开户银行名称" >
  157. </td></tr>
  158. <tr><th>收款账号</th><td>
  159. <input type="text" placeholder="请输入收款账号" id="bankNumber" name="bankNumber" value="{{receiptDetail.bankNumber}}">
  160. </td></tr>
  161. <tr node-cn style="display:none" ><th>联行号&nbsp;&nbsp;<span class="colRed">(如果不是广发银行,务必填上银行联行号)</span></th><td>
  162. <input type="text" placeholder="请输入联行号" id="coupletNumber" name="coupletNumber" value="{{receiptDetail.coupletNumber}}">
  163. </td></tr>
  164. <tr><th colspan="2" class="taC">报销说明</th></tr>
  165. <tr><th colspan="2">
  166. <textarea name="explanation" id="explanation" required="" rows="8" style="width:99%;resize: vertical" placeholder="市内交通费、邮寄费、公关费、办公费等费用说明,请详细填写在这。"></textarea>
  167. </th></tr>
  168. <tr><th colspan="2" class="taC">附件</th></tr>
  169. <tr><td colspan="2">
  170. <!--已上传文件-->
  171. <table class="table" >
  172. <thead>
  173. <tr>
  174. <th>
  175. <input enclosurFile type="file"
  176. accept="image/png,image/gif,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document
  177. ,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel" name="file" />
  178. <input type="hidden" id="enclosurName" name="enclosurName" value="">
  179. </th>
  180. <th colspan="2">
  181. <span class="fieldset flash" id="fsUploadProgress"></span>
  182. <span id="divStatus">0 个文件已上传</span>
  183. </th></tr>
  184. <tr><th>文件名</th><th>大小</th><th>操作</th></tr></thead>
  185. <tbody id="KT">
  186. <!--已上传文件-->
  187. </tbody>
  188. </table>
  189. </td></tr>
  190. </table>
  191. <table class="table">
  192. <tr><td><input type="submit" value="生成报销单 >>" class="button" /></td></tr>
  193. </table>
  194. </form>
  195. </div>
  196. <div class="seCensor loan-censor">
  197. <div class="itinerary">
  198. <h2 class="itineraryTitle">总行程单</h2>
  199. <div class="itineraryCon" >
  200. <ul itineraryinfo>
  201. </ul>
  202. </div>
  203. </div>
  204. </div>
  205. </div>
  206. </div>
  207. </div>
  208. </div>
  209. </div>
  210. <!--弹出 添加行程 -->
  211. <div class="modal hide fade" id="route-add">
  212. <div class="modal-dialog">
  213. <div class="modal-content">
  214. <div class="modal-header">
  215. <h3>设置行程费用单</h3>
  216. </div>
  217. <div class="modal-body saeaList">
  218. <input type="hidden" name="ediStrokeId" >
  219. <table class="table table-bordered table-condensed">
  220. <tr>
  221. <th class="taC" colspan="4">出发-到达</th>
  222. </tr>
  223. <tr>
  224. <th>出发地</th>
  225. <td>
  226. <select departureProvince >
  227. </select>
  228. <select departureCity >
  229. </select>
  230. </td>
  231. <th>到达地</th>
  232. <td>
  233. <select arrivalsProvince ></select>
  234. <select arrivalsCity></select>
  235. </td>
  236. </tr>
  237. <tr>
  238. <th>出发日期</th>
  239. <td><input type="date" departureDate min="{{itineraryDate}}" ></td>
  240. <th>到达日期</th>
  241. <td><input type="date" arrivalsDate min="{{itineraryDate}}" ></td>
  242. </tr>
  243. <tr>
  244. <td colspan="4" class="" msg></td>
  245. </tr>
  246. <tr>
  247. <td colspan="4" class="colGray">如果是停留,出发地和到达地填写住宿地。(如:广东省珠海市-广东省珠海市)</td>
  248. </tr>
  249. </table>
  250. <select feeTravelItem >
  251. <!-- loop acItem -->
  252. <!-- if {{acItem' value.category}} =="差旅相关费用" -->
  253. <option value='{{acItem' value.aid}}'>{{acItem' value.name}}</option>
  254. <!-- endif -->
  255. <!-- endloop -->
  256. </select><a href="#" feeTravelItem class="button">添加费用</a>
  257. <table class="table table-bordered table-condensed">
  258. <tr>
  259. <th colspan="3" class="taC">费用详情</th>
  260. </tr>
  261. <tbody feeTravelItem >
  262. </tbody>
  263. </table>
  264. </div>
  265. <div class="modal-footer">
  266. <a href="#" addItineraryBut class="button" data-dismiss="modal" aria-hidden="true">确认</a>
  267. <a href="#" ediItineraryBut style="display:none" class="button" data-dismiss="modal" aria-hidden="true">确认</a>
  268. <a href="#" class="button btn-gray" data-dismiss="modal"
  269. aria-hidden="true">关闭</a>
  270. </div>
  271. </div>
  272. </div>
  273. </div>
  274. <!--结束 弹出 添加行程 -->
  275. <script type="text/javascript">
  276. var sessionStorageList='itineraryListLoan';
  277. </script>
  278. <script src="<?= itinerary ?>"></script>
  279. <script >
  280. function resetPageData(){
  281. $("input[id^='inttrain_']").each(function(i){
  282. $(this).val(0);
  283. });
  284. $("input[id^='travel']").each(function(i){
  285. $(this).val(0);
  286. });
  287. $("input[id^='agency_']").each(function(i){
  288. $(this).val(0);
  289. });
  290. $("input[id^='other_']").each(function(i){
  291. $(this).val(0);
  292. });
  293. $('#agencyResult').html(0.00);
  294. $('#otherResult').html(0.00);
  295. $('#travelResult').html(0.00);
  296. $('#inttrainResult').html(0.00);
  297. $('#RS').html(0);
  298. }
  299. /* function fnTotTravelPrice(){
  300. var itineraryStr=sessionStorage.getItem("itineraryListLoan");
  301. var sessionItinerary= JSON.parse(itineraryStr);
  302. $("#itinerary").val(itineraryStr);
  303. var priceList=[];
  304. for(let i=0;i<sessionItinerary.length;i++){
  305. let feeTraveItem=sessionItinerary[i].feeTraveItem;
  306. for(let k=0;k<feeTraveItem.length;k++){
  307. if(typeof priceList[feeTraveItem[k].id]==='undefined'){
  308. priceList[feeTraveItem[k].id]=0;
  309. }
  310. priceList[feeTraveItem[k].id]+=parseFloat(feeTraveItem[k].price);
  311. }
  312. }
  313. $("input[id^='travel_']").val(0);
  314. $("td span").html(0);
  315. let travelResult=0;
  316. for(let i=0;i<priceList.length;i++){
  317. if(typeof priceList[i]==='number'){
  318. $("span[travelprice_"+i+"]").html(priceList[i]);
  319. $("#travel_"+i+"").val(priceList[i]);
  320. travelResult+=priceList[i];
  321. }
  322. }
  323. $("#travelResult").html(travelResult);
  324. $("#RS").html(travelResult);
  325. }
  326. function districtTop(selected){
  327. var storage=window.localStorage;
  328. if(typeof storage["districtTop"]==='undefined'||storage["districtTop"]===''){
  329. $.ajax({
  330. url : '/api/district',
  331. type : "post",
  332. cache : false,
  333. dataType : "json",
  334. global : true,
  335. success : function(data) {
  336. storage.setItem("districtTop",JSON.stringify(data.districtList));
  337. //districtTop(data.districtList);
  338. },
  339. error : function(err) {}
  340. });
  341. }
  342. var districtTop=JSON.parse(storage["districtTop"]);
  343. var html='';
  344. for(let i=0;i<districtTop.length;i++){
  345. if(typeof selected!=='undefined'&&selected.departureprovince==districtTop[i].name){
  346. html+='<option selected value='+districtTop[i].id+'>'+districtTop[i].name+'</option>';
  347. }else{
  348. html+='<option value='+districtTop[i].id+'>'+districtTop[i].name+'</option>';
  349. }
  350. }
  351. $("select[departureProvince]").html(html);
  352. html='';
  353. for(let i=0;i<districtTop.length;i++){
  354. if(typeof selected!=='undefined'&&selected.arrivalsprovince==districtTop[i].name){
  355. html+='<option selected value='+districtTop[i].id+'>'+districtTop[i].name+'</option>';
  356. }else{
  357. html+='<option value='+districtTop[i].id+'>'+districtTop[i].name+'</option>';
  358. }
  359. }
  360. $("select[arrivalsProvince]").html(html);
  361. }
  362. function districtCityBuild(selectDom,obj,selected){
  363. var storage=window.localStorage;
  364. var id=$('select['+obj+']').val();
  365. if(typeof storage["district_"+id]==='undefined'||storage["district_"+id]===''){
  366. $.ajax({
  367. url : '/api/district?did='+id,
  368. type : "post",
  369. cache : false,
  370. dataType : "json",
  371. async:false,
  372. global : true,
  373. success : function(data) {
  374. storage.setItem("district_"+id,JSON.stringify(data.districtList));
  375. //districtCity(selectDom,data.districtList);
  376. },
  377. error : function(err) {}
  378. });
  379. }
  380. districtCity=JSON.parse(storage["district_"+id]);
  381. var html='';var cityName='';
  382. if(typeof selected!=='undefined'){
  383. if(selectDom=='departurecity'){
  384. cityName=selected.departurecity;
  385. }else{
  386. cityName=selected.arrivalscity.substring(1);
  387. }
  388. }
  389. for(let i=0;i<districtCity.length;i++){
  390. if(typeof selected!=='undefined'&&cityName==districtCity[i].name){
  391. html+='<option selected value='+districtCity[i].name+'>'+districtCity[i].name+'</option>';
  392. }else{
  393. html+='<option value='+districtCity[i].name+'>'+districtCity[i].name+'</option>';
  394. }
  395. }
  396. $("select["+selectDom+"]").html(html);
  397. }
  398. function buildItinerary(list){
  399. var html='';
  400. for(let i=0;i<list.length;i++){
  401. html+='<tr><th colspan="2" class="ta"><i class="contactsMark icon-">P</i> '+list[i].departuredate+list[i].arrivalsdate+' '+list[i].departurecity+list[i].arrivalscity+'';
  402. html+='<div class="fR"><a href="#route-add" ediStroke data-toggle="modal" dataId="'+i+'" >编辑</a>&nbsp;<a href="#" dataId="'+i+'" removeItinerary class="colRed">移除</a></div></th></tr>';
  403. let feeTraveItem=list[i].feeTraveItem;
  404. let price=0;
  405. for(let k=0;k<feeTraveItem.length;k++){
  406. price+=parseFloat(feeTraveItem[k].price);
  407. html+='<tr><th>'+feeTraveItem[k].name+'<p class="colGray">#'+feeTraveItem[k].detail+'</p></th><td width="200" class="taR">¥'+feeTraveItem[k].price+'</td></tr>';
  408. }
  409. html+='<tr><th class="taR">合计</th><td class="colGreen taR">¥'+price+'</td></tr>';
  410. }
  411. $("tbody[itinerary]").html(html);
  412. }
  413. function buildFeeTravelItem(feeTraveItem){
  414. var html='';
  415. for(let i=0;i<feeTraveItem.length;i++){
  416. html+='<tr class="remove" ><th>'+feeTraveItem[i].name+'</th>';
  417. html+='<td class="taR">¥<input type="number" itemId_'+feeTraveItem[i].id+' data="'+feeTraveItem[i].name+'" dataId="'+feeTraveItem[i].id+'" value="'+feeTraveItem[i].price+'" placeholder="输入费用" pattern="[0-9]" step="1" min="0"class="span2"></td>';
  418. html+='<td><input type="text" value="'+feeTraveItem[i].detail+'" itemDetail_'+feeTraveItem[i].id+' placeholder="填写费用说明"></td>';
  419. html+='<td><a href="#" removeFeeTravelItem >移除</a></td></tr>';
  420. }
  421. $("tbody[feeTravelItem]").html(html);
  422. }
  423. function fnGetItineraryData(){
  424. var departurecity=$("select[departurecity] option:selected").text();
  425. var arrivalscity=$("select[arrivalscity] option:selected").text();
  426. var departureprovince=$("select[departureprovince] option:selected").text();
  427. var arrivalsprovince=$("select[arrivalsprovince] option:selected").text();
  428. var departuredate=$("input[departuredate]").val();
  429. var arrivalsdate=$("input[arrivalsdate]").val();
  430. var feeTravePriceList=$("tbody[feeTravelItem]").find('input[type=number]');
  431. var feeTraveDetailList=$("tbody[feeTravelItem]").find('input[type=text]');
  432. if(arrivalscity!==''){
  433. arrivalscity='-'+arrivalscity;
  434. }
  435. if(arrivalsdate!==''){
  436. arrivalsdate='~'+arrivalsdate;
  437. }
  438. var feeTraveItem=[];
  439. for(let i=0;i<feeTravePriceList.length;i++){
  440. feeTraveItem.push({'id':$(feeTravePriceList[i]).attr('dataId'),'name':$(feeTravePriceList[i]).attr('data'),'price':$(feeTravePriceList[i]).val(),'detail':$(feeTraveDetailList[i]).val()});
  441. }
  442. var itinerary={'departuredate':departuredate,'departureprovince':departureprovince,'departurecity':departurecity,'arrivalsdate':arrivalsdate,'arrivalsprovince':arrivalsprovince,'arrivalscity':arrivalscity,'feeTraveItem':feeTraveItem};
  443. return itinerary;
  444. }
  445. */
  446. $(function() {
  447. /* var sessionStorage= window.sessionStorage;
  448. var sessionItinerary= sessionStorage.getItem("itineraryListLoan");
  449. if(typeof sessionItinerary!=='object'){
  450. buildItinerary(JSON.parse(sessionItinerary));
  451. fnTotTravelPrice();
  452. }
  453. $("a[ediStroke]").click(function() {
  454. var sessionItinerary= sessionStorage.getItem("itineraryListLoan");
  455. sessionItinerary=JSON.parse(sessionItinerary);
  456. var id=$(this).attr('dataId');
  457. var storage=window.localStorage;
  458. districtTop(sessionItinerary[id]);
  459. districtCityBuild('departurecity','departureprovince',sessionItinerary[id]);
  460. districtCityBuild('arrivalscity','arrivalsprovince',sessionItinerary[id]);
  461. $("input[departuredate]").val(sessionItinerary[id].departuredate);
  462. $("input[arrivalsdate]").val(sessionItinerary[id].arrivalsdate.substring(1));
  463. buildFeeTravelItem(sessionItinerary[id].feeTraveItem);
  464. $("a[additinerarybut]").hide();
  465. $("a[ediItineraryBut]").show();
  466. });
  467. $("a[addStroke]").click(function() {
  468. districtTop();
  469. districtCityBuild('departurecity','departureprovince');
  470. districtCityBuild('arrivalscity','arrivalsprovince');
  471. $("input[departuredate]").val('');
  472. $("input[arrivalsdate]").val('');
  473. $("tbody[feeTravelItem]").html('');
  474. $("a[additinerarybut]").show();
  475. $("a[ediItineraryBut]").hide();
  476. });
  477. $("select[departureProvince]").change(function() {
  478. districtCityBuild('departurecity','departureprovince');
  479. });
  480. $("select[arrivalsProvince]").change(function() {
  481. districtCityBuild('arrivalscity','arrivalsprovince');
  482. });
  483. $("a[feeTravelItem]").click(function() {
  484. var itemName=$("select[feeTravelItem] option:selected").text();
  485. var itemId=$("select[feeTravelItem] option:selected").val();
  486. var html='<tr class="remove" ><th>'+itemName+'</th>';
  487. html+='<td class="taR">¥<input type="number" itemId_'+itemId+' data="'+itemName+'" dataId="'+itemId+'" value="0" placeholder="输入费用" pattern="[0-9]" step="1" min="0"class="span2"></td>';
  488. html+='<td><input type="text" itemDetail_'+itemId+' placeholder="填写费用说明"></td>';
  489. html+='<td><a href="#" removeFeeTravelItem >移除</a></td></tr>';
  490. $("tbody[feeTravelItem]").append(html);
  491. });
  492. $("tbody[feeTravelItem]").on("click","a[removeFeeTravelItem]",function(){
  493. $(this).closest('.remove').remove();
  494. });
  495. $("tbody[itinerary]").on("click","a[edistroke]",function(){
  496. $("input[name=ediStrokeId]").val($(this).attr('dataid'));
  497. var sessionItinerary= sessionStorage.getItem("itineraryListLoan");
  498. sessionItinerary=JSON.parse(sessionItinerary);
  499. var id=$(this).attr('dataId');
  500. var storage=window.localStorage;
  501. districtTop(sessionItinerary[id]);
  502. districtCityBuild('departurecity','departureprovince',sessionItinerary[id]);
  503. districtCityBuild('arrivalscity','arrivalsprovince',sessionItinerary[id]);
  504. $("input[departuredate]").val(sessionItinerary[id].departuredate);
  505. $("input[arrivalsdate]").val(sessionItinerary[id].arrivalsdate.substring(1));
  506. buildFeeTravelItem(sessionItinerary[id].feeTraveItem);
  507. $("a[additinerarybut]").hide();
  508. $("a[ediItineraryBut]").show();
  509. });
  510. $("a[ediItineraryBut]").click(function() {
  511. var itinerary=fnGetItineraryData();
  512. var siIndex=$("input[name=ediStrokeId]").val();
  513. var sessionItinerary =JSON.parse(sessionStorage.getItem("itineraryListLoan"));
  514. sessionItinerary[siIndex]=itinerary;
  515. sessionStorage.setItem("itineraryListLoan",JSON.stringify(sessionItinerary));
  516. buildItinerary(sessionItinerary);
  517. fnTotTravelPrice();
  518. });
  519. $("a[addItineraryBut]").click(function() {
  520. var itinerary=fnGetItineraryData();
  521. var sessionItinerary = sessionStorage.getItem("itineraryListLoan");
  522. if(typeof sessionItinerary==='object'){
  523. sessionItinerary=[];
  524. sessionItinerary.push(itinerary);
  525. sessionStorage.setItem("itineraryListLoan",JSON.stringify(sessionItinerary));
  526. }else{
  527. sessionItinerary=JSON.parse(sessionItinerary);
  528. sessionItinerary.push(itinerary);
  529. sessionStorage.setItem("itineraryListLoan",JSON.stringify(sessionItinerary));
  530. }
  531. buildItinerary(sessionItinerary);
  532. fnTotTravelPrice();
  533. });
  534. $("tbody[itinerary]").on("click","a[removeItinerary]",function(){
  535. var sessionItinerary= sessionStorage.getItem("itineraryListLoan");
  536. var id=$(this).attr('dataId');
  537. sessionItinerary=JSON.parse(sessionItinerary);
  538. sessionItinerary.splice(id,1);
  539. sessionStorage.setItem("itineraryListLoan",JSON.stringify(sessionItinerary));
  540. buildItinerary(sessionItinerary);
  541. $("#itinerary").val(JSON.stringify(sessionItinerary));
  542. buildItinerary(sessionItinerary);
  543. fnTotTravelPrice();
  544. }); */
  545. //--------------------------------------------
  546. $("input[id^='inttrain_']").change(function() {
  547. $i=0;
  548. $("input[id^='inttrain_']").each(function(i){
  549. $i+=parseFloat(this.value);
  550. });
  551. $("#inttrainResult").html("¥"+$i.toFixed(2));
  552. $("#inttrainR").val($i.toFixed(2));
  553. var agencyR=$("#agencyR").val();
  554. var otherR=parseFloat($("#otherR").val());
  555. var travelR=parseFloat($("#travelR").val());
  556. var RS=parseFloat($i)+parseFloat(agencyR)+travelR+otherR;
  557. $("#RS").html("¥"+RS.toFixed(2));
  558. });
  559. $("select[selectReceiptClass]").change(function() {
  560. let receiptClass=$(this).val();
  561. resetPageData();
  562. $('tbody[agency]').hide();
  563. $('tbody[trave]').hide();
  564. $('tbody[internalTrain]').hide();
  565. let id=$('input[name=rid]').val();
  566. if(receiptClass==='agency'){
  567. window.location.href="/saeaLoanReceiptAdd/"+id+"?receiptClass=agency"
  568. }else if(receiptClass==='trave'){
  569. $('tbody[trave]').show();
  570. }else if(receiptClass==='internalTrain'){
  571. window.location.href="/saeaLoanReceiptAdd/"+id+"?receiptClass=internalTrain"
  572. }
  573. });
  574. })
  575. </script>
  576. <script type="text/javascript">autoFlashHeight();</script>
  577. </body>