mode_hrsalary.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. var initshujubs=false,yunci=0;
  2. function initbodys(){
  3. $('#AltS').before('<input type="button" style="background:#888888" onclick="return initshuju()" value="初始数据" class="webbtn">&nbsp; &nbsp;');
  4. $(form('uname')).blur(function(){
  5. chuangeusername();
  6. });
  7. if(mid==0)jisuantongzi();
  8. //核算的
  9. var actlx = js.request('actlx');
  10. if(actlx=='hesuan'){
  11. if(isedit==1){
  12. jisuantongzi();
  13. setTimeout(function(){
  14. initshuju(function(){
  15. setTimeout('hesuanwancheng()',200); //延时保存
  16. });
  17. },100);
  18. }else{
  19. try{parent.js.msgerror('无权限核算编辑');}catch(e){}
  20. }
  21. }
  22. }
  23. //自动核算完成
  24. function hesuanwancheng(){
  25. c.boolint = 1;
  26. c.save();
  27. }
  28. function saveerror(msg){
  29. if(c.boolint!=1)return;
  30. try{parent.js.msgerror(msg);}catch(e){}
  31. }
  32. c.onselectdata['month']=function(){
  33. chuangeusername();
  34. };
  35. function initshuju(fun){
  36. var xuid=form('xuid').value,month=form('month').value;
  37. if(!fun)fun=function(){};
  38. if(xuid==''){
  39. js.msg('msg','请选择人员');
  40. return;
  41. }
  42. if(month==''){
  43. js.msg('msg','请选择月份');
  44. return;
  45. }
  46. js.ajaxbool=false;
  47. js.msg('wait','初始化中...');
  48. js.setmsg();
  49. initshujubs = false;
  50. js.ajax(geturlact('initdatas'),{'xuid':xuid,'month':month},function(adds){
  51. js.msg('success','初始化完成,请认真核对');
  52. for(var i in adds){
  53. if(form(i))form(i).value=adds[i];
  54. }
  55. jisuantongzi();
  56. initshujubs=true;
  57. fun();
  58. },'get,json');
  59. }
  60. function changesubmitbefore(){
  61. jisuantongzi();
  62. }
  63. function changesubmit(){
  64. if(!initshujubs){
  65. var bo1 = form('taxes') && parseFloat(form('taxes').value)==0;
  66. var bo2 = form('socials') && parseFloat(form('socials').value)==0;
  67. if(mid=='0' || bo1 || bo2){
  68. return '请先初始数据';
  69. }
  70. }
  71. }
  72. //个人所得税计算公式,起征点3500
  73. function faxgeren(v){
  74. var jshu = 0.03;
  75. if(v<=0){
  76. return 0;
  77. }else if(v<=1500){
  78. return v*0.03;
  79. }else if(v<=4500){
  80. return v*0.10-105;
  81. }else if(v<=9000){
  82. return v*0.20-555;
  83. }else if(v<=35000){
  84. return v*0.25-1005;
  85. }else if(v<=55000){
  86. return v*0.30-2755;
  87. }else if(v<=80000){
  88. return v*0.35-5505;
  89. }else{
  90. return v*0.45-13505;
  91. }
  92. return 0;
  93. }
  94. //个人所得税计算公式,起征点5000
  95. function faxgerenn(v){
  96. if(v<=0){
  97. return 0;
  98. }else if(v<=3000){
  99. return v*0.03;
  100. }else if(v<=12000){
  101. return v*0.10-210;
  102. }else if(v<=25000){
  103. return v*0.20-1410;
  104. }else if(v<=35000){
  105. return v*0.25-2660;
  106. }else if(v<=55000){
  107. return v*0.30-4410;
  108. }else if(v<=80000){
  109. return v*0.35-7160;
  110. }else{
  111. return v*0.45-15160;
  112. }
  113. return 0;
  114. }
  115. //公式触发
  116. oninputblur=function(nae,zb, o1){
  117. jisuantongzi();
  118. }
  119. var jisuantongzitime;
  120. function jisuantongzi(){
  121. yunci++;
  122. clearTimeout(jisuantongzitime);
  123. jisuantongzitime=setTimeout('yunci=0',100);
  124. if(yunci>10)return;
  125. var i,len=arr.length;
  126. var gw = 0,val=0,d,slx;
  127. if(form('postjt'))gw=parseFloat(form('postjt').value);
  128. var yf=gw+0,sf=gw+0;//应发,实发
  129. //0|字段,1|增加,2|减少,3|仅实发增加,4|仅实发减少,5|仅应发增加,6|仅应发减少
  130. for(i=0;i<len;i++){
  131. d = arr[i];
  132. val=0;
  133. slx=d.suantype;
  134. if(form(d.fields))val=parseFloat(form(d.fields).value);
  135. if(slx==1 || slx==5)yf=yf+val;//应发增加
  136. if(slx==2 || slx==6)yf=yf-val;//应发减少
  137. if(slx==1 || slx==3)sf=sf+val;//实发增加
  138. if(slx==2 || slx==4)sf=sf-val;//实发减少
  139. }
  140. form('money').value=js.float(sf); //实发
  141. form('mones').value=js.float(yf); //应发
  142. setTimeout('c.rungongsi()',10);
  143. }
  144. function chuangeusername(){
  145. var xuid=form('xuid').value,month=form('month').value;
  146. //切换人员和月份
  147. js.loading();
  148. js.ajax(geturlact('changemonth'),{'xuid':xuid,'month':month},function(a){
  149. if(a){
  150. var url = '?a='+js.request('a')+'&m=input&d=flow&num=hrsalary&mid='+a.mid+'&callback='+js.request('callback')+'';
  151. if(a.mid==0)url+='&xuid='+xuid+'&month='+month+'';
  152. js.location(url);
  153. }
  154. },'get,json');
  155. return;
  156. initshujubs=false;
  157. if(xuid!='')js.ajax(geturlact('changeuname'),{'xuid':xuid},function(a){
  158. if(a){
  159. form('udeptname').value=a.deptname;
  160. form('ranking').value=a.ranking;
  161. }
  162. },'get,json');
  163. }