monthlyCustomers.js 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276
  1. $(function () {
  2. // var data = {
  3. // "echatX": [
  4. // "2019-07-02",
  5. // "2019-07-03",
  6. // "2019-07-04",
  7. // "2019-07-05",
  8. // "2019-07-06",
  9. // "2019-07-07",
  10. // "2019-07-08",
  11. // "2019-07-09",
  12. // "2019-07-10",
  13. // "2019-07-11",
  14. // "2019-07-12",
  15. // "2019-07-13",
  16. // "2019-07-14",
  17. // "2019-07-15"
  18. // ],
  19. // "echatY": [
  20. // 501,210,123,333,445,157,151,369,101,101,350,435,153,100
  21. // ],
  22. // "echatY2": [
  23. // 80,40,13,36,57,77,41,39,61,31,60,73,33,50
  24. // ],
  25. // "echatY3": [
  26. // 5091,2210,1233,3133,4415,1517,1511,3619,1101,1011,3510,4315,1513,1100
  27. // ],
  28. // "echatY4": [
  29. // 501,210,123,333,445,157,151,369,101,101,350,435,153,100
  30. // ],
  31. // "peopleTotal":15,"peopleOnline":4,"peopleOutline":12,"ranges":[]
  32. // };
  33. // dFun(data.echatX, data.echatY, data.echatY2,data.echatY3,data.echatY4);
  34. });
  35. var myChart;
  36. // 基于准备好的dom,初始化echarts实例
  37. var dChart = echarts.init(document.getElementById('main3'));
  38. // 指定图表的配置项和数据
  39. function dFun(dateList, totalNumberList, totalSalesList,taotalCustomersList,avgBasketSaleList) {
  40. dChart.setOption({
  41. // title: {
  42. // left: 'left',
  43. // text: '概率',
  44. // show: false
  45. // },
  46. tooltip: {
  47. trigger: 'axis',
  48. // formatter: '{a}:{c}',
  49. axisPointer: {
  50. type: 'shadow',
  51. crossStyle: {
  52. color: '#999'
  53. }
  54. }
  55. },
  56. grid: {
  57. show: false,
  58. left: '3%',
  59. right: '4%',
  60. bottom: '10%'
  61. },
  62. // legend: {
  63. // show: true,
  64. // selectedMode: 'single', // 设置显示单一图例的图形,点击可切换
  65. // bottom: 10,
  66. // left: 50,
  67. // textStyle: {
  68. // color: '#666',
  69. // fontSize: 12
  70. // },
  71. // itemGap: 20,
  72. // inactiveColor: '#ccc'
  73. // },
  74. xAxis: {
  75. // splitLine: {     show: false   },
  76. type: 'category',
  77. data: dateList,
  78. axisPointer: {
  79. type: 'shadow'
  80. },
  81. // 改变x轴颜色
  82. axisLine: {
  83. lineStyle: {
  84. color: '#00a2e2',
  85. width: 1, // 这里是为了突出显示加上的
  86. }
  87. },
  88. axisTick: {
  89. show: true,
  90. interval: 0
  91. },
  92. },
  93. // 设置两个y轴,左边显示数量,右边显示概率
  94. yAxis: [{
  95. splitLine: {     show: false   },
  96. type: 'value',
  97. name: '',
  98. // max: 10000,
  99. // min: 0,
  100. // show: true,
  101. // interval: 1000,
  102. // 改变y轴颜色
  103. axisLine: {
  104. lineStyle: {
  105. color: '#00a2e2',
  106. width: 1, // 这里是为了突出显示加上的
  107. }
  108. },
  109. }, // 右边显示概率
  110. {
  111. splitLine: {     show: false   },
  112. type: 'value',
  113. name: '客单价',
  114. // min: 0,
  115. // max: 100,
  116. // interval: 10,
  117. // 改变y轴颜色
  118. axisLine: {
  119. lineStyle: {
  120. color: '#00a2e2',
  121. width: 1, // 这里是为了突出显示加上的
  122. }
  123. }
  124. }],
  125. // 每个设备分数量、概率2个指标,只要让他们的name一致,即可通过,legeng进行统一的切换
  126. series: [{
  127. name: 'Units Sold',
  128. type: 'bar',
  129. symbol: 'circle', // 折线点设置为实心点
  130. symbolSize: 4, // 折线点的大小
  131. data: totalNumberList,
  132. barWidth: '20%',
  133. },{
  134. name: 'Sales',
  135. type: 'bar',
  136. symbol: 'circle', // 折线点设置为实心点
  137. symbolSize: 4, // 折线点的大小
  138. data: totalSalesList,
  139. barWidth: '20%',
  140. },{
  141. name: 'Customers',
  142. type: 'bar',
  143. symbol: 'circle', // 折线点设置为实心点
  144. symbolSize: 4, // 折线点的大小
  145. data: taotalCustomersList,
  146. barWidth: '20%',
  147. },
  148. {
  149. //折线
  150. name: 'sales/customers',
  151. type: 'line',
  152. symbol: 'circle', // 折线点设置为实心点
  153. symbolSize: 6, // 折线点的大小
  154. yAxisIndex: 1, // 这里要设置哪个y轴,默认是最左边的是0,然后1,2顺序来。
  155. data: avgBasketSaleList,
  156. symbolSize: 10,
  157. itemStyle: {
  158. normal: {
  159. color: "#DDA0DD"
  160. }
  161. }
  162. },
  163. ]
  164. });
  165. }
  166. function queryMonthly(){
  167. var date = $('input[name="date"]:checked').val();
  168. var startDate = "";
  169. var endDate = "";
  170. var dateFlag = "";
  171. if(date == "month"){
  172. var startMonth = document.getElementById("startMonth").value;
  173. var endMonth = document.getElementById("endMonth").value;
  174. var startMonthDate = new Date(startMonth);
  175. var endMonthDate = new Date(endMonth);
  176. if(startMonthDate.getTime() > endMonthDate.getTime()){
  177. alert("开始时间不能大于结束时间");
  178. return;
  179. }
  180. startDate = startMonth;
  181. endDate = endMonth;
  182. dateFlag = "month";
  183. }else if (date == "day"){
  184. var startDay = document.getElementById("startDay").value;
  185. var endDay = document.getElementById("endDay").value;
  186. var startDayDate = new Date(startDay);
  187. var endDayDate = new Date(endDay);
  188. if(startDayDate.getTime() > endDayDate.getTime()){
  189. alert("开始时间不能大于结束时间");
  190. return;
  191. }
  192. startDate = startDay;
  193. endDate = endDay;
  194. dateFlag = "day";
  195. }
  196. var param = {
  197. startDate:startDate,
  198. endDate:endDate,
  199. dateFlag:dateFlag
  200. };
  201. console.log(param);
  202. // 折线图
  203. $.ajax({
  204. url: "../monthly/customersQuery",
  205. data: param,
  206. contentType:"application/x-www-form-urlencoded",
  207. type: 'POST',
  208. success: function(data) {
  209. console.log(JSON.stringify(data))
  210. if (data.code =='500'){
  211. alert(data.msg);
  212. return;
  213. }
  214. dFun(data.dateList, data.totalNumberList, data.totalSalesList,data.taotalCustomersList,data.avgBasketSaleList);
  215. },
  216. });
  217. }
  218. function exportMonthly(){
  219. var date = $('input[name="date"]:checked').val();
  220. var startDate = "";
  221. var endDate = "";
  222. var dateFlag = "";
  223. if(date == "month"){
  224. var startMonth = document.getElementById("startMonth").value;
  225. var endMonth = document.getElementById("endMonth").value;
  226. var startMonthDate = new Date(startMonth);
  227. var endMonthDate = new Date(endMonth);
  228. if(startMonthDate.getTime() > endMonthDate.getTime()){
  229. alert("开始时间不能大于结束时间");
  230. return;
  231. }
  232. startDate = startMonth;
  233. endDate = endMonth;
  234. dateFlag = "month";
  235. }else if (date == "day"){
  236. var startDay = document.getElementById("startDay").value;
  237. var endDay = document.getElementById("endDay").value;
  238. var startDayDate = new Date(startDay);
  239. var endDayDate = new Date(endDay);
  240. if(startDayDate.getTime() > endDayDate.getTime()){
  241. alert("开始时间不能大于结束时间");
  242. return;
  243. }
  244. startDate = startDay;
  245. endDate = endDay;
  246. dateFlag = "day";
  247. }
  248. var params = {
  249. startDate:startDate,
  250. endDate:endDate,
  251. dateFlag:dateFlag
  252. };
  253. console.log(params);
  254. exportFile('#rrapp', '../monthly/monthlySalesGrowthExport2', params);
  255. }