repositoryGLJ.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. /**
  2. * Created by Tony on 2017/5/5.
  3. */
  4. $("#drirect-dinge").click(function(){
  5. $(this).attr('href', "/rationRepository/ration" + "?repository=" + getQueryString("repository"))
  6. });
  7. var pageOprObj = {
  8. rationLibName : null,
  9. initPage : function() {
  10. var me = this, rationLibName = getQueryString("repository");//获取定额库参数
  11. if (rationLibName) {
  12. me.rationLibName = rationLibName;
  13. repositoryGljObj.getGljTree(rationLibName, function(repId){
  14. repositoryGljObj.getGljItems(repId);
  15. });
  16. }
  17. }
  18. }
  19. repositoryGljObj = {
  20. treeObj : null,
  21. workBook: null,
  22. gljAllTypeId: -1,
  23. gljList: [],
  24. setting: {
  25. header:[
  26. {headerName:"编码",headerWidth:120,data:"code"},
  27. {headerName:"名称",headerWidth:400,data:"name"},
  28. {headerName:"规格",headerWidth:120,data:"specs"},
  29. {headerName:"单位",headerWidth:120,data:"unit"},
  30. {headerName:"基价单价",headerWidth:120,data:"basePrice"},
  31. {headerName:"类型",headerWidth:120,data:"gljType"}
  32. ],
  33. view:{
  34. comboBox:[
  35. {row:-1,col:3,rowCount:-1,colCount:1}
  36. ],
  37. lockedCells:[
  38. ]
  39. }
  40. },
  41. getGljTree: function(rationLibName, callback) {
  42. var me = this;
  43. $.ajax({
  44. type:"POST",
  45. url:"api/getGljTree",
  46. data:{"rationLibName": rationLibName},
  47. dataType:"json",
  48. cache:false,
  49. timeout:20000,
  50. success:function(result,textStatus,status){
  51. if(status.status == 200) {
  52. me.createRationTree(result.data);
  53. //me.gljAllTypeId
  54. if (result.data && result.data.length > 0) {
  55. for (var i = 0; i < result.data.length; i++) {
  56. if (result.data[i].Name === "全部") {
  57. me.gljAllTypeId = result.data[i].repositoryId;
  58. break;
  59. }
  60. }
  61. if (callback) {
  62. var repId = -1;
  63. repId = result.data[0].repositoryId;
  64. callback(repId);
  65. }
  66. }
  67. }
  68. },
  69. error:function(err){
  70. alert(err.responseJSON.error);
  71. }
  72. })
  73. },
  74. createRationTree : function(sourceData){
  75. var me = repositoryGljObj, treeArr = tree_Data_Helper.buildTreeNodeDirectly(sourceData);
  76. me.treeObj = $.fn.zTree.init($("#repositoryTree"), setting, treeArr);
  77. me.treeObj.expandAll(true);
  78. },
  79. getGljItems: function(repId) {
  80. var me = this;
  81. $.ajax({
  82. type:"POST",
  83. url:"api/getGljItems",
  84. data:{"repositoryId": repId},
  85. dataType:"json",
  86. cache:false,
  87. timeout:5000,
  88. success:function(result){
  89. if(status.status == 200) {
  90. me.gljList = result.data;
  91. me.showGljItems(result.data, me.gljAllTypeId);
  92. }
  93. },
  94. error:function(err){
  95. alert(err.responseJSON.error);
  96. }
  97. })
  98. },
  99. showGljItems: function(data, type) {
  100. var me = repositoryGljObj;
  101. if (me.workBook) {
  102. var cacheSection = [];
  103. for (var i = 0; i < data.length; i++) {
  104. if (type == me.gljAllTypeId || type == data[i].gljType) {
  105. cacheSection.push(data[i]);
  106. }
  107. }
  108. sheetCommonObj.cleanSheet(me.workBook.getSheet(0), me.setting, -1);
  109. sheetCommonObj.showData(me.workBook.getSheet(0), me.setting, cacheSection);
  110. }
  111. },
  112. buildSheet: function(container) {
  113. var me = this;
  114. me.workBook = sheetCommonObj.buildSheet(container, me.setting, 30);
  115. me.workBook.bind(GC.Spread.Sheets.Events.ClipboardPasting, me.onClipboardPasting);
  116. me.workBook.bind(GC.Spread.Sheets.Events.ClipboardPasted, me.onClipboardPasted);
  117. },
  118. onClipboardPasting: function(sender, args) {
  119. var me = repositoryGljObj;
  120. if (args.cellRange.colCount != me.setting.header.length) {
  121. args.cancel = true;
  122. }
  123. },
  124. onClipboardPasted: function(e, info) {
  125. var me = repositoryGljObj;
  126. }
  127. }