|
@@ -1623,17 +1623,18 @@ class CalcProgram {
|
|
|
this.saveNodes(changedNodes, callback);
|
|
|
};
|
|
|
|
|
|
- // 排除指定项的综合合价计算(用于带循环计算的情况)
|
|
|
+ // 排除指定项的综合合价计算(用于带循环计算的情况)。
|
|
|
+ // 这里的汇总只到清单级别即可(清单单价取费时,汇总到清单和汇总到定额两个值不一样)
|
|
|
getTotalFee(baseNodes, excludeNodes){
|
|
|
let rst = 0;
|
|
|
function calcNodes(nodes) {
|
|
|
for (let node of nodes) {
|
|
|
if (!excludeNodes.includes(node)){
|
|
|
- if (node.children.length > 0) {
|
|
|
+ if (node.source && node.source.children && node.source.children.length > 0) {
|
|
|
calcNodes(node.children);
|
|
|
}
|
|
|
else{
|
|
|
- if (node.sourceType != ModuleNames.ration_glj) {
|
|
|
+ if (node.sourceType == ModuleNames.bills) {
|
|
|
rst = (rst + calcTools.getFee(node, 'common.totalFee')).toDecimal(decimalObj.decimal("totalPrice", node));
|
|
|
};
|
|
|
}
|