説明なし

index.js 7.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. ;
  2. spa_define(function () {
  3. return $.use(["spa", "code", "form", "util", "dict"], function (spa, code, form, util, dict) {
  4. return {
  5. main: function () {
  6. var root = spa.findInMain(".sys_pictable_index");
  7. var cr = code.parseCode(root.find(".dt-tpl"));
  8. var myChart = echarts.init(document.getElementById('type'));
  9. var dynUser = {ready: true};
  10. util.get("../ajax/sys/user/all",null,function(data){
  11. var items =dynUser.items = [];
  12. data.forEach(function(item){
  13. items.push({code:item.id,caption:item.name});
  14. });
  15. root.find(".dyn-select").attr("defVal",util.data("loginUser").id);
  16. dynUser.formRef = form.build(root.find(".dt-form"),{name:dynUser});
  17. });
  18. cr.shell("count", function (env) {
  19. var v = env.cd[this.k];
  20. if (v === 0) {
  21. return 0;
  22. }
  23. return v;
  24. });
  25. var loadChart = function () {
  26. util.get("../ajax/sys/user/pictable/"+util.data("loginUser").id,null,function (data) {
  27. var colors = ['#c23531', '#82C8FA'];
  28. var option = {
  29. color: colors,
  30. title: {
  31. text: '个人业绩统计',
  32. subtext: '最近7天'
  33. },
  34. tooltip: {
  35. trigger: 'axis'
  36. },
  37. legend: {
  38. data: ['新增用户', '新增激活用户']
  39. },
  40. xAxis: {
  41. data: data.map(function (item) {
  42. return item.createTime;
  43. }),
  44. boundaryGap: false
  45. },
  46. yAxis: {
  47. splitLine: {
  48. show: false
  49. },
  50. boundaryGap: false,
  51. type: "value",
  52. // interval: 1,
  53. min: 0
  54. },
  55. toolbox: {
  56. show: true,
  57. feature: {
  58. dataZoom: {
  59. yAxisIndex: 'none'
  60. },
  61. dataView: {readOnly: false},
  62. magicType: {type: ['line', 'bar']},
  63. restore: {},
  64. saveAsImage: {}
  65. }
  66. },
  67. dataZoom: [{
  68. startValue: ""
  69. }, {
  70. type: 'inside'
  71. }],
  72. visualMap: {
  73. top: 10,
  74. right: 10,
  75. },
  76. series: [{
  77. name: '新增用户',
  78. type: 'line',
  79. data: data.map(function (item) {
  80. return item.znum;
  81. }),
  82. }, {
  83. name: '新增激活用户',
  84. type: 'line',
  85. data: data.map(function (item) {
  86. return item.jnum;
  87. })
  88. }
  89. ]
  90. };
  91. cr.val(data);
  92. myChart.setOption(option);
  93. })
  94. };
  95. root.find(".opt-query").on("click", function () {
  96. $.util.get("../ajax/sys/user/pictable/" + dynUser.formRef.val().name, null, function (data) {
  97. var colors = ['#c23531', '#82C8FA'];
  98. var option = {
  99. color: colors,
  100. title: {
  101. text: '个人业绩统计',
  102. subtext: '最近7天'
  103. },
  104. tooltip: {
  105. trigger: 'axis'
  106. },
  107. legend: {
  108. data: ['新增用户', '新增激活用户']
  109. },
  110. xAxis: {
  111. data: data.map(function (item) {
  112. return item.createTime;
  113. }),
  114. boundaryGap: false
  115. },
  116. yAxis: {
  117. splitLine: {
  118. show: false
  119. },
  120. boundaryGap: false,
  121. type: "value",
  122. interval: 1,
  123. min: 0
  124. },
  125. toolbox: {
  126. show: true,
  127. feature: {
  128. dataZoom: {
  129. yAxisIndex: 'none'
  130. },
  131. dataView: {readOnly: true},
  132. magicType: {type: ['line', 'bar']},
  133. restore: {},
  134. saveAsImage: {}
  135. }
  136. },
  137. dataZoom: [{
  138. startValue: ""
  139. }, {
  140. type: 'inside'
  141. }],
  142. visualMap: {
  143. top: 10,
  144. right: 10,
  145. },
  146. series: [{
  147. name: '新增用户',
  148. type: 'line',
  149. data: data.map(function (item) {
  150. return item.znum;
  151. }),
  152. }, {
  153. name: '新增激活用户',
  154. type: 'line',
  155. data: data.map(function (item) {
  156. return item.jnum;
  157. })
  158. }
  159. ]
  160. };
  161. myChart.setOption(option);
  162. cr.val(data);
  163. });
  164. });
  165. cr.listen(dict.doTransfer);
  166. loadChart();
  167. }
  168. }
  169. });
  170. });