goods_data.js 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445
  1. define(['jquery', 'bootstrap', 'backend', 'addtabs', 'table', 'echarts', 'echarts-theme', 'template','form'], function ($, undefined, Backend, Datatable, Table, Echarts, undefined, Template,Form) {
  2. var Controller = {
  3. index: function () {
  4. // 基于准备好的dom,初始化echarts实例
  5. var myChart = Echarts.init(document.getElementById('echart'), 'walden');
  6. var myChart1 = Echarts.init(document.getElementById('echart1'), 'walden');
  7. var myChart2 = Echarts.init(document.getElementById('echart2'), 'walden');
  8. var myChart3 = Echarts.init(document.getElementById('echart3'), 'walden');
  9. var myChart4 = Echarts.init(document.getElementById('echart4'), 'walden');
  10. var myChart5 = Echarts.init(document.getElementById('echart5'), 'walden');
  11. var myChart6 = Echarts.init(document.getElementById('echart6'), 'walden');
  12. var myChart7 = Echarts.init(document.getElementById('echart7'), 'walden');
  13. var myChart8 = Echarts.init(document.getElementById('echart8'), 'walden');
  14. var myChart9 = Echarts.init(document.getElementById('echart9'), 'walden');
  15. var option = {
  16. title: {
  17. text: '单品订单数量占比',
  18. left: 'center'
  19. },
  20. tooltip: {
  21. trigger: 'item'
  22. },
  23. legend: {
  24. orient: 'vertical',
  25. left: 'left'
  26. },
  27. normal: {
  28. label: {
  29. show: true,
  30. formatter: '{d}%',
  31. },
  32. },
  33. series: [{
  34. name: '',
  35. type: 'pie', // 设置图表类型为饼图
  36. radius: '55%', // 饼图的半径,外半径为可视区尺寸(容器高宽中较小一项)的 55% 长度。
  37. color: ['#37A2DA', '#32C5E9'],
  38. label: {
  39. normal: {
  40. show: true,
  41. formatter: '{b}: {c}({d}%)'
  42. }
  43. },
  44. data: (function () {
  45. var arrNum = [];
  46. var testd = Config.goods_data;
  47. var teste = Config.goods_column;
  48. for (var i = 0; i < testd.length; i++) {
  49. arrNum.push({"value": testd[i], "name": teste[i]});
  50. }
  51. return arrNum;
  52. })(),
  53. }]
  54. };
  55. var option1 = {
  56. title: {
  57. text: '单品销售额占比',
  58. left: 'center'
  59. },
  60. tooltip: {
  61. trigger: 'item'
  62. },
  63. legend: {
  64. orient: 'vertical',
  65. left: 'left'
  66. },
  67. series: [{
  68. name: '',
  69. type: 'pie', // 设置图表类型为饼图
  70. radius: '55%', // 饼图的半径,外半径为可视区尺寸(容器高宽中较小一项)的 55% 长度。
  71. color: ['#37A2DA', '#32C5E9'],
  72. label: {
  73. normal: {
  74. show: true,
  75. formatter: '{b}: {c}({d}%)'
  76. }
  77. },
  78. data: (function () {
  79. var arrNum = [];
  80. var testd = Config.goods_sale_data;
  81. var teste = Config.goods_sale_column;
  82. for (var i = 0; i < testd.length; i++) {
  83. arrNum.push({"value": testd[i], "name": teste[i]});
  84. }
  85. return arrNum;
  86. })(),
  87. }]
  88. };
  89. var option2 = {
  90. title: {
  91. text: '单品订单数量',
  92. left: 'center'
  93. },
  94. xAxis: {
  95. type: 'category',
  96. data: Config.goods_column
  97. },
  98. yAxis: {
  99. type: 'value'
  100. },
  101. tooltip: {
  102. trigger: 'item'
  103. },
  104. series: [
  105. {
  106. data: Config.goods_data,
  107. type: 'bar',
  108. showBackground: true,
  109. itemStyle: {
  110. normal: {
  111. color: function(params) {
  112. // build a color map as your need.
  113. var colorList = [
  114. '#C1232B','#B5C334','#FCCE10','#E87C25','#27727B',
  115. '#FE8463','#9BCA63','#FAD860','#F3A43B','#60C0DD',
  116. '#D7504B','#C6E579','#F4E001','#F0805A','#26C0C0'
  117. ];
  118. return colorList[params.dataIndex]
  119. }
  120. }
  121. },
  122. }
  123. ]
  124. };
  125. var option3 = {
  126. title: {
  127. text: '单品销售额',
  128. left: 'center'
  129. },
  130. xAxis: {
  131. type: 'category',
  132. data: Config.goods_sale_column
  133. },
  134. yAxis: {
  135. type: 'value'
  136. },
  137. tooltip: {
  138. trigger: 'item'
  139. },
  140. series: [
  141. {
  142. data: Config.goods_sale_data,
  143. type: 'bar',
  144. showBackground: true,
  145. itemStyle: {
  146. normal: {
  147. color: function(params) {
  148. // build a color map as your need.
  149. var colorList = [
  150. '#C1232B','#B5C334','#FCCE10','#E87C25','#27727B',
  151. '#FE8463','#9BCA63','#FAD860','#F3A43B','#60C0DD',
  152. '#D7504B','#C6E579','#F4E001','#F0805A','#26C0C0'
  153. ];
  154. return colorList[params.dataIndex]
  155. }
  156. }
  157. },
  158. }
  159. ]
  160. };
  161. var option4 = {
  162. title: {
  163. text: '单品毛利',
  164. left: 'center'
  165. },
  166. xAxis: {
  167. type: 'category',
  168. data: Config.goods_gross_column
  169. },
  170. yAxis: {
  171. type: 'value'
  172. },
  173. tooltip: {
  174. trigger: 'item'
  175. },
  176. series: [
  177. {
  178. data: Config.goods_gross_data,
  179. type: 'bar',
  180. showBackground: true,
  181. itemStyle: {
  182. normal: {
  183. color: function(params) {
  184. // build a color map as your need.
  185. var colorList = [
  186. '#C1232B','#B5C334','#FCCE10','#E87C25','#27727B',
  187. '#FE8463','#9BCA63','#FAD860','#F3A43B','#60C0DD',
  188. '#D7504B','#C6E579','#F4E001','#F0805A','#26C0C0'
  189. ];
  190. return colorList[params.dataIndex]
  191. }
  192. }
  193. },
  194. }
  195. ]
  196. };
  197. var option5 = {
  198. title: {
  199. text: '单品毛利率',
  200. left: 'center'
  201. },
  202. xAxis: {
  203. type: 'category',
  204. data: Config.goods_gross_rate_column
  205. },
  206. yAxis: {
  207. type: 'value'
  208. },
  209. tooltip: {
  210. trigger: 'item',
  211. formatter:'{c}%'    //这是关键,在需要的地方加上就行了
  212. },
  213. series: [
  214. {
  215. name: 'ECharts例子个数统计',
  216. type: 'bar',
  217. itemStyle: {
  218. normal: {
  219. color: function(params) {
  220. // build a color map as your need.
  221. var colorList = [
  222. '#C1232B','#B5C334','#FCCE10','#E87C25','#27727B',
  223. '#FE8463','#9BCA63','#FAD860','#F3A43B','#60C0DD',
  224. '#D7504B','#C6E579','#F4E001','#F0805A','#26C0C0'
  225. ];
  226. return colorList[params.dataIndex]
  227. },
  228. label: {
  229. show: true,
  230. position: 'top',
  231. formatter: '{b}\n{c}%'    //这是关键,在需要的地方加上就行了
  232. }
  233. }
  234. },
  235. data: Config.goods_gross_rate_data,
  236. }
  237. ]
  238. };
  239. var option6 = {
  240. title: {
  241. text: '单品退货率',
  242. left: 'center'
  243. },
  244. xAxis: {
  245. type: 'category',
  246. data: Config.refund_rate_column
  247. },
  248. yAxis: {
  249. type: 'value'
  250. },
  251. tooltip: {
  252. trigger: 'item',
  253. formatter:'{c}%'    //这是关键,在需要的地方加上就行了
  254. },
  255. series: [
  256. {
  257. name: 'ECharts例子个数统计',
  258. type: 'bar',
  259. itemStyle: {
  260. normal: {
  261. color: function(params) {
  262. // build a color map as your need.
  263. var colorList = [
  264. '#C1232B','#B5C334','#FCCE10','#E87C25','#27727B',
  265. '#FE8463','#9BCA63','#FAD860','#F3A43B','#60C0DD',
  266. '#D7504B','#C6E579','#F4E001','#F0805A','#26C0C0'
  267. ];
  268. return colorList[params.dataIndex]
  269. },
  270. label: {
  271. show: true,
  272. position: 'top',
  273. formatter: '{b}\n{c}%'    //这是关键,在需要的地方加上就行了
  274. }
  275. }
  276. },
  277. data: Config.refund_rate_data,
  278. }
  279. ]
  280. };
  281. var option7 = {
  282. title: {
  283. text: '单品销售金额排名',
  284. left: 'center'
  285. },
  286. xAxis: {
  287. type: 'category',
  288. data: Config.sale_money_column
  289. },
  290. yAxis: {
  291. type: 'value'
  292. },
  293. tooltip: {
  294. trigger: 'item'
  295. },
  296. series: [
  297. {
  298. data: Config.sale_money_data,
  299. type: 'bar',
  300. showBackground: true,
  301. itemStyle: {
  302. normal: {
  303. color: function(params) {
  304. // build a color map as your need.
  305. var colorList = [
  306. '#C1232B','#B5C334','#FCCE10','#E87C25','#27727B',
  307. '#FE8463','#9BCA63','#FAD860','#F3A43B','#60C0DD',
  308. '#D7504B','#C6E579','#F4E001','#F0805A','#26C0C0'
  309. ];
  310. return colorList[params.dataIndex]
  311. }
  312. }
  313. },
  314. }
  315. ]
  316. };
  317. var option8 = {
  318. title: {
  319. text: '单品销售数量排名',
  320. left: 'center'
  321. },
  322. xAxis: {
  323. type: 'category',
  324. data: Config.sale_num_column
  325. },
  326. yAxis: {
  327. type: 'value'
  328. },
  329. tooltip: {
  330. trigger: 'item'
  331. },
  332. series: [
  333. {
  334. data: Config.sale_num_data,
  335. type: 'bar',
  336. showBackground: true,
  337. itemStyle: {
  338. normal: {
  339. color: function(params) {
  340. // build a color map as your need.
  341. var colorList = [
  342. '#C1232B','#B5C334','#FCCE10','#E87C25','#27727B',
  343. '#FE8463','#9BCA63','#FAD860','#F3A43B','#60C0DD',
  344. '#D7504B','#C6E579','#F4E001','#F0805A','#26C0C0'
  345. ];
  346. return colorList[params.dataIndex]
  347. }
  348. }
  349. },
  350. }
  351. ]
  352. };
  353. var option9 = {
  354. title: {
  355. text: '全商品售后率',
  356. left: 'center'
  357. },
  358. xAxis: {
  359. type: 'category',
  360. data: ['全部商品']
  361. },
  362. yAxis: {
  363. type: 'value'
  364. },
  365. tooltip: {
  366. trigger: 'axis',
  367. formatter(params){
  368. return `${params[0].value}%`
  369. }
  370. },
  371. series: [
  372. {
  373. data: [svcPer],
  374. type: 'bar',
  375. showBackground: true,
  376. itemStyle: {
  377. normal: {
  378. color: function(params) {
  379. // build a color map as your need.
  380. var colorList = [
  381. '#C1232B','#B5C334','#FCCE10','#E87C25','#27727B',
  382. '#FE8463','#9BCA63','#FAD860','#F3A43B','#60C0DD',
  383. '#D7504B','#C6E579','#F4E001','#F0805A','#26C0C0'
  384. ];
  385. return colorList[params.dataIndex]
  386. }
  387. }
  388. },
  389. }
  390. ]
  391. };
  392. // 使用刚指定的配置项和数据显示图表。
  393. myChart.setOption(option);
  394. myChart1.setOption(option1);
  395. myChart2.setOption(option2);
  396. myChart3.setOption(option3);
  397. myChart4.setOption(option4);
  398. myChart5.setOption(option5);
  399. myChart6.setOption(option6);
  400. myChart7.setOption(option7);
  401. myChart8.setOption(option8);
  402. myChart9.setOption(option9);
  403. Form.events.daterangepicker($('#form'))
  404. }
  405. };
  406. return Controller;
  407. });