customers.js 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297
  1. define(['jquery', 'bootstrap', 'backend', 'addtabs', 'table', 'echarts', 'echarts-theme', 'template','form'],
  2. function ($, undefined, Backend, Datatable, Table, Echarts, undefined, Template,Form) {
  3. var Controller = {
  4. //客户总量分析
  5. index: function () {
  6. var myChart2=Echarts.init(document.getElementById('echart'), 'walden');
  7. var option2 = {
  8. color:['#c23531'],
  9. tooltip: {
  10. trigger: 'axis',
  11. axisPointer: {
  12. type: 'shadow'
  13. }
  14. },
  15. legend: {
  16. data: ['新增客户数', '成交客户数']
  17. },
  18. xAxis: [
  19. {
  20. type: 'category',
  21. data: Orderdata.customerdata.date,
  22. }
  23. ],
  24. yAxis: [
  25. {
  26. type: 'value',
  27. name: '数量',
  28. axisLabel: {
  29. formatter: '{value} 个',
  30. }
  31. },
  32. {
  33. type: 'value',
  34. }
  35. ],
  36. series: [
  37. {
  38. name: '新增客户数',
  39. type: 'bar',
  40. data: Orderdata.customerdata.num
  41. },
  42. {
  43. name: '成交客户数',
  44. type: 'bar',
  45. data: Orderdata.customerdata.use
  46. }
  47. ]
  48. };
  49. // 使用刚指定的配置项和数据显示图表。
  50. myChart2.setOption(option2);
  51. Form.events.selectpage($("form"));
  52. Form.events.daterangepicker($("form"));
  53. },
  54. //客户跟进次数分析
  55. record: function () {
  56. var myChart2=Echarts.init(document.getElementById('echart'), 'walden');
  57. var option2 = {
  58. color:['#c23531'],
  59. tooltip: {
  60. trigger: 'axis',
  61. axisPointer: {
  62. type: 'shadow'
  63. }
  64. },
  65. legend: {
  66. data: ['跟进客户数', '跟进次数']
  67. },
  68. xAxis: [
  69. {
  70. type: 'category',
  71. data: Orderdata.customerdata.date,
  72. }
  73. ],
  74. yAxis: [
  75. {
  76. type: 'value',
  77. name: '跟进客户数',
  78. axisLabel: {
  79. formatter: '{value} 个',
  80. }
  81. },
  82. {
  83. type: 'value',
  84. name: '跟进次数',
  85. axisLabel: {
  86. formatter: '{value} 次',
  87. }
  88. }
  89. ],
  90. series: [
  91. {
  92. name: '跟进客户数',
  93. type: 'bar',
  94. data: Orderdata.customerdata.num
  95. },
  96. {
  97. name: '跟进次数',
  98. type: 'bar',
  99. data: Orderdata.customerdata.use
  100. }
  101. ]
  102. };
  103. // 使用刚指定的配置项和数据显示图表。
  104. myChart2.setOption(option2);
  105. Form.events.selectpage($("form"));
  106. Form.events.daterangepicker($("form"));
  107. },
  108. //客户跟进方式分析
  109. recordtype:function(){
  110. var series=[];
  111. $.each(Orderdata.sourcedata,function(index){
  112. if(index != 0){
  113. series.push({type: 'line', smooth: true, seriesLayoutBy: 'row', emphasis: {focus: 'series'}});
  114. }
  115. });
  116. var length=Orderdata.sourcedata[0].length;
  117. length=length-1;
  118. series.push({
  119. type: 'pie',
  120. id: 'pie',
  121. radius: '40%',
  122. center: ['50%', '30%'],
  123. emphasis: {focus: 'data'},
  124. label: {
  125. formatter: '{b}: {@'+Orderdata.sourcedata[0][length]+'} ({d}%)'
  126. },
  127. encode: {
  128. itemName: Orderdata.sourcedata[0][0],
  129. value: Orderdata.sourcedata[0][length],
  130. tooltip: Orderdata.sourcedata[0][length]
  131. }
  132. });
  133. // 基于准备好的dom,初始化echarts实例
  134. var myChart = Echarts.init(document.getElementById('echart'), 'walden');
  135. // 指定图表的配置项和数据
  136. var option = {
  137. legend: {},
  138. tooltip: {
  139. trigger: 'axis',
  140. showContent: false
  141. },
  142. dataset: {
  143. source: Orderdata.sourcedata
  144. },
  145. xAxis: {type: 'category'},
  146. yAxis: {gridIndex: 0},
  147. grid: {top: '65%',height:'32%'},
  148. series:series
  149. };
  150. myChart.on('updateAxisPointer', function (event) {
  151. var xAxisInfo = event.axesInfo[0];
  152. if (xAxisInfo) {
  153. var dimension = xAxisInfo.value + 1;
  154. myChart.setOption({
  155. series: {
  156. id: 'pie',
  157. label: {
  158. formatter: '{b}: {@[' + dimension + ']} ({d}%)'
  159. },
  160. encode: {
  161. value: dimension,
  162. tooltip: dimension
  163. }
  164. }
  165. });
  166. }
  167. });
  168. // 使用刚指定的配置项和数据显示图表。
  169. myChart.setOption(option);
  170. Form.events.selectpage($("form"));
  171. Form.events.daterangepicker($("form"));
  172. },
  173. //客户自定义分析
  174. customize:function(){
  175. var myChart2=Echarts.init(document.getElementById('echart'), 'walden');
  176. console.log(Orderdata.customerdata)
  177. if(Orderdata.customerdata.type == 'bar'){
  178. var option2 = {
  179. color:['#7cb5ec'],
  180. toolbox: {
  181. show: true,
  182. feature: {
  183. magicType: {type: [ 'line','bar']},
  184. saveAsImage: {}
  185. },
  186. },
  187. tooltip: {
  188. trigger: 'axis',
  189. axisPointer: {
  190. type: 'shadow'
  191. }
  192. },
  193. legend: {
  194. data: ['跟进客户数', '跟进次数']
  195. },
  196. xAxis: [
  197. {
  198. type: 'category',
  199. data: Orderdata.customerdata.x,
  200. axisLabel: {
  201. interval:0,
  202. rotate:40
  203. },
  204. }
  205. ],
  206. yAxis: [
  207. {
  208. type: 'value',
  209. name: '客户总数',
  210. axisLabel: {
  211. formatter: '{value} 个',
  212. }
  213. }
  214. ],
  215. series: [
  216. {
  217. name: '客户总数',
  218. type: 'bar',
  219. data: Orderdata.customerdata.y,
  220. barMaxWidth:40
  221. }
  222. ]
  223. };
  224. }else{
  225. var option2 = {
  226. title: {
  227. text: Orderdata.customerdata.title,
  228. left: 'center'
  229. },
  230. toolbox: {
  231. show: true,
  232. feature: {
  233. saveAsImage: {}
  234. },
  235. },
  236. tooltip: {
  237. trigger: 'item'
  238. },
  239. legend: {
  240. orient: 'vertical',
  241. left: 'left'
  242. },
  243. series: [
  244. {
  245. name: Orderdata.customerdata.title,
  246. type: 'pie',
  247. radius: '50%',
  248. data: Orderdata.customerdata.data,
  249. emphasis: {
  250. itemStyle: {
  251. shadowBlur: 10,
  252. shadowOffsetX: 0,
  253. shadowColor: 'rgba(0, 0, 0, 0.5)'
  254. }
  255. }
  256. }
  257. ]
  258. };
  259. }
  260. // 使用刚指定的配置项和数据显示图表。
  261. myChart2.setOption(option2);
  262. Form.events.selectpage($("form"));
  263. Form.events.daterangepicker($("form"));
  264. },
  265. };
  266. return Controller;
  267. });