IntegratedQuery.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.scm.product.IntegratedQuery', {
  3. extend: 'Ext.app.Controller',
  4. views:[
  5. 'scm.product.IntegratedQuery.Viewport','scm.product.IntegratedQuery.Form','scm.product.IntegratedQuery.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','core.form.TextAreaSelectField',
  9. 'pm.mps.DeskProductGridPanel1','pm.mps.DeskProductGridPanel2','pm.mps.DeskProductGridPanel3',
  10. 'pm.mps.DeskProductGridPanel4','pm.mps.DeskProductGridPanel5','pm.mps.DeskProductGridPanel6',
  11. 'pm.mps.DeskProduct','pm.mps.DeskProductForm','pm.mps.Toolbar'],
  12. init:function(){
  13. //var me = this;
  14. this.control({
  15. 'erpBatchPrintFormPanel button[name=confirm]': {
  16. click: function(btn){
  17. }
  18. },
  19. 'erpBatchPrintGridPanel': {
  20. afterrender: function(grid){
  21. var form = Ext.getCmp('printform');
  22. if(form && form.items.items.length > 0){
  23. //根据form字段的多少来调节form所占高度
  24. var height = window.innerHeight;
  25. if(Ext.isIE){
  26. height = screen.height*0.75;
  27. }
  28. var cw = 0;
  29. Ext.each(form.items.items, function(){
  30. cw += this.columnWidth;
  31. });
  32. cw = Math.ceil(cw);
  33. if(cw == 0){
  34. cw = 5;
  35. } else if(cw > 2 && cw <= 5){
  36. cw -= 1;
  37. } else if(cw > 5 && cw < 8){
  38. cw = 4;
  39. }
  40. cw = Math.min(cw, 5);
  41. form.setHeight(height*cw/10 + 10);
  42. grid.setHeight(height*(10 - cw)/10 - 10);
  43. }
  44. }
  45. }
  46. });
  47. },
  48. countGrid: function(){
  49. //重新计算合计栏值
  50. var grid = Ext.getCmp('batchPrintGridPanel');
  51. Ext.each(grid.columns, function(column){
  52. if(column.summary){
  53. var sum = 0;
  54. Ext.each(grid.store.data.items, function(item){
  55. if(item.value != null && item.value != ''){
  56. sum += Number(item.value);
  57. }
  58. });
  59. Ext.getCmp(column.dataIndex + '_sum').setText(column.text + '(sum):' + sum);
  60. } else if(column.average) {
  61. var average = 0;
  62. Ext.each(grid.store.data.items, function(item){
  63. if(item.value != null && item.value != ''){
  64. average += Number(item.value);
  65. }
  66. });
  67. average = average/grid.store.data.items.length;
  68. Ext.getCmp(column.dataIndex + '_average').setText(column.text + '(average):' + average);
  69. } else if(column.count) {
  70. var count = 0;
  71. Ext.each(grid.store.data.items, function(item){
  72. if(item.value != null && item.value != ''){
  73. count++;
  74. }
  75. });
  76. Ext.getCmp(column.dataIndex + '_count').setText(column.text + '(count):' + count);
  77. }
  78. });
  79. }
  80. });