/** * Created by Mai on 2017/7/21. */ let calcFees = { findFee: function (data, fieldName) { if (!data.fees) { data.fees = []; } for (let fee of data.fees) { if (fee.fieldName === fieldName) { return fee; } } return null; }, AddFee: function (data, fieldName) { let fee = { 'fieldName': fieldName, 'unitFee': 0, 'totalFee': 0, 'tenderUnitFee': 0, 'tenderTotalFee': 0 }; data.fees.push(fee); data.feesIndex[fieldName] = fee; }, checkFields: function (data, fields) { for (let field of fields) { if (!this.findFee(data, field.type)) { this.AddFee(data, field.type); } } }, getFee: function (data, fullField) { let fields = fullField.split('.'), value = data; for (let field of fields) { if (value[field]) { value = value[field]; } else { return 0; } } return value; }, getFeeSplit: function (data, fullFields) { let value = data; for (let field of fullFields) { if (value[field]) { value = value[field]; } else { return 0; } } return value; } }