NeedFeature.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.pm.bom.NeedFeature', {
  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 : [ 'core.form.Panel', 'pm.bom.NeedFeature', 'core.grid.Panel2',
  8. 'core.toolbar.Toolbar', 'core.button.Save','core.button.Delete', 'core.button.Close',
  9. 'core.button.Update', 'core.trigger.DbfindTrigger',
  10. 'core.trigger.TextAreaTrigger' ],
  11. init : function() {
  12. var me = this;
  13. this.control({
  14. 'erpGridPanel2' : {
  15. reconfigure : function(grid) {
  16. Ext.getCmp('toolbar').setDisabled(true);
  17. if(grid.store.getCount()==0){
  18. var ftcode = Ext.getCmp('pvd_ftcode');
  19. if(ftcode && !Ext.isEmpty(ftcode.value)){
  20. me.loadFeature(ftcode.value);
  21. }
  22. }
  23. },
  24. itemclick : this.onGridItemClick
  25. },
  26. 'erpSaveButton' : {
  27. click : function(btn) {
  28. this.FormUtil.onUpdate(this);
  29. }
  30. },
  31. 'erpUpdateButton' : {
  32. click : function(btn) {
  33. this.FormUtil.onUpdate(this);
  34. }
  35. },
  36. 'erpDeleteButton' : {
  37. click: function(btn){
  38. me.FormUtil.onDelete(Ext.getCmp('pvd_id').value);
  39. }
  40. },
  41. 'erpCloseButton' : {
  42. click : function(btn) {
  43. me.FormUtil.beforeClose(me);
  44. }
  45. },
  46. 'dbfindtrigger[name=nf_valuecode]' : {
  47. focus : function(t) {
  48. t.setHideTrigger(false);
  49. t.setReadOnly(false);
  50. var record = Ext.getCmp('grid').selModel.getLastSelected();
  51. var code = record.data['nf_fecode'];
  52. if (code == null || code == '') {
  53. showError("请先选择特征编号!");
  54. t.setHideTrigger(true);
  55. t.setReadOnly(true);
  56. } else {
  57. t.dbBaseCondition = "fe_code='" + code + "'";
  58. }
  59. }
  60. }
  61. });
  62. },
  63. onGridItemClick : function(selModel, record) {// grid行选择
  64. this.GridUtil.onGridItemClick(selModel, record);
  65. },
  66. getForm : function(btn) {
  67. return btn.ownerCt.ownerCt;
  68. },
  69. loadFeature : function(num) {
  70. Ext.Ajax.request({// 拿到grid的columns
  71. url : basePath + "common/loadNewGridStore.action",
  72. params : {
  73. caller : 'FeatureTemplet',
  74. condition : "fd_code='" + num + "'"
  75. },
  76. method : 'post',
  77. callback : function(options, success, response) {
  78. var res = new Ext.decode(response.responseText);
  79. if (res.exceptionInfo) {
  80. showError(res.exceptionInfo);
  81. return;
  82. }
  83. var data = res.data;
  84. var fpd = [];
  85. if (data != null && data.length > 0) {
  86. Ext.each(data, function(d, index) {
  87. var da = {
  88. nf_ftcode : num,
  89. nf_detno : d.fd_detno,
  90. nf_fecode : d.fd_fecode,
  91. nf_fename : d.fd_fename
  92. };
  93. fpd[index] = da;
  94. });
  95. Ext.getCmp('grid').store.loadData(fpd);
  96. } else {
  97. showError('没有可载入的特征');
  98. return;
  99. }
  100. }
  101. });
  102. }
  103. });