$.LoadReport = function (options) { var defaults = { url: "", element: "", }; var options = $.extend(defaults, options); $.ajax({ url: options.url, cache: false, async: false, dataType: 'json', success: function (data) { var $echart, $list; if (data.tempStyle == 1) { if (data.listData.length > 0) { $list = $('
'); options.element.append($list); DrawList(data.listData, $list); } } else if (data.tempStyle == 2) { if (data.chartData.length > 0) { $echart = $('
'); options.element.append($echart); switch (data.chartType) { case 'pie': DrawPie(data.chartData, $echart[0]); break; case 'bar': DrawBar(data.chartData, $echart[0]); break; case 'line': DrawLine(data.chartData, $echart[0]); break; default: } } } else { if (data.chartData.length > 0) { $echart = $('
'); options.element.append($echart); switch (data.chartType) { case 'pie': DrawPie(data.chartData, $echart[0]); break; case 'bar': DrawBar(data.chartData, $echart[0]); break; case 'line': DrawLine(data.chartData, $echart[0]); break; default: } } if (data.listData.length > 0) { $list = $('
'); options.element.append($list); DrawList(data.listData, $list); } } } }); function DrawPie(data, echartElement) { var myChart = echarts.init(echartElement); var option = ECharts.ChartOptionTemplates.Pie(data); myChart.setOption(option); } function DrawBar(data, echartElement) { var myChart = echarts.init(echartElement); var option = ECharts.ChartOptionTemplates.Bars(data, 'bar', true); myChart.setOption(option); } function DrawLine(data, echartElement) { var myChart = echarts.init(echartElement); var option = ECharts.ChartOptionTemplates.Lines(data, 'line', true); myChart.setOption(option); } function DrawList(data, listElement) { listElement.jfGrid({ headData: function () { var colModelData = []; for (key in data[0]) { colModelData.push({ name: key, label: key, width: 120, align: "left" }); } return colModelData; }(), rowdatas: data, isAutoHeight: true }); } }