12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- /**
- * Created by Mai on 2017/7/21.
- */
- let calcFees = {
- findFee: function (data, fieldName) {
- if (!data.fees) {
- data.fees = [];
- data.feesIndex = {};
- }
- 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) {
- if (!data.fees) {
- data.fees = [];
- data.feesIndex = {};
- }
- 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]!=undefined||value[field]!=null) {
- 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;
- },
- setFee: function (data, fullField, value) {
- let fields = fullField.split('.'), valueField = data;
- for (let i in fields) {
- if (valueField[fields[i]]) {
- if (i == fields.length - 1) {
- valueField[fields[i]] = value;
- } else {
- valueField = valueField[fields[i]];
- }
- } else {
- if (i == fields.length - 1) {
- valueField[fields[i]] = value;
- } else {
- valueField[fields[i]] = {};
- };
- }
- }
- }
- }
|