|
@@ -136,8 +136,13 @@ let cbTools = {
|
|
|
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'];
|
|
|
//安全文明施工专项费用只有税金和工程造价能用
|
|
|
for(let figure in baseFigures){
|
|
|
+ //过滤相关清单固定行不存在的
|
|
|
+ if(needFixedBillsClass.includes(baseFigures[figure]['class']) && !baseFigures[figure]['fixedBill']){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
if(filter.indexOf(baseFigures[figure]['base']) === -1){
|
|
|
mapObj['CONSTRUCTION_ORGANIZATION'][figure] = baseFigures[figure];
|
|
|
}
|
|
@@ -344,6 +349,9 @@ let cbTools = {
|
|
|
|
|
|
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;
|
|
@@ -351,6 +359,9 @@ let baseFigureTemplate = {
|
|
|
return cbTools.isDef(bill.feesIndex.common) && cbTools.isDef(bill.feesIndex.common[totalFeeType]) ? bill.feesIndex.common[totalFeeType] : 0;
|
|
|
},
|
|
|
'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;
|
|
@@ -358,6 +369,9 @@ let baseFigureTemplate = {
|
|
|
return cbTools.isDef(bill.feesIndex.labour) && cbTools.isDef(bill.feesIndex.labour[totalFeeType]) ? bill.feesIndex.labour[totalFeeType] : 0;
|
|
|
},
|
|
|
'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;
|
|
@@ -365,6 +379,9 @@ let baseFigureTemplate = {
|
|
|
return cbTools.isDef(bill.feesIndex.material) && cbTools.isDef(bill.feesIndex.material[totalFeeType]) ? bill.feesIndex.material[totalFeeType] : 0;
|
|
|
},
|
|
|
'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;
|
|
@@ -372,6 +389,9 @@ let baseFigureTemplate = {
|
|
|
return cbTools.isDef(bill.feesIndex.machine) && cbTools.isDef(bill.feesIndex.machine[totalFeeType]) ? bill.feesIndex.machine[totalFeeType] : 0;
|
|
|
},
|
|
|
'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;
|
|
@@ -379,6 +399,9 @@ let baseFigureTemplate = {
|
|
|
return cbTools.isDef(bill.feesIndex.adjustLabour) && cbTools.isDef(bill.feesIndex.adjustLabour[totalFeeType]) ? bill.feesIndex.adjustLabour[totalFeeType] : 0;
|
|
|
},
|
|
|
'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;
|
|
@@ -386,6 +409,9 @@ let baseFigureTemplate = {
|
|
|
return cbTools.isDef(bill.feesIndex.adjustMachineLabour) && cbTools.isDef(bill.feesIndex.adjustMachineLabour[totalFeeType]) ? bill.feesIndex.adjustMachineLabour[totalFeeType] : 0;
|
|
|
},
|
|
|
'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;
|
|
@@ -393,6 +419,9 @@ let baseFigureTemplate = {
|
|
|
return cbTools.isDef(bill.feesIndex.mainMaterial) && cbTools.isDef(bill.feesIndex.mainMaterial[totalFeeType]) ? bill.feesIndex.mainMaterial[totalFeeType] : 0;
|
|
|
},
|
|
|
'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;
|
|
@@ -420,6 +449,9 @@ 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;
|
|
@@ -427,6 +459,9 @@ let baseFigureTemplate = {
|
|
|
return cbTools.isDef(bill.feesIndex.common) && cbTools.isDef(bill.feesIndex.common[totalFeeType]) ? bill.feesIndex.common[totalFeeType] : 0;
|
|
|
},
|
|
|
'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;
|
|
@@ -437,6 +472,9 @@ let baseFigureTemplate = {
|
|
|
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;
|
|
@@ -444,6 +482,9 @@ let baseFigureTemplate = {
|
|
|
return cbTools.isDef(bill.feesIndex.labour) && cbTools.isDef(bill.feesIndex.labour[totalFeeType]) ? bill.feesIndex.labour[totalFeeType] : 0;
|
|
|
},
|
|
|
'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;
|
|
@@ -451,6 +492,9 @@ let baseFigureTemplate = {
|
|
|
return cbTools.isDef(bill.feesIndex.material) && cbTools.isDef(bill.feesIndex.material[totalFeeType]) ? bill.feesIndex.material[totalFeeType] : 0;
|
|
|
},
|
|
|
'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;
|
|
@@ -458,6 +502,9 @@ let baseFigureTemplate = {
|
|
|
return cbTools.isDef(bill.feesIndex.machine) && cbTools.isDef(bill.feesIndex.machine[totalFeeType]) ? bill.feesIndex.machine[totalFeeType] : 0;
|
|
|
},
|
|
|
'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;
|
|
@@ -465,6 +512,9 @@ let baseFigureTemplate = {
|
|
|
return cbTools.isDef(bill.feesIndex.common) && cbTools.isDef(bill.feesIndex.common[totalFeeType]) ? bill.feesIndex.common[totalFeeType] : 0;
|
|
|
},
|
|
|
'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;
|
|
@@ -472,6 +522,9 @@ let baseFigureTemplate = {
|
|
|
return cbTools.isDef(bill.feesIndex.labour) && cbTools.isDef(bill.feesIndex.labour[totalFeeType]) ? bill.feesIndex.labour[totalFeeType] : 0;
|
|
|
},
|
|
|
'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;
|
|
@@ -479,6 +532,9 @@ let baseFigureTemplate = {
|
|
|
return cbTools.isDef(bill.feesIndex.material) && cbTools.isDef(bill.feesIndex.material[totalFeeType]) ? bill.feesIndex.material[totalFeeType] : 0;
|
|
|
},
|
|
|
'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;
|
|
@@ -486,6 +542,9 @@ let baseFigureTemplate = {
|
|
|
return cbTools.isDef(bill.feesIndex.machine) && cbTools.isDef(bill.feesIndex.machine[totalFeeType]) ? bill.feesIndex.machine[totalFeeType] : 0;
|
|
|
},
|
|
|
'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;
|
|
@@ -493,6 +552,9 @@ let baseFigureTemplate = {
|
|
|
return cbTools.isDef(bill.feesIndex.adjustLabour) && cbTools.isDef(bill.feesIndex.adjustLabour[totalFeeType]) ? bill.feesIndex.adjustLabour[totalFeeType] : 0;
|
|
|
},
|
|
|
'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;
|
|
@@ -500,6 +562,9 @@ let baseFigureTemplate = {
|
|
|
return cbTools.isDef(bill.feesIndex.adjustMachineLabour) && cbTools.isDef(bill.feesIndex.adjustMachineLabour[totalFeeType]) ? bill.feesIndex.adjustMachineLabour[totalFeeType] : 0;
|
|
|
},
|
|
|
'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;
|
|
@@ -507,6 +572,9 @@ let baseFigureTemplate = {
|
|
|
return cbTools.isDef(bill.feesIndex.mainMaterial) && cbTools.isDef(bill.feesIndex.mainMaterial[totalFeeType]) ? bill.feesIndex.mainMaterial[totalFeeType] : 0;
|
|
|
},
|
|
|
'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;
|
|
@@ -533,6 +601,9 @@ 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;
|
|
@@ -540,6 +611,9 @@ let baseFigureTemplate = {
|
|
|
return cbTools.isDef(bill.feesIndex.common) && cbTools.isDef(bill.feesIndex.common[totalFeeType]) ? bill.feesIndex.common[totalFeeType] : 0;
|
|
|
},
|
|
|
'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;
|
|
@@ -547,6 +621,9 @@ let baseFigureTemplate = {
|
|
|
return cbTools.isDef(bill.feesIndex.common) && cbTools.isDef(bill.feesIndex.common[totalFeeType]) ? bill.feesIndex.common[totalFeeType] : 0;
|
|
|
},
|
|
|
'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;
|
|
@@ -554,6 +631,9 @@ let baseFigureTemplate = {
|
|
|
return cbTools.isDef(bill.feesIndex.common) && cbTools.isDef(bill.feesIndex.common[totalFeeType]) ? bill.feesIndex.common[totalFeeType] : 0;
|
|
|
},
|
|
|
'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;
|
|
@@ -565,6 +645,9 @@ let baseFigureTemplate = {
|
|
|
return buildingArea ? parseFloat(buildingArea) : 0;
|
|
|
},
|
|
|
'SQGCZJ': function (tender) {//税前工程造价
|
|
|
+ if(cbTools.isUnDef(calcBase.fixedBills[calcBase.fixedFlag.SAFETY_CONSTRUCTION])){
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
let bill = calcBase.fixedBills[calcBase.fixedFlag.SAFETY_CONSTRUCTION]['bill'];
|
|
|
if(cbTools.isUnDef(bill) || cbTools.isUnDef(bill.ID)) return 0;
|
|
|
let node = cbTools.getNodeByID(bill.ID);
|