rationGLJ.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. /**
  2. * Created by Tony on 2017/4/28.
  3. */
  4. var rationGLJOprObj = {
  5. workBook: null,
  6. cache: {},
  7. setting: {
  8. header:[
  9. {headerName:"编码",headerWidth:160,dataCode:"code", dataType: "String", formatter: "@"},
  10. {headerName:"名称",headerWidth:400,dataCode:"name", dataType: "String"},
  11. {headerName:"单位",headerWidth:160,dataCode:"unit", dataType: "String"},
  12. {headerName:"单位基价",headerWidth:160, dataCode:"basePrice", dataType: "Number", precision: 2},
  13. {headerName:"定额消耗",headerWidth:160, dataCode:"consumeAmt", dataType: "Number", precision: 3},
  14. {headerName:"类型",headerWidth:160,dataCode:"gljDistType", dataType: "String"},
  15. {headerName:"操作",headerWidth:130,dataCode:"code", dataType: "String"}
  16. ],
  17. view:{
  18. comboBox:[],
  19. lockColumns:[1,2,3,5,6]
  20. }
  21. },
  22. buildSheet: function(container) {
  23. var me = this;
  24. me.workBook = sheetCommonObj.buildSheet(container, me.setting, 30);
  25. },
  26. createRationGljDisplayItem: function(rItem, repGlj) {
  27. var rst = {};
  28. rst.gljId = rItem.gljId;
  29. rst.consumeAmt = rItem.consumeAmt;
  30. rst.code = repGlj.code;
  31. rst.name = repGlj.name;
  32. rst.specs = repGlj.specs;
  33. rst.unit = repGlj.unit;
  34. rst.basePrice = repGlj.basePrice;
  35. rst.gljDistType = repGlj.gljDistType;
  36. return rst;
  37. },
  38. getGljItems: function(rationItem) {
  39. var me = this, rationID = rationItem.ID, rationGljList = rationItem.rationGljList;
  40. if (me.cache["_GLJ_" + rationID]) {
  41. me.showGljItems(rationID);
  42. sheetCommonObj.lockCells(me.workBook.getSheet(0), me.setting);
  43. } else {
  44. var gljIds = [];
  45. for (var i = 0; i < rationGljList.length; i++) {
  46. gljIds.push(rationGljList[i].gljId);
  47. }
  48. $.ajax({
  49. type:"POST",
  50. url:"api/getGljItemsByIds",
  51. data:{"gljIds": JSON.stringify(gljIds)},
  52. dataType:"json",
  53. cache:false,
  54. timeout:5000,
  55. success:function(result){
  56. sheetCommonObj.cleanSheet(me.workBook.getSheet(0), me.setting, -1);
  57. if (result) {
  58. var cacheArr = [];
  59. for (var i = 0; i < result.data.length; i++) {
  60. for (var j = 0; j < rationGljList.length; j++) {
  61. if (rationGljList[j].gljId == result.data[i].ID) {
  62. cacheArr.push(me.createRationGljDisplayItem(rationGljList[j], result.data[i]));
  63. break;
  64. }
  65. }
  66. }
  67. me.cache["_GLJ_" + rationID] = cacheArr;
  68. me.showGljItems(rationID);
  69. }
  70. sheetCommonObj.lockCells(me.workBook.getSheet(0), me.setting);
  71. },
  72. error:function(err){
  73. alert(err);
  74. }
  75. })
  76. }
  77. },
  78. showGljItems: function(rationID) {
  79. var me = this;
  80. if (me.cache["_GLJ_" + rationID]) {
  81. sheetCommonObj.showData(me.workBook.getSheet(0), me.setting, me.cache["_GLJ_" + rationID]);
  82. }
  83. }
  84. }