123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- /**
- * Created by Mai on 2017/7/21.
- */
- let feeType = [
- // {type: 'common', name: '工程造价'},
- // {type: 'baseLabour', name: '基价人工费'},
- // {type: 'material', name: '材料费'},
- // {type: 'machine', name: '机械费'},
- // {type: 'rationDirect', name: '定额直接费'},
- // {type: 'manage', name: '企业管理费'},
- // {type: 'profit', name: '利润'},
- // {type: 'risk', name: '风险费'},
- // 以下标准由缪佩玲提供
- {type: 'direct', name: '直接费'},
- {type: 'labour', name: '人工费'},
- {type: 'material', name: '材料费'},
- {type: 'machine', name: '机械费'},
- {type: 'mainMaterial', name: '主材费'},
- {type: 'manage', name: '企业管理费'},
- {type: 'profit', name: '利润'},
- {type: 'risk', name: '风险费'},
- {type: 'labourDiff', name: '人工价差'},
- {type: 'materialDiff', name: '材料价差'},
- {type: 'machineDiff', name: '机械价差'},
- {type: 'common', name: '工程造价'},
- {type: 'adjustLabour', name: '调整人工费'},
- {type: 'adjustMachineLabour', name: '调整机上人工费'},
- {type: 'zangu', name: '暂估'},
- // 模拟用户新增
- {type: 'fee1', name: '甲供材料费'}
- ];
- 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]] = {};
- };
- }
- }
- },
- // CSL,2017.08.28
- feeTypeToName: function (type) {
- for (let ft of feeType) {
- if (ft.type === type) {
- return ft.name;
- };
- };
- },
- feeNameToType: function (name) {
- for (let ft of feeType) {
- if (ft.name === name) {
- return ft.type;
- };
- };
- return '';
- }
- }
|