MonthIO.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. Ext.define('saas.view.home.charts.MonthIO', {
  2. extend: 'saas.view.core.chart.ChartBase',
  3. xtype: 'month-io',
  4. id: 'month_io',
  5. bind: {
  6. title: '本月收入支出额(万元)<div style="text-align: right;"><span style="font-weight:bold;">收入:{month_in}</span><span style="font-weight:bold;margin-left: 10px;">支出:{month_out}</span></div>'
  7. },
  8. initComponent: function () {
  9. var me = this;
  10. Ext.apply(me, {
  11. items: [{
  12. xtype: 'cartesian',
  13. colors: [
  14. '#2C82BE',
  15. '#82CCFF'
  16. ],
  17. bind: {
  18. // captions: {
  19. // title: {
  20. // text: '收入:{month_in}\t支出:{month_out}',
  21. // style: {
  22. // 'color': '#485465',
  23. // 'letter-spacing': '-0.07px'
  24. // },
  25. // align: 'left'
  26. // },
  27. // },
  28. insetPadding: '{insetPadding}',
  29. store: '{month_io}'
  30. },
  31. legend: {
  32. type: 'dom',
  33. docked: 'top',
  34. padding: 0,
  35. bodyPadding: 0,
  36. border: 0,
  37. cls: 'x-monthio-legend'
  38. },
  39. axes: [{
  40. type: 'numeric',
  41. position: 'left',
  42. adjustByMajorUnit: true,
  43. fields: ['main'],
  44. minimum: 0,
  45. label: {
  46. fontSize: '12px',
  47. fillStyle: '#485465'
  48. },
  49. grid: {
  50. even: {
  51. stroke: '#F7F8FA'
  52. },
  53. odd: {
  54. stroke: '#F7F8FA',
  55. }
  56. },
  57. style: {
  58. fill: '#fff',
  59. strokeStyle: 'transparent'
  60. },
  61. }, {
  62. type: 'category',
  63. position: 'bottom',
  64. fields: ['x'],
  65. label: {
  66. fontSize: '12px',
  67. fillStyle: '#485465'
  68. },
  69. style: {
  70. fill: '#F7F8FA',
  71. strokeStyle: 'transparent'
  72. },
  73. }],
  74. series: [{
  75. type: 'bar',
  76. title: ['主营业务', '其他业务'],
  77. xField: 'x',
  78. yField: ['main', 'other'],
  79. stacked: true,
  80. bind: {
  81. style: {
  82. lineWidth: 0,
  83. strokeStyle: 'transparent',
  84. maxBarWidth: '{maxBarWidth}',
  85. },
  86. },
  87. tooltip: {
  88. trackMouse: true,
  89. renderer: me.onBarTipRender
  90. }
  91. }]
  92. }]
  93. });
  94. me.callParent(arguments);
  95. },
  96. onBarTipRender: function (tooltip, record, item) {
  97. var fieldIndex = Ext.Array.indexOf(item.series.getYField(), item.field),
  98. type = item.series.getTitle()[fieldIndex];
  99. tooltip.setHtml(type + record.get('x') + record.get(item.field));
  100. },
  101. });