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.
 
 
 
 
 
 

93 lines
3.4 KiB

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