(function ($) { $(function () { var rateInput = $("#rate"), unitPriceRateInput = $("#unit_price_rate"), totalLoan = $("#total_loan"), unitPrice = $("#unit_price"); housePrice = $("#house_price"), houseSize = $("#house_size"), loanPercent = $("#loan_percent"), loanTimeSelect = $("#loan_time_select"), unitPriceLoanTimeSelect = $("#unit_pirce_loan_time_select"), loanTimeText = $("#loan_time_text"), averageCapitalLoanTimeText = $("#average_capital_loan_time_text"), firstPayText = $('[data-type="first_pay"]').children("#first_pay_text"), houseTotalPrice = $('[data-type="first_pay"]').children('[data-id="house_total_price"]'), totalRepayText = $("#total_repay_text"), interestText = $("#interest_text"), repayPerMonthText = $("#repay_permonth_text"), totalLoanText = $("#total_loan_text"), averageCapitalTotalLoanText = $("#average_capital_total_loan_text"), totalAverageCapitalRepayText = $("#total_average_capital_repay_text"), averageCapitalInterestText = $("#average_capital_interest_text"), firstMonthPayText = $("#first_month_pay_text"), lastMonthPayText = $("#last_month_pay_text"), repayDetailList = null; function setRate(timeSelect, rate_input, currentRateBtn) { if (currentRateBtn == undefined) { currentRateBtn = $("li.current").first() } var loan_time = parseInt(timeSelect.val()), rateValue = 0; if (loan_time == 1) { rateValue = business_rate_data["date_" + currentRateBtn.attr("data-date")][0] * currentRateBtn.attr("data-discount") } else { if (loan_time <= 3) { rateValue = business_rate_data["date_" + currentRateBtn.attr("data-date")][1] * currentRateBtn.attr("data-discount") } else { if (loan_time <= 5) { rateValue = business_rate_data["date_" + currentRateBtn.attr("data-date")][2] * currentRateBtn.attr("data-discount") } else { rateValue = business_rate_data["date_" + currentRateBtn.attr("data-date")][3] * currentRateBtn.attr("data-discount") } } } rate_input.val(rateValue.toFixed(2) + "").attr("data-value", rateValue.toFixed(5)); $('.error_msg[data-for="' + rate_input.attr("id") + '"]').hide().text("输入项不能为空"); rate_input.closest(".daikuan_total_inputbox").removeClass("error_tips") } $(document).delegate("[role=calculatorMethod_text],[role=setRate_do],[role=calculatorMethodTab_text],[role=start_calculator_btn],[role=calculator_btn_tip],[role=calculator_result_about],[role=lookDaikuanDetail_text],.daikuan_total_inputbox", START_EV, function (ev) { var thiz = $(this), parent = thiz.parent(), role = thiz.attr("role"), roleAddClass = thiz.attr("role-addClass"); switch (role) { case "calculatorMethod_text": case "calculatorMethodTab_text": case "start_calculator_btn": case "calculator_result_about": case "lookDaikuanDetail_text": case null: thiz.addClass("touched"); break; case "calculator_btn_tip": thiz.children().addClass("touched"); break; case "setRate_do": break } ev.stopPropagation(); isMove = false }); $(document).delegate("[role=calculatorMethod_text],[role=setRate_do],[role=calculatorMethodTab_text],[role=start_calculator_btn],[role=calculator_btn_tip],[role=calculator_result_about], .daikuan_total_inputbox", END_EV, function (ev) { if (isMove) { isMove = false } else { var thiz = $(this), role = thiz.attr("role"); switch (role) { case "calculatorMethod_text": var _tabs = $("#calculator_method_box1 span"), _index = _tabs.index(thiz), calMethodContainer = $(".calculator_method_container"), calMethodNrBox = calMethodContainer.find(".calculator_method_nr_box"); if (!thiz.hasClass("current")) { _tabs.removeClass("current"); thiz.addClass("current"); calMethodNrBox.hide(); calMethodNrBox.eq(_index).show(); thiz.removeClass("touched"); $(".error_msg").hide(); $(".error_tips").removeClass("error_tips"); $(".calculator_result_nr_p").text("0元"); if (_index == 1) { // $('.calculator_result_nr[data-type="first_pay"]').removeClass("display_none"); $('.sydk .calculator_result_nr[data-type="first_pay"]').show(); unitPriceLoanTimeSelect.trigger("change"); loanTimeText.text(unitPriceLoanTimeSelect.val()); averageCapitalLoanTimeText.text(unitPriceLoanTimeSelect.val()) } else { // $('.calculator_result_nr[data-type="first_pay"]').addClass("display_none"); $('.sydk .calculator_result_nr[data-type="first_pay"]').hide(); loanTimeSelect.trigger("change"); loanTimeText.text(loanTimeSelect.val()); averageCapitalLoanTimeText.text(loanTimeSelect.val()) } } break; case "setRate_do": var _setRateBoxs = thiz.parents(".calculator_method_nr_box").find(".set_rate_boxs"); if (_setRateBoxs.css("display") == "block") { _setRateBoxs.css("display", "none"); $(this).text("设置") } else { _setRateBoxs.css("display", "block"); $(this).text("收起") } thiz.removeClass("touched"); break; case "calculatorMethodTab_text": var _tabs = $("#repayment_method1 .calculator_method_tabs span"), _index = _tabs.index(thiz), _sons = $("#repayment_method1_nr .son"); _tabs.removeClass("current"); thiz.addClass("current"); _sons.hide(); _sons.eq(_index).show(); $("#start_calculate").attr("data-method", thiz.attr("data-method")); thiz.removeClass("touched"); var _loanTimeText = loanTimeText.text(); //$(".calculator_result_nr_p").text("0元"); loanTimeText.text(_loanTimeText); averageCapitalLoanTimeText.text(_loanTimeText); break; case "start_calculator_btn": var _data_method = thiz.attr("data-method"); if (_data_method == "same_rate") { console.log("等额本息——计算") } else { if (_data_method == "same_money") { console.log("等额本金——计算") } } thiz.removeClass("touched"); break; case "calculator_btn_tip": var calculatorBtnTip1 = $("#calculator_btn_tip1"); if (calculatorBtnTip1.css("display") == "block") { calculatorBtnTip1.css("display", "none") } else { calculatorBtnTip1.css("display", "block") } thiz.children().removeClass("touched"); break; case "calculator_result_about": var _tabs = $("#calculator_result_about1 .its_btn"), _index = _tabs.index(thiz), _sons = $("#calculator_result_about_nr1 .calculator_result_about_nr_box"); _tabs.removeClass("current"); thiz.addClass("current"); if (_sons.eq(_index).height() > 0) { _sons.hide(); _sons.eq(_index).hide() } else { _sons.hide(); _sons.eq(_index).show() } if (thiz.hasClass("it_have_use") && !thiz.data("hasClicked")) { $.ajax({ type: "post", url: "/calculator/getcount.js", cache: false, dataType: "json", data: { type: "1" }, success: function (json) { thiz.addClass("have_help"); var number = parseInt(thiz.text()); thiz.children(".it_have_users").html((++number) + "+1"); var _timer = setTimeout(function () { clearTimeout(_timer); thiz.removeClass("have_help") }, 999); thiz.data("hasClicked", true) } }) } thiz.removeClass("touched"); break; case "lookDaikuanDetail_text": thiz.removeClass("touched"); var _url = thiz.attr("href"); var _timer = setTimeout(function () { clearTimeout(_timer); window.open(_url) }, 100); ev.preventDefault(); break } } }); $(rateInput, unitPriceRateInput).bind("focus", function () { $('.error_msg[data-for="' + $(this).attr("id") + '"]').hide().text("输入项不能为空"); $(this).closest(".daikuan_total_inputbox").removeClass("error_tips") }).bind("input", function () { $(this).attr("data-value", $(this).val()) }); $(".sydk .set_rate_nr_r").children("li").bind(START_EV, function () { var $this = $(this); $this.closest(".set_rate_container").find(".current").removeClass("current"); $this.addClass("current"); if ($this.parent().attr("data-type") == "total_price") { setRate(loanTimeSelect, rateInput, $this) } else { setRate(unitPriceLoanTimeSelect, unitPriceRateInput, $this) } }); loanTimeSelect.change(function () { setRate(loanTimeSelect, rateInput, $("li.current").first()); loanTimeText.text(loanTimeSelect.val()); averageCapitalLoanTimeText.text(loanTimeSelect.val()) }); unitPriceLoanTimeSelect.change(function () { setRate(unitPriceLoanTimeSelect, unitPriceRateInput, $($("li.current").get(1))); averageCapitalLoanTimeText.text(unitPriceLoanTimeSelect.val()); loanTimeText.text(unitPriceLoanTimeSelect.val()) }); $("#start_calculate").click(function () { var calculateMethod = $("#calculator_method_box1").children(".current").text(), currentRate = calculateMethod != "单价计算" ? rateInput : unitPriceRateInput, currentLoanTimeSelect = loanTimeSelect; if (isTextValid() && parseFloat(currentRate.val()) < 100) { var total_loan = totalLoan.val() * 10000; //alert(total_loan); // alert(calculateMethod); if (calculateMethod == "单价计算") { var total_price = housePrice.val() * houseSize.val(); total_loan = (total_price * (parseInt(loanPercent.val()) / 10)).toFixed(2); firstPayText.text(formatNum(trimEnd((total_price - total_loan).toFixed(2), 0)) + "元"); houseTotalPrice.text(formatNum(trimEnd((total_price).toFixed(2), 0)) + "元"); currentLoanTimeSelect = unitPriceLoanTimeSelect; //alert(1); } //alert(total_loan); var lilv = currentRate.attr("data-value") / 100, month = +parseInt(currentLoanTimeSelect.val()) * 12, reypayMethod = $("#repayment_method1").find(".current").text(), calculateResult = $(".calculator_result_tab_box"); if (reypayMethod == "等额本息") { totalLoanText.text(formatNum(trimEnd((+total_loan).toFixed(2), 0)) + "元"); var per_month_money = getMonthMoney1(lilv, total_loan, month), total_repay = per_month_money * month; totalRepayText.text(formatNum(trimEnd(total_repay.toFixed(2), 0)) + "元"); interestText.text(formatNum(trimEnd((total_repay - total_loan).toFixed(2), 0)) + "元"); repayPerMonthText.text(formatNum(trimEnd(per_month_money.toFixed(2), 0)) + "元"); calculateResult.first().show(); $(calculateResult[1]).hide(); //alert(totalLoanText.text()); } else { var total_repay = 0; repayDetailList = new Array(); for (j = 0; j < month; j++) { var huankuan = getMonthMoney2(lilv, total_loan, month, j); total_repay += huankuan; repayDetailList[repayDetailList.length] = huankuan.toFixed(2) } calculateResult.first().hide(); $(calculateResult[1]).show(); averageCapitalTotalLoanText.text(formatNum(trimEnd((+total_loan).toFixed(2), 0)) + "元"); totalAverageCapitalRepayText.text(formatNum(trimEnd(total_repay.toFixed(2), 0)) + "元"); averageCapitalInterestText.text(formatNum(trimEnd((total_repay - total_loan).toFixed(2), 0)) + "元"); firstMonthPayText.text(formatNum(trimEnd(repayDetailList[0], 0)) + "元"); lastMonthPayText.text(formatNum(trimEnd(repayDetailList[repayDetailList.length - 1], 0)) + "元") } var top = $(this).offset().top; scroll(top, 100) } else { if (parseFloat(currentRate.val()) >= 100) { currentRate.closest(".daikuan_total_inputbox").addClass("error_tips"); $('.error_msg[data-for="' + currentRate.attr("id") + '"]').text("请输入正确的利率").show(); scroll($(".error_tips").first().offset().top - 5, 100); return false } } }); }) })(Zepto);