• FusionCharts 3.2.1 flash 图表展示、数据钻取


    StackedColumn3DLineDY.swf 效果展示:

    一、页面代码

    <div id="chart2div" align="center" style="margin: 5px 0 0 5px;float: left;700px;border: 1px solid #fff;"></div>
    <script type="text/javascript">
    var myChart2 = new FusionCharts("/fcharts/StackedColumn3DLineDY.swf", "chartId2", "700", "300");
    myChart2.setDataURL(escape("/report/home/02-gzxjscbqkb.xml"));
    myChart2.render("chart2div");   
    </script>
    View Code

    二、XML数据文件内容

    <graph caption='各中心结算成本情况表(二季度)' PYAxisName='结入后成本(万元)'
        SYAxisName='环比增幅(%)' syAxisMaxValue='50' showSYAxisValues='0' showSum='1'
        showValues='0' unescapelinks='0' formatNumberScale='0' formatNumber='0'
        decimalPrecision='0' baseFontSize='12' baseFont='微软雅黑' chartTopMargin='5'
        chartBottomMargin='5' maxColWidth='30'>
        <categories>
            <category name='网优中心' />
            <category name='呼叫中心' />
            <category name='业务支撑系统部' />
            <category name='ICT' />
            <category name='客响中心' />
            <category name='培训中心' />
            <category name='网管中心' />
            <category name='增值业务中心' />
            <category name='集团客户部' />
            <category name='工建中心' />
            <category name='核算中心' />
        </categories>
        <dataset seriesName='结入后成本(万元)' parentYAxis='P'>
            <set value='248' color='afd8f8' />
            <set value='3668' color='f6bd0e' />
            <set value='7554' color='8cba00' />
            <set value='741' color='fe8e46' />
            <set value='158' color='008e8f' />
            <set value='579' color='0097cd' />
            <set value='411' color='d64647' />
            <set value='5256' color='8e468f' />
            <set value='551' color='598726' />
            <set value='256' color='b2aa00' />
            <set value='197' color='008ed6' />
    
        </dataset>
        <dataset seriesName='环比增幅(%)' parentYAxis='S'>
            <set value='1' />
            <set value='17' />
            <set value='3' />
            <set value='-7' />
            <set value='14' />
            <set value='169' />
            <set value='28' />
            <set value='14' />
            <set value='30' />
            <set value='40' />
            <set value='51' />
    
        </dataset>
    </graph>
    View Code

    三、struts2 框架动态加载内容
    Action类增加方法:

        public void doZscbhzbChart1() throws IOException {
            // 读取结出中心列表
            List zxList = DAO_CheckOut.doSelect(
                    "select * from t_check_out order by sn", new Object[] {});
            if (zxList == null) {
                zxList = new ArrayList();
            }
            List cbkmList = DAO_Dict.getSubLevels("cbkm"); // 成本科目类型
            // 添加 综合保障分摊
            BN_Dict zhbz = new BN_Dict();
            zhbz.setOp_id("zzlx-zhbz");
            zhbz.setOp_name("综合保障分摊");
            cbkmList.add(zhbz);
    
            Map valueMap = DAO_Report.getValueMap(id_ver, "report-zscbhzb");
    
            HttpServletResponse response = ServletActionContext.getResponse();
            response.setCharacterEncoding("utf-8");
            response.setContentType("text/xml;charset=utf-8");
            response.setHeader("Cache-Control", "no-cache");
            PrintWriter out = response.getWriter();
            out.write("<graph caption='成本各中心分布情况' "+CHART_STYLE+">");
            out.write("<categories>");
            for (int i = 0; i < zxList.size(); i++) {
                BN_CheckOut checkOut = (BN_CheckOut) zxList.get(i);
                out.write("<category name='" + checkOut.getShort_name() + "' />");
            }
            out.write("</categories>");
            for (int i = 0; i < cbkmList.size(); i++) {
                BN_Dict cbkm = (BN_Dict) cbkmList.get(i);
                out.write("<dataset seriesName='" + (i + 1) + "-"
                        + cbkm.getOp_name() + "'>");
                for (int j = 0; j < zxList.size(); j++) {
                    BN_CheckOut checkOut = (BN_CheckOut) zxList.get(j);
                    out.write("<set value='"
                            + DAO_Report.formatValue(valueMap.get(cbkm.getOp_id()
                                    + "--&" + checkOut.getDept_no() + "--"))
                            + "'  " + getGraphColor(i) + " />");
                }
                out.write("</dataset>");
            }
    
            out.write("</graph>");
            out.flush();
            out.close();
        }
    View Code

    前台页面请求:

    myChart1.setDataURL(escape("/manage/report.do?action=doGdsjrcbChart1"));

    struts.xml 无须特殊配置即可使用

    四、解决数据重复加载的问题

    找到FusionCharts.js,利用js工具格式化为可阅读内容

    定位到756行,把内容做如下注释掉即可:

                this.options.dataSource = c;
                xStore[this.id] = g.ajax.get(decodeURIComponent(c), function(a, x) {
                    var b = false;
                    /*   
                    g.raiseEvent("DataLoadRequestCompleted", {
                        source:"XmlHttpRequest",
                        url:c,
                        data:a,
                        dataFormat:f,
                        cancelDataLoad:function() {
                            b = true;
                            this.cancelDataLoad = function() {
                                return false;
                            };
                            return true;
                        },
                        xmlHttpRequestObject:x
                    }, obj);
                   */
                    if (b !== true) {
                        obj.setChartData(a, f, e);
    View Code

    五、解决set 中 link 脚本中文乱码问题

    out.write("<set name='Dec' value='39800' link="javascript:void(top.addMyTab('各中心成本汇总表','/manage/report.do?action=doGzxcbhzb&module=bbgl-gzxcbhzb','icon-shezi2'))"/>");

    在graph节点中设置unescapelinks='0' 属性即可

  • 相关阅读:
    PHP 包含文件路径问题
    PHP显示今天、今月、上月、今年的起点/终点时间戳
    PHP Web基础教程
    php如何生成随机密码的几种方法
    You don't have permission to access /~whpc on this server.
    linux 网络 PING IP可以通,ping域名ping不通
    CPU : 二级缓存容量
    简单建立个人WEB网站
    MKL程序编译与连接:Lapack篇
    ldd命令原理与使用
  • 原文地址:https://www.cnblogs.com/101key/p/3349498.html
Copyright © 2020-2023  润新知