rpt_tpl_vis_sum.js 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418
  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. for (let j = 0; j < selectedRanges.length; j++) {
  210. if (spans[i].row >= selectedRanges[j].row && spans[i].col >= selectedRanges[j].col &&
  211. spans[i].row <= selectedRanges[j].row + selectedRanges[j].rowCount && spans[i].col <= selectedRanges[j].col + selectedRanges[j].colCount) {
  212. selectedSpans.push(spans[i]);
  213. }
  214. }
  215. }
  216. for (let span of selectedSpans) {
  217. sheet.removeSpan(span.row, span.col, GC.Spread.Sheets.SheetArea.viewport);
  218. }
  219. sheet.resumePaint();
  220. }
  221. },
  222. changeCellType: function (newType) {
  223. let me = virtualSummaryOprObj,
  224. sheet = me.summaryWorkBook.getActiveSheet();
  225. let selectedRanges = sheet.getSelections();
  226. if (selectedRanges.length > 0) {
  227. sheet.suspendPaint();
  228. let cell = sheet.getCell(selectedRanges[0].row, selectedRanges[0].col);
  229. visualCommonOprObj.changeCellType(cell, newType);
  230. sheet.resumePaint();
  231. }
  232. },
  233. changeCellCfg: function () {
  234. let me = virtualSummaryOprObj,
  235. sheet = me.summaryWorkBook.getActiveSheet();
  236. let selectedRanges = sheet.getSelections();
  237. if (selectedRanges.length > 0) {
  238. sheet.suspendPaint();
  239. let cell = sheet.getCell(selectedRanges[0].row, selectedRanges[0].col);
  240. let hA = GC.Spread.Sheets.HorizontalAlign.left, vA = GC.Spread.Sheets.VerticalAlign.top;
  241. if ($(`#hOptionCenterSum`)[0].checked) hA = GC.Spread.Sheets.HorizontalAlign.center;
  242. if ($(`#hOptionRightSum`)[0].checked) hA = GC.Spread.Sheets.HorizontalAlign.right;
  243. if ($(`#vOptionCenterSum`)[0].checked) vA = GC.Spread.Sheets.VerticalAlign.center;
  244. if ($(`#vOptionDownSum`)[0].checked) vA = GC.Spread.Sheets.VerticalAlign.bottom;
  245. cell.hAlign(hA);
  246. cell.vAlign(vA);
  247. if ($(`#eleIsNarrowSumEx`)[0].checked) {
  248. cell.font('Arial Narrow');
  249. } else {
  250. cell.font('9pt 宋体');
  251. }
  252. sheet.resumePaint();
  253. }
  254. },
  255. changeCtrl: function (dom) {
  256. let me = virtualSummaryOprObj,
  257. sheet = me.summaryWorkBook.getActiveSheet()
  258. ;
  259. let selectedRanges = sheet.getSelections();
  260. for (let i = 0; i < selectedRanges.length; i++) {
  261. // let ctrl = me.columnFieldCtrls[selectedRanges[i].col]
  262. // ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_SHRINK]] = 'F';
  263. // ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_SHOW_ZERO]] = 'F';
  264. // ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_WRAP]] = 'F';
  265. // ctrl.isNarrow = false;
  266. // ctrl.isAutoHeight = false;
  267. // if ($("#eleShrinkEx")[0].checked) {
  268. // ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_SHRINK]] = 'T';
  269. // }
  270. // if ($("#eleShowZeroEx")[0].checked) {
  271. // ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_SHOW_ZERO]] = 'T';
  272. // }
  273. // if ($("#eleAutoWrapEx")[0].checked) {
  274. // ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_WRAP]] = 'T';
  275. // }
  276. // if ($("#eleIsNarrowEx")[0].checked) {
  277. // ctrl.isNarrow = true;
  278. // }
  279. // if ($("#eleIsAutoHeightEx")[0].checked) {
  280. // ctrl.isAutoHeight = true;
  281. // }
  282. //
  283. // if ($("#hOptionLeft")[0].checked) {
  284. // ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_HORIZON]] = JV.OUTPUT_ALIGN.H[0];
  285. // } else if ($("#hOptionCenter")[0].checked) {
  286. // ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_HORIZON]] = JV.OUTPUT_ALIGN.H[1];
  287. // } else {
  288. // ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_HORIZON]] = JV.OUTPUT_ALIGN.H[2];
  289. // }
  290. // if ($("#vOptionUp")[0].checked) {
  291. // ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_VERTICAL]] = JV.OUTPUT_ALIGN.V[0];
  292. // } else if ($("#vOptionCenter")[0].checked) {
  293. // ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_VERTICAL]] = JV.OUTPUT_ALIGN.V[1];
  294. // } else {
  295. // ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_VERTICAL]] = JV.OUTPUT_ALIGN.V[2];
  296. // }
  297. }
  298. },
  299. private_setup_control_options: function (enable) {
  300. if (enable) {
  301. $("#sumFieldControlDiv")[0].style.cursor = "";
  302. $("#hOptionLeftSum")[0].removeAttribute("disabled");
  303. $("#hOptionCenterSum")[0].removeAttribute("disabled");
  304. $("#hOptionRightSum")[0].removeAttribute("disabled");
  305. $("#vOptionUpSum")[0].removeAttribute("disabled");
  306. $("#vOptionCenterSum")[0].removeAttribute("disabled");
  307. $("#vOptionDownSum")[0].removeAttribute("disabled");
  308. $("#rdIsText")[0].removeAttribute("disabled");
  309. $("#rdIsField")[0].removeAttribute("disabled");
  310. $("#eleIsNarrowSumEx")[0].removeAttribute("disabled");
  311. } else {
  312. $("#sumFieldControlDiv")[0].style.cursor = "not-allowed";
  313. $("#hOptionLeftSum")[0].disabled = "disabled";
  314. $("#hOptionCenterSum")[0].disabled = "disabled";
  315. $("#hOptionRightSum")[0].disabled = "disabled";
  316. $("#vOptionUpSum")[0].disabled = "disabled";
  317. $("#vOptionCenterSum")[0].disabled = "disabled";
  318. $("#vOptionDownSum")[0].disabled = "disabled";
  319. $("#rdIsText")[0].disabled = "disabled";
  320. $("#rdIsField")[0].disabled = "disabled";
  321. $("#eleIsNarrowSumEx")[0].disabled = "disabled";
  322. }
  323. },
  324. private_create_field_node: function (sheet, colWidthArr, rowHeightArr, text, rptTpl) {
  325. let cellValue = text[`text`].toString().slice(1, -1);
  326. let rst = {
  327. "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. // field.Name = field.Name + "(" + field[JV.PROP_ID] + ")";
  337. rst["Title"] = "ID: " + field[JV.PROP_ID];
  338. hasChkField = true;
  339. break;
  340. }
  341. }
  342. }
  343. if (!hasChkField && rptTpl[JV.NODE_NO_MAPPING_FIELDS] !== undefined && rptTpl[JV.NODE_NO_MAPPING_FIELDS].length > 0) {
  344. for (let field of rptTpl[JV.NODE_NO_MAPPING_FIELDS]) {
  345. if (field[JV.PROP_NAME] === cellValue) {
  346. rst.FieldID = field[JV.PROP_ID];
  347. // field.Name = field.Name + "(" + field[JV.PROP_ID] + ")";
  348. rst["Title"] = "ID: " + field[JV.PROP_ID];
  349. hasChkField = true;
  350. break;
  351. }
  352. }
  353. }
  354. let cell = sheet.getCell(text.row, text.col);
  355. //2. 字体
  356. if (cell.font().indexOf('Narrow') > 0) {
  357. rst[JV.PROP_FONT] = "Content_Narrow";
  358. }
  359. //3. 上下左右位置
  360. visualCommonOprObj.setupHeightWidth(rst, text, colWidthArr, rowHeightArr);
  361. return rst;
  362. },
  363. applySummaryBack: function () {
  364. let me = this;
  365. let rptTpl = (zTreeOprObj.currentNode) ? zTreeOprObj.currentNode.rptTpl : null;
  366. if (rptTpl && me.summaryParentNode) {
  367. let sheet = me.summaryWorkBook.getActiveSheet();
  368. let rAmt = sheet.getRowCount(), pixH = [0];
  369. if (rAmt > 0) {
  370. let texts = [], colWidthArr = [], rowHeightArr = [];
  371. //1. 收集text信息
  372. visualCommonOprObj.collectSheetTxt(sheet, texts, 0, colWidthArr, rowHeightArr);
  373. for (let node of me.summaryParentNode.items) {
  374. dataInfoMapTreeOprObj.treeObj.removeChildNodes(node);
  375. }
  376. //2. 重新创建文本及统计指标
  377. let txtNodes = [], fieldNodes = [];
  378. for (let text of texts) {
  379. if (!stringUtil.isEmptyString(text[`text`]) && text[`text`].indexOf(`{`) === 0) {
  380. //创建指标
  381. fieldNodes.push(me.private_create_field_node(sheet, colWidthArr, rowHeightArr, text, rptTpl));
  382. } else {
  383. //创建文本
  384. let textNode = visualCommonOprObj.createTxtNode(text, me.columnParentNode, colWidthArr, rowHeightArr);
  385. let cell = sheet.getCell(text.row, text.col);
  386. if (cell.font().indexOf('Narrow') < 0) {
  387. textNode[JV.PROP_FONT] = "GrandTotal";
  388. } else {
  389. textNode[JV.PROP_FONT] = "Content_Narrow";
  390. }
  391. textNode[JV.PROP_CONTROL] = "Column";
  392. textNode[JV.PROP_STYLE] = "Default_Normal";
  393. txtNodes.push(textNode);
  394. }
  395. }
  396. let fieldNode = me.summaryParentNode.items[0], textNode = me.summaryParentNode.items[1];
  397. if (txtNodes.length > 0) {
  398. dataInfoMapTreeOprObj.treeObj.addNodes(textNode, -1, txtNodes, true);
  399. }
  400. if (fieldNodes.length > 0) {
  401. dataInfoMapTreeOprObj.treeObj.addNodes(fieldNode, -1, fieldNodes, true);
  402. }
  403. //3. 重新设置band高度
  404. // let selectedBand = visualCommonOprObj.getBandEx(me.summaryParentNode[JV.PROP_BAND_NAME], rptTpl);
  405. // selectedBand[JV.BAND_PROP_HEIGHT] = (rowHeightArr[rowHeightArr.length - 1] / 96 * 2.54).toFixed(2);
  406. visualCommonOprObj.changeBandHeight(me.summaryParentNode[JV.PROP_BAND_NAME], (rowHeightArr[rowHeightArr.length - 1] / 96 * 2.54).toFixed(2));
  407. displayMessage("应用提交成功!", "green", 5000, "id_summary_setup_lbl");
  408. } else {
  409. displayMessage("模板行数量不足!", "red", 5000, "id_summary_setup_lbl");
  410. }
  411. }
  412. }
  413. };