rpt_tpl_helper.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. /**
  2. * Created by Tony on 2017/6/7.
  3. */
  4. let tplHelper = {
  5. createDftRptTpl: function(treeNode) {
  6. var me = this, rst = {GROUP_KEY: 'CONSTRUCT', ID_KEY: null};
  7. rst[JV.NODE_MAIN_INFO] = me.createDftRptMainInfo(treeNode.name);
  8. rst[JV.NODE_FIELD_MAP] = {};
  9. rst[JV.NODE_BAND_COLLECTION] = {};
  10. rst[JV.NODE_CROSS_INFO] = {};
  11. rst[JV.NODE_DISCRETE_PARAMS] = {};
  12. rst[JV.NODE_FORMULAS] = {};
  13. rst[JV.NODE_FLOW_INFO] = {};
  14. rst[JV.NODE_NO_MAPPING_FIELDS] = {};
  15. return rst;
  16. },
  17. createDftRptMainInfo: function(rptName) {
  18. let rst = {};
  19. rst[JV.NODE_MAIN_INFO_RPT_NAME] = rptName;
  20. rst[JV.PROP_UNITS] = JV.MEASUREMENT.CM[0];
  21. rst[JV.NODE_PAGE_INFO] = {};
  22. rst[JV.NODE_PAGE_INFO][JV.PROP_PAGE_SIZE] = "A4";
  23. rst[JV.NODE_PAGE_INFO][JV.PROP_ORIENTATION] = "LANDSCAPE";
  24. rst[JV.NODE_MARGINS] = {};
  25. rst[JV.NODE_MARGINS][JV.PROP_LEFT] = 0.8;
  26. rst[JV.NODE_MARGINS][JV.PROP_RIGHT] = 0.8;
  27. rst[JV.NODE_MARGINS][JV.PROP_TOP] = 0.8;
  28. rst[JV.NODE_MARGINS][JV.PROP_BOTTOM] = 0.8;
  29. return rst;
  30. },
  31. confirmAndCreateTpl: function(treeNode) {
  32. if (zTreeOprObj.currentNode && zTreeOprObj.currentNode.nodeType == RT.NodeType.TEMPLATE) {
  33. //
  34. }
  35. },
  36. refreshTplView: function (rptTpl) {
  37. if (rptTpl) {
  38. //1. 模板信息
  39. $("#rptTplName")[0].value = rptTpl[JV.NODE_MAIN_INFO][JV.NODE_MAIN_INFO_RPT_NAME];
  40. $("#rptTplPageSize")[0].selectedIndex = JV.PAGES_SIZE_STR.indexOf(rptTpl[JV.NODE_MAIN_INFO][JV.NODE_PAGE_INFO][JV.PROP_PAGE_SIZE]);
  41. if (rptTpl[JV.NODE_MAIN_INFO][JV.NODE_PAGE_INFO][JV.PROP_ORIENTATION] === JV.ORIENTATION_PORTRAIT ||
  42. rptTpl[JV.NODE_MAIN_INFO][JV.NODE_PAGE_INFO][JV.PROP_ORIENTATION] === JV.ORIENTATION_PORTRAIT_CHN) {
  43. $("#rptTplPageOrientation")[0].selectedIndex = 1;
  44. } else {
  45. $("#rptTplPageOrientation")[0].selectedIndex = 0;
  46. }
  47. if (rptTpl[JV.NODE_FLOW_INFO]) {
  48. $("#multiColCnt")[0].style.display = "";
  49. } else {
  50. $("#multiColCnt")[0].style.display = "none";
  51. }
  52. $("#rptTplMarginLeft")[0].value = rptTpl[JV.NODE_MAIN_INFO][JV.NODE_MARGINS][JV.PROP_LEFT];
  53. $("#rptTplMarginRight")[0].value = rptTpl[JV.NODE_MAIN_INFO][JV.NODE_MARGINS][JV.PROP_RIGHT];
  54. $("#rptTplMarginTop")[0].value = rptTpl[JV.NODE_MAIN_INFO][JV.NODE_MARGINS][JV.PROP_TOP];
  55. $("#rptTplMarginBottom")[0].value = rptTpl[JV.NODE_MAIN_INFO][JV.NODE_MARGINS][JV.PROP_BOTTOM];
  56. //2. 模板布局
  57. bandTreeOprObj.iniTree(rptTpl);
  58. //3. 指标映射
  59. fieldMapTreeOprObj.iniTree(rptTpl);
  60. //4. 指标摆放
  61. //5. 计算式
  62. }
  63. },
  64. saveRptTpl: function () {
  65. let me = this, params = null;
  66. if (me.reCombineRptTpl()) {
  67. let rptTpl = zTreeOprObj.currentNode.rptTpl;
  68. params = {};
  69. params.rptTpl = JSON.stringify(rptTpl);
  70. CommonAjax.postEx("report_tpl_api/updateRptTpl", params, 20000, true, function(result){
  71. if (result) {
  72. alert('update succeeded!')
  73. } else {
  74. alert('update failed!')
  75. }
  76. }, null, null
  77. );
  78. }
  79. },
  80. reCombineRptTpl: function () {
  81. let rst = true;
  82. if (zTreeOprObj.currentNode && zTreeOprObj.currentNode.nodeType == RT.NodeType.TEMPLATE && zTreeOprObj.currentNode.rptTpl != null) {
  83. let rptTpl = zTreeOprObj.currentNode.rptTpl;
  84. //1. 模板信息
  85. zTreeOprObj.extractMainInfo(rptTpl);
  86. //2. 模板布局
  87. bandTreeOprObj.extractBands(rptTpl);
  88. //3. 指标映射
  89. fieldMapTreeOprObj.extractFieldMaps(rptTpl);
  90. //4. 指标摆放
  91. tabFieldCfgTreeOprObj.extractTabFields(rptTpl);
  92. //5. 计算式
  93. calculationTreeOprObj.extractCalculation(rptTpl);
  94. } else {
  95. rst = false;
  96. }
  97. return rst;
  98. }
  99. }