charts_helper.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. $.Report = function (options) {
  2. var defaults = {
  3. picDiv: "",
  4. reportId: "",
  5. listDiv: ""
  6. };
  7. var options = $.extend(defaults, options);
  8. $.ajax({
  9. url: "/ReportManage/Report/GetReportJson",
  10. data: { reportId: options.reportId },
  11. cache: false,
  12. async: false,
  13. dataType: 'json',
  14. success: function (data) {
  15. console.log(data);
  16. if (data) {
  17. switch (data.tempType) {
  18. case 'pie':
  19. DrawPie(data.picData, options.picDiv);
  20. break;
  21. case 'bar':
  22. DrawBar(data.picData, options.picDiv);
  23. break;
  24. case 'line':
  25. DrawLine(data.picData, options.picDiv);
  26. break;
  27. case 'pie':
  28. DrawPie(data.picData, options.picDiv);
  29. break;
  30. default:
  31. }
  32. if (options.listDiv)
  33. if (data.listData != null) {
  34. DrawList(data, options.listDiv);
  35. }
  36. }
  37. },
  38. error: function (msg) {
  39. alert("系统发生错误");
  40. }
  41. });
  42. function DrawPie(data, id) {
  43. var myChart = echarts.init(document.getElementById(id));
  44. var option = ECharts.ChartOptionTemplates.Pie(data);
  45. myChart.setOption(option);
  46. }
  47. function DrawBar(data, id) {
  48. var myChart = echarts.init(document.getElementById(id));
  49. var option = ECharts.ChartOptionTemplates.Bars(data, 'bar', true);
  50. myChart.setOption(option);
  51. }
  52. function DrawLine(data, id) {
  53. var myChart = echarts.init(document.getElementById(id));
  54. var option = ECharts.ChartOptionTemplates.Lines(data, 'line', true);
  55. myChart.setOption(option);
  56. }
  57. function DrawMap(data, id) {
  58. var myChart = echarts.init(document.getElementById(id));
  59. var option = ECharts.ChartOptionTemplates.Maps(data);
  60. myChart.setOption(option);
  61. }
  62. function DrawList(data, id) {
  63. var colModelData = [];
  64. $.each(data.listField, function (i) {
  65. var row = data.listField[i];
  66. colModelData.push({ label: row.Field, name: row.Field, align: "left", index: row.Field });
  67. });
  68. var $gridTable = $("#" + id);
  69. $gridTable.jqGrid({
  70. datatype: "local",
  71. data: data.listData,
  72. height: '100%',
  73. autowidth: true,
  74. colModel: colModelData,
  75. rowNum: 30,
  76. rowList: [30, 50, 100],
  77. sortorder: 'desc',
  78. rownumbers: true,
  79. shrinkToFit: false,
  80. footerrow: true,
  81. gridComplete: function () {
  82. var totalMoney = $(this).getCol("销售额", false, "sum");
  83. //合计
  84. $(this).footerData("set", {
  85. "客户名称": "合计:",
  86. "销售额": totalMoney,
  87. });
  88. $('table .ui-jqgrid-btable tr').prevUntil().css("border-right-color", "#fff");
  89. }
  90. });
  91. }
  92. }