BarChart.js 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. Ext.define('erp.view.plm.resource.BarChart',{
  2. extend: 'Ext.chart.Chart',
  3. alias: 'widget.barChart',
  4. BaseUtil: Ext.create('erp.util.BaseUtil'),
  5. id:'barchart',
  6. flex: 1,
  7. shadow: true,
  8. animate: true,
  9. store: store,
  10. bodyStyle:{
  11. background: '#F5F5DC'
  12. },
  13. axes: [{
  14. type: 'Numeric',
  15. position: 'left',
  16. fields: ['percentdone'],
  17. minimum: 0,
  18. maximum:100,
  19. label: {
  20. renderer: Ext.util.Format.numberRenderer('0,0')
  21. },
  22. grid: true,
  23. title: '综合分析',
  24. }, {
  25. type: 'Category',
  26. position: 'bottom',
  27. fields: ['name'],
  28. label: {
  29. renderer: function(v) {
  30. return Ext.String.ellipsis(v, 15, false);
  31. },
  32. font: '9px Arial',
  33. rotate: {
  34. degrees: 270
  35. }
  36. }
  37. }],
  38. series: [{
  39. type: 'column',
  40. axis: 'left',
  41. highlight: true,
  42. maxWidth :20,
  43. /** style: {
  44. fill: '#456d9f'
  45. },**/
  46. highlightCfg: {
  47. fill: '#a2b5ca'
  48. },
  49. /**label: {
  50. contrast: true,
  51. display: 'insideEnd',
  52. field: 'percentdone',
  53. color: '#000',
  54. orientation: 'vertical',
  55. 'text-anchor': 'middle'
  56. },**/
  57. listeners: {
  58. 'itemmouseup': function(item) {
  59. var series = barChart.series.get(0),
  60. index = Ext.Array.indexOf(series.items, item),
  61. selectionModel = gridPanel.getSelectionModel();
  62. selectedStoreItem = item.storeItem;
  63. selectionModel.select(index);
  64. }
  65. },
  66. xField: 'name',
  67. yField: ['percentdone'],
  68. renderer: function(sprite, record, attr, index, store) {
  69. var fieldValue = Math.random() * 20 + 10;
  70. var value = (record.get('count') >> 0) % 5;
  71. var color = ['rgb(213, 70, 121)',
  72. 'rgb(44, 153, 201)',
  73. 'rgb(146, 6, 157)',
  74. 'rgb(49, 149, 0)',
  75. 'rgb(249, 153, 0)'][value];
  76. return Ext.apply(attr, {
  77. fill: color,
  78. style:{
  79. maxWidth :20,
  80. }
  81. });
  82. }
  83. }]
  84. });