if($ == undefined){ $ = jQuery; } /*布局器*/ var layout = {}; layout.l1_json = {tr1:[{colspan:1, rowspan:1, width:100, height:100, id:1}]}; layout.l2_json = {tr1:[{colspan:1, rowspan:1, width:50, height:100, id:1},{colspan:1, rowspan:1, width:50, height:100, id:2}]}; layout.l3_json = {tr1:[{colspan:2, rowspan:1, width:100, height:50, id:1}],tr2:[{colspan:1, rowspan:1, width:50, height:50, id:2},{colspan:1, rowspan:1, width:50, height:50, id:3}]}; layout.l4_json = {tr1:[{colspan:2, rowspan:1, width:100, height:33, id:1}],tr2:[{colspan:1, rowspan:1, width:50, height:33, id:2},{colspan:1, rowspan:1, width:50, height:33, id:3}], tr3:[{colspan:2, rowspan:1, width:100, height:33, id:4}]}; layout.l5_json = {tr1:[{colspan:2, rowspan:1, width:100, height:20, id:1}],tr2:[{colspan:1, rowspan:1, width:50, height:20, id:2},{colspan:1, rowspan:1, width:50, height:20, id:3}], tr3:[{colspan:2, rowspan:1, width:100, height:20, id:4}],tr4:[{colspan:1, rowspan:1, width:50, height:20, id:5},{colspan:1, rowspan:1, width:50, height:20, id:6}],tr5:[{colspan:2, rowspan:1, width:100, height:20, id:7}]}; function backpage(){ if(curTmpInfo.isupdate == true){ if(confirm("您已对页面进行了修改,是否保存再退出?")){ var bk = function(){ if(pageInfo.id && pageInfo.id != ''){ if(curTmpInfo.is3g=="y"){ location.href = "../m/PushManager.action"; }else{ location.href = 'show.action?pageId='+pageInfo.id; } }else{ if(curTmpInfo.is3g=="y"){ location.href = "../m/PushManager.action"; }else{ location.href = "PortalIndex.action"; } } } savepage(bk); }else{ if(pageInfo.id && pageInfo.id != ''){ if(curTmpInfo.is3g=="y"){ location.href = "../m/PushManager.action"; }else{ location.href = 'show.action?pageId='+pageInfo.id; } }else{ if(curTmpInfo.is3g=="y"){ location.href = "../m/PushManager.action"; }else{ location.href = "PortalIndex.action"; } } } }else{ if(pageInfo.id && pageInfo.id != ''){ if(curTmpInfo.is3g=="y"){ location.href = "../m/PushManager.action"; }else{ location.href = 'show.action?pageId='+pageInfo.id; } }else{ if(curTmpInfo.is3g=="y"){ location.href = "../m/PushManager.action"; }else{ location.href = "PortalIndex.action"; } } } } function resetComppos(){ //重新规划组件顺序 for(var i=1; true; i++){ var tr = pageInfo.body["tr"+i]; if(!tr || tr == null){ break; } for(var j=0; j 0){ var ls = cld; for(var k=0; ls&&k 名 称:
目 录:
    "; $('#pdailog').dialog({ title: '保存报表', width: 330, height: 260, closed: false, cache: false, modal: true, toolbar:null, content: ctx, buttons:[{ text:'确定', iconCls:'icon-ok', handler:function(){ var name = $("#pdailog #pageName").val(); if(name == ''){ msginfo("您还未录报表名称。"); $("#pdailog #pageName").focus(); return; } var cata = $("#reportcatalist").tree("getSelected"); if(cata == null || cata.id == '0'){ msginfo("您还未选择报表目录。"); return; } $.post("save.action", {pageInfo:JSON.stringify(pageInfo), pageName:name, "cataId":cata.id, "is3g":"y"}, function(resp){ pageInfo.id = resp.rows; msginfo("保存成功!","suc"); //更新页面为未修改 curTmpInfo.isupdate = false; if(cb){ cb(); } //更新页面为未修改 curTmpInfo.isupdate = false; $('#pdailog').dialog('close'); }); } },{ text:'取消', iconCls:"icon-cancel", handler:function(){ $('#pdailog').dialog('close'); } }] }); //加载路径树 $("#pdailog #reportcatalist").tree({ url:'../m/typeTree.action', dnd:false, data: [{id:'0', text:'报表目录', state:'closed'}], onBeforeLoad: function(node){ if(!node || node == null){ return false; } } }); $('#reportcatalist').tree("expand", $('#reportcatalist').tree("getRoot").target); }else{ //已经保存过,直接update $.post("save.action", {"pageInfo": JSON.stringify(pageInfo), "pageId":pageId}, function(resp){ msginfo("保存成功!", "suc"); //更新页面为未修改 curTmpInfo.isupdate = false; if(cb){ cb(); } }); } }else{ //处理PC端报表, 不包括分类 if(pageId == ''){ //未保存过,提示用户输入名称 $.messager.prompt('报表保存', '请输入新的报表名称?', function(r){ if (r){ $.ajax({ type:"POST", url: 'save.action', async: false, data:{pageInfo:JSON.stringify(pageInfo), pageName:r}, success: function(resp){ pageInfo.id = resp.rows; msginfo("保存成功!","suc"); //更新页面为未修改 curTmpInfo.isupdate = false; if(cb){ cb(); } } }); } }); }else{ //已经保存过,直接update $.post("save.action", {"pageInfo": JSON.stringify(pageInfo), "pageId":pageId}, function(resp){ msginfo("保存成功!", "suc"); //更新页面为未修改 curTmpInfo.isupdate = false; if(cb){ cb(); } }); } } } function regCompTree(){ $('#comp_tree').tree({ dnd:true, onBeforeDrag:function(target){ return true; }, onDragEnter:function(target, source){ return false; }, onStartDrag:function(node){ resetWindows('min'); }, onStopDrag:function(node){ $(".indicator").hide(); resetWindows('max'); } }); } function helper(){ var ctx = "
    您可以通过拖拽的方式,定义自己的数据报表,报表支持图形、表格、文本、日历、地图等多种展现方式。
    "+ "1.选择数据。

    "+ "2.选择组件。

    "+ "3.配置组件数据。

    "+ "
    "; $('#pdailog').dialog({ title: '帮助', width: 730, height: 440, closed: false, cache: false, modal: true, toolbar:null, onLoad:function(){}, content:ctx, buttons:[{ text:'关闭', icon:"icon-ok", handler:function(){ $('#pdailog').dialog('close'); } }] }); } function printpage(){ resetComppos(); var json = JSON.stringify(pageInfo); var url2 = "about:blank"; var name = "printwindow"; window.open(url2, name); var ctx = "
    "; var o = $(ctx).appendTo("body"); $("#ppageInfo").val(json); o.submit().remove(); } //导出页面 function exportPage(){ var ctx = "

    HTML
    "+ "
    CSV
    " + "
    EXCEL
    " + "
    WORD
    " + "
    PDF
    "; $('#pdailog').dialog({ title: '导出数据', width: 376, height: 200, closed: false, cache: false, modal: true, toolbar:null, content: ctx, buttons:[{ text:'确定', iconCls:'icon-ok', handler:function(){ resetComppos(); var tp = curTmpInfo.expType; $("#expff #type").val(tp); //把图形转换成图片 var strs = ""; if(tp == "pdf" || tp == "excel" || tp == "word"){ $("div.chartUStyle").each(function(index, element) { var id = $(this).attr("id"); id = id.substring(1, id.length); var chart = echarts.getInstanceByDom(document.getElementById(id)); var str = chart.getDataURL({type:'png', pixelRatio:1, backgroundColor: '#fff'}); str = str.split(",")[1]; //去除base64标记 str = $(this).attr("label") + "," + str+","+$("#"+id).width(); //加上label标记,宽度 strs = strs + str; if(index != $("div.chartUStyle").size() - 1){ strs = strs + "@"; } }); } $("#expff #picinfo").val(strs); $("#expff #json").val(JSON.stringify(pageInfo)); $("#expff").submit(); $('#pdailog').dialog('close'); } },{ text:'取消', iconCls:"icon-cancel", handler:function(){ $('#pdailog').dialog('close'); } }] }); curTmpInfo.expType = "html"; //注册事件 $(".exportpanel span.exptp").click(function(e) { $(".exportpanel span.exptp").removeClass("select"); $(this).addClass("select"); curTmpInfo.expType = $(this).attr("tp"); }); } function selectdataset(){ $('#pdailog').dialog({ title: '选择数据模型(立方体)', width: 520, height: 320, closed: false, cache: false, modal: true, toolbar:null, content:"
    名称说明数据集
    ", buttons:[{ text:'确定', iconCls:'icon-ok', handler:function(){ var row = $("#subjectlist").datagrid("getChecked"); if(row == null || row.length == 0){ msginfo("请勾选数据。"); return; } pageInfo.selectDs = row[0].cubeId; $('#pdailog').dialog('close'); //更新页面为已修改 curTmpInfo.isupdate = true; //更新数据集 reloadDatasetTree(); $("#comp_tab").tabs("select", 1); } },{ text:'取消', iconCls:"icon-cancel", handler:function(){ $('#pdailog').dialog('close'); } }] }); $("#subjectlist").datagrid({ singleSelect:true, collapsible:false, pagination:true, fit:true, pageSize:20, border:true, url:'/rsbi-os-4.7/model/pageCube.action', method:'post', queryParams:{t: Math.random()} }); } function reloadDatasetTree(){ if(pageInfo.selectDs){ $('#datasettree').tree({ url:'/rsbi-os-4.7/model/treeCube.action?cubeId=' + (pageInfo.selectDs?pageInfo.selectDs:""), dnd:true, lines:true, onBeforeDrag:function(target){ if(!target.attributes || target.attributes.tp == 'root'){ return false; } return true; }, onDragEnter:function(target, source){ return false; }, onContextMenu:function(e, node){ e.preventDefault(); } }); }else{ $('#datasettree').tree({ data:[{"id":"err","text":"还未选择立方体!", "iconCls":"icon-no"}] }); } } function resetWindows(tp){ for(var i=0; curTmpInfo.comps&&i
    "; for(var i=1; i<=6; i++){ ctx = ctx + "
    "; } ctx = ctx + ""; $('#pdailog').dialog({ title: '设置报表布局', width: 430, height: 340, closed: false, cache: false, modal: true, toolbar:null, onLoad:function(){}, content:ctx, buttons:[{ text:'确定', iconCls:"icon-ok", handler:function(){ var comps = curTmpInfo.comps; var s = $("input[name=\"sellayout\"]:checked").val(); pageInfo.layout = Number(s); //更新布局区域 var json = null; if(s == 1){ json = layout.l1_json; }else if(s == 2){ json = layout.l2_json; }else if(s == 3){ json = layout.l3_json; }else if(s == 4){ json = layout.l4_json; }else if(s == 5){ json = layout.l5_json; }else if(s == 6){ $('#pdailog').dialog('close'); autoLayout(); return; } pageInfo.body = json = eval("("+JSON.stringify(json)+")"); //复制一份 //把组件都放入布局1 var ids = []; for(i=0; comps&&i"; for(var i=1; true; i++){ var tr = json["tr"+i]; if(!tr || tr == null){ break; } ret = ret + ""; for(var j=0; j"; ret = ret + "  "; } ret = ret + ""; } ret = ret + ""; return ret; } var layoutJson = pageInfo.body; var ctx = json2table(layoutJson); $('#pdailog').dialog({ title: '自定义布局', width: 540, height: 350, closed: false, cache: false, modal: true, toolbar:[{ text:"插入行", handler:function(e){ var o = $("#autoLayoutTable td.tdselect"); if(o.size() == 0){ msginfo("请先选择单元格。"); return; } curTmpInfo.curtabtd = o[0]; lyt_insertRow(); curTmpInfo.curtabtd = null; } },{ text:"插入列", handler:function(e){ var o = $("#autoLayoutTable td.tdselect"); if(o.size() == 0){ msginfo("请先选择单元格。"); return; } curTmpInfo.curtabtd = o[0]; lyt_insertCol(); curTmpInfo.curtabtd = null; } },{ text:"删除行", handler:function(e){ var o = $("#autoLayoutTable td.tdselect"); if(o.size() == 0){ msginfo("请先选择单元格。"); return; } curTmpInfo.curtabtd = o[0]; lyt_deleteRow(); curTmpInfo.curtabtd = null; } },{ text:"删除列", handler:function(e){ var o = $("#autoLayoutTable td.tdselect"); if(o.size() == 0){ msginfo("请先选择单元格。"); return; } curTmpInfo.curtabtd = o[0]; lyt_deleteCol(); curTmpInfo.curtabtd = null; } },{ text:"合并", handler:function(e){ var o = $("#autoLayoutTable td.tdselect"); if(o.size() == 0){ msginfo("请先选择单元格。"); return; } lyt_mergeCell(); } },{ text:"取消合并", handler:function(e){ var o = $("#autoLayoutTable td.tdselect"); if(o.size() == 0){ msginfo("请先选择单元格。"); return; } curTmpInfo.curtabtd = o[0]; lyt_unmergeCell(); curTmpInfo.curtabtd = null; } }], onLoad:function(){}, content:ctx, buttons:[{ text:'确定', iconCls:"icon-ok", handler:function(){ var ljson = {}; var rows = document.getElementById("autoLayoutTable").rows; var pidx = 0; for(var i=0;i p2[0] || p1[1] > p2[1]){ tmp = p1; p1 = p2; p2 = tmp; } for(i=p1[0]; i<=p2[0]; i++){ for(j = p1[1]; j<=p2[1]; j++){ $("#autoLayoutTable td[pos='"+(i+","+j)+"']").addClass("tdselect"); } } } //注册布局器编辑事件 var issel = false; var start = null; $("#autoLayoutTable").on("click", 'td.laytd', function(){ selFunc(this); }).on("mousedown", "td.laytd", function(e){ issel = true; start = this; }).on("mouseup","td.laytd", function(e){ issel = false; }).on("mousemove","td.laytd", function(e){ if(issel){ areaSelFunc(start, this); } }).on("contextmenu","td.laytd", function(e){ e.preventDefault(); e.stopPropagation(); curTmpInfo.curtabtd = this; //选中单元格 if($("#autoLayoutTable td.tdselect").size() <= 1){ selFunc(this); } //设置菜单disable if($(this).attr("colspan") > 1 || $(this).attr("rowspan") > 1){ $("#autolayoutmenu").menu("enableItem", $("#lyt_unmergeCell")); }else{ $("#autolayoutmenu").menu("disableItem", $("#lyt_unmergeCell")); } $('#autolayoutmenu').menu('show', { left: e.pageX, top: e.pageY }); }); } function lyt_mergeCell(){ var p1 = null; var p2 = null; var size = $("#autoLayoutTable td.tdselect").size(); if(size <= 1){ return; } var endTd = null; $("#autoLayoutTable td.tdselect").each(function(index, element) { if(index == 0){ p1 = $(this).attr("pos").split(","); } if(index == size - 1){ p2 = $(this).attr("pos").split(","); endTd = $(this); } if(index > 0){ $(this).remove(); } }); //结束单元格的colspan, rowspan 影响宽度,高度 var colspan = endTd.attr("colspan")?Number(endTd.attr("colspan")):1; var rowspan = endTd.attr("rowspan")?Number(endTd.attr("rowspan")):1; $("#autoLayoutTable td.tdselect").attr("rowspan", Math.abs(p1[0] - p2[0] + (rowspan - 1)) + 1).attr("colspan", Math.abs(p1[1] - p2[1] +(colspan - 1) ) + 1); updateHeightWidth(true); } function lyt_unmergeCell(){ var td = $(curTmpInfo.curtabtd); var colspan = td.attr("colspan") ? Number(td.attr("colspan")) : 1; var rowspan = td.attr("rowspan") ? Number(td.attr("rowspan")) : 1; td.attr("colspan", 1); td.attr("rowspan", 1); for(i=1; i<=rowspan; i++){ var str = ""; for(j=1; j<(i == 1 ? colspan : colspan + 1); j++){ str = str + ""; } if(i == 1){ td.after(str); //第一行,直接追加 }else{ var zuobiao = td.attr("pos").split(","); var node = $("#autoLayoutTable td[pos='"+((Number(zuobiao[0])+i-1) +","+ (Number(zuobiao[1]) - 1))+"']") //求当前td的下一个的前一个 if(node.size() == 0){ //如果查找的TD不存在 //开始查询后一个 node = $("#autoLayoutTable td[pos='"+((Number(zuobiao[0])+i-1) +","+ (Number(zuobiao[1]) + colspan))+"']") //求当前td的下一个的后一个 if(node.size() > 0){ node.before(str); }else{ //还是未找到,直接追加 var tr = td.parent(); //查找当前TR for(k=1; k<=i-1; k++){ tr = tr.next(); } tr.append(str); } }else{ node.after(str); } } } updateHeightWidth(); } function lyt_insertRow(){ var td = curTmpInfo.curtabtd; //定义判断新增加的单元格是否属于一个合并单元格的内容。 var tdInCells = function(rowIndex, colIndex){ var returnTd = null; $("#autoLayoutTable td").each(function(index, element) { var pos = $(element).attr("pos").split(","); var rowspan = $(element).attr("rowspan") ? Number($(element).attr("rowspan")) : 1; var colspan = $(element).attr("colspan") ? Number($(element).attr("colspan")) : 1; if(rowspan > 1){ if(rowIndex > Number(pos[0]) && rowIndex <= Number(pos[0])+ rowspan && colIndex >= Number(pos[1]) && colIndex < Number(pos[1]) + colspan ){ //当前需要新添加的td 属于表格的一个单元格 returnTd = $(element); } } }); return returnTd; }; var colCount = 0; var cells = document.getElementById("autoLayoutTable").rows[0].cells; for(i=0; i1 计算新的行(row) var str = ""; for(i=0; i 1, 为i 追加 rowspan - 1, 不然rowspan 会被加多次 var c = Number(retTd.attr("colspan")); if(c > 1){ i = i + c - 1; } continue; } } str = str + ""; str = str + ""; } str = str + ""; var obj = $(td).parent(); //rowspan 影响插入的位置 for(i=1; i 1){ if(rowIndex >= Number(pos[0]) && rowIndex < Number(pos[0])+ rowspan && colIndex > Number(pos[1]) && colIndex <= Number(pos[1]) + colspan ){ //当前需要新添加的td 属于表格的一个单元格 returnTd = $(element); } } }); return returnTd; }; var rows = document.getElementById("autoLayoutTable").rows; //获取当前TD的index var pos = $(td).attr("pos").split(","); var idx = Number(pos[1]); var colspan = $(td).attr("colspan") ? Number($(td).attr("colspan")) : 1; if(colspan > 1){ idx = idx + colspan - 1; //当前td的colspan影响插入列的位置 } var insertArray = []; for(i=0; i 1){ i = i + c - 1; } continue; } }else{ //如果当前td存在,并且colspan > 1, 为当前td 添加一个colspan var r = curTd.attr("colspan") ? Number(curTd.attr("colspan")) : 1; var c = Number(curTd.attr("rowspan")); //rowspan 影响数据行 if(c > 1){ i = i + c - 1; } if(r > 1){ curTd.attr("colspan", r + 1); continue; } ctd = curTd; } var rspan = ctd.attr("rowspan") ? Number(ctd.attr("rowspan")) : 1; var cspan = ctd.attr("colspan") ? Number(ctd.attr("colspan")) : 1; //当前插入的TD跨行和列,需要设置新的 colspan, rowspan var str = ""; //ctd.after(str); insertArray.push({"obj":ctd, "str" : str}); } for(i=0; i 1){ if(rowIndex >= Number(pos[0]) && rowIndex < Number(pos[0])+ rowspan && colIndex > Number(pos[1]) && colIndex <= Number(pos[1]) + colspan ){ //当前需要新添加的td 属于表格的一个单元格 returnTd = $(element); } } }); return returnTd; }; //获取当前TD的index var pidx = Number(td.attr("pos").split(",")[1]); var removes = []; //对于colspan > 1 的单元格删除,需要删除多列 var tdcspan = td.attr("colspan") ? Number(td.attr("colspan")) : 1; for(k=0; k 1){ i = i + c - 1; } continue; } if(curTd.size() == 0){ //如果当前td不存在,并且属于一个合并单元格的内容,为当前合并单元格减少1个colspan var retTd = tdInCells(i, idx); if(retTd != null){ var r = Number(retTd.attr("colspan")) - 1; retTd.attr("colspan", r); var c = Number(retTd.attr("rowspan")); if(c > 1){ i = i + c - 1; } continue; } }else{ //如果当前td存在,并且colspan > 1, 为当前td 减少一个colspan var r = curTd.attr("colspan") ? Number(curTd.attr("colspan")) : 1; //有rowspan > 1, 影响多行 var c = curTd.attr("rowspan") ? Number(curTd.attr("rowspan")) : 1; if(c > 1){ i = i + c - 1; } if(r > 1){ curTd.attr("colspan", r - 1); continue; } } removes.push(curTd);; } } for(i=0; i 1){ if(rowIndex > Number(pos[0]) && rowIndex <= Number(pos[0] + rowspan) && colIndex >= Number(pos[1]) && colIndex < Number(pos[1]) + colspan ){ //当前需要新添加的td 属于表格的一个单元格 returnTd = $(element); } } }); return returnTd; }; var deltrs = []; var pos = $(td).attr("pos").split(","); var nrow = Number(pos[0]); var delrowspan = td.attr("rowspan") ? Number(td.attr("rowspan")) : 1; //rowspan 影响删除的行数 for(n=0; n 1, 为i 追加 rowspan - 1, 不然rowspan 会被加多次 var c = Number(retTd.attr("colspan")); if(c > 1){ i = i + c - 1; } } }else{ //需要删除的单元格存在,并且占用多行(row), 减少rowspan, 并且把td放入下一行 if(Number(curTd.attr("rowspan")) > 1){ curTd.attr("rowspan", Number(curTd.attr("rowspan")) - 1); var isdeal = false; var l = i -1; while(l>=0){ //向前查找是否有对象 var target = $("#T"+compId+" td[pos='"+(row+1)+","+(l)+"']"); if(target.size() > 0){ target.after(curTd); isdeal = true; break; } l = l - 1; } if(isdeal == false){ l = i + 1; while(l < colCount){ //向后查找是否有对象 var target = $("autoLayoutTable td[pos='"+(row+1)+","+(l)+"']"); if(target.size() > 0){ target.before(curTd); isdeal = true; break; } l = l + 1; } } } var c = Number(curTd.attr("colspan")); //如果colspan > 1, 夸多列处理 if(c > 1){ i = i + c - 1; } } } deltrs.push($("#autoLayoutTable tr").get(row)); } for(i=0; i 1){ //会影响后面行的pos for(k=1; k 1){ //会影响本行后面的pos wposIndex = wposIndex + (colspan - 1); } //wposIndex追加 占位 位置, 需考虑连续追加 for(l=wposIndex-1; l"; for(var i=1; true; i++){ var tr = json["tr"+i]; if(!tr || tr == null){ break; } ret = ret + ""; for(var j=0; j"; if(td.children){ for(var k=0; k"; } ret = ret + ""; } ret = ret + ""; $("#optarea").html(ret); for(var i=0; i加载中...").load(url, eval(param), function(){ }); } } function initlayout(){ var id = pageInfo.layout; var json = pageInfo.body; crtLayoutHTML(json, true); //注册window resize 事件, 改变图形大小 $(window).on("resizeend", function(e){ resetCharts(); }); //注册布局切换事件,改变图形大小 $("#Jlayout").layout({ onAdd:function(c){ if(c == "east"){ window.setTimeout(function(){resetCharts();}, 200); resetCharts(); } }, onRemove:function(c){ if(c == "east"){ window.setTimeout(function(){resetCharts();}, 200); } } }); } /*改变图像大小*/ function resetCharts(){ for(i=0; i"; for(var i=1; true; i++){ var tr = json["tr"+i]; if(!tr || tr == null){ break; } ret = ret + ""; for(var j=0; j"; if(td.children){ for(var k=0; k"; } ret = ret + ""; } ret = ret + ""; curTmpInfo.comps = cps; $("#optarea").html(ret); if(isbind){ for(i=0; i=0 ?"checked":"")+">"; } } } var cols; var findCubeCols = function(cubeId){ var ret = ""; $.ajax({ type:"post", url:"../bireport/queryDims.action", data: {cubeId: cubeId}, dataType:"json", async:false, success: function(resp){ cols = resp; for(k=0; k"+resp[k].dim_desc+""; } } }); return ret; }; var str2 = ""; var ctx = "
    联动组件:
    "+str+"
    接收字段:"+str2+"

    "; $('#pdailog').dialog({ title: '组件联动事件设置', width: 330, height: (comp.type=="table"?290:250), closed: false, cache: false, modal: true, toolbar:null, content: ctx, buttons:[{ text:'确定', iconCls:"icon-ok", handler:function(){ var tab = $("#pdailog #compevent_tab").tabs("getSelected"); var idx = $("#pdailog #compevent_tab").tabs("getTabIndex", tab); if(idx == 0){ var seles = $("#pdailog input[name='linkcomp']:checkbox:checked"); if(seles.length > 0){ var link = {}; if(comp.type == "chart"){ comp.chartJson.link = link; }else{ comp.link = link; } var targets = ""; var types = ""; seles.each(function(a, b){ var id = $(this).val(); var linkComp = findCompById(id); targets = targets + id + ","; types = types + (linkComp.type=="table"?"cross":linkComp.type)+"," }); targets = targets.substring(0, targets.length - 1); types = types.substring(0, types.length - 1); link.target = targets; link.type = types; link.paramName = "p"+Math.floor(Math.random()*100); }else{ if(comp.type == "chart"){ delete comp.chartJson.link; }else{ delete comp.link; } } }else{ var col = $("#compevent_tab #acceptCol").val(); var val = ""; if(col == '' && val == ''){ curTmpInfo.isupdate = true; $('#pdailog').dialog('close'); return; } var dim = null; for(c=0; c "+row.text; } }); } //设置报表风格样式 /** function setpagestyle(){ var s = pageInfo.stylename; var ctx = "

     
    默认
     
    黑色
     
    蓝色
     
    红色
     
    黄色
    "; $('#pdailog').dialog({ title: '报表样式设置', width: 430, height: 320, closed: false, cache: false, modal: true, toolbar:null, content:ctx, onLoad:function(){}, buttons:[{ text:'确定', handler:function(){ var s = $("input[name=\"selstyle\"]:checked").val(); pageInfo.stylename = s; curTmpInfo.isupdate = true; $('#pdailog').dialog('close'); } },{ text:'取消', handler:function(){ $('#pdailog').dialog('close'); } }] }); $("span.rlayout div.pagestyle").click(function(){ var tp = $(this).attr("tp"); var s = $("input[name=\"selstyle\"][value=\""+tp+"\"]"); s.attr("checked","checked"); }); } **/ function msginfo(input, tp){ var str = null; if(tp && tp == 'suc'){ str = "
    " + input +"
    "; }else{ str = "
    " + input+"
    "; } $.messager.show({ title: (tp && tp == 'suc')? '成功了' : '出错了', msg:str, showType:'fade', timeout:2000, style:{ right:'', top:document.body.scrollTop+document.documentElement.scrollTop + 10, bottom:'' } }); } /** 图形格式化函数 shortname == true 表示显示缩写, 分为k,m **/ function formatNumber(num,pattern, shortname){ var shortdw; if(shortname && num > 1000000){ num = num / 1000000; shortdw = "百万"; }else if(shortname && num > 10000){ num = num / 10000; shortdw = "万"; }else if(shortname && num > 1000){ num = num / 1000; shortdw = "千"; } if(pattern.indexOf("%") > 0){ num = num * 100; } var fmtarr = pattern?pattern.split('.'):['']; var retstr=''; //先对数据做四舍五入 var xsw = 0; if(fmtarr.length > 1){ xsw = fmtarr[1].length; } var bl = 1; for(i=0; i=0;f--){ switch(fmt.substr(f,1)){ case '#': if(i>=0 ) retstr = str.substr(i--,1) + retstr; break; case '0': if(i>=0) retstr = str.substr(i--,1) + retstr; else retstr = '0' + retstr; break; case ',': comma = true; retstr=','+retstr; break; } } if(i>=0){ if(comma){ var l = str.length; for(;i>=0;i--){ retstr = str.substr(i,1) + retstr; if(i>0 && ((l-i)%3)==0) retstr = ',' + retstr; } } else retstr = str.substr(0,i+1) + retstr; } retstr = retstr+'.'; // 处理小数部分 str=strarr.length>1?strarr[1]:''; fmt=fmtarr.length>1?fmtarr[1]:''; i=0; for(var f=0;f 0){ r = r + "%"; } if(shortdw){ r = r + shortdw; } return r; } //从写图形组件链接方法 function chartComp_Link(){ //alert("定制模式下点击无效。"); } //从布局器中查询td(容器) function findLayoutById(layoutId){ var ret = null; for(var i=1; true; i++){ var tr = pageInfo.body["tr"+i]; if(!tr || tr == null){ break; } for(var j=0; j