retention.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. $('.form_date').datetimepicker({
  2. language: 'zh-CN',
  3. weekStart: 1,
  4. todayBtn: 1,
  5. autoclose: 1,
  6. todayHighlight: 1,
  7. startView: 2,
  8. minView: 2,
  9. forceParse: 0
  10. });
  11. var chart = null;
  12. var chart2 = null;
  13. var chart3 = null;
  14. function Canvas(datas, datas2) {
  15. var lineChartData = {
  16. labels: ["当天注册人数", "次日留存人数", "3日留存人数", "5日留存人数", "7日留存人数", "15日留存人数", "30日留存人数"],
  17. datasets: [
  18. {
  19. fillColor: "rgba(220,220,220,0.5)",
  20. strokeColor: "rgba(220,220,220,1)",
  21. data: datas
  22. },
  23. ]
  24. }
  25. $('#dayCanvas').attr("width", $('#dayCanvasParent').width());
  26. var ctx = document.getElementById("dayCanvas").getContext("2d");
  27. if (chart != null) {
  28. chart.destroy();
  29. }
  30. chart = new Chart(ctx).Bar(lineChartData);
  31. var lineChartData2 = {
  32. labels: ["次日留存率", "3日留存率", "5日留存率", "7日留存率", "15日留存率", "30日留存率"],
  33. datasets: [
  34. {
  35. fillColor : "rgba(151,187,205,0.5)",
  36. strokeColor : "rgba(151,187,205,1)",
  37. data: datas2
  38. },
  39. ]
  40. }
  41. $('#day2Canvas').attr("width", $('#day2CanvasParent').width());
  42. var ctx2 = document.getElementById("day2Canvas").getContext("2d");
  43. if (chart2 != null) {
  44. chart2.destroy();
  45. }
  46. chart2 = new Chart(ctx2).Bar(lineChartData2,{
  47. scaleLabel: "<%=value%>%"
  48. });
  49. }
  50. function searchDay() {
  51. var date = $("#date-text").val();
  52. $.post(
  53. getProviderUrl("retention"),
  54. {date: date},
  55. function (data) {
  56. Canvas(data.data1, data.data2);
  57. }
  58. , 'json');
  59. }
  60. function searchDays(type) {
  61. var date1 = $("#date-text1").val();
  62. var date2 = $("#date-text2").val();
  63. $.post(
  64. getProviderUrl("retention2"),
  65. {date1: date1,date2: date2,type:type},
  66. function (data) {
  67. Canvas2(data.data, data.labels,type);
  68. }
  69. , 'json');
  70. }
  71. function Canvas2(datas, labels,type) {
  72. var lineChartData = {
  73. labels: labels,
  74. datasets: [
  75. {
  76. fillColor: "rgba(220,220,220,0.2)",
  77. strokeColor: "rgba(220,220,220,1)",
  78. pointColor: "rgba(220,220,220,1)",
  79. pointStrokeColor: "#fff",
  80. pointHighlightFill: "#fff",
  81. pointHighlightStroke: "rgba(220,220,220,1)",
  82. data: datas
  83. },
  84. ]
  85. }
  86. $('#daysCanvas').attr("width", $('#daysCanvasParent').width());
  87. var ctx = document.getElementById("daysCanvas").getContext("2d");
  88. if (chart3 != null) {
  89. chart3.destroy();
  90. }
  91. if(type == 0){
  92. chart3 = new Chart(ctx).Line(lineChartData);
  93. }
  94. else
  95. {
  96. chart3 = new Chart(ctx).Line(lineChartData,{
  97. scaleLabel: "<%=value%>%"
  98. });
  99. }
  100. }