| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315 | /** * 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("<option value='" + style.ID + "'>" + style.CfgDispName + "</option>");                $("#elementBorders").append("<option value='" + style.ID + "'>" + style.CfgDispName + "</option>");            }            me.reportCfg.fontArr = [];            for (let font of me.reportCfg.fonts) {                if (font.CfgDispName) {                    me.reportCfg.fontArr.push(font.ID);                    $("#elementFonts").append("<option value='" + font.ID + "'>" + font.CfgDispName + "</option>");                } else {                    // me.reportCfg.fontArr.push("dummy font");                }            }            me.reportCfg.fontArr.push('自定义');            $("#elementFonts").append("<option value='自定义'>自定义</option>");            me.reportCfg.controlArr = [];            for (let control of me.reportCfg.ctrls) {                if (control.CfgDispName) {                    me.reportCfg.controlArr.push(control.ID);                    $("#elementControls").append("<option value='" + control.ID + "'>" + control.CfgDispName + "</option>");                } else {                    me.reportCfg.controlArr.push("dummy control");                }            }        }        let pf = $("#pageFrequency");        pf.append("<option value='" + JV.PAGE_STATUS[0] + "'>每页</option>");        pf.append("<option value='" + JV.PAGE_STATUS[1] + "'>首页</option>");        pf.append("<option value='" + JV.PAGE_STATUS[2] + "'>尾页</option>");        pf.append("<option value='" + JV.PAGE_STATUS[3] + "'>章首页</option>");        pf.append("<option value='" + JV.PAGE_STATUS[4] + "'>章尾页</option>");        pf.append("<option value='" + JV.PAGE_STATUS[5] + "'>分组</option>");        pf.append("<option value='" + JV.PAGE_STATUS[6] + "'>交叉行尾页</option>");        pf.append("<option value='" + JV.PAGE_STATUS[7] + "'>交叉列尾页</option>");        let ba = $("#bandAlignment");        ba.append("<option value='" + JV.LAYOUT[0] + "'>上</option>");        ba.append("<option value='" + JV.LAYOUT[1] + "'>下</option>");        ba.append("<option value='" + JV.LAYOUT[2] + "'>左</option>");        ba.append("<option value='" + JV.LAYOUT[3] + "'>右</option>");        ba.append("<option value='" + JV.LAYOUT[4] + "'>填充</option>");        let ha = $("#elementAlignmentHorizon");        ha.append("<option value='" + JV.OUTPUT_ALIGN.H[0] + "'>左</option>");        ha.append("<option value='" + JV.OUTPUT_ALIGN.H[1] + "'>中</option>");        ha.append("<option value='" + JV.OUTPUT_ALIGN.H[2] + "'>右</option>");        let va = $("#elementAlignmentVertical");        va.append("<option value='" + JV.OUTPUT_ALIGN.V[0] + "'>上</option>");        va.append("<option value='" + JV.OUTPUT_ALIGN.V[1] + "'>中</option>");        va.append("<option value='" + JV.OUTPUT_ALIGN.V[2] + "'>下</option>");    },    checkAndSetSelectedNodeCfg: function (treeNode) {        let me = rpt_tpl_cfg_helper;        if (treeNode[JV.PROP_AREA]) {            $("#element_font")[0].style.display = "";            $("#element_border")[0].style.display = "";            $("#element_control")[0].style.display = "";            $("#element_area_1")[0].style.display = "";            $("#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 = "";                }            } else {                $("#element_pre_suff")[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 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_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";        }    },    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;            $("#eleBorderLeft").get(0).value = border[JV.PROP_BORDER_STYLE][JV.IDX_LEFT][JV.PROP_LINE_WEIGHT];            $("#eleBorderRight").get(0).value = border[JV.PROP_BORDER_STYLE][JV.IDX_RIGHT][JV.PROP_LINE_WEIGHT];            $("#eleBorderTop").get(0).value = border[JV.PROP_BORDER_STYLE][JV.IDX_TOP][JV.PROP_LINE_WEIGHT];            $("#eleBorderBottom").get(0).value = border[JV.PROP_BORDER_STYLE][JV.IDX_BOTTOM][JV.PROP_LINE_WEIGHT];        }    },    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[0]]);            $("#eleShowZero").get(0).checked = stringUtil.convertStrToBoolean(ctrl[JV.CONTROL_PROPS[1]]);            $("#eleAutoWrap").get(0).checked = stringUtil.convertStrToBoolean(ctrl[JV.CONTROL_PROPS[4]]);        }    },    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;        }    },    changeAutoHeight: function(dom) {        if (dataInfoMapTreeOprObj.currentNode) {            dataInfoMapTreeOprObj.currentNode[JV.PROP_IS_AUTO_HEIGHT] = dom.checked;        }    }};
 |