/** * Created by CSL on 2017-06-20. */ //var ModuleNames = require('./main_consts.js'); var FeeRate = { createNew: function (project) { function FeeRate(proj){ this.datas = null; this.sourceType = ModuleNames.feeRate; proj.registerModule(ModuleNames.feeRate, this); }; FeeRate.prototype.loadData = function (datas) { this.datas = datas; }; /* FeeRate.prototype.getViewDatas = function(){ var rates=[]; _.forEach(this.datas,function (item) { if(item.status == 'activate'){ rates= item.rates; } }) return rates; };*/ FeeRate.prototype.getActivateFeeRate = function () { var feeRate=null; _.forEach(this.datas,function (item) { if(item.status == 'activate'){ feeRate= item; } }) return feeRate; }; FeeRate.prototype.getSubViewData= function(item) { var datas = []; if(item.hasOwnProperty('subFeeRate')&&item.subFeeRate!=undefined){ datas = item.subFeeRate.recodes; } return datas; }; FeeRate.prototype.getValueMap= function(item) { var valueMap = {}; if(item.hasOwnProperty('subFeeRate')&&item.subFeeRate!=undefined){ var recodes = item.subFeeRate.valueMaps; _.forEach(recodes,function (r) { valueMap[r.ID] = r.value; }) return valueMap; }else { return null; } }; FeeRate.prototype.getOptions=function (options,subRates,parentID,itemID) { var data = {}; var list = _.filter(subRates, {'ParentID':parentID}); if(list&&list.length>0){ if(parentID==-1){ data.ID = itemID+'_'+0; }else { data.ID = itemID+'_'+parentID; } data.name = list[0].type; data.optionList=[]; } var nexParent = null; _.forEach(list,function (c) { var option={}; option.name = c.name; option.value = c.ID; option.selected = c.selected; data.optionList.push(option); if(c.selected&&!c.isLeaf){ nexParent = c.ID; } }) options.push(data); if(nexParent!=null){ this.getOptions(options,subRates,nexParent,itemID); } }; FeeRate.prototype.getUpdateData=function(type,query,doc,callfunction){ var updateData = []; var newobj = { 'updateType': type, 'query': query, } if(doc){ newobj['doc']=doc; } if(callfunction){ newobj['updateFunction']=callfunction; } updateData.push(newobj); return updateData; }; FeeRate.prototype.updateFeeRateByEdit = function(params,feerate){ var query={ ID:feerate.ID, projectID:feerate.projectID }; var doc ={ rateIndex:params.sourceIndex, rate:params.dataItem } this.updateFeeRate(query,doc); }; FeeRate.prototype.batchUpdateFeeRate = function (items,feerate) { var query={ ID:feerate.ID, projectID:project.ID() }; this.updateFeeRate(query,items); }; FeeRate.prototype.updateFeeRate=function (query,doc) { var updateData = this.getUpdateData('ut_update',query,doc,'update_rates'); project.pushNow('updateFeeRate',[this.sourceType],updateData); }; FeeRate.prototype.updateStatusBySelected = function (updateTasks) { var updateData = []; var newobj = { 'updateType': 'ut_update', 'tasks': updateTasks, 'updateFunction':'updateStatusBySelected' } updateData.push(newobj); project.pushNow('updateFeeRate',[this.sourceType],updateData); } FeeRate.prototype.getRate = function (fileID, rateID){ return 1.25; } var feeRate = new FeeRate(project); return feeRate; } };