|
|
@@ -14,7 +14,7 @@ let cbTools = {
|
|
|
return this.isDef(v) && !isNaN(v) && v !== Infinity;
|
|
|
},
|
|
|
isFlag: function (v) {
|
|
|
- return this.isDef(v) && this.isDef(v.flagsIndex) && this.isDef(v.flagsIndex.fixed);
|
|
|
+ return this.isDef(v) && this.isDef(v.flagsIndex) && this.isDef(v.flagsIndex.fixed) && this.isDef(v.flagsIndex.fixed.flag);
|
|
|
},
|
|
|
returnV: function (v, r) {
|
|
|
if(this.isDef(v)){
|
|
|
@@ -163,76 +163,9 @@ let cbTools = {
|
|
|
mapObj[figureClass][figure] = baseFigures[figure];
|
|
|
}
|
|
|
}
|
|
|
- /*if(filter.indexOf(baseFigures[figure]['base']) === -1){
|
|
|
- mapObj['CONSTRUCTION_ORGANIZATION'][figure] = baseFigures[figure];
|
|
|
- }
|
|
|
- if(baseFigures[figure]['base'] !== 'QTXMF' && baseFigures[figure]['base'] !== 'SQGCZJ' && baseFigures[figure]['base'] !== 'AQWMSGZXF'){
|
|
|
- mapObj['OTHER'][figure] = baseFigures[figure];
|
|
|
- }
|
|
|
- if(baseFigures[figure]['base'] !== 'GF' && baseFigures[figure]['base'] !== 'SQGCZJ' && baseFigures[figure]['base'] !== 'AQWMSGZXF'){
|
|
|
- mapObj['CHARGE'][figure] = baseFigures[figure];
|
|
|
- }
|
|
|
- if(baseFigures[figure]['base'] !== 'SJ' && baseFigures[figure]['base'] !== 'SQGCZJ'){
|
|
|
- mapObj['TAX'][figure] = baseFigures[figure];
|
|
|
- }
|
|
|
- if(baseFigures[figure]['base'] !== 'SQGCZJ'){
|
|
|
- mapObj['ENGINEERINGCOST'][figure] = baseFigures[figure];
|
|
|
- }
|
|
|
- if(baseFigures[figure]['base'] !== 'SQGCZJ' && baseFigures[figure]['base'] !== 'AQWMSGZXF'){
|
|
|
- mapObj['OTHERS'][figure] = baseFigures[figure];
|
|
|
- }
|
|
|
- if(baseFigures[figure]['base'] === 'SQGCZJ'){
|
|
|
- mapObj['SAFETY_CONSTRUCTION'][figure] = baseFigures[figure];
|
|
|
- }*/
|
|
|
}
|
|
|
- // mapObj['SAFETY_CONSTRUCTION'] = Object.assign(mapObj['SAFETY_CONSTRUCTION'], mapObj['CONSTRUCTION_ORGANIZATION']);
|
|
|
|
|
|
},
|
|
|
- /*setBaseFigureClass: function (baseFigures, mapObj) {
|
|
|
- mapObj['CONSTRUCTION_ORGANIZATION'] = Object.create(null);
|
|
|
- mapObj['SAFETY_CONSTRUCTION'] = Object.create(null);
|
|
|
- mapObj['OTHER'] = Object.create(null);
|
|
|
- mapObj['CHARGE'] = Object.create(null);
|
|
|
- mapObj['TAX'] = Object.create(null);
|
|
|
- mapObj['OTHERS'] = Object.create(null);
|
|
|
- mapObj['ENGINEERINGCOST'] = Object.create(null);
|
|
|
- let filter = ['CSXMF', 'ZZCSXMF', 'ZZCSXMDEJJZJGCF', 'ZZCSXMDEJJRGF', 'ZZCSXMDEJJCLF', 'ZZCSXMDEJJJXF', 'QTXMF', 'GF', 'SJ', 'SQGCZJ', 'AQWMSGZXF'];
|
|
|
- let needFixedBillsClass = ['FBFX', 'CXSM', 'QTXM', 'GF', 'SJ'];
|
|
|
- //不需要关联节点的、但是下挂在固定清单分类下的基数
|
|
|
- let noneFixedBillsFigures = ['JZMJ'];
|
|
|
- //安全文明施工专项费用只有税金和工程造价能用
|
|
|
- for(let figure in baseFigures){
|
|
|
- if(!noneFixedBillsFigures.includes(baseFigures[figure]['base'])){
|
|
|
- //过滤相关清单固定行不存在的
|
|
|
- if(needFixedBillsClass.includes(baseFigures[figure]['class']) && !baseFigures[figure]['fixedBill']){
|
|
|
- continue;
|
|
|
- }
|
|
|
- }
|
|
|
- if(filter.indexOf(baseFigures[figure]['base']) === -1){
|
|
|
- mapObj['CONSTRUCTION_ORGANIZATION'][figure] = baseFigures[figure];
|
|
|
- }
|
|
|
- if(baseFigures[figure]['base'] !== 'QTXMF' && baseFigures[figure]['base'] !== 'SQGCZJ' && baseFigures[figure]['base'] !== 'AQWMSGZXF'){
|
|
|
- mapObj['OTHER'][figure] = baseFigures[figure];
|
|
|
- }
|
|
|
- if(baseFigures[figure]['base'] !== 'GF' && baseFigures[figure]['base'] !== 'SQGCZJ' && baseFigures[figure]['base'] !== 'AQWMSGZXF'){
|
|
|
- mapObj['CHARGE'][figure] = baseFigures[figure];
|
|
|
- }
|
|
|
- if(baseFigures[figure]['base'] !== 'SJ' && baseFigures[figure]['base'] !== 'SQGCZJ'){
|
|
|
- mapObj['TAX'][figure] = baseFigures[figure];
|
|
|
- }
|
|
|
- if(baseFigures[figure]['base'] !== 'SQGCZJ'){
|
|
|
- mapObj['ENGINEERINGCOST'][figure] = baseFigures[figure];
|
|
|
- }
|
|
|
- if(baseFigures[figure]['base'] !== 'SQGCZJ' && baseFigures[figure]['base'] !== 'AQWMSGZXF'){
|
|
|
- mapObj['OTHERS'][figure] = baseFigures[figure];
|
|
|
- }
|
|
|
- if(baseFigures[figure]['base'] === 'SQGCZJ'){
|
|
|
- mapObj['SAFETY_CONSTRUCTION'][figure] = baseFigures[figure];
|
|
|
- }
|
|
|
- }
|
|
|
- mapObj['SAFETY_CONSTRUCTION'] = Object.assign(mapObj['SAFETY_CONSTRUCTION'], mapObj['CONSTRUCTION_ORGANIZATION']);
|
|
|
-
|
|
|
- },*/
|
|
|
getFigure: function (node) {
|
|
|
let calcBase = projectObj.project.calcBase;
|
|
|
let parent = node.parent;
|
|
|
@@ -255,40 +188,6 @@ let cbTools = {
|
|
|
return this.getFigure(parent);
|
|
|
}
|
|
|
},
|
|
|
- /*getFigure: function (node) {
|
|
|
- let calcBase = projectObj.project.calcBase;
|
|
|
- let parent = node.parent;
|
|
|
- if(this.isFlag(node.data) && (node.data.flagsIndex.fixed.flag === calcBase.fixedFlag.SUB_ENGINERRING
|
|
|
- || node.data.flagsIndex.fixed.flag === calcBase.fixedFlag.CONSTRUCTION_TECH)){
|
|
|
- return null;
|
|
|
- }
|
|
|
- else if(this.isFlag(node.data) && node.data.flagsIndex.fixed.flag === calcBase.fixedFlag.CONSTRUCTION_ORGANIZATION){
|
|
|
- return calcBase.baseFigureClass.CONSTRUCTION_ORGANIZATION;
|
|
|
- }
|
|
|
- else if(this.isFlag(node.data) && node.data.flagsIndex.fixed.flag === calcBase.fixedFlag.SAFETY_CONSTRUCTION){
|
|
|
- return calcBase.baseFigureClass.SAFETY_CONSTRUCTION;
|
|
|
- }
|
|
|
- else if(this.isFlag(node.data) && node.data.flagsIndex.fixed.flag === calcBase.fixedFlag.OTHER){
|
|
|
- return calcBase.baseFigureClass.OTHER;
|
|
|
- }
|
|
|
- else if(this.isFlag(node.data) && node.data.flagsIndex.fixed.flag === calcBase.fixedFlag.CHARGE){
|
|
|
- return calcBase.baseFigureClass.CHARGE;
|
|
|
- }
|
|
|
- else if(this.isFlag(node.data) && node.data.flagsIndex.fixed.flag === calcBase.fixedFlag.TAX){
|
|
|
- return calcBase.baseFigureClass.TAX;
|
|
|
- }
|
|
|
- else if(this.isFlag(node.data) && node.data.flagsIndex.fixed.flag === calcBase.fixedFlag.ENGINEERINGCOST){
|
|
|
- return calcBase.baseFigureClass.ENGINEERINGCOST;
|
|
|
- }
|
|
|
- else {
|
|
|
- if(!parent){
|
|
|
- return calcBase.baseFigureClass.OTHERS;
|
|
|
- }
|
|
|
- else {
|
|
|
- return this.getFigure(parent);
|
|
|
- }
|
|
|
- }
|
|
|
- },*/
|
|
|
getBaseBill: function (node) {
|
|
|
let calcBase = projectObj.project.calcBase;
|
|
|
let parent = node.parent;
|
|
|
@@ -346,30 +245,10 @@ let cbTools = {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- //税前工程造价算法用了分部分项、项目措施(已排除)、其他项目、规费里的底层价格,相当于引用了4条固定清单,特殊处理
|
|
|
- /* if(bases[i]['value'] === '税前工程造价'){
|
|
|
- let subEngineering = cbTools.findBill(calcBase.fixedFlag.SUB_ENGINERRING),
|
|
|
- other = cbTools.findBill(calcBase.fixedFlag.OTHER),
|
|
|
- charge = cbTools.findBill(calcBase.fixedFlag.CHARGE);
|
|
|
- if(subEngineering){
|
|
|
- block.push(subEngineering.ID);
|
|
|
- }
|
|
|
- if(other){
|
|
|
- block.push(other.ID);
|
|
|
- }
|
|
|
- if(charge){
|
|
|
- block.push(charge.ID);
|
|
|
- }
|
|
|
- }*/
|
|
|
else if(cbTools.isDef(calcBase.baseFigures[bases[i]['value']]['fixedBill'])){
|
|
|
block.push(calcBase.baseFigures[bases[i]['value']]['fixedBill']['bill']['ID']);
|
|
|
}
|
|
|
}
|
|
|
- /* if(bases[i]['type'] === 'base' && cbTools.isDef(calcBase.baseFigures[bases[i]['value']])
|
|
|
- && cbTools.isDef(calcBase.baseFigures[bases[i]['value']]['fixedBill'])){
|
|
|
- block.push(calcBase.baseFigures[bases[i]['value']]['fixedBill']['bill']['ID']);
|
|
|
- }*/
|
|
|
else if(bases[i]['type'] === 'id'){
|
|
|
let node = cbTools.getNodeByID(bases[i]['value']);
|
|
|
if(cbTools.isDef(node)){
|
|
|
@@ -446,89 +325,67 @@ let cbTools = {
|
|
|
for (let node of nodes){
|
|
|
if (node.data.calcBase.hasSubStr(sID)) return true;
|
|
|
};
|
|
|
- }
|
|
|
+ },
|
|
|
+ //获取清单节点的金额
|
|
|
+ //@param {Number}fixedFlag(清单固定行类别) {String}feeField(外层金额字段: common) {String}subFeeField(子金额字段: totalFee)
|
|
|
+ //@return {Number}
|
|
|
+ getBillsFee: function(fixedFlag, feeField, subFeeField) {
|
|
|
+ //固定清单类别与清单数据、关联基数的映射
|
|
|
+ let fixedBills = calcBase.fixedBills[fixedFlag];
|
|
|
+ if (this.isUnDef(fixedBills)) {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ let bills = fixedBills.bill;
|
|
|
+ if (this.isUnDef(bills)) {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ if (this.isUnDef(bills.feesIndex) || _.isEmpty(bills.feesIndex)) {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ return this.isDef(bills.feesIndex[feeField]) && this.isDef(bills.feesIndex[feeField][subFeeField]) ? bills.feesIndex[feeField][subFeeField] : 0;
|
|
|
+ },
|
|
|
};
|
|
|
|
|
|
let baseFigureTemplate = {
|
|
|
'FBFXGCF': function (tender) {
|
|
|
- if(cbTools.isUnDef(calcBase.fixedBills[calcBase.fixedFlag.SUB_ENGINERRING])){
|
|
|
- return 0;
|
|
|
- }
|
|
|
- const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
- let bill = calcBase.fixedBills[calcBase.fixedFlag.SUB_ENGINERRING]['bill'];
|
|
|
- if(cbTools.isUnDef(bill)) return 0;
|
|
|
- if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
|
|
|
- return cbTools.isDef(bill.feesIndex.common) && cbTools.isDef(bill.feesIndex.common[totalFeeType]) ? bill.feesIndex.common[totalFeeType] : 0;
|
|
|
+ let feeField = 'common',
|
|
|
+ subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.SUB_ENGINERRING, feeField, subFeeField);
|
|
|
},
|
|
|
'FBFXDEJJRGF': function (tender) {
|
|
|
- if(cbTools.isUnDef(calcBase.fixedBills[calcBase.fixedFlag.SUB_ENGINERRING])){
|
|
|
- return 0;
|
|
|
- }
|
|
|
- const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
- let bill = calcBase.fixedBills[calcBase.fixedFlag.SUB_ENGINERRING]['bill'];
|
|
|
- if(cbTools.isUnDef(bill)) return 0;
|
|
|
- if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
|
|
|
- return cbTools.isDef(bill.feesIndex.labour) && cbTools.isDef(bill.feesIndex.labour[totalFeeType]) ? bill.feesIndex.labour[totalFeeType] : 0;
|
|
|
+ let feeField = 'labour',
|
|
|
+ subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.SUB_ENGINERRING, feeField, subFeeField);
|
|
|
},
|
|
|
'FBFXDEJJCLF': function (tender) {
|
|
|
- if(cbTools.isUnDef(calcBase.fixedBills[calcBase.fixedFlag.SUB_ENGINERRING])){
|
|
|
- return 0;
|
|
|
- }
|
|
|
- const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
- let bill = calcBase.fixedBills[calcBase.fixedFlag.SUB_ENGINERRING]['bill'];
|
|
|
- if(cbTools.isUnDef(bill)) return 0;
|
|
|
- if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
|
|
|
- return cbTools.isDef(bill.feesIndex.material) && cbTools.isDef(bill.feesIndex.material[totalFeeType]) ? bill.feesIndex.material[totalFeeType] : 0;
|
|
|
+ let feeField = 'material',
|
|
|
+ subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.SUB_ENGINERRING, feeField, subFeeField);
|
|
|
},
|
|
|
'FBFXDEJJJXF': function (tender) {
|
|
|
- if(cbTools.isUnDef(calcBase.fixedBills[calcBase.fixedFlag.SUB_ENGINERRING])){
|
|
|
- return 0;
|
|
|
- }
|
|
|
- const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
- let bill = calcBase.fixedBills[calcBase.fixedFlag.SUB_ENGINERRING]['bill'];
|
|
|
- if(cbTools.isUnDef(bill)) return 0;
|
|
|
- if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
|
|
|
- return cbTools.isDef(bill.feesIndex.machine) && cbTools.isDef(bill.feesIndex.machine[totalFeeType]) ? bill.feesIndex.machine[totalFeeType] : 0;
|
|
|
+ let feeField = 'machine',
|
|
|
+ subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.SUB_ENGINERRING, feeField, subFeeField);
|
|
|
},
|
|
|
'FBFXTZRGF': function (tender) {
|
|
|
- if(cbTools.isUnDef(calcBase.fixedBills[calcBase.fixedFlag.SUB_ENGINERRING])){
|
|
|
- return 0;
|
|
|
- }
|
|
|
- const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
- let bill = calcBase.fixedBills[calcBase.fixedFlag.SUB_ENGINERRING]['bill'];
|
|
|
- if(cbTools.isUnDef(bill)) return 0;
|
|
|
- if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
|
|
|
- return cbTools.isDef(bill.feesIndex.adjustLabour) && cbTools.isDef(bill.feesIndex.adjustLabour[totalFeeType]) ? bill.feesIndex.adjustLabour[totalFeeType] : 0;
|
|
|
+ let feeField = 'adjustLabour',
|
|
|
+ subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.SUB_ENGINERRING, feeField, subFeeField);
|
|
|
},
|
|
|
'FBFXTZJSRGF': function (tender) {
|
|
|
- if(cbTools.isUnDef(calcBase.fixedBills[calcBase.fixedFlag.SUB_ENGINERRING])){
|
|
|
- return 0;
|
|
|
- }
|
|
|
- const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
- let bill = calcBase.fixedBills[calcBase.fixedFlag.SUB_ENGINERRING]['bill'];
|
|
|
- if(cbTools.isUnDef(bill)) return 0;
|
|
|
- if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
|
|
|
- return cbTools.isDef(bill.feesIndex.adjustMachineLabour) && cbTools.isDef(bill.feesIndex.adjustMachineLabour[totalFeeType]) ? bill.feesIndex.adjustMachineLabour[totalFeeType] : 0;
|
|
|
+ let feeField = 'adjustMachineLabour',
|
|
|
+ subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.SUB_ENGINERRING, feeField, subFeeField);
|
|
|
},
|
|
|
'FBFXZCF': function (tender) {
|
|
|
- if(cbTools.isUnDef(calcBase.fixedBills[calcBase.fixedFlag.SUB_ENGINERRING])){
|
|
|
- return 0;
|
|
|
- }
|
|
|
- const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
- let bill = calcBase.fixedBills[calcBase.fixedFlag.SUB_ENGINERRING]['bill'];
|
|
|
- if(cbTools.isUnDef(bill)) return 0;
|
|
|
- if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
|
|
|
- return cbTools.isDef(bill.feesIndex.mainMaterial) && cbTools.isDef(bill.feesIndex.mainMaterial[totalFeeType]) ? bill.feesIndex.mainMaterial[totalFeeType] : 0;
|
|
|
+ let feeField = 'mainMaterial',
|
|
|
+ subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.SUB_ENGINERRING, feeField, subFeeField);
|
|
|
},
|
|
|
'FBFXSBF': function (tender) {
|
|
|
- if(cbTools.isUnDef(calcBase.fixedBills[calcBase.fixedFlag.SUB_ENGINERRING])){
|
|
|
- return 0;
|
|
|
- }
|
|
|
- const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
- let bill = calcBase.fixedBills[calcBase.fixedFlag.SUB_ENGINERRING]['bill'];
|
|
|
- if(cbTools.isUnDef(bill)) return 0;
|
|
|
- if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
|
|
|
- return cbTools.isDef(bill.feesIndex.equipment) && cbTools.isDef(bill.feesIndex.equipment[totalFeeType]) ? bill.feesIndex.equipment[totalFeeType] : 0;
|
|
|
+ let feeField = 'equipment',
|
|
|
+ subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.SUB_ENGINERRING, feeField, subFeeField);
|
|
|
},
|
|
|
'FBFXWJJCLF': function (tender) {
|
|
|
return (this['FBFXZCF'](tender) + this['FBFXSBF'](tender)).toDecimal(decimalObj.bills.totalPrice);
|
|
|
@@ -551,137 +408,72 @@ let baseFigureTemplate = {
|
|
|
return (this['FBFXDEJJRGF'](tender) + this['FBFXDEJJCLF'](tender) + this['FBFXDEJJJXF'](tender)).toDecimal(decimalObj.bills.totalPrice);
|
|
|
},
|
|
|
'CSXMF': function (tender) {
|
|
|
- if(cbTools.isUnDef(calcBase.fixedBills[calcBase.fixedFlag.MEASURE])){
|
|
|
- return 0;
|
|
|
- }
|
|
|
- const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
- let bill = calcBase.fixedBills[calcBase.fixedFlag.MEASURE]['bill'];
|
|
|
- if(cbTools.isUnDef(bill)) return 0;
|
|
|
- if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
|
|
|
- return cbTools.isDef(bill.feesIndex.common) && cbTools.isDef(bill.feesIndex.common[totalFeeType]) ? bill.feesIndex.common[totalFeeType] : 0;
|
|
|
+ let feeField = 'common',
|
|
|
+ subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.MEASURE, feeField, subFeeField);
|
|
|
},
|
|
|
'ZZCSXMF': function (tender) {
|
|
|
- if(cbTools.isUnDef(calcBase.fixedBills[calcBase.fixedFlag.CONSTRUCTION_ORGANIZATION])){
|
|
|
- return 0;
|
|
|
- }
|
|
|
- const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
- let bill = calcBase.fixedBills[calcBase.fixedFlag.CONSTRUCTION_ORGANIZATION]['bill'];
|
|
|
- if(cbTools.isUnDef(bill)) return 0;
|
|
|
- if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
|
|
|
- return cbTools.isDef(bill.feesIndex.common) && cbTools.isDef(bill.feesIndex.common[totalFeeType]) ? bill.feesIndex.common[totalFeeType] : 0;
|
|
|
+ let feeField = 'common',
|
|
|
+ subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.CONSTRUCTION_ORGANIZATION, feeField, subFeeField);
|
|
|
},
|
|
|
'ZZCSXMDEJJZJGCF': function (tender) {
|
|
|
return (this['ZZCSXMDEJJRGF'](tender) + this['ZZCSXMDEJJCLF'](tender) + this['ZZCSXMDEJJJXF'](tender)).toDecimal(decimalObj.bills.totalPrice);
|
|
|
},
|
|
|
'ZZCSXMDEJJRGF': function (tender) {
|
|
|
- if(cbTools.isUnDef(calcBase.fixedBills[calcBase.fixedFlag.CONSTRUCTION_ORGANIZATION])){
|
|
|
- return 0;
|
|
|
- }
|
|
|
- const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
- let bill = calcBase.fixedBills[calcBase.fixedFlag.CONSTRUCTION_ORGANIZATION]['bill'];
|
|
|
- if(cbTools.isUnDef(bill)) return 0;
|
|
|
- if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
|
|
|
- return cbTools.isDef(bill.feesIndex.labour) && cbTools.isDef(bill.feesIndex.labour[totalFeeType]) ? bill.feesIndex.labour[totalFeeType] : 0;
|
|
|
+ let feeField = 'labour',
|
|
|
+ subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.CONSTRUCTION_ORGANIZATION, feeField, subFeeField);
|
|
|
},
|
|
|
'ZZCSXMDEJJCLF': function (tender) {
|
|
|
- if(cbTools.isUnDef(calcBase.fixedBills[calcBase.fixedFlag.CONSTRUCTION_ORGANIZATION])){
|
|
|
- return 0;
|
|
|
- }
|
|
|
- const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
- let bill = calcBase.fixedBills[calcBase.fixedFlag.CONSTRUCTION_ORGANIZATION]['bill'];
|
|
|
- if(cbTools.isUnDef(bill)) return 0;
|
|
|
- if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
|
|
|
- return cbTools.isDef(bill.feesIndex.material) && cbTools.isDef(bill.feesIndex.material[totalFeeType]) ? bill.feesIndex.material[totalFeeType] : 0;
|
|
|
+ let feeField = 'material',
|
|
|
+ subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.CONSTRUCTION_ORGANIZATION, feeField, subFeeField);
|
|
|
},
|
|
|
'ZZCSXMDEJJJXF': function (tender) {
|
|
|
- if(cbTools.isUnDef(calcBase.fixedBills[calcBase.fixedFlag.CONSTRUCTION_ORGANIZATION])){
|
|
|
- return 0;
|
|
|
- }
|
|
|
- const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
- let bill = calcBase.fixedBills[calcBase.fixedFlag.CONSTRUCTION_ORGANIZATION]['bill'];
|
|
|
- if(cbTools.isUnDef(bill)) return 0;
|
|
|
- if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
|
|
|
- return cbTools.isDef(bill.feesIndex.machine) && cbTools.isDef(bill.feesIndex.machine[totalFeeType]) ? bill.feesIndex.machine[totalFeeType] : 0;
|
|
|
+ let feeField = 'machine',
|
|
|
+ subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.CONSTRUCTION_ORGANIZATION, feeField, subFeeField);
|
|
|
},
|
|
|
'JSCSXMF': function (tender) {
|
|
|
- if(cbTools.isUnDef(calcBase.fixedBills[calcBase.fixedFlag.CONSTRUCTION_TECH])){
|
|
|
- return 0;
|
|
|
- }
|
|
|
- const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
- let bill = calcBase.fixedBills[calcBase.fixedFlag.CONSTRUCTION_TECH]['bill'];
|
|
|
- if(cbTools.isUnDef(bill)) return 0;
|
|
|
- if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
|
|
|
- return cbTools.isDef(bill.feesIndex.common) && cbTools.isDef(bill.feesIndex.common[totalFeeType]) ? bill.feesIndex.common[totalFeeType] : 0;
|
|
|
+ let feeField = 'common',
|
|
|
+ subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.CONSTRUCTION_TECH, feeField, subFeeField);
|
|
|
},
|
|
|
'JSCSXMDEJJRGF': function (tender) {
|
|
|
- if(cbTools.isUnDef(calcBase.fixedBills[calcBase.fixedFlag.CONSTRUCTION_TECH])){
|
|
|
- return 0;
|
|
|
- }
|
|
|
- const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
- let bill = calcBase.fixedBills[calcBase.fixedFlag.CONSTRUCTION_TECH]['bill'];
|
|
|
- if(cbTools.isUnDef(bill)) return 0;
|
|
|
- if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
|
|
|
- return cbTools.isDef(bill.feesIndex.labour) && cbTools.isDef(bill.feesIndex.labour[totalFeeType]) ? bill.feesIndex.labour[totalFeeType] : 0;
|
|
|
+ let feeField = 'labour',
|
|
|
+ subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.CONSTRUCTION_TECH, feeField, subFeeField);
|
|
|
},
|
|
|
'JSCSXMDEJJCLF': function (tender) {
|
|
|
- if(cbTools.isUnDef(calcBase.fixedBills[calcBase.fixedFlag.CONSTRUCTION_TECH])){
|
|
|
- return 0;
|
|
|
- }
|
|
|
- const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
- let bill = calcBase.fixedBills[calcBase.fixedFlag.CONSTRUCTION_TECH]['bill'];
|
|
|
- if(cbTools.isUnDef(bill)) return 0;
|
|
|
- if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
|
|
|
- return cbTools.isDef(bill.feesIndex.material) && cbTools.isDef(bill.feesIndex.material[totalFeeType]) ? bill.feesIndex.material[totalFeeType] : 0;
|
|
|
+ let feeField = 'material',
|
|
|
+ subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.CONSTRUCTION_TECH, feeField, subFeeField);
|
|
|
},
|
|
|
'JSCSXMDEJJJXF': function (tender) {
|
|
|
- if(cbTools.isUnDef(calcBase.fixedBills[calcBase.fixedFlag.CONSTRUCTION_TECH])){
|
|
|
- return 0;
|
|
|
- }
|
|
|
- const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
- let bill = calcBase.fixedBills[calcBase.fixedFlag.CONSTRUCTION_TECH]['bill'];
|
|
|
- if(cbTools.isUnDef(bill)) return 0;
|
|
|
- if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
|
|
|
- return cbTools.isDef(bill.feesIndex.machine) && cbTools.isDef(bill.feesIndex.machine[totalFeeType]) ? bill.feesIndex.machine[totalFeeType] : 0;
|
|
|
+ let feeField = 'machine',
|
|
|
+ subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.CONSTRUCTION_TECH, feeField, subFeeField);
|
|
|
},
|
|
|
'JSCSXMTZRGF': function (tender) {
|
|
|
- if(cbTools.isUnDef(calcBase.fixedBills[calcBase.fixedFlag.CONSTRUCTION_TECH])){
|
|
|
- return 0;
|
|
|
- }
|
|
|
- const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
- let bill = calcBase.fixedBills[calcBase.fixedFlag.CONSTRUCTION_TECH]['bill'];
|
|
|
- if(cbTools.isUnDef(bill)) return 0;
|
|
|
- if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
|
|
|
- return cbTools.isDef(bill.feesIndex.adjustLabour) && cbTools.isDef(bill.feesIndex.adjustLabour[totalFeeType]) ? bill.feesIndex.adjustLabour[totalFeeType] : 0;
|
|
|
+ let feeField = 'adjustLabour',
|
|
|
+ subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.CONSTRUCTION_TECH, feeField, subFeeField);
|
|
|
},
|
|
|
'JSCSXMTZJSRGF': function (tender) {
|
|
|
- if(cbTools.isUnDef(calcBase.fixedBills[calcBase.fixedFlag.CONSTRUCTION_TECH])){
|
|
|
- return 0;
|
|
|
- }
|
|
|
- const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
- let bill = calcBase.fixedBills[calcBase.fixedFlag.CONSTRUCTION_TECH]['bill'];
|
|
|
- if(cbTools.isUnDef(bill)) return 0;
|
|
|
- if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
|
|
|
- return cbTools.isDef(bill.feesIndex.adjustMachineLabour) && cbTools.isDef(bill.feesIndex.adjustMachineLabour[totalFeeType]) ? bill.feesIndex.adjustMachineLabour[totalFeeType] : 0;
|
|
|
+ let feeField = 'adjustMachineLabour',
|
|
|
+ subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.CONSTRUCTION_TECH, feeField, subFeeField);
|
|
|
},
|
|
|
'JSCSXMZCF': function (tender) {
|
|
|
- if(cbTools.isUnDef(calcBase.fixedBills[calcBase.fixedFlag.CONSTRUCTION_TECH])){
|
|
|
- return 0;
|
|
|
- }
|
|
|
- const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
- let bill = calcBase.fixedBills[calcBase.fixedFlag.CONSTRUCTION_TECH]['bill'];
|
|
|
- if(cbTools.isUnDef(bill)) return 0;
|
|
|
- if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
|
|
|
- return cbTools.isDef(bill.feesIndex.mainMaterial) && cbTools.isDef(bill.feesIndex.mainMaterial[totalFeeType]) ? bill.feesIndex.mainMaterial[totalFeeType] : 0;
|
|
|
+ let feeField = 'mainMaterial',
|
|
|
+ subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.CONSTRUCTION_TECH, feeField, subFeeField);
|
|
|
},
|
|
|
'JSCSXMSBF': function (tender) {
|
|
|
- if(cbTools.isUnDef(calcBase.fixedBills[calcBase.fixedFlag.CONSTRUCTION_TECH])){
|
|
|
- return 0;
|
|
|
- }
|
|
|
- const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
- let bill = calcBase.fixedBills[calcBase.fixedFlag.CONSTRUCTION_TECH]['bill'];
|
|
|
- if(cbTools.isUnDef(bill)) return 0;
|
|
|
- if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
|
|
|
- return cbTools.isDef(bill.feesIndex.equipment) && cbTools.isDef(bill.feesIndex.equipment[totalFeeType]) ? bill.feesIndex.equipment[totalFeeType] : 0;
|
|
|
+ let feeField = 'equipment',
|
|
|
+ subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.CONSTRUCTION_TECH, feeField, subFeeField);
|
|
|
},
|
|
|
'JSCSXMWJJCLF': function (tender) {
|
|
|
return (this['JSCSXMZCF'](tender) + this['JSCSXMSBF'](tender)).toDecimal(decimalObj.bills.totalPrice);
|
|
|
@@ -703,44 +495,24 @@ let baseFigureTemplate = {
|
|
|
return (this['JSCSXMDEJJRGF'](tender) + this['JSCSXMDEJJCLF'](tender) + this['JSCSXMDEJJJXF'](tender)).toDecimal(decimalObj.bills.totalPrice);
|
|
|
},
|
|
|
'QTXMF': function (tender) {
|
|
|
- if(cbTools.isUnDef(calcBase.fixedBills[calcBase.fixedFlag.OTHER])){
|
|
|
- return 0;
|
|
|
- }
|
|
|
- const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
- let bill = calcBase.fixedBills[calcBase.fixedFlag.OTHER]['bill'];
|
|
|
- if(cbTools.isUnDef(bill)) return 0;
|
|
|
- if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
|
|
|
- return cbTools.isDef(bill.feesIndex.common) && cbTools.isDef(bill.feesIndex.common[totalFeeType]) ? bill.feesIndex.common[totalFeeType] : 0;
|
|
|
+ let feeField = 'common',
|
|
|
+ subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.OTHER, feeField, subFeeField);
|
|
|
},
|
|
|
'GF': function (tender) {
|
|
|
- if(cbTools.isUnDef(calcBase.fixedBills[calcBase.fixedFlag.CHARGE])){
|
|
|
- return 0;
|
|
|
- }
|
|
|
- const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
- let bill = calcBase.fixedBills[calcBase.fixedFlag.CHARGE]['bill'];
|
|
|
- if(cbTools.isUnDef(bill)) return 0;
|
|
|
- if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
|
|
|
- return cbTools.isDef(bill.feesIndex.common) && cbTools.isDef(bill.feesIndex.common[totalFeeType]) ? bill.feesIndex.common[totalFeeType] : 0;
|
|
|
+ let feeField = 'common',
|
|
|
+ subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.CHARGE, feeField, subFeeField);
|
|
|
},
|
|
|
'SJ': function (tender) {
|
|
|
- if(cbTools.isUnDef(calcBase.fixedBills[calcBase.fixedFlag.TAX])){
|
|
|
- return 0;
|
|
|
- }
|
|
|
- const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
- let bill = calcBase.fixedBills[calcBase.fixedFlag.TAX]['bill'];
|
|
|
- if(cbTools.isUnDef(bill)) return 0;
|
|
|
- if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
|
|
|
- return cbTools.isDef(bill.feesIndex.common) && cbTools.isDef(bill.feesIndex.common[totalFeeType]) ? bill.feesIndex.common[totalFeeType] : 0;
|
|
|
+ let feeField = 'common',
|
|
|
+ subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.TAX, feeField, subFeeField);
|
|
|
},
|
|
|
'AQWMSGZXF': function (tender) {
|
|
|
- if(cbTools.isUnDef(calcBase.fixedBills[calcBase.fixedFlag.SAFETY_CONSTRUCTION])){
|
|
|
- return 0;
|
|
|
- }
|
|
|
- const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
- let bill = calcBase.fixedBills[calcBase.fixedFlag.SAFETY_CONSTRUCTION]['bill'];
|
|
|
- if(cbTools.isUnDef(bill) || cbTools.isUnDef(bill.ID)) return 0;
|
|
|
- if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
|
|
|
- return cbTools.isDef(bill.feesIndex.common) && cbTools.isDef(bill.feesIndex.common[totalFeeType]) ? bill.feesIndex.common[totalFeeType] : 0;
|
|
|
+ let feeField = 'common',
|
|
|
+ subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
+ return cbTools.getBillsFee(fixedFlag.SAFETY_CONSTRUCTION, feeField, subFeeField);
|
|
|
},
|
|
|
'JZMJ': function () {
|
|
|
let buildingArea = projFeatureView.getFeature('buildingArea');
|
|
|
@@ -1059,16 +831,6 @@ let baseFigureTemplate = {
|
|
|
return rst;
|
|
|
},
|
|
|
'JDZCF': function (tender) {//甲定主材费
|
|
|
- /* const quantityType = tender ? 'tenderQuantity' : 'quantity';
|
|
|
- let rst = 0;
|
|
|
- let projGljs = calcBase.project.projectGLJ.datas.gljList;
|
|
|
- for(let glj of projGljs){
|
|
|
- if(glj.type === gljType.MAIN_MATERIAL && (glj.supply === supplyType.JDYG || glj.supply === supplyText.JDYG)){
|
|
|
- let marketPrice = tender ? calcBase.project.projectGLJ.getTenderMarketPrice(glj) : glj.unit_price.market_price;
|
|
|
- rst = (rst + parseFloat(glj[quantityType] * marketPrice).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
|
|
|
- }
|
|
|
- }
|
|
|
- return rst;*/
|
|
|
const quantityType = tender ? 'tenderQuantity' : 'quantity';
|
|
|
let rst = 0;
|
|
|
let projGljs = calcBase.project.projectGLJ.datas.gljList;
|
|
|
@@ -1099,9 +861,6 @@ let baseFigureTemplate = {
|
|
|
if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
|
|
|
return cbTools.isDef(bill.feesIndex.estimate) && cbTools.isDef(bill.feesIndex.estimate[totalFeeType]) ? bill.feesIndex.estimate[totalFeeType] : 0;
|
|
|
},
|
|
|
- /* 'ZGCLFFGLJ': function () {//暂估材料费(从工料机汇总表汇总)
|
|
|
- return 0;
|
|
|
- },*/
|
|
|
'FBF': function (tender) {//分包费
|
|
|
const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
|
|
|
let rst = 0;
|