receipt.js 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754
  1. function check(){
  2. if (confirm("确认是否提交本次报销单,点击确定提交开始审批,点击取消关闭本窗口。"))
  3. return true;
  4. else return false;
  5. }
  6. function receiptYear(){
  7. var form = $('#up');
  8. $('#year').val($('#Y').val());
  9. form.submit();
  10. }
  11. function receiptDate(){
  12. var form = $('#up');
  13. //$('#year').val($('#date').val());
  14. form.submit();
  15. }
  16. function reportCatePM(){
  17. var name=$('#reportCate').val();
  18. $("option[node-all='true']").show();
  19. if(name=='ALL'){
  20. $("tr[node-all='true']").show();
  21. $("option[node-all='true']").show();
  22. }else{
  23. $("tr[node-all='true']").hide();
  24. $("option[node-all='true']").hide();
  25. $("option[node-cate='"+name+"']").show();
  26. $("tr[node-boxCate='"+name+"']").show();
  27. }
  28. }
  29. function reportPM(){
  30. var name=$('#report').val();
  31. if(name=='ALL')
  32. $("tr[node-all='true']").show();
  33. else{
  34. $("tr[node-all='true']").hide();
  35. $("tr[node-box='"+name+"']").show();
  36. }
  37. }
  38. function receiptMoth(){
  39. var form = $('#up');
  40. $('#year').val($('#Y').val());
  41. $('#month').val($('#M').val());
  42. //alert($('#M').val());
  43. form.submit();
  44. }
  45. function receiptDay(){
  46. var form = $('#up');
  47. $('#year').val($('#Y').val());
  48. $('#month').val($('#M').val());
  49. $('#day').val($('#D').val());
  50. form.submit();
  51. }
  52. function receiptSop(){
  53. var form = $('#up');
  54. $('#year').val($('#Y').val());
  55. $('#month').val($('#M').val());
  56. $('#day').val($('#D').val());
  57. $('#sop').val($('#S').val());
  58. form.submit();
  59. }
  60. function updateApprovalReceipt(status,rid){
  61. var form = $('#verifyOpinion_'+rid);
  62. $('#status_'+rid).val(status);
  63. $("input[name='amount']").val($('#amount').val());
  64. form.submit();
  65. }
  66. function setExeReceipt(tr,rid){
  67. var form = $('#implement'+tr);
  68. var amount=$('#amount'+tr).val();
  69. var accountBank=$('#accountBankSelect'+tr).val();
  70. if(amount=='')
  71. return alert('请填写汇款金额');
  72. $("#amountInp"+tr).val(amount);
  73. $("#accountBank"+tr).val(accountBank);
  74. //form.submit();
  75. }
  76. function expensesDefray(status,rid){
  77. var form = $('#verifyOpinion_'+rid);
  78. $('#status_'+rid).val(status);
  79. form.submit();
  80. }
  81. function showOpinion(receiptOrder){
  82. //console.log(receiptOrder);
  83. $('#orderBody').html('读取中');
  84. var url="/ajaxGetReceiptOrder";
  85. $.ajax({
  86. url:url,
  87. type: "post",
  88. cache: false,
  89. dataType: "json",
  90. data: {
  91. receiptOrder:receiptOrder
  92. },
  93. global: true,
  94. success: function(data){
  95. if(data.status==1)
  96. $('#orderBody').html(data.receiptHtml);
  97. else
  98. $('#orderBody').html('没找到信息');
  99. },
  100. error:function(err){
  101. }
  102. });
  103. }
  104. $(function() {
  105. $('select[node-implement]').change(function(){
  106. //$item=$(this).attr('value');
  107. // var action = $('#up').attr("action");
  108. // action=encodeURI(action+'/'+$item);
  109. // $('#up').attr("action",action);
  110. $('#up').submit();
  111. });
  112. $('button[node-qmk="tm"]').click(function(){
  113. var id=$(this).attr('data');
  114. $('#'+id).attr('value',$('#'+id).attr('data-tm'));
  115. });
  116. $('a[node-ReceiptBack="true"]').click(function(){
  117. var rid=$(this).attr("p-d");
  118. var opinion=$('#opinion_'+rid).val();
  119. var url="/approvalChe";
  120. $.ajax({
  121. url:url,
  122. type: "post",
  123. cache: false,
  124. dataType: "json",
  125. data: {
  126. rid:rid,
  127. opinion:opinion
  128. },
  129. global: true,
  130. success: function(data){
  131. if(data.status==2){
  132. alert('参数错误');
  133. }else{
  134. window.location.href="/approvalExpenses/pendApproval";
  135. }
  136. },
  137. error:function(err){
  138. }
  139. });
  140. });
  141. $("a[id^=examine]").click(function(){
  142. var rid=$(this).attr('data');
  143. var url="/ajaxExamine";
  144. $.ajax({
  145. url:url,
  146. type: "post",
  147. cache: false,
  148. dataType: "json",
  149. data: {
  150. rid:rid
  151. },
  152. success: function(data){
  153. if(data.status==0){
  154. alert('参数错误');
  155. }
  156. if(data.receipt.hasOwnProperty("rid")){
  157. if(data.receipt.Rtype==1){
  158. window.location.href="/expensesEdi/"+data.receipt.rid;
  159. }else if(data.receipt.Rtype==0){
  160. window.location.href="/receiptburEdi/"+data.receipt.rid;
  161. }else if(data.receipt.Rtype==2){
  162. window.location.href="/remitApproval/"+data.receipt.rid;
  163. }else if(data.receipt.Rtype==3){
  164. window.location.href="/receiptTrain/approval/"+data.receipt.ridKey+".html";
  165. }
  166. }else
  167. alert('没有需要审批的费用');
  168. },
  169. error:function(err){
  170. }
  171. });
  172. });
  173. $("a[id^=examineExe]").click(function(){
  174. var rid=$(this).attr('data');
  175. var url="/ajaxExamineExe";
  176. $.ajax({
  177. url:url,
  178. type: "post",
  179. cache: false,
  180. dataType: "json",
  181. data: {
  182. rid:rid
  183. },
  184. global: true,
  185. success: function(data){
  186. if(data.status==0){
  187. alert('参数错误');
  188. }
  189. var count=data.receipt.length;
  190. console.log(data.receipt.Rtype);
  191. if(count!=0){
  192. if(data.receipt.Rtype==0){
  193. window.location.href="/implement/receipt/"+data.receipt.ridKey+".html";
  194. }else if(data.receipt.Rtype==1){
  195. window.location.href="/implement/loan/"+data.receipt.ridKey+".html";
  196. }else if(data.receipt.Rtype==2){
  197. window.location.href="/implement/public/"+data.receipt.ridKey+".html";
  198. }else if(data.receipt.Rtype==3){
  199. }
  200. //
  201. }else
  202. alert('没有需要审批的费用');
  203. console.log(data);
  204. },
  205. error:function(err){
  206. }
  207. });
  208. });
  209. $("input[id^='agency_']").change(function() {
  210. $i=0;
  211. $("input[id^='agency_']").each(function(i){
  212. $i+=parseFloat(this.value);
  213. });
  214. $("#agencyResult").html("¥"+$i.toFixed(2));
  215. $("#agencyR").val($i.toFixed(2));
  216. var travelR=parseFloat($("#travelR").val());
  217. var trainR=parseFloat($("#trainR").val());
  218. var otherR=parseFloat($("#otherR").val().trim());
  219. if(typeof(travelR)=="number"){
  220. travelR=0;
  221. }
  222. if(typeof(trainR)=="number"){
  223. trainR=0;
  224. }
  225. // if(typeof(otherR)=="number"){
  226. // otherR=0;
  227. // }
  228. var RS=parseFloat($i)+parseFloat(travelR)+parseFloat(trainR)+parseFloat(otherR);
  229. $("#RS").html("¥"+RS.toFixed(2));
  230. });
  231. $("input[id^='travel_']").change(function() {
  232. $i=0;
  233. $("input[id^='travel_']").each(function(i){
  234. $i+=parseFloat(this.value);
  235. });
  236. $("#travelResult").html("¥"+$i.toFixed(2));
  237. $("#travelR").val($i.toFixed(2));
  238. var agencyR=$("#agencyR").val();
  239. var trainR=parseFloat($("#trainR").val());
  240. var otherR=parseFloat($("#otherR").val());
  241. var RS=parseFloat($i)+parseFloat(agencyR)+trainR+otherR;
  242. $("#RS").html("¥"+RS.toFixed(2));
  243. });
  244. $("input[id^='train_']").change(function() {
  245. $i=0;
  246. $("input[id^='train_']").each(function(i){
  247. $i+=parseFloat(this.value);
  248. });
  249. $("#trainResult").html("¥"+$i.toFixed(2));
  250. $("#trainR").val($i.toFixed(2));
  251. var agencyR=$("#agencyR").val();
  252. var otherR=parseFloat($("#otherR").val());
  253. var travelR=parseFloat($("#travelR").val());
  254. var RS=parseFloat($i)+parseFloat(agencyR)+travelR+otherR;
  255. $("#RS").html("¥"+RS.toFixed(2));
  256. });
  257. $("input[id^='other_']").change(function() {
  258. $i=0;
  259. $("input[id^='other_']").each(function(i){
  260. $i+=parseFloat(this.value);
  261. });
  262. $("#otherResult").html("¥"+$i.toFixed(2));
  263. $("#otherR").val($i.toFixed(2));
  264. var agencyR=$("#agencyR").val();
  265. var travelR=parseFloat($("#travelR").val());
  266. var trainR=parseFloat($("#trainR").val());
  267. if(typeof(travelR)=="number"){
  268. travelR=0;
  269. }
  270. if(typeof(trainR)=="number"){
  271. trainR=0;
  272. }
  273. if(typeof(otherR)=="number"){
  274. otherR=0;
  275. }
  276. var RS=parseFloat($i)+parseFloat(agencyR)+parseFloat(travelR)+parseFloat(trainR);
  277. $("#RS").html("¥"+RS.toFixed(2));
  278. });
  279. $("a[id^='getStaffInfo']").click(function(){
  280. var username=$(this).attr('data');
  281. var url="/getStaffInfo";
  282. $.ajax({
  283. url:url,
  284. type: "post",
  285. cache: false,
  286. dataType: "json",
  287. data: {
  288. username:username
  289. },
  290. global: true,
  291. success: function(data){
  292. if(data.success){
  293. alert('请重新登录');
  294. }
  295. $('#staffInfo').html(data.html);
  296. $('#staffInfo').show();
  297. $('#longleLog').hide();
  298. $('#clientInfo').hide();
  299. $('#changeCompany').hide();
  300. },
  301. error:function(err){
  302. }
  303. });
  304. });
  305. $("a[id^='getClientInfo']").click(function(){
  306. var client=$(this).attr('data');
  307. var url="/getClientInfo";
  308. $.ajax({
  309. url:url,
  310. type: "post",
  311. cache: false,
  312. dataType: "json",
  313. data: {
  314. client:client
  315. },
  316. global: true,
  317. success: function(data){
  318. if(data.success){
  319. alert('请重新登录');
  320. }
  321. $('#clientInfo').html(data.html);
  322. $('#clientInfo').show();
  323. $('#staffInfo').hide();
  324. $('#longleLog').hide();
  325. $('#addClient').hide();
  326. $('#changeCompany').hide();
  327. autoFlashHeight();
  328. },
  329. error:function(err){
  330. autoFlashHeight();
  331. }
  332. });
  333. });
  334. $("a[id^='getCompanyInfo']").click(function(){
  335. alert('dd');
  336. });
  337. $("a[id^='getLongleLog_']").click(function() {
  338. var lid=$(this).attr('data');
  339. var url="/ajaxGetLongle";
  340. $.ajax({
  341. url:url,
  342. type: "post",
  343. cache: false,
  344. dataType: "json",
  345. data: {
  346. lid:lid
  347. },
  348. global: true,
  349. success: function(data){
  350. if(data.success==false){
  351. alert('请重新登录');
  352. }
  353. $("#klid").val(data.klid);
  354. $("#longleTitle").html(data.longle.key_num);
  355. var lka='<a href="javascript:void(0)" onclick="getStaffInfo(\''+data.longle.responsible+'\')" >'+data.longle.responsible+'</a>';
  356. $("#longleResponsible").html(lka);
  357. var kk="";
  358. if(data.longle.alloted_time!="")
  359. kk="期限:"+data.longle.alloted_time;
  360. $("#longleStatus").html(data.longle.statusT+"/"+data.longle.product+"/("+data.longle.version+")"+kk);
  361. $("#LongleLogHtml").html(data.longleLogHtml);
  362. if(data.longle.status>=3){
  363. $("#longleStatus_5").attr('disabled',false);
  364. $("#longleStatus_6").attr('disabled',false);
  365. $("#longleStatus_7").attr('disabled',false);
  366. $("#longleStatus_8").attr('disabled',false);
  367. }
  368. $('#staffInfo').hide();
  369. $("#longleLog").show();
  370. $('#clientInfo').hide();
  371. autoFlashHeight();
  372. },
  373. error:function(err){
  374. // easyDialog.open({
  375. // container : { content : '请输入正确的参数'},
  376. // autoClose : 1500,
  377. // overlay : false
  378. // });
  379. }
  380. });
  381. });
  382. $("a[node-invoice='INFO']").click(function() {
  383. var postData = $(this).attr("data-isKey");
  384. $("div[loading-msg='true']").html("<img src='/global/img/loadIco.gif' />");
  385. $("#nc").html('illegal request');
  386. var url = "/ajaxGetReceiptDetails";
  387. $.ajax({
  388. url : url,
  389. type : "post",
  390. cache : false,
  391. dataType : "json",
  392. data : {
  393. serial : postData
  394. },
  395. global : true,
  396. success : function(data) {
  397. if (data.status == 1) {
  398. //$("div[loading-msg='true']").html("");
  399. $("#nc").html(data.html);
  400. }
  401. },
  402. error : function(err) {
  403. $("div[loading-msg='true']").html("");
  404. }
  405. });
  406. });
  407. $("form[name='recepitAdd']").validator({
  408. timely: 3,
  409. focusCleanup: true,
  410. theme:"yellow_top",
  411. rules: {
  412. remittanceBankType: function() {
  413. var rbt=$('select[node-rbt]').val();
  414. if(rbt==0)
  415. return false;
  416. return true;
  417. }
  418. },
  419. fields: {
  420. 'verify': 'required; ',
  421. 'explanation':'required; ',
  422. 'remittanceName':'required; ',
  423. 'bankName':'required; ',
  424. 'bankNumber':'required; ',
  425. 'coupletNumber':'required(remittanceBankType); '
  426. }
  427. });
  428. $("select[node-rbt]").change(function(){
  429. var rbt=$(this).val();
  430. if(rbt==0){
  431. $("tr[node-cn]").hide();
  432. }else if(rbt==1){
  433. $("tr[node-cn]").show();
  434. }
  435. });
  436. //培训班结算
  437. $("form[name='receiptTrainAdd']").validator({
  438. timely: 3,
  439. focusCleanup: true,
  440. theme:"yellow_top",
  441. rules: {
  442. remittanceBankType: function() {
  443. var rbt=$('select[node-rbt]').val();
  444. if(rbt==0)
  445. return false;
  446. return true;
  447. }
  448. },
  449. fields: {
  450. 'verify': 'required; ',
  451. 'explanation':'required; ',
  452. 'remittanceName':'required; ',
  453. 'bankName':'required; ',
  454. 'bankNumber':'required; ',
  455. 'coupletNumber':'required(remittanceBankType); ',
  456. 'trainName':'required; ',
  457. 'trainStartDate':'required; ',
  458. 'trainEndDate':'required; ',
  459. //'participants':'required; ',
  460. //'freeParticipants':'required; ',
  461. 'trainAddress':'required; ',
  462. }
  463. });
  464. //培训班结算-添加支出
  465. $("form[name='receiptTrainItemAdd']").validator({
  466. timely: 3,
  467. focusCleanup: true,
  468. theme:"yellow_right",
  469. fields: {
  470. 'price': 'required; ',
  471. 'date':'required; ',
  472. 'inputer':'required; '
  473. }
  474. });
  475. //培训班结算-添加讲师
  476. $("form[name='receiptTrainLecturerAdd']").validator({
  477. timely: 3,
  478. focusCleanup: true,
  479. theme:"yellow_right",
  480. fields: {
  481. 'ltype':'required; ',
  482. 'lecturerName':'required; ',
  483. 'price': 'required; ',
  484. 'schoolDay':'required; '
  485. }
  486. });
  487. //h5文件上传
  488. var numFilesUploaded=0;
  489. $("input[enclosurFile]").change(function() {
  490. var form_data = new FormData();
  491. var file_data = $(this).prop("files")[0];
  492. form_data.append("Filename", file_data.name);
  493. form_data.append("Filedata", file_data);
  494. $.ajax({
  495. type: "POST",
  496. url: "/swfupload",
  497. dataType : "json",
  498. processData: false, // 注意:让jQuery不要处理数据
  499. contentType: false, // 注意:让jQuery不要设置contentType
  500. data: form_data
  501. }).success(function(msg) {
  502. var status = document.getElementById("divStatus");
  503. numFilesUploaded+=1;
  504. status.innerHTML = file_data.name+"上传成功 <br/>"+numFilesUploaded+" 个文件已上传.";
  505. var en=$('#enclosurName').val();
  506. if (en!='')
  507. $('#enclosurName').val(en+'-'+msg.filename);
  508. else
  509. $('#enclosurName').val(msg.filename);
  510. //页面展示上传内容
  511. var tr = document.createElement("tr");
  512. tr.id=msg.id;
  513. var td1 = document.createElement("td");
  514. td1.innerHTML = '<a href="#" target="_blank">'+file_data.name+'</a>';
  515. var td2 = document.createElement("td");
  516. td2.innerHTML = toDecimal2(file_data.size/1024)+'kb';
  517. var td3 = document.createElement("td");
  518. td3.innerHTML = '<a href="javascript:void(0)" onclick="delEnclosurName(\''+msg.filename+'\',\''+msg.id+'\')" >删除</a>';
  519. tr.appendChild(td1);
  520. tr.appendChild(td2);
  521. tr.appendChild(td3);
  522. var kt=document.getElementById('KT');
  523. if(kt!=null)
  524. kt.appendChild(tr);
  525. }).fail(function(msg) {
  526. //console.log(msg);
  527. });
  528. });
  529. })
  530. function delEnclosurByKey(id){
  531. var url = "/ajaxRemEnclousur";
  532. $.ajax({
  533. url : url,
  534. type : "post",
  535. cache : false,
  536. dataType : "json",
  537. data : {
  538. key : id
  539. },
  540. global : true,
  541. success : function(data) {
  542. if (data.status == 1) {
  543. $('#'+id).remove();
  544. }
  545. },
  546. error : function(err) {
  547. }
  548. });
  549. }
  550. function toDecimal2(x) {
  551. var f = parseFloat(x);
  552. if (isNaN(f)) {
  553. return false;
  554. }
  555. var f = Math.round(x*100)/100;
  556. var s = f.toString();
  557. var rs = s.indexOf('.');
  558. if (rs < 0) {
  559. rs = s.length;
  560. s += '.';
  561. }
  562. while (s.length <= rs + 2) {
  563. s += '0';
  564. }
  565. return s;
  566. }
  567. function delEnclosurName(name,id){
  568. var en=$('#enclosurName').val();
  569. var newName=en.replace(name,'');
  570. $('#enclosurName').val(newName);
  571. $('#'+id).remove();
  572. }
  573. function selectToolTipCl(name){
  574. var e = is_ie ? event : selectToolTipCl.caller.arguments[0];
  575. obj = is_ie ? e.srcElement : e.target;
  576. var arr = document.getElementsByName(name);
  577. var k = arr.length;
  578. for ( var i = 0; i < k; i++) {
  579. arr[i].checked = obj.checked;
  580. }
  581. $('#addToolTag').hide();
  582. }
  583. function selectTagCl(name){
  584. var e = is_ie ? event : selectTagCl.caller.arguments[0];
  585. obj = is_ie ? e.srcElement : e.target;
  586. var arr = document.getElementsByName(name);
  587. var k = arr.length;
  588. for ( var i = 0; i < k; i++) {
  589. arr[i].checked = obj.checked;
  590. }
  591. }
  592. function checkall(name) {
  593. var e = is_ie ? event : checkall.caller.arguments[0];
  594. obj = is_ie ? e.srcElement : e.target;
  595. var arr = document.getElementsByName(name);
  596. var k = arr.length;
  597. for ( var i = 0; i < k; i++) {
  598. arr[i].checked = obj.checked;
  599. }
  600. }
  601. if (is_ie)
  602. document.documentElement.addBehavior("#default#userdata");
  603. var userAgent = navigator.userAgent.toLowerCase();
  604. var is_ie = (userAgent.indexOf('msie') != -1 && !is_opera) && userAgent.substr(userAgent.indexOf('msie') + 5, 3);