ration_installation.js 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. /**
  2. * Created by zhang on 2018/2/24.
  3. */
  4. let ration_installation = {
  5. createNew: function (project) {
  6. // 用户定义private方法
  7. var tools = {};
  8. // 所有通过this访问的属性,都不应在此单元外部进行写入操作
  9. var ration_installation = function (proj) {
  10. // this.project = proj;
  11. this.datas = [];
  12. var sourceType = ModuleNames.ration_installation;
  13. this.getSourceType = function () {
  14. return sourceType;
  15. }
  16. proj.registerModule(ModuleNames.ration_installation, this);
  17. };
  18. // prototype用于定义public方法
  19. ration_installation.prototype.loadData = function (datas) {
  20. this.datas = datas;
  21. };
  22. ration_installation.prototype.addDatasToList = function (datas) {
  23. let me = this;
  24. if(datas&&datas.length>0){
  25. if (me.datas && Array.isArray(me.datas)) {
  26. me.datas = me.datas.concat(datas);
  27. } else {
  28. me.datas = datas;
  29. }
  30. }
  31. };
  32. ration_installation.prototype.getBySectionID = function(sectionID){
  33. var ri_list = this.datas;
  34. return _.filter(ri_list,{'sectionId':sectionID});
  35. };
  36. ration_installation.prototype.deleteByRation = function(ration){
  37. var ri_list = projectObj.project.ration_installation.datas;
  38. _.remove(ri_list,{'rationID':ration.ID});
  39. };
  40. ration_installation.prototype.getByID = function (ID) {
  41. let me = this;
  42. let ri = _.find(me.datas,{'ID':ID})
  43. return ri;
  44. };
  45. ration_installation.prototype.getCalcRIByItemID = function (libID,itemID) {//按费用项ID取费用规则不为空的定额安装增加费
  46. return _.filter(this.datas,function (item) {
  47. if(item.libID == libID && item.feeItemId == itemID && item.ruleId && item.ruleId !=""){
  48. return true;
  49. }
  50. return false;
  51. })
  52. };
  53. ration_installation.prototype.update = function (updateData,callback) {
  54. let me = this;
  55. $.bootstrapLoading.start();
  56. CommonAjax.post('/installation/updateRationInstallation',updateData,function (data) {
  57. //更新缓存
  58. let ri = _.find(me.datas,{'ID':updateData.ID});
  59. if(ri){
  60. for(let key in updateData){
  61. ri[key] = updateData[key];
  62. }
  63. }
  64. if(callback){
  65. callback();
  66. }
  67. $.bootstrapLoading.end();
  68. },function () {
  69. $.bootstrapLoading.end();
  70. })
  71. };
  72. return new ration_installation(project);
  73. }
  74. };