|
|
@@ -26,6 +26,7 @@ INTERFACE_EXPORT = (() => {
|
|
|
getValueByKey,
|
|
|
getHan,
|
|
|
getFee,
|
|
|
+ getUnitFee,
|
|
|
generateHardwareId,
|
|
|
},
|
|
|
Element,
|
|
|
@@ -389,15 +390,15 @@ INTERFACE_EXPORT = (() => {
|
|
|
{ name: 'Dw', value: node.data.unit }, // 单位
|
|
|
{ name: 'Sl', value: node.data.quantity, type: TYPE.DECIMAL }, // 工程量
|
|
|
{ name: 'Sl2', value: '0', type: TYPE.DECIMAL }, // 工程量2
|
|
|
- { name: 'Rgf', value: isBidInvitation ? '0' : getFee(node.data.fees, 'marketLabour.tenderTotalFee'), type: TYPE.DECIMAL }, // 人工费
|
|
|
- { name: 'Clf', value: isBidInvitation ? '0' : getFee(node.data.fees, 'marketMaterial.tenderTotalFee'), type: TYPE.DECIMAL }, // 材料费
|
|
|
- { name: 'Jxf', value: isBidInvitation ? '0' : getFee(node.data.fees, 'marketMachine.tenderTotalFee'), type: TYPE.DECIMAL }, // 机械费
|
|
|
- { name: 'Sbf', value: isBidInvitation ? '0' : getFee(node.data.fees, 'marketEquipment.tenderTotalFee'), type: TYPE.DECIMAL }, // 设备费
|
|
|
- { name: 'Csf', value: isBidInvitation ? '0' : getFee(node.data.fees, 'measure.tenderTotalFee'), type: TYPE.DECIMAL }, // 措施费
|
|
|
- { name: 'Glf', value: isBidInvitation ? '0' : getFee(node.data.fees, 'manage.tenderTotalFee'), type: TYPE.DECIMAL }, // 企业管理费
|
|
|
- { name: 'Gf', value: isBidInvitation ? '0' : getFee(node.data.fees, 'force.tenderTotalFee'), type: TYPE.DECIMAL }, // 规费
|
|
|
- { name: 'Lr', value: isBidInvitation ? '0' : getFee(node.data.fees, 'profit.tenderTotalFee'), type: TYPE.DECIMAL }, // 利润
|
|
|
- { name: 'Sj', value: isBidInvitation ? '0' : getFee(node.data.fees, 'tax.tenderTotalFee'), type: TYPE.DECIMAL }, // 税金
|
|
|
+ { name: 'Rgf', value: isBidInvitation ? '0' : getUnitFee(getFee(node.data.fees, 'marketLabour.tenderTotalFee'),node.data.quantity,2), type: TYPE.DECIMAL }, // 人工费
|
|
|
+ { name: 'Clf', value: isBidInvitation ? '0' : getUnitFee(getFee(node.data.fees, 'marketMaterial.tenderTotalFee'),node.data.quantity,2), type: TYPE.DECIMAL }, // 材料费
|
|
|
+ { name: 'Jxf', value: isBidInvitation ? '0' : getUnitFee(getFee(node.data.fees, 'marketMachine.tenderTotalFee'),node.data.quantity,2), type: TYPE.DECIMAL }, // 机械费
|
|
|
+ { name: 'Sbf', value: isBidInvitation ? '0' : getUnitFee(getFee(node.data.fees, 'marketEquipment.tenderTotalFee'),node.data.quantity,2), type: TYPE.DECIMAL }, // 设备费
|
|
|
+ { name: 'Csf', value: isBidInvitation ? '0' : getUnitFee(getFee(node.data.fees, 'measure.tenderTotalFee'),node.data.quantity,2), type: TYPE.DECIMAL }, // 措施费
|
|
|
+ { name: 'Glf', value: isBidInvitation ? '0' : getUnitFee(getFee(node.data.fees, 'manage.tenderTotalFee'),node.data.quantity,2), type: TYPE.DECIMAL }, // 企业管理费
|
|
|
+ { name: 'Gf', value: isBidInvitation ? '0' : getUnitFee(getFee(node.data.fees, 'force.tenderTotalFee'),node.data.quantity,2), type: TYPE.DECIMAL }, // 规费
|
|
|
+ { name: 'Lr', value: isBidInvitation ? '0' : getUnitFee(getFee(node.data.fees, 'profit.tenderTotalFee'),node.data.quantity,2), type: TYPE.DECIMAL }, // 利润
|
|
|
+ { name: 'Sj', value: isBidInvitation ? '0' : getUnitFee(getFee(node.data.fees, 'tax.tenderTotalFee'),node.data.quantity,2), type: TYPE.DECIMAL }, // 税金
|
|
|
{ name: 'Zhdj', value: isBidInvitation ? '0' : getFee(node.data.fees, 'common.tenderUnitFee'), type: TYPE.DECIMAL }, // 单价
|
|
|
{ name: 'Zhhj', value: isBidInvitation ? '0' : orgFee, type: TYPE.DECIMAL }, // 合价
|
|
|
{ name: 'Zgj', value: isBidInvitation ? '0' : getFee(node.data.fees, 'estimate.tenderTotalFee'), type: TYPE.DECIMAL }, // 暂估价
|
|
|
@@ -431,17 +432,17 @@ INTERFACE_EXPORT = (() => {
|
|
|
{ name: 'Mc', value: ration.name }, // 名称
|
|
|
{ name: 'Dw', value: ration.unit }, // 单位
|
|
|
{ name: 'Sl', value: ration.tenderQuantity, type: TYPE.DECIMAL }, // 工程量
|
|
|
- { name: 'Dj', value: getFee(ration.fees, 'common.tenderUnitFee'), type: TYPE.DECIMAL }, // 单价
|
|
|
- { name: 'Hj', value: getFee(ration.fees, 'common.tenderTotalFee'), type: TYPE.DECIMAL }, // 合价
|
|
|
- { name: 'Rgf', value: getFee(ration.fees, 'marketLabour.tenderTotalFee'), type: TYPE.DECIMAL }, // 人工费
|
|
|
- { name: 'Clf', value: getFee(ration.fees, 'marketMaterial.tenderTotalFee'), type: TYPE.DECIMAL }, // 材料费
|
|
|
- { name: 'Jxf', value: getFee(ration.fees, 'marketMachine.tenderTotalFee'), type: TYPE.DECIMAL }, // 机械费
|
|
|
- { name: 'Sbf', value: getFee(ration.fees, 'marketEquipment.tenderTotalFee'), type: TYPE.DECIMAL }, // 设备费
|
|
|
- { name: 'Csf', value: getFee(ration.fees, 'measure.tenderTotalFee'), type: TYPE.DECIMAL }, // 措施费
|
|
|
- { name: 'Glf', value: getFee(ration.fees, 'manage.tenderTotalFee'), type: TYPE.DECIMAL }, // 企业管理费
|
|
|
- { name: 'Gf', value: getFee(ration.fees, 'force.tenderTotalFee'), type: TYPE.DECIMAL }, // 规费
|
|
|
- { name: 'Lr', value: getFee(ration.fees, 'profit.tenderTotalFee'), type: TYPE.DECIMAL }, // 利润
|
|
|
- { name: 'Sj', value: getFee(ration.fees, 'tax.tenderTotalFee'), type: TYPE.DECIMAL }, // 税金
|
|
|
+ { name: 'Dj', value: getUnitFee(getFee(ration.fees, 'common.tenderUnitFee'),ration.tenderQuantity,2), type: TYPE.DECIMAL }, // 单价
|
|
|
+ { name: 'Hj', value: getUnitFee(getFee(ration.fees, 'common.tenderTotalFee'),ration.tenderQuantity,2), type: TYPE.DECIMAL }, // 合价
|
|
|
+ { name: 'Rgf', value: getUnitFee(getFee(ration.fees, 'marketLabour.tenderTotalFee'),ration.tenderQuantity,2), type: TYPE.DECIMAL }, // 人工费
|
|
|
+ { name: 'Clf', value: getUnitFee(getFee(ration.fees, 'marketMaterial.tenderTotalFee'),ration.tenderQuantity,2), type: TYPE.DECIMAL }, // 材料费
|
|
|
+ { name: 'Jxf', value: getUnitFee(getFee(ration.fees, 'marketMachine.tenderTotalFee'),ration.tenderQuantity,2), type: TYPE.DECIMAL }, // 机械费
|
|
|
+ { name: 'Sbf', value: getUnitFee(getFee(ration.fees, 'marketEquipment.tenderTotalFee'),ration.tenderQuantity,2), type: TYPE.DECIMAL }, // 设备费
|
|
|
+ { name: 'Csf', value: getUnitFee(getFee(ration.fees, 'measure.tenderTotalFee'),ration.tenderQuantity,2), type: TYPE.DECIMAL }, // 措施费
|
|
|
+ { name: 'Glf', value: getUnitFee(getFee(ration.fees, 'manage.tenderTotalFee'),ration.tenderQuantity,2), type: TYPE.DECIMAL }, // 企业管理费
|
|
|
+ { name: 'Gf', value: getUnitFee(getFee(ration.fees, 'force.tenderTotalFee'),ration.tenderQuantity,2), type: TYPE.DECIMAL }, // 规费
|
|
|
+ { name: 'Lr', value: getUnitFee(getFee(ration.fees, 'profit.tenderTotalFee'),ration.tenderQuantity,2), type: TYPE.DECIMAL }, // 利润
|
|
|
+ { name: 'Sj', value: getUnitFee(getFee(ration.fees, 'tax.tenderTotalFee'),ration.tenderQuantity,2), type: TYPE.DECIMAL }, // 税金
|
|
|
{ name: 'Delb', value: type, type: TYPE.INT }, // 取定额/量价/设备的类别。(1=普通定额,2=人工,3=材料,4=机械,5=设备)
|
|
|
{ name: 'Iszd', value: 'false', type: TYPE.BOOL }, // 暂时,全部取fals
|
|
|
];
|
|
|
@@ -474,8 +475,8 @@ INTERFACE_EXPORT = (() => {
|
|
|
{ name: 'Rcjhl', value: item.contain, type: TYPE.DECIMAL }, // 含量:取叶子清单下所有的人材机的含量,=各定额下的人材机总消耗量之和,再除以清单工程量
|
|
|
{ name: 'Rcjhj', value: item.totalPrice, type: TYPE.DECIMAL }, // 合价:人材机含量*人材机预算价
|
|
|
{ name: 'Zgjbz', value: item.isEvaluate, type: TYPE.BOOL }, // 是否暂估,根据资源ID,读取工料机汇总界面对应的“是否暂估”
|
|
|
- { name: 'Zcbz', value: item.isMainMaterial, type: TYPE.BOOL }, // 主材标记,公路上无此概念,默认输出=fales
|
|
|
- { name: 'Zyclbz', value: 'false', type: TYPE.BOOL }, // 根据资源ID,读取工料机汇总界面对应的“主要材料”
|
|
|
+ { name: 'Zcbz', value: 'false', type: TYPE.BOOL }, // 主材标记,公路上无此概念,默认输出=fales
|
|
|
+ { name: 'Zyclbz', value: item.isMainMaterial, type: TYPE.BOOL }, // 根据资源ID,读取工料机汇总界面对应的“主要材料”
|
|
|
]
|
|
|
Element.call(this, 'QdxrcjhlMx', attrs);
|
|
|
}
|
|
|
@@ -562,9 +563,9 @@ INTERFACE_EXPORT = (() => {
|
|
|
{ name: 'Gycs', value: '' }, // 厂商
|
|
|
{ name: 'Rcjlb', value: rootType, type: TYPE.INT }, // 人材机类型 1=人工;2=材料;3=机械
|
|
|
{ name: 'Jgbz', value: 'false', type: TYPE.BOOL }, // 供材方
|
|
|
- { name: 'Zyclbz', value: 'false' , type: TYPE.BOOL }, // 主要材料
|
|
|
+ { name: 'Zyclbz', value: !!glj.is_main_material, type: TYPE.BOOL }, // 主要材料
|
|
|
{ name: 'Zgjbz', value: !!glj.is_evaluate, type: TYPE.BOOL }, // 是否暂估
|
|
|
- { name: 'Zcbz', value: !!glj.is_main_material, type: TYPE.BOOL }, // 主材标记
|
|
|
+ { name: 'Zcbz', value: 'false' , type: TYPE.BOOL }, // 主材标记
|
|
|
];
|
|
|
console.log(!!glj.is_main_material);
|
|
|
Element.call(this, 'RcjhzMx', attrs);
|
|
|
@@ -720,7 +721,7 @@ INTERFACE_EXPORT = (() => {
|
|
|
const subIsRations = node.children.length && !node.source.children.length;
|
|
|
if (subIsRations) {
|
|
|
qdmx.children.push(...setupRations(node.children));
|
|
|
- qdmx.children.push(...setupBillsContain(node.data));
|
|
|
+ qdmx.children.push(...setupBillsContain(node.data,node.children));
|
|
|
} else {
|
|
|
qdmx.children.push(...setupSubBills(node.children, allNodes));
|
|
|
}
|
|
|
@@ -742,6 +743,7 @@ INTERFACE_EXPORT = (() => {
|
|
|
|
|
|
return qdxm;
|
|
|
}
|
|
|
+
|
|
|
|
|
|
// 组装定额、定额人材机数据
|
|
|
function setupRations(rationNodes) {
|
|
|
@@ -766,10 +768,14 @@ INTERFACE_EXPORT = (() => {
|
|
|
}
|
|
|
|
|
|
// 组装清单人材机含量数据
|
|
|
- function setupBillsContain(bills) {
|
|
|
+ function setupBillsContain(bills,rationNodes) {
|
|
|
if (isBidInvitation) {
|
|
|
return [];
|
|
|
}
|
|
|
+ const rationIDMap = {};
|
|
|
+ for(const node of rationNodes){
|
|
|
+ rationIDMap[node.data.ID] = node.data;
|
|
|
+ }
|
|
|
// 读取清单下的人材机,先将各定额下的人材机汇总,相同的合并(相同的项目人材机ID)
|
|
|
const gljList = curDetail.ration_glj.datas.filter(glj => glj.billsItemID === bills.ID);
|
|
|
if (!gljList) {
|
|
|
@@ -781,13 +787,14 @@ INTERFACE_EXPORT = (() => {
|
|
|
const projectGLJ = projectGLJMap[glj.projectGLJID];
|
|
|
map[glj.projectGLJID] = {
|
|
|
rcjID: projectGLJIDToRcjID[glj.projectGLJID],
|
|
|
- totalQuantity: glj.tenderQuantity,
|
|
|
+ totalQuantity: !!rationIDMap[glj.rationID]?gljOprObj.getTotalQuantity(glj,rationIDMap[glj.rationID]):0 ,
|
|
|
price: projectGLJ.priceInfo.tenderPrice,
|
|
|
isEvaluate: !!projectGLJ.is_evaluate,
|
|
|
isMainMaterial: !!projectGLJ.is_main_material
|
|
|
};
|
|
|
} else {
|
|
|
- map[glj.projectGLJID].totalQuantity = scMathUtil.roundTo(map[glj.projectGLJID].totalQuantity + glj.tenderQuantity, -6);
|
|
|
+ const subQuantity = !!rationIDMap[glj.rationID]?gljOprObj.getTotalQuantity(glj,rationIDMap[glj.rationID]):0;
|
|
|
+ map[glj.projectGLJID].totalQuantity = scMathUtil.roundTo(map[glj.projectGLJID].totalQuantity + subQuantity, -6);
|
|
|
}
|
|
|
});
|
|
|
const containItems = Object
|