calculator.js 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. /*
  2. * @Author: Marte
  3. * @Date: 2017-10-16 11:53:22
  4. * @Last Modified by: Marte
  5. * @Last Modified time: 2017-11-03 16:01:44
  6. */
  7. 'use strict';
  8. $(function(){
  9. var $sumprice = $(".hous_sumprice"); //房款总额
  10. var $percentage = $(".bus_ipt_floor");//成数
  11. var $rate = $(".bus_ipt_rate");//货款利率
  12. var $Life = $(".Life_floor");//货款年限
  13. var $gdmoney = $(".gd_money");//公贷金额
  14. var $sdmoney = $(".sd_money");//商贷金额
  15. var $dkmoney = $(".dk_money");//贷款总额
  16. var $gdlilv = $(".gd_lilv");//公贷利率
  17. var $sdlilv = $(".sd-lilv");//商贷利率
  18. var reg = /^(?!0\d)\d{1,5}(\.\d{1,2})?$/;//正则
  19. // 图形
  20. var bxarr=[0,0,0];
  21. var bjarr=[0,0,0];
  22. echartMethod("de_echart",bxarr);
  23. echartMethod("dj_echart",bjarr);
  24. // 选择户型
  25. $(".house").on("click","li",function(){
  26. pullVal2($(this),".house_type");
  27. var datamoney = $(this).attr("data-money");
  28. var moneyz = Number(datamoney/10000);
  29. $sumprice.val((moneyz).toFixed(2));
  30. fxmoney();
  31. });
  32. // 选择首付成数
  33. $(".floor_pull").on("click","li",function(){
  34. pullVal2($(this),".bus_ipt_floor");
  35. fxmoney();
  36. });
  37. // 选择贷款年限
  38. $(".Life").on("click","li",function(){
  39. pullVal2($(this),".Life_floor");
  40. });
  41. // 组合贷款金额分析
  42. $(".hous_sumprice").bind('input propertychange', function() {
  43. $(".pit_txt").hide();
  44. $(".house_type").html("请选择户型")
  45. var _sumprice = Number($.trim($sumprice.val())); //房款总额
  46. if(!reg.test(_sumprice)){
  47. $(this).val(0);
  48. $(this).nextAll(".pit_txt").show();
  49. return false
  50. }
  51. fxmoney();
  52. });
  53. // 组合贷款金额分析公用方法
  54. function fxmoney(){
  55. var _sumprice = Number($.trim($sumprice.val())); //房款总额
  56. var _percentage = Number($.trim($percentage.attr("data-id")));//成数
  57. // 首期付款
  58. var _payment = (_sumprice * _percentage).toFixed(2);
  59. // 贷款总额
  60. var _loan = (_sumprice - _payment).toFixed(2);
  61. var gsloan = (_loan/2).toFixed(2);
  62. $dkmoney.val(_loan);
  63. $gdmoney.val(gsloan);
  64. $sdmoney.val(gsloan);
  65. }
  66. $(".gd_money").bind('input propertychange', function() {
  67. gsmoney($sdmoney,$(this));
  68. });
  69. $(".sd_money").bind('input propertychange', function() {
  70. gsmoney($gdmoney,$(this));
  71. });
  72. // 公,商金额公用方法
  73. function gsmoney(_cla,obj){
  74. var _sumprice = Number($.trim($sumprice.val())); //房款总额
  75. var _percentage = Number($.trim($percentage.attr("data-id")));//成数
  76. // 首期付款
  77. var _payment = (_sumprice * _percentage).toFixed(2);
  78. // 贷款总额
  79. var _loan = Number((_sumprice - _payment).toFixed(2));
  80. var money = Number(_loan - obj.val());
  81. if(_sumprice == ""){
  82. $sumprice.nextAll(".pit_txt").show();
  83. obj.val();
  84. }else {
  85. if(!reg.test(Number(obj.val()))){
  86. obj.val(0);
  87. _cla.val(_loan);
  88. return false
  89. }
  90. }
  91. if(obj.val() >= _loan){
  92. obj.val(_loan);
  93. _cla.val(0);
  94. }else{
  95. _cla.val((money).toFixed(2));
  96. }
  97. }
  98. // 选择贷款方式
  99. $(".loan").on("click","li",function(){
  100. pullVal2($(this),".loan_floor");
  101. if($(".loan_floor").text() == "公积金贷款"){
  102. $(".bus_ipt_rate").val("3.25");
  103. $(".group").hide();
  104. $(".goods").show();
  105. $(".countR_box").css('height', '460px');
  106. $(".p_tip").text("*公积金贷款基准利率3.25%");
  107. }else if($(".loan_floor").text() == "商业贷款"){
  108. $(".bus_ipt_rate").val("4.90");
  109. $(".group").hide();
  110. $(".goods").show();
  111. $(".countR_box").css('height', '460px');
  112. $(".p_tip").text("*商业贷款基准利率为4.90%");
  113. }else if($(".loan_floor").text() == "组合贷款"){
  114. $(".group").show();
  115. $(".goods").hide();
  116. var hgt = $(".countL").height();
  117. $(".countR_box").css('height', hgt - 80);
  118. $(".p_tip").text("*公积金贷款基准利率3.25%;商业贷款利率为4.90%");
  119. }
  120. });
  121. // 货款利率
  122. $(".bus_ipt_rate").bind('input propertychange', function() {
  123. lilv($(this));
  124. });
  125. // 公贷利率
  126. $(".gd_lilv").bind('input propertychange', function() {
  127. lilv($(this));
  128. });
  129. // 商贷利率
  130. $(".sd_lilv").bind('input propertychange', function() {
  131. lilv($(this));
  132. });
  133. //利率公共方法
  134. function lilv(_cla){
  135. $(".pit_txt").hide();
  136. var reg = /^(?!0\d)\d{1,3}(\.\d{1,5})?$/;
  137. var lv=Number(_cla.val());
  138. if(lv>100 || !reg.test(lv) || lv<0){
  139. _cla.nextAll(".pit_txt").show();
  140. _cla.val("");
  141. return false
  142. }
  143. }
  144. // 开始计算
  145. $(".reckon_but").click(function() {
  146. if($(".loan_floor").text() == "公积金贷款" || $(".loan_floor").text() == "商业贷款"){
  147. $(".pit_txt").hide();
  148. // 商业贷款
  149. var _sumprice = $.trim($sumprice.val()); //房款总额
  150. var _percentage = Number($.trim($percentage.attr("data-id")));//成数
  151. var _rate = $.trim($rate.val());//货款利率
  152. var _Life = Number($.trim($Life.attr("data-id")));//货款年限
  153. var yue = Number(_rate/12/100);
  154. // 判断是否输入
  155. if(_sumprice == ""){
  156. $sumprice.nextAll(".pit_txt").show();
  157. return false
  158. }else if(_rate == "" || _rate == 0){
  159. $rate.val("")
  160. $rate.nextAll(".pit_txt").show();
  161. return false
  162. }
  163. // 首期付款
  164. var _payment = (_sumprice * _percentage).toFixed(2);
  165. // 贷款总额
  166. var _loan = (_sumprice - _payment).toFixed(2);
  167. // 商贷本息
  168. var Principal = fdrCalculater.businessBx(_loan,yue,_Life);
  169. $(".bus_fstprice").text(_payment);// 首期付款
  170. $(".bus_loansum").text(_loan);// 贷款总额
  171. $(".bus_tab_bx .bus_bx_interest").text(Principal.bxlx);//利息总额
  172. $(".bus_tab_bx .avg_sum").text(Principal.bxsy);//月均还款
  173. var bxarr = [_payment,_loan,Principal.bxlx];//饼图
  174. echartMethod("de_echart",bxarr);
  175. // 商贷本金
  176. var corpus = fdrCalculater.businessBj(_loan,yue,_Life);
  177. $(".bus_tab_bj .sf_sum").text(corpus.bjsy);//首月还款
  178. $(".bus_tab_bj .monthcut").text(corpus.monthcut);//每月递减
  179. $(".bus_tab_bj .bus_bj_interest").text(corpus.bjlx);//利息总额
  180. var bjarr = [_payment,_loan,corpus.bjlx];//饼图
  181. echartMethod("dj_echart",bjarr);
  182. }else{
  183. var _sumprice = Number($.trim($sumprice.val())); //房款总额
  184. var _percentage = Number($.trim($percentage.attr("data-id")));//成数
  185. var _gdje = Number($.trim($gdmoney.val()));//公贷金额
  186. var _sdje = Number($.trim($sdmoney.val()));//商贷金额
  187. var _gdlv = Number($.trim($gdlilv.val()));//公贷利率
  188. var _sdlv = Number($.trim($sdlilv.val()));//商贷利率
  189. var _dkze = Number($.trim($dkmoney.val()));//贷款总额
  190. var _Life = Number($.trim($Life.attr("data-id")));//货款年限
  191. var gdyue = Number(_gdlv/12/100);//公贷利率
  192. var sdyue = Number(_sdlv/12/100);//公贷利率
  193. // 判断是否输入
  194. if(_sumprice == ""){
  195. $sumprice.nextAll(".pit_txt").show();
  196. return false
  197. }else if(_gdlv == "" || _gdlv == 0){
  198. $gdlilv.val("");
  199. $gdlilv.nextAll(".pit_txt").show();
  200. return false
  201. }else if(_sdlv =="" || _sdlv == 0){
  202. $sdlilv.val("");
  203. $sdlilv.nextAll(".pit_txt").show();
  204. return false
  205. }else if(_gdje == ""){
  206. $gdmoney.val(0);
  207. }else if(_sdje == ""){
  208. $sdmoney.val(0);
  209. }
  210. // 首期付款
  211. var _payment = (_sumprice * _percentage).toFixed(2);
  212. $(".bus_fstprice").text(_payment);
  213. $(".bus_loansum").text(_dkze);
  214. // 本息
  215. var gdPrincipal = fdrCalculater.businessBx(_gdje,gdyue,_Life);
  216. var sdPrincipal = fdrCalculater.businessBx(_sdje,sdyue,_Life);
  217. var zulx = (Number(gdPrincipal.bxlx) + Number(sdPrincipal.bxlx)).toFixed(2);//利息总额
  218. var zusy = (Number(gdPrincipal.bxsy) + Number(sdPrincipal.bxsy)).toFixed(2);//每月还款
  219. $(".bus_tab_bx .bus_bx_interest").text(zulx);//利息总额
  220. $(".bus_tab_bx .avg_sum").text(zusy);//月均还款
  221. var bxarr = [_payment,_dkze,zulx];//饼图
  222. echartMethod("de_echart",bxarr);
  223. // 本金
  224. var JgdPrincipal = fdrCalculater.businessBj(_gdje,gdyue,_Life);
  225. var JsdPrincipal = fdrCalculater.businessBj(_sdje,sdyue,_Life);
  226. var zuJlx = (Number(JgdPrincipal.bjlx) + Number(JsdPrincipal.bjlx)).toFixed(2);//利息总额
  227. var zuJsy = (Number(JgdPrincipal.bjsy) + Number(JsdPrincipal.bjsy)).toFixed(2);//每月还款
  228. var zuJdj = (Number(JgdPrincipal.monthcut) + Number(JsdPrincipal.monthcut)).toFixed(2);//每月递减
  229. $(".bus_tab_bj .bus_bj_interest").text(zuJlx);//利息总额
  230. $(".bus_tab_bj .sf_sum").text(zuJsy);//月均还款
  231. $(".bus_tab_bj .monthcut").text(zuJdj);//每月递减
  232. var bjarr = [_payment,_dkze,zuJlx];//饼图
  233. echartMethod("dj_echart",bjarr);
  234. }
  235. });
  236. });