ProductGroup.js 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.scm.product.ProductGroup', {
  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','scm.product.ProductGroup','core.grid.Panel2','core.toolbar.Toolbar',
  9. 'core.button.Save','core.button.Upload','core.button.Close','core.button.Update',
  10. 'core.button.Add','core.button.DeleteDetail','core.button.Scan',
  11. 'core.trigger.DbfindTrigger','core.trigger.TextAreaTrigger'
  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. this.FormUtil.onUpdate(this);
  22. }
  23. },
  24. 'erpUpdateButton': {
  25. click: function(btn){
  26. this.FormUtil.onUpdate(this);
  27. }
  28. },
  29. 'erpAddButton': {
  30. click: function(){
  31. me.FormUtil.onAdd('addProductGroup', '新增物料群组资料', 'jsps/scm/product/productGroup.jsp');
  32. }
  33. },
  34. 'erpCloseButton': {
  35. click: function(btn){
  36. me.FormUtil.beforeClose(me);
  37. }
  38. },
  39. 'textfield[name=pr_code]': {
  40. change: function(){
  41. var id = Ext.getCmp('pr_id').value;
  42. if(id != null & id != ''){
  43. this.getGroupStore('pg_prid=' + id);
  44. }
  45. }
  46. }
  47. });
  48. },
  49. onGridItemClick: function(selModel, record){//grid行选择
  50. this.GridUtil.onGridItemClick(selModel, record);
  51. },
  52. getForm: function(btn){
  53. return btn.ownerCt.ownerCt;
  54. },
  55. getGroupStore: function(condition){
  56. var me = this;
  57. var grid = Ext.getCmp('grid');
  58. me.BaseUtil.getActiveTab().setLoading(true);//loading...
  59. Ext.Ajax.request({//拿到grid的columns
  60. url : basePath + "common/singleGridPanel.action",
  61. params: {
  62. caller: "Product!Group",
  63. condition: condition
  64. },
  65. method : 'post',
  66. callback : function(options,success,response){
  67. me.BaseUtil.getActiveTab().setLoading(false);
  68. var res = new Ext.decode(response.responseText);
  69. if(res.exceptionInfo){
  70. showError(res.exceptionInfo);return;
  71. }
  72. var data = [];
  73. if(!res.data || res.data.length == 2){
  74. return;
  75. } else {
  76. data = Ext.decode(res.data.replace(/,}/g, '}').replace(/,]/g, ']'));
  77. }
  78. grid.store.loadData(data);
  79. }
  80. });
  81. }
  82. });