SaleTrend.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. Ext.define('saas.view.home.charts.SaleTrend', {
  2. extend: 'saas.view.core.chart.ChartBase',
  3. xtype: 'sale-trend',
  4. id: 'sale_trend',
  5. title: '近六月销售趋势图(万元)',
  6. bodyPadding: '16 0 16 0',
  7. initComponent: function () {
  8. var me = this;
  9. Ext.apply(me, {
  10. items: [{
  11. xtype: 'echartsbase',
  12. bind: {
  13. store: '{sale_trend}',
  14. },
  15. createOption: me.createOption
  16. }]
  17. });
  18. me.callParent(arguments);
  19. },
  20. createOption: function (store) {
  21. var fields = [],
  22. sale = [],
  23. saleBack = [],
  24. data = [];
  25. store.each(function (d) {
  26. var d = d.data;
  27. fields.push(d.x + '月');
  28. sale.push(d.sale);
  29. saleBack.push(d.saleback);
  30. });
  31. data = data.concat([{
  32. name: '销售额',
  33. type: 'line',
  34. data: sale,
  35. symbolSize: 1,
  36. areaStyle: {
  37. color: '#EDF6FC',
  38. }
  39. }, {
  40. name: '销售回款',
  41. type: 'line',
  42. data: saleBack,
  43. symbolSize: 1,
  44. areaStyle: {
  45. color: '#FBEDEF',
  46. }
  47. }]);
  48. return {
  49. color: [
  50. '#64B0E4',
  51. '#FF1038'
  52. ],
  53. tooltip: {
  54. trigger: 'axis',
  55. formatter: function (params, ticket, callback) {
  56. var name = '',
  57. series = [];
  58. for(var x = 0; x < params.length; x++) {
  59. var p = params[x],
  60. marker = p.marker,
  61. seriesName = p.seriesName,
  62. name = p.name,
  63. value = p.value;
  64. value = saas.util.BaseUtil.numberFormat(value, 4, true);
  65. series.push(marker + seriesName + ': ' + value);
  66. }
  67. return name + ': ' + '<br/>' + series.join('<br/>');
  68. }
  69. },
  70. legend: {
  71. left: 0,
  72. data: ['销售额', '销售回款'],
  73. icon: 'rect',
  74. itemWidth: 10,
  75. itemHeight: 2
  76. },
  77. grid: {
  78. left: 0,
  79. right: 16,
  80. bottom: 5,
  81. top: 40,
  82. borderColor: '#E5EAEF',
  83. containLabel: true
  84. },
  85. xAxis: {
  86. type: 'category',
  87. boundaryGap: false,
  88. data: fields,
  89. axisLine: {
  90. lineStyle: {
  91. color: '#E5EAEF',
  92. }
  93. },
  94. axisLabel: {
  95. color: '#485465'
  96. },
  97. },
  98. yAxis: {
  99. type: 'value',
  100. axisLine: {
  101. lineStyle: {
  102. color: '#E5EAEF',
  103. }
  104. },
  105. splitLine: {
  106. lineStyle: {
  107. color: ['#E5EAEF']
  108. }
  109. },
  110. axisLabel: {
  111. color: '#485465'
  112. }
  113. },
  114. series: data
  115. }
  116. }
  117. });