rpt_main.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. /**
  2. * Created by Tony on 2017/6/26.
  3. */
  4. 'use strict'
  5. let rptTplObj = {
  6. hasInitialized: false,
  7. iniPage: function() {
  8. let me = this;
  9. if (!me.hasInitialized) {
  10. zTreeOprObj.getReportTemplateTree(userID);
  11. me.hasInitialized = true;
  12. let canvas = document.getElementById("rptCanvas");
  13. canvas.onclick = canvasOprObj.cavansOnClick;
  14. canvas.onmousemove = canvasOprObj.canvasOnMouseMove;
  15. }
  16. }
  17. }
  18. let zTreeOprObj = {
  19. treeObj: null,
  20. currentNode: null,
  21. currentRptPageRst: null,
  22. currentPage: 1,
  23. maxPages: 0,
  24. getReportTemplateTree: function(userId) {
  25. let me = zTreeOprObj, params = {};
  26. params.userId = [];
  27. params.userId.push(userId);
  28. params.userId.push(-100);
  29. // let allEngIds = [];
  30. // for (let item of engineeringList) {
  31. // allEngIds.push(item.value);
  32. // }
  33. // params.engineerId = allEngIds;
  34. params.engineerId = projectInfoObj.projectInfo.property.engineering;
  35. CommonAjax.postEx("report_tpl_api/getRptTplTree", params, 20000, true, function(result){
  36. zTreeHelper.createTreeDirectly(result, rpt_tpl_setting, "rptTplTree", me);
  37. me.refreshNodes();
  38. }, null, null
  39. );
  40. },
  41. refreshNodes: function() {
  42. let me = this;
  43. let private_setupIsParent = function(node){
  44. node.isParent = (node.nodeType === RT.NodeType.NODE || node.level === 0);
  45. if (node.items && node.items.length) {
  46. for (let i = 0; i < node.items.length; i++) {
  47. private_setupIsParent(node.items[i]);
  48. }
  49. }
  50. };
  51. let topNodes = me.treeObj.getNodes();
  52. for (let i = 0; i < topNodes.length; i++) {
  53. private_setupIsParent(topNodes[i]);
  54. }
  55. me.treeObj.refresh();
  56. },
  57. onCheck: function() {
  58. //count();
  59. //if (clearFlag) {
  60. // clearCheckedOldNodes();
  61. //}
  62. },
  63. onClick: function(event,treeId,treeNode) {
  64. let me = zTreeOprObj;
  65. let canvas = document.getElementById("rptCanvas");
  66. if (treeNode.nodeType === TPL_TYPE_TEMPLATE && treeNode.refId > 0) {
  67. let params = {};
  68. let pageSize = "A4";
  69. params.user_id = userID;
  70. params.pageSize = pageSize;
  71. params.rpt_tpl_id = treeNode.refId;
  72. params.prj_id = projectInfoObj.projectInfo.ID;
  73. CommonAjax.postEx("report_api/getReport", params, 5000, true, function(result){
  74. let pageRst = result;
  75. if (pageRst) {
  76. me.currentRptPageRst = pageRst;
  77. me.maxPages = pageRst.items.length;
  78. me.currentPage = 1;
  79. if (pageSize === "A4") {
  80. canvas.width = 1200;
  81. canvas.height = 1200;
  82. } else if (pageSize === "A3") {
  83. canvas.width = 1880;
  84. canvas.height = 1880;
  85. }
  86. me.showPage(0, canvas);
  87. }
  88. }, null, null
  89. );
  90. }
  91. },
  92. showPage: function (pageStep, canvas) {
  93. let me = zTreeOprObj;
  94. if (me.currentPage + pageStep >= 1 && me.currentPage + pageStep <= me.maxPages) {
  95. me.currentPage = me.currentPage + pageStep;
  96. JpcCanvasOutput.cleanCanvas(canvas);
  97. JpcCanvasOutput.drawPageBorder(me.currentRptPageRst, canvas, getScreenDPI());
  98. JpcCanvasOutput.drawToCanvas(me.currentRptPageRst, canvas, me.currentPage);
  99. }
  100. }
  101. };
  102. let canvasOprObj = {
  103. canvasOnMouseMove: function (event) {
  104. let x = event.offsetX - JpcCanvasOutput.offsetX,
  105. canvas = event.originalTarget
  106. ;
  107. if (x < 300) {
  108. canvas.style.cursor = "e-resize";
  109. } else if ((canvas.width - x) < 300) {
  110. canvas.style.cursor = "w-resize";
  111. } else {
  112. canvas.style.cursor = "";
  113. }
  114. },
  115. cavansOnClick: function(event){
  116. let x = event.offsetX - JpcCanvasOutput.offsetX,
  117. //y = event.offsetY - JpcCanvasOutput.offsetY,
  118. canvas = event.originalTarget;
  119. if (x < 300) {
  120. zTreeOprObj.showPage(-1, canvas);
  121. } else if ((canvas.width - x) < 300) {
  122. zTreeOprObj.showPage(1, canvas);
  123. }
  124. }
  125. };