You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

95 lines
3.3 KiB

  1. $.LoadReport = function (options) {
  2. $.extend(defaults);
  3. $.ajax({
  4. url: options.url,
  5. cache: false,
  6. async: false,
  7. dataType: 'json',
  8. success: function (data) {
  9. var $echart, $list;
  10. if (data.tempStyle == 1) {
  11. if (data.listData.length > 0) {
  12. $list = $('<div id="gridtable" class="lr-layout-body"></div>');
  13. options.element.append($list);
  14. DrawList(data.listData, $list);
  15. }
  16. } else if (data.tempStyle == 2) {
  17. if (data.chartData.length > 0) {
  18. $echart = $('<div id="echart" style="width: 100%; height: 800px;"></div>');
  19. options.element.append($echart);
  20. switch (data.chartType) {
  21. case 'pie':
  22. DrawPie(data.chartData, $echart[0]);
  23. break;
  24. case 'bar':
  25. DrawBar(data.chartData, $echart[0]);
  26. break;
  27. case 'line':
  28. DrawLine(data.chartData, $echart[0]);
  29. break;
  30. default:
  31. }
  32. }
  33. } else {
  34. if (data.chartData.length > 0) {
  35. $echart = $('<div id="echart" style="width: 100%; height: 400px;"></div>');
  36. options.element.append($echart);
  37. switch (data.chartType) {
  38. case 'pie':
  39. DrawPie(data.chartData, $echart[0]);
  40. break;
  41. case 'bar':
  42. DrawBar(data.chartData, $echart[0]);
  43. break;
  44. case 'line':
  45. DrawLine(data.chartData, $echart[0]);
  46. break;
  47. default:
  48. }
  49. }
  50. if (data.listData.length > 0) {
  51. $list = $('<div id="gridtable" class="lr-layout-body"></div>');
  52. options.element.append($list);
  53. DrawList(data.listData, $list);
  54. }
  55. }
  56. }
  57. });
  58. function DrawPie(data, echartElement) {
  59. var myChart = echarts.init(echartElement);
  60. var option = ECharts.ChartOptionTemplates.Pie(data);
  61. myChart.setOption(option);
  62. }
  63. function DrawBar(data, echartElement) {
  64. var myChart = echarts.init(echartElement);
  65. var option = ECharts.ChartOptionTemplates.Bars(data, 'bar', true);
  66. myChart.setOption(option);
  67. }
  68. function DrawLine(data, echartElement) {
  69. var myChart = echarts.init(echartElement);
  70. var option = ECharts.ChartOptionTemplates.Lines(data, 'line', true);
  71. myChart.setOption(option);
  72. }
  73. function DrawList(data, listElement) {
  74. listElement.jfGrid({
  75. headData: function () {
  76. var colModelData = [];
  77. for (key in data[0]) {
  78. colModelData.push({ name: key, label: key, width: 120, align: "left" });
  79. }
  80. return colModelData;
  81. }(),
  82. rowdatas: data,
  83. isAutoHeight: true
  84. });
  85. }
  86. }