/**
* 一个采购成本详情的字段
*/
COST_DETAIL_ARR=["type","category","name","unit","amount","price","taxRate","totalTaxInclude","totalTaxExclude"];
$(function () {
$("#cost-detail").click(function () {
$('#my-prompt-cost-detail').modal({
relatedTarget: this,
onConfirm: function(e) {
//不能使用e.data,因为无法获取动态添加的
var data = collectData("am-modal-prompt-input-cost");
data = prepareAjaxData(data, COST_DETAIL_ARR, $("#id").val());
postAjax(base+"/project/budgetEditSaveCostDetail", data, updateCostData);
},
onCancel: function(e) {
}
});
});
$("#costAddBtn").click(function () {
appendTrCost();
});
//绑定其他其他的输入框
bindOtherOtherChangeable();
//绑定采购明细中select联动事件
bindTypeSelectChange();
});
/**
* 采购成本增加一行
*/
function appendTrCost() {
var template = '
'+
' | '+
''+
''+
' | '+
' | '+
' | '+
' | '+
' | '+
' | '+
' | '+
' | '+
' | '+
'
';
$("#costTable").append(template);
//重新绑定删除事件和input修改事件
bindDeleteBtn();
//重新绑定
bindChangeableInput();
//绑定采购明细中select联动事件
bindTypeSelectChange();
}
/**
* 更新页面收入的数据【累加】
*/
function updateCostData(data, returnData) {
var details = data.details;
var deviceTaxInclude = 0;
var deviceTaxExclude = 0;
var buildTaxInclude = 0;
var buildTaxExclude = 0;
var serviceTaxInclude = 0;
var serviceTaxExclude = 0;
var otherTaxInclude = 0;
var otherTaxExclude = 0;
details.forEach(function (t, number, ts) {
if(t["type"] == "1"){
//设备类
deviceTaxInclude += f2(t["totalTaxInclude"]);
deviceTaxExclude += f2(t["totalTaxExclude"]);
}else if(t["type"] == "2"){
//施工类
buildTaxInclude += f2(t["totalTaxInclude"]);
buildTaxExclude += f2(t["totalTaxExclude"]);
}else if(t["type"] == "3"){
//服务类
serviceTaxInclude += f2(t["totalTaxInclude"]);
serviceTaxExclude += f2(t["totalTaxExclude"]);
}else if(t["type"] == "4"){
//其他类
otherTaxInclude += f2(t["totalTaxInclude"]);
otherTaxExclude += f2(t["totalTaxExclude"]);
}
});
$("input[name='costPurchaseDeviceTaxInclude']").val(f2(deviceTaxInclude));
$("input[name='costPurchaseDeviceTaxExclude']").val(f2(deviceTaxExclude));
$("input[name='costPurchaseBuildTaxInclude']").val(f2(buildTaxInclude));
$("input[name='costPurchaseBuildTaxExclude']").val(f2(buildTaxExclude));
$("input[name='costPurchaseServiceTaxInclude']").val(f2(serviceTaxInclude));
$("input[name='costPurchaseServiceTaxExclude']").val(f2(serviceTaxExclude));
$("input[name='costPurchaseOtherTaxInclude']").val(f2(otherTaxInclude));
$("input[name='costPurchaseOtherTaxExclude']").val(f2(otherTaxExclude));
var costOtherOtherTaxInclude = parseFloat($("input[name='costOtherOtherTaxInclude']").val());
var costOtherOtherTaxExclude = parseFloat($("input[name='costOtherOtherTaxExclude']").val());
var costProjectManageTaxExclude = parseFloat($("input[name='costProjectManageTaxExclude']").val());
$("input[name='costTotalTaxInclude']").val(f2(deviceTaxInclude+buildTaxInclude+serviceTaxInclude+otherTaxInclude+costOtherOtherTaxInclude));
$("input[name='costTotalTaxExclude']").val(f2(deviceTaxExclude+buildTaxExclude+serviceTaxExclude+otherTaxExclude+costOtherOtherTaxExclude+costProjectManageTaxExclude));
updateProjectContributionProfitRate();
}
function bindOtherOtherChangeable() {
$("input[name='costOtherOtherTaxInclude']").change(function () {
var costPurchaseDeviceTaxInclude = f2($("input[name='costPurchaseDeviceTaxInclude']").val());
var costPurchaseBuildTaxInclude = f2($("input[name='costPurchaseBuildTaxInclude']").val());
var costPurchaseServiceTaxInclude = f2($("input[name='costPurchaseServiceTaxInclude']").val());
var costPurchaseOtherTaxInclude = f2($("input[name='costPurchaseOtherTaxInclude']").val());
var costOtherOther = f2($(this).val());
$("input[name='costTotalTaxInclude']").val(f2(costPurchaseDeviceTaxInclude+costPurchaseBuildTaxInclude+costPurchaseServiceTaxInclude+costPurchaseOtherTaxInclude+costOtherOther));
updateProjectContributionProfitRate();
});
$("input[name='costOtherOtherTaxExclude']").change(function () {
var costPurchaseDeviceTaxExclude = f2($("input[name='costPurchaseDeviceTaxExclude']").val());
var costPurchaseBuildTaxExclude = f2($("input[name='costPurchaseBuildTaxExclude']").val());
var costPurchaseServiceTaxExclude = f2($("input[name='costPurchaseServiceTaxExclude']").val());
var costPurchaseOtherTaxExclude = f2($("input[name='costPurchaseOtherTaxExclude']").val());
var costProjectManageTaxExclude = f2($("input[name='costProjectManageTaxExclude']").val());
var costOtherOther = f2($(this).val());
$("input[name='costTotalTaxExclude']").val(f2(costPurchaseDeviceTaxExclude+costPurchaseBuildTaxExclude+costPurchaseServiceTaxExclude+costPurchaseOtherTaxExclude+costProjectManageTaxExclude+costOtherOther));
updateProjectContributionProfitRate();
});
}
SELECT_DATA={
"1":[
{
"value":"1",
"name":"华智产品"
},
{
"value":"2",
"name":"紫光其他产品"
},
{
"value":"3",
"name":"外购产品"
}
],
"2":[
{
"value":"4",
"name":"外购工程"
}
],
"3":[
{
"value":"5",
"name":"华智服务"
},
{
"value":"6",
"name":"紫光其他服务"
},
{
"value":"7",
"name":"外购服务"
}
],
"4":[
{
"value":"8",
"name":"其他"
}
]
};
/**
* 大类类别联动效果
*/
function bindTypeSelectChange() {
$(".am-modal-prompt-input-cost-type").on('change',function () {
var categorySelect = $(this).parent().parent().find(".am-modal-prompt-input-cost-category");
var type = $(this).val();
categorySelect.empty();
SELECT_DATA[type].forEach(function (d) {
categorySelect.append("");
})
});
}