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

177 lines
8.2 KiB
JavaScript
Raw Normal View History

2021-11-03 09:53:27 +00:00
/**
* 一个收入详情的字段
*/
2021-12-09 11:49:42 +00:00
//INCOME_DETAIL_ARR=["type","name","unit","amount","price","taxRate","totalTaxInclude","totalTaxExclude"];
INCOME_DETAIL={
2022-01-13 07:33:01 +00:00
"num":[false,"序号","string"],
2022-01-06 06:11:26 +00:00
"type":[true,"类别","string"],
"name":[true,"名称","string"],
"unit":[true,"单位","string"],
"amount":[true,"数量","string"],
2022-01-10 08:14:06 +00:00
"price":[true,"单价","price"],
2022-01-06 06:11:26 +00:00
"taxRate":[true,"税率","number"],
"totalTaxInclude":[true,"含税总金额","number"],
"totalTaxExclude":[true,"不含税金额","number"]
2021-12-09 11:49:42 +00:00
};
2021-11-03 09:53:27 +00:00
2021-12-31 07:47:30 +00:00
/*$(function () {
2021-11-03 10:02:44 +00:00
$("#income-detail").click(function () {
$('#my-prompt-income-detail').modal({
relatedTarget: this,
2021-12-08 08:35:49 +00:00
closeOnConfirm:false,
2021-11-03 10:02:44 +00:00
onConfirm: function(e) {
//不能使用e.data因为无法获取动态添加的
var data = collectData("am-modal-prompt-input-income");
2021-12-09 11:49:42 +00:00
//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);
}
2021-11-03 10:02:44 +00:00
},
onCancel: function(e) {
}
});
});
$("#incomeAddBtn").click(function () {
appendTrIncome();
});
2021-12-31 07:47:30 +00:00
});*/
2021-12-31 09:05:45 +00:00
$(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) {
}
});
});
});
2021-12-31 07:47:30 +00:00
//保存收入明细表
$(function () {
$("#incomeTableSave").click(function () {
var data = collectData("am-modal-prompt-input-income");
data = prepareAjaxDataVerify(data, INCOME_DETAIL, $("#id").val());
if(data.details){
postAjax(base+"/project/budgetEditSaveIncomeDetail", data, updateIncomeData);
}
});
$("#incomeAddBtn").click(function () {
appendTrIncome();
});
2021-11-03 10:02:44 +00:00
});
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-12-27 01:37:46 +00:00
$("input[name='incomeDeviceTaxInclude']").val(f2Fixed(deviceTaxInclude));
$("input[name='incomeDeviceTaxExclude']").val(f2Fixed(deviceTaxExclude));
$("input[name='incomeEngineerTaxInclude']").val(f2Fixed(engineerTaxInclude));
$("input[name='incomeEngineerTaxExclude']").val(f2Fixed(engineerTaxExclude));
$("input[name='incomeServiceTaxInclude']").val(f2Fixed(serviceTaxInclude));
$("input[name='incomeServiceTaxExclude']").val(f2Fixed(serviceTaxExclude));
2021-11-03 09:53:27 +00:00
2021-12-27 01:37:46 +00:00
$("input[name='incomeTotalTaxInclude']").val(f2Fixed(deviceTaxInclude+engineerTaxInclude+serviceTaxInclude));
$("input[name='incomeTotalTaxExclude']").val(f2Fixed(deviceTaxExclude+engineerTaxExclude+serviceTaxExclude));
2021-11-06 06:45:57 +00:00
2021-12-06 08:48:05 +00:00
$(".input-total-title-sale-income-budget-plan").val($("input[name='incomeTotalTaxInclude']").val());
2021-12-27 01:37:46 +00:00
$(".input-total-title-total-income-budget-plan").val(f2Fixed(f2($("input[name='incomeTotalTaxInclude']").val())
+f2($(".input-total-title-earnest-money-income-budget-plan").val())));
2021-11-06 06:45:57 +00:00
updateProjectContributionProfitRate();
2021-12-01 09:08:52 +00:00
2021-12-09 12:09:45 +00:00
layuiAlert("保存成功");
2021-12-08 08:47:19 +00:00
$('#my-prompt-income-detail').modal('close');
2021-11-03 09:53:27 +00:00
}
/**
* 收入明细增加一行
*/
function appendTrIncome() {
var template = '<tr>\n' +
2022-01-13 07:33:01 +00:00
' <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income input-budget-num" readonly></td>\n' +
2021-11-03 09:53:27 +00:00
' <td>\n' +
2021-12-01 10:58:47 +00:00
' <select style="width: 80px;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' +
' <td><input type="number" min="0" max="99999999" step="1" maxlength="8" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-amount input-changeable-amount-income"></td>\n' +
' <td><input type="text" min="0.00" max="9999999999.99" step="0.01" maxlength="19" class="price am-modal-prompt-input am-modal-prompt-input-income input-changeable-price input-changeable-price-income"></td>\n' +
' <td><input type="text" min="0.00" max="99.99" step="0.01" maxlength="5" class="number am-modal-prompt-input am-modal-prompt-input-income input-changeable-tax-rate input-changeable-tax-rate-income"></td>\n' +
' <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-total-tax-include input-changeable-total-tax-include-income" readonly></td>\n' +
' <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-total-tax-exclude input-changeable-total-tax-exclude-income" readonly></td>\n' +
2022-04-12 10:22:12 +00:00
' <td><button type="button" style="margin-top: 10px" class="am-btn am-btn-danger 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>';
$("#incomeTotal").before(template);
2021-11-03 09:53:27 +00:00
//重新绑定删除事件和input修改事件
bindDeleteBtn();
2022-01-13 07:33:01 +00:00
bindNum();
2021-11-03 09:53:27 +00:00
bindChangeableInput();
bindIncomeTotal();
//绑定数字输入框保留两位小数
bindNumberInput();
}
/**
* 绑定每个可改变的输入框修改后改变对应输入框的值
*/
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");
});
//单价改变
$(".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");
});
//税率改变
$(".input-changeable-tax-rate-income").change(function () {
updateTotal("input-changeable-total-tax-exclude-income", "input-changeable-total-total-tax-exclude-income");
});
2021-11-03 09:53:27 +00:00
}