Team.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.plm.team.Team', {
  3. extend: 'Ext.app.Controller',
  4. FormUtil: Ext.create('erp.util.FormUtil'),
  5. GridUtil: Ext.create('erp.util.GridUtil'),
  6. BaseUtil: Ext.create('erp.util.BaseUtil'),
  7. views:[
  8. 'core.form.Panel','plm.team.Team','core.grid.Panel2','core.toolbar.Toolbar',
  9. 'core.button.Add','core.button.Submit','core.button.Audit','core.button.Save','core.button.Close','core.button.Print',
  10. 'core.button.Upload','core.button.Update','core.button.Delete','core.button.ResAudit','core.button.DeleteDetail',
  11. 'core.trigger.TextAreaTrigger','core.trigger.DbfindTrigger'
  12. ],
  13. init:function(){
  14. var me=this;
  15. this.control({
  16. 'erpGridPanel2': {
  17. itemclick: this.onGridItemClick
  18. },
  19. 'erpSaveButton': {
  20. click: function(btn){
  21. var grids = Ext.ComponentQuery.query('gridpanel');
  22. if(grids.length > 0){
  23. var s = grids[0].getStore().data.items;
  24. for(var i=0;i<s.length;i++){
  25. var rowdata=s[i].data;
  26. if(rowdata.tm_employeecode!=''&&rowdata.tm_prjid!=''){
  27. s[i].set('tm_prjid',Ext.getCmp('team_prjid').value);
  28. s[i].set('tm_name',Ext.getCmp('team_name').value);
  29. }
  30. }
  31. }
  32. this.save(this);
  33. }
  34. },
  35. 'dbfindtrigger': {
  36. change: function(trigger){
  37. if(trigger.name == 'team_prjid'){
  38. this.changeGrid(trigger);
  39. }
  40. }
  41. },
  42. 'textfield[name=team_name]': {
  43. change: function(field){
  44. var grid = Ext.getCmp('grid');
  45. Ext.Array.each(grid.store.data.items, function(item){
  46. item.set('tm_name',field.value);
  47. });
  48. }
  49. },
  50. 'erpCloseButton': {
  51. click: function(btn){
  52. this.FormUtil.beforeClose(this);
  53. }
  54. },
  55. 'erpUpdateButton': {
  56. click: function(btn){
  57. var grids = Ext.ComponentQuery.query('gridpanel');
  58. if(grids.length > 0){
  59. var s = grids[0].getStore().data.items;
  60. for(var i=0;i<s.length;i++){
  61. var rowdata=s[i].data;
  62. if(rowdata.tm_employeecode!=''&&rowdata.tm_prjid!=''){
  63. s[i].set('tm_prjid',Ext.getCmp('team_prjid').value);
  64. s[i].set('tm_name',Ext.getCmp('team_name').value);
  65. }
  66. }
  67. }
  68. this.FormUtil.onUpdate(this);
  69. }
  70. },
  71. 'erpDeleteButton': {
  72. click: function(btn){
  73. this.FormUtil.onDelete(Ext.getCmp('team_id').value);
  74. }
  75. },
  76. 'erpAddButton': {
  77. click: function(){
  78. me.FormUtil.onAdd('addTeam', '创建团队', 'jsps/plm/team/team.jsp');
  79. }
  80. },
  81. });
  82. },
  83. onGridItemClick: function(selModel, record){//grid行选择
  84. this.gridLastSelected = record;
  85. var grid = Ext.getCmp('grid');
  86. if(record.data[grid.necessaryField] == null || record.data[grid.necessaryField] == ''){
  87. this.gridLastSelected.findable = true;//空数据可以在输入完code,并移开光标后,自动调出该条数据
  88. } else {
  89. this.gridLastSelected.findable = false;
  90. }
  91. this.GridUtil.onGridItemClick(selModel, record);
  92. },
  93. getForm: function(btn){
  94. return btn.ownerCt.ownerCt;
  95. },
  96. save: function(btn){
  97. var me = this;
  98. if(Ext.getCmp('team_code').value == null || Ext.getCmp('team_code').value == ''){
  99. me.BaseUtil.getRandomNumber();
  100. }
  101. me.FormUtil.beforeSave(me);
  102. },
  103. changeGrid: function(trigger){
  104. var grid = Ext.getCmp('grid');
  105. Ext.Array.each(grid.store.data.items, function(item){
  106. item.set('tm_prjid',trigger.value);
  107. });
  108. }
  109. });