BatchPrint.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.common.BatchPrint', {
  3. extend: 'Ext.app.Controller',
  4. views:[
  5. 'common.batchPrint.Viewport','common.batchPrint.Form','common.batchPrint.GridPanel','core.form.ConMonthDateField',
  6. 'core.trigger.DbfindTrigger','core.form.FtField','core.form.FtFindField','core.form.ConDateField','core.form.MonthDateField',
  7. 'core.form.YnField', 'core.form.FtDateField','core.grid.YnColumn', 'core.grid.TfColumn',
  8. 'core.form.ConMonthDateField'],
  9. init:function(){
  10. //var me = this;
  11. this.control({
  12. 'erpBatchPrintFormPanel':{
  13. afterrender:function(form){
  14. if(form.source=='allnavigation'){
  15. Ext.each(form.dockedItems.items[0].items.items,function(btn){
  16. btn.setDisabled(true);
  17. });
  18. }
  19. }
  20. },
  21. 'erpBatchPrintFormPanel button[name=confirm]': {
  22. click: function(btn){
  23. }
  24. },
  25. 'erpBatchPrintGridPanel': {
  26. afterrender: function(grid){
  27. var form = Ext.getCmp('printform');
  28. if(form && form.items.items.length > 0){
  29. //根据form字段的多少来调节form所占高度
  30. var height = window.innerHeight;
  31. if(Ext.isIE){
  32. height = screen.height*0.75;
  33. }
  34. var cw = 0;
  35. Ext.each(form.items.items, function(){
  36. cw += this.columnWidth;
  37. });
  38. cw = Math.ceil(cw);
  39. if(cw == 0){
  40. cw = 5;
  41. } else if(cw > 2 && cw <= 5){
  42. cw -= 1;
  43. } else if(cw > 5 && cw < 8){
  44. cw = 4;
  45. }
  46. cw = Math.min(cw, 5);
  47. form.setHeight(height*cw/10 + 10);
  48. grid.setHeight(height*(10 - cw)/10 - 10);
  49. }
  50. }
  51. }
  52. });
  53. },
  54. countGrid: function(){
  55. //重新计算合计栏值
  56. var grid = Ext.getCmp('batchPrintGridPanel');
  57. Ext.each(grid.columns, function(column){
  58. if(column.summary){
  59. var sum = 0;
  60. Ext.each(grid.store.data.items, function(item){
  61. if(item.value != null && item.value != ''){
  62. sum += Number(item.value);
  63. }
  64. });
  65. Ext.getCmp(column.dataIndex + '_sum').setText(column.text + '(sum):' + sum);
  66. } else if(column.average) {
  67. var average = 0;
  68. Ext.each(grid.store.data.items, function(item){
  69. if(item.value != null && item.value != ''){
  70. average += Number(item.value);
  71. }
  72. });
  73. average = average/grid.store.data.items.length;
  74. Ext.getCmp(column.dataIndex + '_average').setText(column.text + '(average):' + average);
  75. } else if(column.count) {
  76. var count = 0;
  77. Ext.each(grid.store.data.items, function(item){
  78. if(item.value != null && item.value != ''){
  79. count++;
  80. }
  81. });
  82. Ext.getCmp(column.dataIndex + '_count').setText(column.text + '(count):' + count);
  83. }
  84. });
  85. }
  86. });