ProductSNRule.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.scm.product.ProductSNRule', {
  3. extend: 'Ext.app.Controller',
  4. FormUtil: Ext.create('erp.util.FormUtil'),
  5. BaseUtil: Ext.create('erp.util.BaseUtil'),
  6. GridUtil: Ext.create('erp.util.GridUtil'),
  7. views:[
  8. 'scm.product.ProductSNRule','core.form.Panel','core.button.Add','core.button.Save','core.button.Close',
  9. 'core.button.Update','core.button.Delete','core.form.YnField','core.grid.YnColumn','core.button.Flow',
  10. 'core.trigger.TextAreaTrigger','core.trigger.DbfindTrigger','core.form.MultiField','core.grid.Panel2'
  11. ],
  12. init:function(){
  13. var me = this;
  14. this.control({
  15. 'erpFormPanel': {
  16. afterload: function(form) {
  17. var items = form.items.items;
  18. Ext.each(items, function(item) {
  19. item.setReadOnly(true);
  20. });
  21. }
  22. },
  23. '#grid': {
  24. itemclick: function(selModel, record){
  25. var grid = selModel.ownerCt;
  26. var store = grid.store;
  27. if(grid && store.data.length < 2){
  28. var index = store.indexOf(record);
  29. if(index == store.indexOf(store.first())){
  30. store.loadData([{}], true);
  31. }
  32. }
  33. }
  34. },
  35. '#pr_code': {
  36. afterrender: function(field){
  37. me.loadData(field.value);
  38. }
  39. },
  40. 'erpCloseButton': {
  41. click: function(btn){
  42. this.FormUtil.beforeClose(this);
  43. }
  44. },
  45. 'erpUpdateButton': {
  46. click: function(btn){
  47. this.FormUtil.onUpdate(this);
  48. }
  49. }
  50. });
  51. },
  52. loadData: function(value) {
  53. var me = this;
  54. me.FormUtil.getFieldsValues("productsnrule",
  55. 'psr_id, psr_type, psr_prefix, psr_length, psr_inman, psr_indate', "psr_prodcode='" +value+"'", [], function(data){
  56. var datas = Ext.JSON.decode(data), _datas = [];
  57. var grid = Ext.getCmp('grid');
  58. if(datas.length > 0) {
  59. var keys = Ext.Object.getKeys(datas[0]);
  60. Ext.Array.each(datas, function(d){
  61. var obj = {};
  62. Ext.Array.each(keys, function(key){
  63. obj[key.toLowerCase()] = d[key];
  64. });
  65. _datas.push(obj);
  66. });
  67. }
  68. _datas.length > 0 && grid.store.loadData(_datas);
  69. grid.store.each(function(){
  70. this.dirty = false;
  71. });
  72. });
  73. }
  74. });