/** * Created by Tony on 2017/12/8. */ let rpt_tpl_cfg_helper = { reportCfg: null, getReportTplCfg: function() { let me = this, params = {}; params.userId = userID; CommonAjax.postEx("report_tpl_api/getUserRptCfg", params, 20000, true, function(result){ me.reportCfg = result; me.refreshRptCfgs(); }, null, null ); }, refreshRptCfgs: function () { let me = this; if (me.reportCfg) { me.reportCfg.borderArr = []; for (let style of me.reportCfg.styles) { me.reportCfg.borderArr.push(style.ID); $("#borderStyles").append(""); $("#elementBorders").append(""); $("#elementBordersVis").append(""); } me.reportCfg.fontArr = []; for (let font of me.reportCfg.fonts) { if (font.CfgDispName) { me.reportCfg.fontArr.push(font.ID); $("#elementFonts").append(""); $("#visElementFonts").append(""); } else { // me.reportCfg.fontArr.push("dummy font"); } } me.reportCfg.fontArr.push('自定义'); $("#elementFonts").append(""); $("#visElementFonts").append(""); me.reportCfg.controlArr = []; for (let control of me.reportCfg.ctrls) { if (control.CfgDispName) { me.reportCfg.controlArr.push(control.ID); $("#elementControls").append(""); $("#elementControlsVis").append(""); } else { me.reportCfg.controlArr.push("dummy control"); } } } let pf = $("#pageFrequency"); pf.append(""); pf.append(""); pf.append(""); pf.append(""); pf.append(""); pf.append(""); pf.append(""); pf.append(""); let ba = $("#bandAlignment"); ba.append(""); ba.append(""); ba.append(""); ba.append(""); ba.append(""); let ha = $("#elementAlignmentHorizon"); ha.append(""); ha.append(""); ha.append(""); let va = $("#elementAlignmentVertical"); va.append(""); va.append(""); va.append(""); let hav = $("#elementAlignmentHorizonVis"); hav.append(""); hav.append(""); hav.append(""); let vav = $("#elementAlignmentVerticalVis"); vav.append(""); vav.append(""); vav.append(""); }, checkAndSetSelectedNodeCfg: function (treeNode) { let me = rpt_tpl_cfg_helper; if (treeNode[JV.PROP_AREA]) { $("#element_hidden")[0].style.display = ""; $("#element_font")[0].style.display = ""; $("#element_border")[0].style.display = ""; $("#element_control")[0].style.display = ""; $("#element_area_1")[0].style.display = ""; $("#element_visual_div1")[0].style.display = "none"; $("#element_visual_div2")[0].style.display = "none"; $("#element_visual_div3")[0].style.display = "none"; // $("#element_area_2")[0].style.display = ""; if (treeNode[JV.PROP_FIELD_ID] || treeNode[JV.PROP_PARAM_ID]) { $("#element_pre_suff")[0].style.display = ""; if (treeNode[JV.PROP_PREFIX]) { $("#elePrefix").get(0).value = treeNode[JV.PROP_PREFIX]; } else { $("#elePrefix").get(0).value = ""; } if (treeNode[JV.PROP_SUFFIX]) { $("#eleSuffix").get(0).value = treeNode[JV.PROP_SUFFIX]; } else { $("#eleSuffix").get(0).value = ""; } if (treeNode[JV.PROP_FORMAT]) { $("#eleFormat").get(0).value = treeNode[JV.PROP_FORMAT]; } else { $("#eleFormat").get(0).value = ""; } if (treeNode[JV.PROP_DFT_VALUE]) { $("#eleDftValue").get(0).value = treeNode[JV.PROP_DFT_VALUE]; } else { $("#eleDftValue").get(0).value = ""; } } else { $("#element_pre_suff")[0].style.display = "none"; $("#element_hidden")[0].style.display = "none"; } //setup auto height if (treeNode[JV.PROP_IS_AUTO_HEIGHT]) { $("#eleAutoHeight").get(0).checked = true; } else { $("#eleAutoHeight").get(0).checked = false; } //setup hidden if (treeNode[JV.PROP_HIDDEN]) { $("#eleFieldHidden").get(0).checked = true; } else { $("#eleFieldHidden").get(0).checked = false; } //setup cross-row serial if (treeNode[JV.PROP_IS_SERIAL]) { $("#eleFieldSerial").get(0).checked = true; } else { $("#eleFieldSerial").get(0).checked = false; } if (treeNode[JV.TAB_FIELD_PROP_SORT] !== null && treeNode[JV.TAB_FIELD_PROP_SORT] !== undefined) { if (treeNode[JV.TAB_FIELD_PROP_SORT] === JV.TAB_FIELD_PROP_SORT_VAL_ASC) { $("#elementSortType").get(0).selectedIndex = 1; } else if (treeNode[JV.TAB_FIELD_PROP_SORT] === JV.TAB_FIELD_PROP_SORT_VAL_DESC) { $("#elementSortType").get(0).selectedIndex = 2; } else { $("#elementSortType").get(0).selectedIndex = 0; } } else { $("#elementSortType").get(0).selectedIndex = 0; } //setup font let fontDom = $("#elementFonts").get(0); fontDom.removeAttribute("disabled"); let fontAttr = treeNode[JV.PROP_FONT]; if (typeof treeNode[JV.PROP_FONT] !== "string") { fontAttr = "自定义"; } let idx = me.reportCfg.fontArr.indexOf(fontAttr); fontDom.selectedIndex = idx; me.fontChange(fontDom); //setup border let borderDom = $("#elementBorders").get(0); let borderAttr = treeNode[JV.PROP_STYLE]; idx = me.reportCfg.borderArr.indexOf(borderAttr); borderDom.selectedIndex = idx; me.borderChange(borderDom); //setup control let ctrlDom = $("#elementControls").get(0); let ctrlAttr = treeNode[JV.PROP_CONTROL]; idx = me.reportCfg.controlArr.indexOf(ctrlAttr); ctrlDom.selectedIndex = idx; me.controlChange(ctrlDom); //setup area me.private_setup_area(treeNode); } else { $("#elementFonts").get(0).disabled = "disabled" ; $("#element_hidden")[0].style.display = "none"; $("#element_font")[0].style.display = "none"; $("#element_border")[0].style.display = "none"; $("#element_control")[0].style.display = "none"; $("#element_area_1")[0].style.display = "none"; // $("#element_area_2")[0].style.display = "none"; $("#element_pre_suff")[0].style.display = "none"; if (treeNode[JV.PROP_NAME] === JV.NODE_FLOW_COLUMN || treeNode[JV.PROP_NAME] === JV.NODE_FLOW_CONTENT) { //一些可视化操作 $("#element_visual_div1")[0].style.display = ""; $("#element_visual_div2")[0].style.display = "none"; $("#element_visual_div3")[0].style.display = "none"; let columnParentNode = null; let contentParentNode = null; if (treeNode[JV.PROP_NAME] === JV.NODE_FLOW_CONTENT) { contentParentNode = treeNode; columnParentNode = treeNode.getPreNode(); } else { columnParentNode = treeNode; contentParentNode = treeNode.getNextNode(); } let rptTpl = (zTreeOprObj.currentNode)?zTreeOprObj.currentNode.rptTpl:null; fieldLocationOprObj.iniSpreadJs(columnParentNode, contentParentNode); fieldLocationOprObj.setupColumn(rptTpl, columnParentNode, contentParentNode); } else if (treeNode[JV.PROP_NAME].indexOf("统计信息") > 0) { $("#element_visual_div1")[0].style.display = "none"; $("#element_visual_div2")[0].style.display = ""; $("#element_visual_div3")[0].style.display = "none"; let rptTpl = (zTreeOprObj.currentNode)?zTreeOprObj.currentNode.rptTpl:null; virtualSummaryOprObj.iniSpreadJs(treeNode); virtualSummaryOprObj.setupSummary(rptTpl, treeNode); } else if (treeNode[JV.PROP_NAME] === `子项`) { $("#element_visual_div1")[0].style.display = "none"; $("#element_visual_div2")[0].style.display = "none"; $("#element_visual_div3")[0].style.display = ""; } else { $("#element_visual_div1")[0].style.display = "none"; $("#element_visual_div2")[0].style.display = "none"; $("#element_visual_div3")[0].style.display = "none"; } } if (!zTreeOprObj.isCrossTpl()) { $("#element_hidden")[0].style.display = "none"; } }, hiddenChange: function (dom) { dataInfoMapTreeOprObj.currentNode[JV.PROP_HIDDEN] = dom.checked; }, crossRowIsSerialChange: function (dom) { dataInfoMapTreeOprObj.currentNode[JV.PROP_IS_SERIAL] = dom.checked; }, crossSortOrderChange: function (dom) { switch (dom.selectedIndex) { case 0: dataInfoMapTreeOprObj.currentNode[JV.TAB_FIELD_PROP_SORT] = JV.TAB_FIELD_PROP_SORT_VAL_NOSORT; break; case 1: dataInfoMapTreeOprObj.currentNode[JV.TAB_FIELD_PROP_SORT] = JV.TAB_FIELD_PROP_SORT_VAL_ASC; break; case 2: dataInfoMapTreeOprObj.currentNode[JV.TAB_FIELD_PROP_SORT] = JV.TAB_FIELD_PROP_SORT_VAL_DESC; break; default: dataInfoMapTreeOprObj.currentNode[JV.TAB_FIELD_PROP_SORT] = JV.TAB_FIELD_PROP_SORT_VAL_ASC; break; } }, fontChange: function(dom) { let me = rpt_tpl_cfg_helper, fontAttr = dom.value; //dataInfoMapTreeOprObj.currentNode if (fontAttr === "自定义") { fontAttr = dataInfoMapTreeOprObj.currentNode[JV.PROP_FONT]; if (typeof fontAttr === "string") { fontAttr = {}; fontAttr[JV.FONT_PROPS[0]] = "宋体"; fontAttr[JV.FONT_PROPS[1]] = 12; fontAttr[JV.FONT_PROPS[2]] = "BLACK"; fontAttr[JV.FONT_PROPS[3]] = "F"; //bold fontAttr[JV.FONT_PROPS[4]] = "F"; //italic fontAttr[JV.FONT_PROPS[5]] = "F"; //underline fontAttr[JV.FONT_PROPS[6]] = "F"; //strikeout fontAttr[JV.FONT_PROPS[7]] = 0; //angle dataInfoMapTreeOprObj.currentNode[JV.PROP_FONT] = fontAttr; } } else { dataInfoMapTreeOprObj.currentNode[JV.PROP_FONT] = fontAttr; } me.private_setup_font(fontAttr); }, private_setup_font: function(fontAttr) { let me = rpt_tpl_cfg_helper; if (typeof fontAttr === "string" && fontAttr !== "自定义") { $("#eleFontName").get(0).disabled = "disabled" ; $("#eleFontSize").get(0).disabled = "disabled" ; $("#eleFontBold").get(0).disabled = "disabled" ; $("#eleFontItalic").get(0).disabled = "disabled" ; $("#eleFontUnderline").get(0).disabled = "disabled" ; let idx = me.reportCfg.fontArr.indexOf(fontAttr); $("#elementFonts").get(0).selectedIndex = idx; let font = me.reportCfg.fonts[idx]; $("#eleFontName").get(0).value = font.Name; $("#eleFontSize").get(0).value = parseInt(font.FontHeight); $("#eleFontBold").get(0).checked = stringUtil.convertStrToBoolean(font.FontBold); $("#eleFontItalic").get(0).checked = stringUtil.convertStrToBoolean(font.FontItalic); $("#eleFontUnderline").get(0).checked = stringUtil.convertStrToBoolean(font.FontUnderline); } else { //$("#elementFonts").get(0).selectedIndex = idx; $("#eleFontName").get(0).removeAttribute("disabled"); $("#eleFontSize").get(0).removeAttribute("disabled"); $("#eleFontBold").get(0).removeAttribute("disabled"); $("#eleFontItalic").get(0).removeAttribute("disabled"); $("#eleFontUnderline").get(0).removeAttribute("disabled"); $("#eleFontName").get(0).value = fontAttr.Name; $("#eleFontSize").get(0).value = parseInt(fontAttr.FontHeight); $("#eleFontBold").get(0).checked = stringUtil.convertStrToBoolean(fontAttr.FontBold); $("#eleFontItalic").get(0).checked = stringUtil.convertStrToBoolean(fontAttr.FontItalic); $("#eleFontUnderline").get(0).checked = stringUtil.convertStrToBoolean(fontAttr.FontUnderline); } }, private_setup_area: function (treeNode) { $("#elementArea_Left").get(0).value = parseFloat(treeNode[JV.PROP_AREA][JV.PROP_LEFT]); $("#elementArea_Right").get(0).value = parseFloat(treeNode[JV.PROP_AREA][JV.PROP_RIGHT]); $("#elementArea_Top").get(0).value = parseFloat(treeNode[JV.PROP_AREA][JV.PROP_TOP]); $("#elementArea_Bottom").get(0).value = parseFloat(treeNode[JV.PROP_AREA][JV.PROP_BOTTOM]); if (typeof treeNode[JV.PROP_AREA][JV.PROP_H_CALCULATION] === "string") { $("#isPercentage_Left").get(0).checked = treeNode[JV.PROP_AREA][JV.PROP_H_CALCULATION] === "percentage"; $("#isPercentage_Right").get(0).checked = treeNode[JV.PROP_AREA][JV.PROP_H_CALCULATION] === "percentage"; } else { $("#isPercentage_Left").get(0).checked = treeNode[JV.PROP_AREA][JV.PROP_H_CALCULATION][JV.PROP_LEFT] === "percentage"; $("#isPercentage_Right").get(0).checked = treeNode[JV.PROP_AREA][JV.PROP_H_CALCULATION][JV.PROP_RIGHT] === "percentage"; } if (typeof treeNode[JV.PROP_AREA][JV.PROP_V_CALCULATION] === "string") { $("#isPercentage_Top").get(0).checked = treeNode[JV.PROP_AREA][JV.PROP_V_CALCULATION] === "percentage"; $("#isPercentage_Bottom").get(0).checked = treeNode[JV.PROP_AREA][JV.PROP_V_CALCULATION] === "percentage"; } else { $("#isPercentage_Top").get(0).checked = treeNode[JV.PROP_AREA][JV.PROP_V_CALCULATION][JV.PROP_TOP] === "percentage"; $("#isPercentage_Bottom").get(0).checked = treeNode[JV.PROP_AREA][JV.PROP_V_CALCULATION][JV.PROP_BOTTOM] === "percentage"; } }, fontNameChange: function(dom){ let font = dataInfoMapTreeOprObj.currentNode[JV.PROP_FONT]; font[JV.FONT_PROPS[0]] = dom.value; }, fontSizeChange: function(dom) { let font = dataInfoMapTreeOprObj.currentNode[JV.PROP_FONT]; font[JV.FONT_PROPS[1]] = dom.value; }, fontBoldChange: function(dom) { let font = dataInfoMapTreeOprObj.currentNode[JV.PROP_FONT]; font[JV.FONT_PROPS[3]] = dom.checked?'T':'F'; }, fontItalicChange: function(dom) { let font = dataInfoMapTreeOprObj.currentNode[JV.PROP_FONT]; font[JV.FONT_PROPS[4]] = dom.checked?'T':'F'; }, fontUnderlineChange: function(dom) { let font = dataInfoMapTreeOprObj.currentNode[JV.PROP_FONT]; font[JV.FONT_PROPS[5]] = dom.checked?'T':'F'; }, borderChange: function(dom) { if (dataInfoMapTreeOprObj.currentNode) { let me = this, borderAttr = dom.value; let idx = me.reportCfg.borderArr.indexOf(borderAttr); let border = me.reportCfg.styles[idx]; dataInfoMapTreeOprObj.currentNode[JV.PROP_STYLE] = borderAttr; for (let borderLine of border[JV.PROP_BORDER_STYLE]) { switch (borderLine[JV.PROP_POSITION]) { case JV.PROP_LEFT: $("#eleBorderLeft").get(0).value = borderLine[JV.PROP_LINE_WEIGHT]; break; case JV.PROP_RIGHT: $("#eleBorderRight").get(0).value = borderLine[JV.PROP_LINE_WEIGHT]; break; case JV.PROP_TOP: $("#eleBorderTop").get(0).value = borderLine[JV.PROP_LINE_WEIGHT]; break; case JV.PROP_BOTTOM: $("#eleBorderBottom").get(0).value = borderLine[JV.PROP_LINE_WEIGHT]; break; default: break; } } } }, controlChange: function(dom) { if (dataInfoMapTreeOprObj.currentNode) { let me = this, ctrlAttr = dom.value; let idx = me.reportCfg.controlArr.indexOf(ctrlAttr); let ctrl = me.reportCfg.ctrls[idx]; dataInfoMapTreeOprObj.currentNode[JV.PROP_CONTROL] = ctrlAttr; $("#elementAlignmentHorizon").get(0).selectedIndex = JV.OUTPUT_ALIGN.H.indexOf(ctrl[JV.CONTROL_PROPS[2]]); $("#elementAlignmentVertical").get(0).selectedIndex = JV.OUTPUT_ALIGN.V.indexOf(ctrl[JV.CONTROL_PROPS[3]]); $("#eleShrink").get(0).checked = stringUtil.convertStrToBoolean(ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_SHRINK]]); $("#eleShowZero").get(0).checked = stringUtil.convertStrToBoolean(ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_SHOW_ZERO]]); $("#eleAutoWrap").get(0).checked = stringUtil.convertStrToBoolean(ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_WRAP]]); $("#eleIsShrinkFirst").get(0).checked = stringUtil.convertStrToBoolean(ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_SHRINK_FIRST]]); $("#eleCloseOutput").get(0).checked = stringUtil.convertStrToBoolean(ctrl[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_CLOSE_OUTPUT]]); } }, changeAlignment: function(dom, type) { let ctrl = dataInfoMapTreeOprObj.currentNode[JV.PROP_CONTROL]; if (type === "horizon") { ctrl[JV.CONTROL_PROPS[2]] = JV.OUTPUT_ALIGN[dom.selectedIndex]; } else { ctrl[JV.CONTROL_PROPS[3]] = JV.OUTPUT_ALIGN[dom.selectedIndex]; } }, changeArea: function(dom, typeStr) { if (dataInfoMapTreeOprObj.currentNode) { dataInfoMapTreeOprObj.currentNode[JV.PROP_AREA][typeStr] = dom.value; } }, changeAreaCalcType: function (dom, typeStr) { if (dataInfoMapTreeOprObj.currentNode) { let otherSideStr = "", caclStr = ""; switch (typeStr) { case JV.PROP_LEFT: caclStr = JV.PROP_H_CALCULATION; otherSideStr = JV.PROP_RIGHT; break; case JV.PROP_RIGHT: caclStr = JV.PROP_H_CALCULATION; otherSideStr = JV.PROP_LEFT; break; case JV.PROP_TOP: caclStr = JV.PROP_V_CALCULATION; otherSideStr = JV.PROP_BOTTOM; break; case JV.PROP_BOTTOM: caclStr = JV.PROP_V_CALCULATION; otherSideStr = JV.PROP_TOP; break; } if (typeof dataInfoMapTreeOprObj.currentNode[JV.PROP_AREA][caclStr] === "string") { let bk_type = dataInfoMapTreeOprObj.currentNode[JV.PROP_AREA][caclStr]; dataInfoMapTreeOprObj.currentNode[JV.PROP_AREA][caclStr] = {}; dataInfoMapTreeOprObj.currentNode[JV.PROP_AREA][caclStr][typeStr] = dom.checked?JV.CAL_TYPE[0]:JV.CAL_TYPE[1]; dataInfoMapTreeOprObj.currentNode[JV.PROP_AREA][caclStr][otherSideStr] = bk_type; } else { dataInfoMapTreeOprObj.currentNode[JV.PROP_AREA][caclStr][typeStr] = dom.checked?JV.CAL_TYPE[0]:JV.CAL_TYPE[1]; } } }, changePreSuff: function (dom, typeStr) { if (dataInfoMapTreeOprObj.currentNode) { dataInfoMapTreeOprObj.currentNode[typeStr] = dom.value; } }, changeFormat: function (dom) { if (dataInfoMapTreeOprObj.currentNode) { dataInfoMapTreeOprObj.currentNode[JV.PROP_FORMAT] = dom.value; } }, changeDftValue: function (dom) { if (dataInfoMapTreeOprObj.currentNode) { dataInfoMapTreeOprObj.currentNode[JV.PROP_DFT_VALUE] = dom.value; } }, changeAutoHeight: function(dom) { if (dataInfoMapTreeOprObj.currentNode) { dataInfoMapTreeOprObj.currentNode[JV.PROP_IS_AUTO_HEIGHT] = dom.checked; } } };