/** * Created by Mai on 2017/4/1. */ var Bills = { createNew: function (project) { var billsTreeSetting = { id: 'ID', pid: 'ParentID', nid: 'NextSiblingID', rootId: -1, autoUpdate: false }; // 用户定义private方法 var tools = {}; // 所有通过this访问的属性,都不应在此单元外部进行写入操作 var bills = function (proj) { this.project = proj; this.datas = null; this.tree = idTree.createNew(billsTreeSetting); var sourceType = ModuleNames.bills; this.getSourceType = function () { return sourceType; } proj.registerModule(ModuleNames.bills, this); }; // 从后台获取数据 /*bills.prototype.pullData = function (){ this.project.pullData( '/bills/getData', {projectID: this.project.ID}, function(result){ if (result.error ===0){ this.loadDatas(result.data); } else { // to do: ?错误处理需要细化 alert(result.message); } }, function (){}// to do: 错误处理需要细化 ) };*/ // prototype用于定义public方法 bills.prototype.loadData = function (datas) { this.datas = datas; // generate Fees & Flags Index, For View & Calculate this.datas.forEach(function (data) { data.FeesIndex = {}; if (data.fees) { data.fees.forEach(function (fee) { data.FeesIndex[fee.fieldName] = fee; }); } data.FlagsIndex = {}; if (data.flags) { data.flags.forEach(function (flag) { data.FlagsIndex[flag.fieldName] = flag; }); } }); // datas load to Tree this.tree.loadDatas(this.datas); }; // 提交数据后的错误处理方法 bills.prototype.doAfterUpdate = function(err, data){ // to do }; return new bills(project); } };