|
@@ -533,8 +533,8 @@ var projectObj = {
|
|
|
"calculateAll_RationContent": {
|
|
|
name: '造价计算',
|
|
|
callback: function () {
|
|
|
- // projectObj.calculateAll();
|
|
|
- project.calcProgram.calcAllNodes();
|
|
|
+ let changedNodes = project.calcProgram.calcAllNodes();
|
|
|
+ project.calcProgram.saveNodes(changedNodes);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -665,45 +665,38 @@ $('#poj-set').on('show.bs.modal', function () {
|
|
|
if (projectObj.project) {
|
|
|
// let mode = projectObj.project.projSetting.billsCalcMode;
|
|
|
// let settingConst = projectObj.project.projSetting.settingConst;
|
|
|
- let mode = projectObj.project.property.billsCalcMode ? projectObj.project.property.billsCalcMode : leafBillGetFeeType.rationContent;
|
|
|
- setCalcFlag($('#rationContent'), leafBillGetFeeType.rationContent, mode);
|
|
|
- setCalcFlag($('#rationPriceConverse'), leafBillGetFeeType.rationPriceConverse, mode);
|
|
|
- setCalcFlag($('#rationPrice'), leafBillGetFeeType.rationPrice, mode);
|
|
|
- setCalcFlag($('#billsPrice'), leafBillGetFeeType.billsPrice, mode);
|
|
|
+ let ft = projectObj.project.property.billsCalcMode ? projectObj.project.property.billsCalcMode : leafBillGetFeeType.rationContent;
|
|
|
+ setCalcFlag($('#rationContent'), leafBillGetFeeType.rationContent, ft);
|
|
|
+ setCalcFlag($('#rationPriceConverse'), leafBillGetFeeType.rationPriceConverse, ft);
|
|
|
+ setCalcFlag($('#rationPrice'), leafBillGetFeeType.rationPrice, ft);
|
|
|
+ setCalcFlag($('#billsPrice'), leafBillGetFeeType.billsPrice, ft);
|
|
|
|
|
|
// mode = projectObj.project.projSetting.zanguCalcType;
|
|
|
- mode = projectObj.project.property.zanguCalcMode ? projectObj.project.property.zanguCalcMode : zanguCalcType.common;
|
|
|
- setCalcFlag($('#zangu_common'), zanguCalcType.common, mode);
|
|
|
- setCalcFlag($('#zangu_gatherMaterial'), zanguCalcType.gatherMaterial, mode);
|
|
|
+ let zg = projectObj.project.property.zanguCalcMode ? projectObj.project.property.zanguCalcMode : zanguCalcType.common;
|
|
|
+ setCalcFlag($('#zangu_common'), zanguCalcType.common, zg);
|
|
|
+ setCalcFlag($('#zangu_gatherMaterial'), zanguCalcType.gatherMaterial, zg);
|
|
|
}
|
|
|
});
|
|
|
$('#property_ok').click(function () {
|
|
|
let properties = [], projectID = parseInt(scUrlUtil.GetQueryString('project'));
|
|
|
- let project = projectObj.project, reCalc= false;
|
|
|
+ let project = projectObj.project, reCalcBills= false, reCalcRations= false;
|
|
|
let b = parseInt($("input[name='calcFlag']:checked").val());
|
|
|
+
|
|
|
if (b !== project.property.billsCalcMode) {
|
|
|
- let data1 = {updateType: 'update', updateData: {ID: projectID, 'property.billsCalcMode': b}};
|
|
|
- properties.push(data1);
|
|
|
+ let bData = {updateType: 'update', updateData: {ID: projectID, 'property.billsCalcMode': b}};
|
|
|
+ properties.push(bData);
|
|
|
project.property.billsCalcMode = b;
|
|
|
- reCalc = true;
|
|
|
+ reCalcBills = true;
|
|
|
};
|
|
|
|
|
|
let zg = parseInt($("input[name='zangu']:checked").val());
|
|
|
if (zg !== project.property.zanguCalcMode) {
|
|
|
- let data2 = {updateType: 'update', updateData: {ID: projectID, 'property.zanguCalcMode': zg}};
|
|
|
- properties.push(data2);
|
|
|
+ let zgData = {updateType: 'update', updateData: {ID: projectID, 'property.zanguCalcMode': zg}};
|
|
|
+ properties.push(zgData);
|
|
|
project.property.zanguCalcMode = zg;
|
|
|
- reCalc = true;
|
|
|
+ reCalcBills = true;
|
|
|
};
|
|
|
|
|
|
- if (labourCoeView.needSave()){
|
|
|
- labourCoeView.save();
|
|
|
- reCalc = true;
|
|
|
- }
|
|
|
-
|
|
|
- if (reCalc) {
|
|
|
- project.calcProgram.calcAllNodes(calcAllType.catBills);
|
|
|
- }
|
|
|
//基本信息
|
|
|
if(basicInfoView.toUpdate(basicInfoView.orgDatas, basicInfoView.datas)){
|
|
|
let updateData = {updateType: 'update', updateData: {ID: projectID, 'property.basicInformation': basicInfoView.toSaveDatas(basicInfoView.datas)}};
|
|
@@ -717,6 +710,7 @@ $('#property_ok').click(function () {
|
|
|
//清单工程量精度
|
|
|
let newBillsDecimalDatas = billsDecimalView.toBillsDecimalDatas(billsDecimalView.cache);
|
|
|
if(billsDecimalView.toUpdate(billsQuanDecimal.datas, newBillsDecimalDatas)){
|
|
|
+ reCalcBills = true;
|
|
|
let updateData = {updateType: 'update', updateData: {ID: projectID, 'property.billsQuantityDecimal': newBillsDecimalDatas}};
|
|
|
properties.push(updateData);
|
|
|
}
|
|
@@ -724,15 +718,63 @@ $('#property_ok').click(function () {
|
|
|
//获取更新的数据
|
|
|
let updateDecimal = m_getDecimalData($('input', '#poj-settings-decimal'));
|
|
|
if(toUpdateDecimal(decimalObj, updateDecimal)){
|
|
|
+ reCalcRations = true;
|
|
|
+ reCalcBills = true;
|
|
|
let updateData = {updateType: 'update', updateData: {ID: projectID, 'property.decimal': updateDecimal}};
|
|
|
properties.push(updateData);
|
|
|
}
|
|
|
- // 呈现选项
|
|
|
- projDisplayView.updateChecking(projectID,properties);
|
|
|
+ // 人工系数
|
|
|
+ let lcData;
|
|
|
+ if (labourCoeView.needSave()){
|
|
|
+ reCalcRations = true;
|
|
|
+ reCalcBills = true;
|
|
|
+ project.calcProgram.compileAllTemps();
|
|
|
+
|
|
|
+ let projectID = projectInfoObj.projectInfo.ID;
|
|
|
+ let libID = $("#std_labour_coe_files").children("option:selected").val();
|
|
|
+ let libName = $("#std_labour_coe_files").children("option:selected").text();
|
|
|
+ lcData = {projectID: projectID, libID: libID, libName: libName, newItemArr: labourCoeView.needUpdateDatas};
|
|
|
+ properties.push(lcData);
|
|
|
+ };
|
|
|
+
|
|
|
+ // 呈现选项
|
|
|
+ const autoHeight = $("#autoHeight:checked").length > 0;
|
|
|
+ const disPlayMainMaterial = $("#disPlayMainMaterial:checked").length > 0;
|
|
|
+ if (projDisplayView.needUpdate(autoHeight, disPlayMainMaterial)) {
|
|
|
+ const displaySetting = { autoHeight, disPlayMainMaterial };
|
|
|
+ let updateData = {updateType: 'update', updateData: {ID: projectID, 'property.displaySetting': displaySetting}};
|
|
|
+ properties.push(updateData);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 重新计算树节点
|
|
|
+ let changedNodes = [];
|
|
|
+ if (reCalcRations) // 定额动,全部计算。
|
|
|
+ changedNodes = project.calcProgram.calcAllNodes(calcAllType.catAll)
|
|
|
+ else if (reCalcBills) // 清单动,可以只计算清单。
|
|
|
+ changedNodes = project.calcProgram.calcAllNodes(calcAllType.catBills);
|
|
|
+ if (changedNodes.length > 0) {
|
|
|
+ for (let node of changedNodes){
|
|
|
+ let data = {
|
|
|
+ projectID: project.ID(),
|
|
|
+ ID: node.data.ID,
|
|
|
+ quantity: node.data.quantity,
|
|
|
+ calcBase: node.data.calcBase,
|
|
|
+ calcBaseValue: node.data.calcBaseValue,
|
|
|
+ marketUnitFee: node.data.marketUnitFee,
|
|
|
+ marketTotalFee: node.data.marketTotalFee,
|
|
|
+ fees: node.data.fees,
|
|
|
+ feeRate: node.data.feeRate,
|
|
|
+ feeRateID: node.data.feeRateID
|
|
|
+ };
|
|
|
+ let dataObj = {updateType: 'ut_update', updateData: data};
|
|
|
+ properties.push(changedNodes);
|
|
|
+ };
|
|
|
+ };
|
|
|
|
|
|
console.log(properties);
|
|
|
if(properties.length > 0){
|
|
|
- CommonAjax.post('/pm/api/updateProjects', {user_id: userID, updateData: properties}, function (rstData) {
|
|
|
+ CommonAjax.post('/pm/api/updateMixDatas', {user_id: userID, updateData: properties}, function (rstData) {
|
|
|
+ if (lcData) labourCoeView.refresh(lcData);
|
|
|
window.location.href = '/main?project=' + projectID;
|
|
|
});
|
|
|
}
|