rpt_tpl_vis_sum.js 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416
  1. /**
  2. * Created by Tony on 2018/9/4.
  3. */
  4. let virtualSummaryOprObj = {
  5. summaryWorkBook: null,
  6. summaryParentNode: null,
  7. iniSpreadJs: function (summaryParentNode) {
  8. let me = this;
  9. if (me.summaryWorkBook !== null) {
  10. me.summaryWorkBook.destroy();
  11. me.summaryWorkBook = null;
  12. }
  13. me.summaryWorkBook = new GC.Spread.Sheets.Workbook($('#rptTplSummaryWorkbook')[0], {sheetCount: 1});
  14. me.summaryWorkBook.options.tabStripVisible = false;
  15. me.summaryWorkBook.options.allowCopyPasteExcelStyle = false;
  16. me.summaryWorkBook.options.allowUserDragDrop = false;
  17. me.summaryWorkBook.options.allowContextMenu = false;
  18. let sheet = me.summaryWorkBook.getActiveSheet();
  19. sheet.options.allowCellOverflow = false;
  20. sheet.options.clipBoardOptions = GC.Spread.Sheets.ClipboardPasteOptions.values;
  21. sheet.bind(GC.Spread.Sheets.Events.CellClick, me.onCellEnter);
  22. me.summaryParentNode = summaryParentNode;
  23. },
  24. restoreSummary: function () {
  25. let me = this;
  26. let rptTpl = (zTreeOprObj.currentNode)?zTreeOprObj.currentNode.rptTpl:null;
  27. me.private_setup_control_options(false);
  28. me.setupSummary(rptTpl, me.summaryParentNode);
  29. },
  30. setupSummary: function (rptTpl, summaryParentNode) {
  31. let me = this, columnParentNode = null;
  32. let selectedBand = visualCommonOprObj.getBandEx(summaryParentNode[JV.PROP_BAND_NAME], rptTpl);
  33. if (summaryParentNode && selectedBand) {
  34. me.private_setup_control_options(false);
  35. let preNode = summaryParentNode.getPreNode();
  36. while (preNode) {
  37. if (preNode[JV.PROP_NAME] === JV.NODE_FLOW_COLUMN) {
  38. columnParentNode = preNode;
  39. break;
  40. } else {
  41. preNode = preNode.getPreNode();
  42. }
  43. }
  44. let fieldNode = summaryParentNode.items[0], textNode = summaryParentNode.items[1];
  45. if (columnParentNode) {
  46. let yColumnPos = [], xPos = [], ySummaryPos = [0]
  47. // , xSummaryPos = [0]
  48. ;
  49. let sheet = me.summaryWorkBook.getActiveSheet();
  50. let columnBand = visualCommonOprObj.getBandEx(columnParentNode[JV.PROP_BAND_NAME], rptTpl);
  51. let bandH = Math.round(parseFloat(columnBand[JV.BAND_PROP_HEIGHT]) / 2.54 * 96);
  52. let bandW = 700;
  53. let pIdx = JV.PAGES_SIZE_STR.indexOf(rptTpl[JV.NODE_MAIN_INFO][JV.NODE_PAGE_INFO][JV.PROP_PAGE_SIZE]);
  54. if (pIdx >= 0) {
  55. bandW = Math.round(JV.PAGES_SIZE[pIdx][0] * 96 - (parseFloat(rptTpl[JV.NODE_MAIN_INFO][JV.NODE_MARGINS][JV.PROP_LEFT]) + parseFloat(rptTpl[JV.NODE_MAIN_INFO][JV.NODE_MARGINS][JV.PROP_RIGHT])) /2.54*96 );
  56. if (rptTpl[JV.NODE_MAIN_INFO][JV.NODE_PAGE_INFO][JV.PROP_ORIENTATION] === JV.ORIENTATION_LANDSCAPE ||
  57. rptTpl[JV.NODE_MAIN_INFO][JV.NODE_PAGE_INFO][JV.PROP_ORIENTATION] === JV.ORIENTATION_LANDSCAPE_CHN) {
  58. bandW = Math.round(JV.PAGES_SIZE[pIdx][1] * 96 - (parseFloat(rptTpl[JV.NODE_MAIN_INFO][JV.NODE_MARGINS][JV.PROP_LEFT]) + parseFloat(rptTpl[JV.NODE_MAIN_INFO][JV.NODE_MARGINS][JV.PROP_RIGHT])) /2.54*96 );
  59. }
  60. }
  61. //1. 设置column位置(让用户知道位置,后期无需用户再调)
  62. for (let itemNode of columnParentNode.items) {
  63. visualCommonOprObj.pushPos(itemNode, itemNode[JV.PROP_AREA][JV.PROP_H_CALCULATION], JV.PROP_LEFT, bandW, xPos);
  64. visualCommonOprObj.pushPos(itemNode, itemNode[JV.PROP_AREA][JV.PROP_H_CALCULATION], JV.PROP_RIGHT, bandW, xPos);
  65. visualCommonOprObj.pushPos(itemNode, itemNode[JV.PROP_AREA][JV.PROP_V_CALCULATION], JV.PROP_TOP, bandH, yColumnPos);
  66. visualCommonOprObj.pushPos(itemNode, itemNode[JV.PROP_AREA][JV.PROP_V_CALCULATION], JV.PROP_BOTTOM, bandH, yColumnPos);
  67. }
  68. sheet.suspendPaint();
  69. sheet.clearSelection();
  70. sheet.setRowCount(yColumnPos.length - 1, GC.Spread.Sheets.SheetArea.colHeader);
  71. sheet.setColumnCount(xPos.length - 1, GC.Spread.Sheets.SheetArea.viewport);
  72. // sheet.clear();
  73. xPos.sort(function(x1, x2){
  74. return (x1 - x2);
  75. });
  76. yColumnPos.sort(function(y1, y2){
  77. return (y1 - y2);
  78. });
  79. for (let idx = 1; idx < xPos.length; idx++) {
  80. sheet.setColumnWidth(idx - 1, xPos[idx] - xPos[idx - 1]);
  81. }
  82. for (let idx = 1; idx < yColumnPos.length; idx++) {
  83. sheet.setRowHeight(idx - 1, yColumnPos[idx] - yColumnPos[idx - 1]);
  84. sheet.getRange(idx - 1, -1, 1, -1).backColor(undefined);
  85. }
  86. for (let itemNode of columnParentNode.items) {
  87. visualCommonOprObj.addSpan(itemNode, sheet, bandW, bandH, xPos, yColumnPos, GC.Spread.Sheets.SheetArea.colHeader);
  88. }
  89. //2. 设置已有的统计信息
  90. let sumBandH = Math.round(parseFloat(selectedBand[JV.BAND_PROP_HEIGHT]) / 2.54 * 96);
  91. for (let fNode of fieldNode.items) {
  92. visualCommonOprObj.pushPos(fNode, fNode[JV.PROP_AREA][JV.PROP_V_CALCULATION], JV.PROP_TOP, sumBandH, ySummaryPos);
  93. visualCommonOprObj.pushPos(fNode, fNode[JV.PROP_AREA][JV.PROP_V_CALCULATION], JV.PROP_BOTTOM, sumBandH, ySummaryPos);
  94. }
  95. for (let tNode of textNode.items) {
  96. visualCommonOprObj.pushPos(tNode, tNode[JV.PROP_AREA][JV.PROP_V_CALCULATION], JV.PROP_TOP, sumBandH, ySummaryPos);
  97. visualCommonOprObj.pushPos(tNode, tNode[JV.PROP_AREA][JV.PROP_V_CALCULATION], JV.PROP_BOTTOM, sumBandH, ySummaryPos);
  98. }
  99. sheet.setRowCount(ySummaryPos.length - 1, GC.Spread.Sheets.SheetArea.viewport);
  100. for (let idx = 1; idx < ySummaryPos.length; idx++) {
  101. sheet.setRowHeight(idx - 1, ySummaryPos[idx] - ySummaryPos[idx - 1]);
  102. }
  103. for (let tNode of textNode.items) {
  104. visualCommonOprObj.addSpan(tNode, sheet, bandW, sumBandH, xPos, ySummaryPos, GC.Spread.Sheets.SheetArea.viewport);
  105. }
  106. for (let fNode of fieldNode.items) {
  107. visualCommonOprObj.addSpan(fNode, sheet, bandW, sumBandH, xPos, ySummaryPos, GC.Spread.Sheets.SheetArea.viewport);
  108. }
  109. sheet.resumePaint();
  110. }
  111. }
  112. },
  113. addRow: function () {
  114. let me = this,
  115. sheet = me.summaryWorkBook.getActiveSheet();
  116. sheet.suspendPaint();
  117. sheet.addRows(sheet.getRowCount() - 1, 1);
  118. let rc = sheet.getRowCount();
  119. for (let cc = 0; cc < sheet.getColumnCount(); cc++) {
  120. visualCommonOprObj.setupCellDft(sheet.getCell(rc - 2, cc));
  121. }
  122. sheet.resumePaint();
  123. },
  124. deleteRow: function () {
  125. let me = this,
  126. sheet = me.summaryWorkBook.getActiveSheet(),
  127. selectedRanges = sheet.getSelections()
  128. ;
  129. sheet.suspendPaint();
  130. if (selectedRanges.length > 0) {
  131. sheet.deleteRows(selectedRanges[0].row, 1);
  132. }
  133. sheet.resumePaint();
  134. },
  135. onCellEnter: function (sender, args) {
  136. let me = virtualSummaryOprObj,
  137. sheet = me.summaryWorkBook.getActiveSheet();
  138. me.setupCfg(sheet, args.row, args.col);
  139. },
  140. setupCfg: function (sheet, row, col) {
  141. let me = virtualSummaryOprObj, cell = sheet.getCell(row, col);
  142. let font = cell.font();
  143. // let style = sheet.getStyle(row, col);
  144. // console.log('font: ' + font);
  145. me.private_setup_control_options(true);
  146. //1. 横向
  147. switch (cell.hAlign()) {
  148. case GC.Spread.Sheets.HorizontalAlign.left:
  149. $(`#hOptionLeftSum`)[0].checked = true;
  150. break;
  151. case GC.Spread.Sheets.HorizontalAlign.center:
  152. $(`#hOptionCenterSum`)[0].checked = true;
  153. break;
  154. case GC.Spread.Sheets.HorizontalAlign.right:
  155. $(`#hOptionRightSum`)[0].checked = true;
  156. break;
  157. default:
  158. $(`#hOptionLeftSum`)[0].checked = true;
  159. break;
  160. }
  161. //2. 纵向
  162. switch (cell.vAlign()) {
  163. case GC.Spread.Sheets.VerticalAlign.top:
  164. $(`#vOptionUpSum`)[0].checked = true;
  165. break;
  166. case GC.Spread.Sheets.VerticalAlign.center:
  167. $(`#vOptionCenterSum`)[0].checked = true;
  168. break;
  169. case GC.Spread.Sheets.VerticalAlign.bottom:
  170. $(`#vOptionDownSum`)[0].checked = true;
  171. break;
  172. default:
  173. $(`#vOptionCenterSum`)[0].checked = true;
  174. break;
  175. }
  176. //3. cell type
  177. if (cell.cellType().typeName === '1') {
  178. $(`#rdIsText`)[0].checked = true;
  179. } else {
  180. $(`#rdIsField`)[0].checked = true; //combo-box cell type name: `7`
  181. }
  182. // console.log('cell type: ' + cell.cellType());
  183. //4. 窄体
  184. if (font.indexOf('Narrow') > 0) {
  185. $(`#eleIsNarrowSumEx`)[0].checked = true;
  186. } else {
  187. $(`#eleIsNarrowSumEx`)[0].checked = false;
  188. }
  189. },
  190. mergeCells: function () {
  191. let me = virtualSummaryOprObj,
  192. sheet = me.summaryWorkBook.getActiveSheet();
  193. let selectedRanges = sheet.getSelections();
  194. if (selectedRanges.length > 0) {
  195. sheet.suspendPaint();
  196. sheet.addSpan(selectedRanges[0].row, selectedRanges[0].col, selectedRanges[0].rowCount, selectedRanges[0].colCount);
  197. sheet.resumePaint();
  198. }
  199. },
  200. disMergeCells: function () {
  201. let me = virtualSummaryOprObj,
  202. sheet = me.summaryWorkBook.getActiveSheet();
  203. let selectedRanges = sheet.getSelections();
  204. let spans = sheet.getSpans();
  205. if (selectedRanges.length > 0 && spans.length > 0) {
  206. sheet.suspendPaint();
  207. let selectedSpans = [];
  208. for(let i = 0; i < spans.length; i++)
  209. {
  210. for (let j = 0; j < selectedRanges.length; j++) {
  211. if (spans[i].row >= selectedRanges[j].row && spans[i].col >= selectedRanges[j].col &&
  212. spans[i].row <= selectedRanges[j].row + selectedRanges[j].rowCount && spans[i].col <= selectedRanges[j].col + selectedRanges[j].colCount) {
  213. selectedSpans.push(spans[i]);
  214. }
  215. }
  216. }
  217. for (let span of selectedSpans) {
  218. sheet.removeSpan(span.row, span.col, GC.Spread.Sheets.SheetArea.viewport);
  219. }
  220. sheet.resumePaint();
  221. }
  222. },
  223. changeCellType: function (newType) {
  224. let me = virtualSummaryOprObj,
  225. sheet = me.summaryWorkBook.getActiveSheet();
  226. let selectedRanges = sheet.getSelections();
  227. if (selectedRanges.length > 0) {
  228. sheet.suspendPaint();
  229. let cell = sheet.getCell(selectedRanges[0].row, selectedRanges[0].col);
  230. visualCommonOprObj.changeCellType(cell, newType);
  231. sheet.resumePaint();
  232. }
  233. },
  234. changeCellCfg: function () {
  235. let me = virtualSummaryOprObj,
  236. sheet = me.summaryWorkBook.getActiveSheet();
  237. let selectedRanges = sheet.getSelections();
  238. if (selectedRanges.length > 0) {
  239. sheet.suspendPaint();
  240. let cell = sheet.getCell(selectedRanges[0].row, selectedRanges[0].col);
  241. let hA = GC.Spread.Sheets.HorizontalAlign.left, vA = GC.Spread.Sheets.VerticalAlign.top;
  242. if ($(`#hOptionCenterSum`)[0].checked) hA = GC.Spread.Sheets.HorizontalAlign.center;
  243. if ($(`#hOptionRightSum`)[0].checked) hA = GC.Spread.Sheets.HorizontalAlign.right;
  244. if ($(`#vOptionCenterSum`)[0].checked ) vA = GC.Spread.Sheets.VerticalAlign.center;
  245. if ($(`#vOptionDownSum`)[0].checked ) vA = GC.Spread.Sheets.VerticalAlign.bottom;
  246. cell.hAlign(hA);
  247. cell.vAlign(vA);
  248. if ($(`#eleIsNarrowSumEx`)[0].checked) {
  249. cell.font('Arial Narrow');
  250. } else {
  251. cell.font('9pt 宋体');
  252. }
  253. sheet.resumePaint();
  254. }
  255. },
  256. changeCtrl: function (dom) {
  257. let me = virtualSummaryOprObj,
  258. sheet = me.summaryWorkBook.getActiveSheet()
  259. ;
  260. let selectedRanges = sheet.getSelections();
  261. for(let i = 0; i < selectedRanges.length; i++){
  262. // let ctrl = me.columnFieldCtrls[selectedRanges[i].col]
  263. // ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_SHRINK]] = 'F';
  264. // ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_SHOW_ZERO]] = 'F';
  265. // ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_WRAP]] = 'F';
  266. // ctrl.isNarrow = false;
  267. // ctrl.isAutoHeight = false;
  268. // if ($("#eleShrinkEx")[0].checked) {
  269. // ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_SHRINK]] = 'T';
  270. // }
  271. // if ($("#eleShowZeroEx")[0].checked) {
  272. // ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_SHOW_ZERO]] = 'T';
  273. // }
  274. // if ($("#eleAutoWrapEx")[0].checked) {
  275. // ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_WRAP]] = 'T';
  276. // }
  277. // if ($("#eleIsNarrowEx")[0].checked) {
  278. // ctrl.isNarrow = true;
  279. // }
  280. // if ($("#eleIsAutoHeightEx")[0].checked) {
  281. // ctrl.isAutoHeight = true;
  282. // }
  283. //
  284. // if ($("#hOptionLeft")[0].checked) {
  285. // ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_HORIZON]] = JV.OUTPUT_ALIGN.H[0];
  286. // } else if ($("#hOptionCenter")[0].checked) {
  287. // ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_HORIZON]] = JV.OUTPUT_ALIGN.H[1];
  288. // } else {
  289. // ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_HORIZON]] = JV.OUTPUT_ALIGN.H[2];
  290. // }
  291. // if ($("#vOptionUp")[0].checked) {
  292. // ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_VERTICAL]] = JV.OUTPUT_ALIGN.V[0];
  293. // } else if ($("#vOptionCenter")[0].checked) {
  294. // ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_VERTICAL]] = JV.OUTPUT_ALIGN.V[1];
  295. // } else {
  296. // ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_VERTICAL]] = JV.OUTPUT_ALIGN.V[2];
  297. // }
  298. }
  299. },
  300. private_setup_control_options: function (enable) {
  301. if (enable) {
  302. $("#sumFieldControlDiv")[0].style.cursor = "";
  303. $("#hOptionLeftSum")[0].removeAttribute("disabled");
  304. $("#hOptionCenterSum")[0].removeAttribute("disabled");
  305. $("#hOptionRightSum")[0].removeAttribute("disabled");
  306. $("#vOptionUpSum")[0].removeAttribute("disabled");
  307. $("#vOptionCenterSum")[0].removeAttribute("disabled");
  308. $("#vOptionDownSum")[0].removeAttribute("disabled");
  309. $("#rdIsText")[0].removeAttribute("disabled");
  310. $("#rdIsField")[0].removeAttribute("disabled");
  311. $("#eleIsNarrowSumEx")[0].removeAttribute("disabled");
  312. } else {
  313. $("#sumFieldControlDiv")[0].style.cursor = "not-allowed";
  314. $("#hOptionLeftSum")[0].disabled = "disabled" ;
  315. $("#hOptionCenterSum")[0].disabled = "disabled" ;
  316. $("#hOptionRightSum")[0].disabled = "disabled" ;
  317. $("#vOptionUpSum")[0].disabled = "disabled" ;
  318. $("#vOptionCenterSum")[0].disabled = "disabled" ;
  319. $("#vOptionDownSum")[0].disabled = "disabled" ;
  320. $("#rdIsText")[0].disabled = "disabled" ;
  321. $("#rdIsField")[0].disabled = "disabled" ;
  322. $("#eleIsNarrowSumEx")[0].disabled = "disabled";
  323. }
  324. },
  325. private_create_field_node: function (sheet, colWidthArr, rowHeightArr, text, rptTpl) {
  326. let cellValue = text[`text`].toString().slice(1, -1);
  327. let rst = {"Name": cellValue, "Title": '', "FieldID": -1, "font": "GrandTotal", "control": "Column_Right", "style" : "Default_Normal", "isAutoHeight" : false,
  328. "area" : {"Left" : 0, "Right" : 100, "Top" : 0, "Bottom" : 100, "H_CalculationType" : "percentage", "V_CalculationType" : "percentage"}
  329. };
  330. //1. 设置FieldID
  331. let hasChkField = false;
  332. if (rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS] !== undefined && rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS].length > 0) {
  333. for (let field of rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS]) {
  334. if (field[JV.PROP_NAME] === cellValue) {
  335. rst.FieldID = field[JV.PROP_ID];
  336. rst["Title"] = "ID: " + field[JV.PROP_ID];
  337. hasChkField = true;
  338. break;
  339. }
  340. }
  341. }
  342. if (!hasChkField && rptTpl[JV.NODE_NO_MAPPING_FIELDS] !== undefined && rptTpl[JV.NODE_NO_MAPPING_FIELDS].length > 0) {
  343. for (let field of rptTpl[JV.NODE_NO_MAPPING_FIELDS]) {
  344. if (field[JV.PROP_NAME] === cellValue) {
  345. rst.FieldID = field[JV.PROP_ID];
  346. rst["Title"] = "ID: " + field[JV.PROP_ID];
  347. hasChkField = true;
  348. break;
  349. }
  350. }
  351. }
  352. let cell = sheet.getCell(text.row, text.col);
  353. //2. 字体
  354. if (cell.font().indexOf('Narrow') > 0) {
  355. rst[JV.PROP_FONT] = "Content_Narrow";
  356. }
  357. //3. 上下左右位置
  358. visualCommonOprObj.setupHeightWidth(rst, text, colWidthArr, rowHeightArr);
  359. return rst;
  360. },
  361. applySummaryBack: function () {
  362. let me = this;
  363. let rptTpl = (zTreeOprObj.currentNode)?zTreeOprObj.currentNode.rptTpl:null;
  364. if (rptTpl && me.summaryParentNode) {
  365. let sheet = me.summaryWorkBook.getActiveSheet();
  366. let rAmt = sheet.getRowCount(), pixH = [0];
  367. if (rAmt > 0) {
  368. let texts = [], colWidthArr = [], rowHeightArr = [];
  369. //1. 收集text信息
  370. visualCommonOprObj.collectSheetTxt(sheet, texts, 0, colWidthArr, rowHeightArr);
  371. for (let node of me.summaryParentNode.items) {
  372. dataInfoMapTreeOprObj.treeObj.removeChildNodes(node);
  373. }
  374. //2. 重新创建文本及统计指标
  375. let txtNodes = [], fieldNodes = [];
  376. for (let text of texts) {
  377. if (!stringUtil.isEmptyString(text[`text`]) && text[`text`].indexOf(`{`) === 0) {
  378. //创建指标
  379. fieldNodes.push(me.private_create_field_node(sheet, colWidthArr, rowHeightArr, text, rptTpl));
  380. } else {
  381. //创建文本
  382. let textNode = visualCommonOprObj.createTxtNode(text, me.columnParentNode, colWidthArr, rowHeightArr);
  383. let cell = sheet.getCell(text.row, text.col);
  384. if (cell.font().indexOf('Narrow') < 0) {
  385. textNode[JV.PROP_FONT] = "GrandTotal";
  386. } else {
  387. textNode[JV.PROP_FONT] = "Content_Narrow";
  388. }
  389. textNode[JV.PROP_CONTROL] = "Column";
  390. textNode[JV.PROP_STYLE] = "Default_Normal";
  391. txtNodes.push(textNode);
  392. }
  393. }
  394. let fieldNode = me.summaryParentNode.items[0], textNode = me.summaryParentNode.items[1];
  395. if (txtNodes.length > 0) {
  396. dataInfoMapTreeOprObj.treeObj.addNodes(textNode, -1, txtNodes, true);
  397. }
  398. if (fieldNodes.length > 0) {
  399. dataInfoMapTreeOprObj.treeObj.addNodes(fieldNode, -1, fieldNodes, true);
  400. }
  401. //3. 重新设置band高度
  402. // let selectedBand = visualCommonOprObj.getBandEx(me.summaryParentNode[JV.PROP_BAND_NAME], rptTpl);
  403. // selectedBand[JV.BAND_PROP_HEIGHT] = (rowHeightArr[rowHeightArr.length - 1] / 96 * 2.54).toFixed(2);
  404. visualCommonOprObj.changeBandHeight(me.summaryParentNode[JV.PROP_BAND_NAME], (rowHeightArr[rowHeightArr.length - 1] / 96 * 2.54).toFixed(2));
  405. displayMessage("应用提交成功!", "green", 5000, "id_summary_setup_lbl");
  406. } else {
  407. displayMessage("模板行数量不足!", "red", 5000, "id_summary_setup_lbl");
  408. }
  409. }
  410. }
  411. };