/** * 一个收入详情的字段 */ //INCOME_DETAIL_ARR=["type","name","unit","amount","price","taxRate","totalTaxInclude","totalTaxExclude"]; INCOME_DETAIL2={ "num":[false,"序号","string"], "type":[false,"类别","string"], "name":[false,"名称","string"], "spec":[false,"规格类型","string"], "param":[false,"参数","string"], "unit":[false,"单位","string"], "amount":[false,"数量","number"], "price":[false,"单价","price"], "taxRate":[false,"税率","number"], "totalTaxInclude":[false,"含税总金额","number"], "totalTaxExclude":[false,"不含税金额","number"], "totalTax":[false,"税金","number"] }; INCOME_DETAIL={ "num":[false,"序号","string"], "type":[true,"类别","string"], "name":[true,"名称","string"], "spec":[true,"规格类型","string"], "param":[true,"参数","string"], "unit":[true,"单位","string"], "amount":[true,"数量","number"], "price":[true,"单价","price"], "taxRate":[true,"税率","number"], "totalTaxInclude":[true,"含税总金额","number"], "totalTaxExclude":[true,"不含税金额","number"], "totalTax":[true,"税金","number"] }; /*$(function () { $("#income-detail").click(function () { $('#my-prompt-income-detail').modal({ relatedTarget: this, closeOnConfirm:false, onConfirm: function(e) { //不能使用e.data,因为无法获取动态添加的 var data = collectData("am-modal-prompt-input-income"); //data = prepareAjaxData(data, INCOME_DETAIL_ARR, $("#id").val(),false); data = prepareAjaxDataVerify(data, INCOME_DETAIL, $("#id").val()); if(data.details){ postAjax(base+"/project/budgetEditSaveIncomeDetail", data, updateIncomeData); } }, onCancel: function(e) { } }); }); $("#incomeAddBtn").click(function () { appendTrIncome(); }); });*/ $(function () { $("#income-detail").click(function () { $('#my-prompt-income-detail').modal({ relatedTarget: this, closeOnConfirm:false, onConfirm: function(e) { //不能使用e.data,因为无法获取动态添加的 var data = collectData("am-modal-prompt-input-income"); //data = prepareAjaxData(data, INCOME_DETAIL_ARR, $("#id").val(),false); data = prepareAjaxDataVerify(data, INCOME_DETAIL2, $("#id").val()); if(data.details){ postAjax(base+"/project/budgetEditSaveIncomeDetail", data, updateIncomeData); } }, onCancel: function(e) { } }); }); }); //保存收入明细表 $(function () { $("#incomeTableSave").click(function () { var data = collectData("am-modal-prompt-input-income"); data = prepareAjaxDataVerify(data, INCOME_DETAIL2, $("#id").val()); if(data.details){ postAjax(base+"/project/budgetEditSaveIncomeDetail", data, updateIncomeData); } }); $("#incomeAddBtn").click(function () { appendTrIncome(); $("#incomeAddBtn").blur(); }); }); /** * 更新页面收入的数据【累加】 */ function updateIncomeData(data,returnData) { var incomeDetails = data.details; var deviceTaxInclude = 0; var deviceTaxExclude = 0; var deviceTax = 0; var engineerTaxInclude = 0; var engineerTaxExclude = 0; var engineerTax = 0; var serviceTaxInclude = 0; var serviceTaxExclude = 0; var serviceTax = 0; var incomeTaxRates = ""; var set = new Set(); incomeDetails.forEach(function (t, number, ts) { console.log("income income " + t["type"] + ", " + t["taxRate"] + ", " + t["totalTaxInclude"] + ", " + t["totalTaxExclude"]); if(t["type"] == "1"){ //设备类 deviceTaxInclude += f2(t["totalTaxInclude"]); deviceTaxExclude += f2(t["totalTaxExclude"]); deviceTax += f2(t["totalTax"]); }else if(t["type"] == "2"){ //工程类 engineerTaxInclude += f2(t["totalTaxInclude"]); engineerTaxExclude += f2(t["totalTaxExclude"]); engineerTax += f2(t["totalTax"]); }else if(t["type"] == "3"){ //服务类 serviceTaxInclude += f2(t["totalTaxInclude"]); serviceTaxExclude += f2(t["totalTaxExclude"]); serviceTax += f2(t["totalTax"]); } if (!set.has(t["taxRate"])) { incomeTaxRates += f2Fixed(t["taxRate"]) + "%,"; set.add(t["taxRate"]); } }); console.log("incomeTaxRates: " + incomeTaxRates); $("input[name='incomeDeviceTaxInclude']").val(f2Fixed(deviceTaxInclude)); $("input[name='incomeDeviceTaxExclude']").val(f2Fixed(deviceTaxExclude)); $("input[name='incomeDeviceTax']").val(f2Fixed(deviceTax)); $("input[name='incomeEngineerTaxInclude']").val(f2Fixed(engineerTaxInclude)); $("input[name='incomeEngineerTaxExclude']").val(f2Fixed(engineerTaxExclude)); $("input[name='incomeEngineerTax']").val(f2Fixed(engineerTax)); $("input[name='incomeServiceTaxInclude']").val(f2Fixed(serviceTaxInclude)); $("input[name='incomeServiceTaxExclude']").val(f2Fixed(serviceTaxExclude)); $("input[name='incomeServiceTax']").val(f2Fixed(serviceTax)); $("input[name='incomeTotalTaxInclude']").val(f2Fixed(deviceTaxInclude+engineerTaxInclude+serviceTaxInclude)); $("input[name='incomeTotalTaxExclude']").val(f2Fixed(deviceTaxExclude+engineerTaxExclude+serviceTaxExclude)); $("input[name='incomeTotalTax']").val(f2Fixed(deviceTax+engineerTax+serviceTax)); $("input[name='costCompanyManageTaxExclude']").val(f2Fixed(0.028*(deviceTaxExclude+engineerTaxExclude+serviceTaxExclude))); $(".input-total-title-sale-income-budget-plan").val($("input[name='incomeTotalTaxInclude']").val()); $(".input-total-title-total-income-budget-plan").val(f2Fixed(f2($("input[name='incomeTotalTaxInclude']").val()) +f2($(".input-total-title-earnest-money-income-budget-plan").val()))); updateProjectContributionProfitRate(); if (incomeTaxRates.length > 0) { $(".incomeTaxRates").text(incomeTaxRates.substr(0, incomeTaxRates.length - 1)); } layuiAlert("保存成功"); $('#my-prompt-income-detail').modal('close'); } /** * 收入明细增加一行 */ function appendTrIncome() { var template = '\n' + ' \n' + ' \n' + ' \n' + ' \n' + ' \n' + ' \n' + ' \n' + ' \n' + ' \n' + ' \n' + ' \n' + ' \n' + ' \n' + ' \n' + ' \n' + ' '; $("#incomeTotal").before(template); //重新绑定删除事件和input修改事件 bindDeleteBtnIncome(); bindNum(); bindChangeableInput(); bindIncomeTotal(); //绑定数字输入框保留两位小数 bindNumberInput(); if ($('#incomeTable').find('tbody') && $('#incomeTable').find('tbody')[0]) { $('#incomeTable').find('tbody')[0].scrollTop = $('#incomeTable').find('tbody')[0].scrollHeight } } /** * 绑定每一行的删除事件,删除当前的一行tr,修改总计值 */ function bindDeleteBtnIncome() { $(".am-modal-line-delete").click(function () { //删除自己对应的tr $(this).parent().parent().remove(); bindNum(); updateAmount("input-changeable-amount-income", "input-changeable-total-amount-income"); updateTotal("input-changeable-total-tax-include-income", "input-changeable-total-total-tax-include-income"); updateTotal("input-changeable-total-tax-exclude-income", "input-changeable-total-total-tax-exclude-income"); updateTotal("input-changeable-total-tax-income", "input-changeable-total-total-tax-income"); }); } /** * 绑定每个可改变的输入框,修改后改变对应输入框的值 */ function bindIncomeTotal() { //数量改变 $(".input-changeable-amount-income").change(function () { updateAmount("input-changeable-amount-income", "input-changeable-total-amount-income"); updateTotal("input-changeable-total-tax-include-income", "input-changeable-total-total-tax-include-income"); updateTotal("input-changeable-total-tax-exclude-income", "input-changeable-total-total-tax-exclude-income"); updateTotal("input-changeable-total-tax-income", "input-changeable-total-total-tax-income"); }); //单价改变 $(".input-changeable-price-income").change(function () { updateTotal("input-changeable-total-tax-include-income", "input-changeable-total-total-tax-include-income"); updateTotal("input-changeable-total-tax-exclude-income", "input-changeable-total-total-tax-exclude-income"); updateTotal("input-changeable-total-tax-income", "input-changeable-total-total-tax-income"); }); //税率改变 $(".input-changeable-tax-rate-income").change(function () { updateTotal("input-changeable-total-tax-exclude-income", "input-changeable-total-total-tax-exclude-income"); updateTotal("input-changeable-total-tax-income", "input-changeable-total-total-tax-income"); }); }