fourcal/src/main/resources/static/assets/js/project_budget_income.js

95 lines
4.6 KiB
JavaScript
Raw Normal View History

2021-11-03 09:53:27 +00:00
/**
* 一个收入详情的字段
*/
INCOME_DETAIL_ARR=["type","name","unit","amount","price","taxRate","totalTaxInclude","totalTaxExclude"];
2021-11-03 10:02:44 +00:00
$(function () {
$("#income-detail").click(function () {
$('#my-prompt-income-detail').modal({
relatedTarget: this,
onConfirm: function(e) {
//不能使用e.data因为无法获取动态添加的
var data = collectData("am-modal-prompt-input-income");
2021-11-24 12:36:50 +00:00
data = prepareAjaxData(data, INCOME_DETAIL_ARR, $("#id").val(),false);
2021-11-08 06:41:33 +00:00
postAjax(base+"/project/budgetEditSaveIncomeDetail", data, updateIncomeData);
2021-11-03 10:02:44 +00:00
},
onCancel: function(e) {
}
});
});
$("#incomeAddBtn").click(function () {
appendTrIncome();
});
});
2021-11-03 09:53:27 +00:00
/**
* 更新页面收入的数据累加
*/
2021-11-08 06:41:33 +00:00
function updateIncomeData(data,returnData) {
var incomeDetails = data.details;
2021-11-03 09:53:27 +00:00
var deviceTaxInclude = 0;
var deviceTaxExclude = 0;
var engineerTaxInclude = 0;
var engineerTaxExclude = 0;
var serviceTaxInclude = 0;
var serviceTaxExclude = 0;
incomeDetails.forEach(function (t, number, ts) {
if(t["type"] == "1"){
//设备类
2021-11-05 09:01:26 +00:00
deviceTaxInclude += f2(t["totalTaxInclude"]);
deviceTaxExclude += f2(t["totalTaxExclude"]);
2021-11-03 09:53:27 +00:00
}else if(t["type"] == "2"){
//工程类
2021-11-05 09:01:26 +00:00
engineerTaxInclude += f2(t["totalTaxInclude"]);
engineerTaxExclude += f2(t["totalTaxExclude"]);
2021-11-03 09:53:27 +00:00
}else if(t["type"] == "3"){
//服务类
2021-11-05 09:01:26 +00:00
serviceTaxInclude += f2(t["totalTaxInclude"]);
serviceTaxExclude += f2(t["totalTaxExclude"]);
2021-11-03 09:53:27 +00:00
}
});
2021-11-06 13:49:44 +00:00
$("input[name='incomeDeviceTaxInclude']").val(f2(deviceTaxInclude));
$("input[name='incomeDeviceTaxExclude']").val(f2(deviceTaxExclude));
$("input[name='incomeEngineerTaxInclude']").val(f2(engineerTaxInclude));
$("input[name='incomeEngineerTaxExclude']").val(f2(engineerTaxExclude));
$("input[name='incomeServiceTaxInclude']").val(f2(serviceTaxInclude));
$("input[name='incomeServiceTaxExclude']").val(f2(serviceTaxExclude));
2021-11-03 09:53:27 +00:00
2021-11-06 06:45:57 +00:00
$("input[name='incomeTotalTaxInclude']").val(f2(deviceTaxInclude+engineerTaxInclude+serviceTaxInclude));
$("input[name='incomeTotalTaxExclude']").val(f2(deviceTaxExclude+engineerTaxExclude+serviceTaxExclude));
updateProjectContributionProfitRate();
2021-11-03 09:53:27 +00:00
}
/**
* 收入明细增加一行
*/
function appendTrIncome() {
var template = '<tr>\n' +
' <td>\n' +
2021-11-24 13:35:12 +00:00
' <select style="width: auto;float: left;" class="am-modal-prompt-input am-modal-prompt-input-income">\n' +
2021-11-03 09:53:27 +00:00
' <option value="1">设备类</option>\n' +
' <option value="2">工程类</option>\n' +
' <option value="3">服务类</option>\n' +
' </select>\n' +
' </td>\n' +
' <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income"></td>\n' +
' <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income"></td>\n' +
2021-11-08 01:55:22 +00:00
' <td><input type="number" min="0" max="99999999" step="1" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-amount"></td>\n' +
' <td><input type="number" min="0.00" max="99999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-price"></td>\n' +
' <td><input type="number" min="0.00" max="99.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-tax-rate"></td>\n' +
2021-11-03 09:53:27 +00:00
' <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-total-tax-include" readonly></td>\n' +
' <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-total-tax-exclude" readonly></td>\n' +
' <td><button type="button" class="am-btn am-btn-warning am-btn-xs am-round am-modal-line-delete"><span class="am-icon-minus"></span></button></td>\n' +
2021-11-03 09:53:27 +00:00
' </tr>';
$("#incomeTable").append(template);
//重新绑定删除事件和input修改事件
bindDeleteBtn();
bindChangeableInput();
//绑定数字输入框保留两位小数
bindNumberInput();
2021-11-03 09:53:27 +00:00
}