ModelContrast.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.drp.distribution.ModelContrast', {
  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', 'drp.distribution.ModelContrast',
  8. 'core.grid.Panel2', 'core.toolbar.Toolbar', 'core.button.Save',
  9. 'core.button.Close', 'core.button.Update', 'core.button.Add','core.button.Sync',
  10. 'core.button.DeleteDetail', 'core.trigger.DbfindTrigger' ],
  11. init : function() {
  12. var me = this;
  13. me.allowinsert = true;
  14. this.control({
  15. 'erpGridPanel2' : {
  16. itemclick : this.onGridItemClick
  17. /* afterrender : function(grid) {
  18. grid.plugins[0].on('beforeedit', function(args){
  19. var field = args.field, y = args.rowIdx,
  20. grid = args.grid, record = args.record;
  21. var x = grid.store.find('cp_isdefault', '是');
  22. if (x > -1 && x != y) {
  23. record.set('cp_isdefault', '否');
  24. if(field == 'cp_isdefault')
  25. return false;
  26. return true;
  27. }
  28. return true;
  29. });
  30. }*/
  31. },
  32. 'erpAddButton' : {
  33. click : function() {
  34. me.FormUtil.onAdd('addModelContrast', '新增型号对照表',
  35. 'jsps/drp/distribution/modelContrast.jsp');
  36. }
  37. },
  38. 'erpSaveButton' : {
  39. click : function(btn) {
  40. var grid = Ext.getCmp('grid');
  41. var pr_id = Ext.getCmp('pr_id').value;
  42. var pr_code=Ext.getCmp('pr_code').value;
  43. var pr_name=Ext.getCmp('pr_detail').value;
  44. Ext.Array.each(grid.store.data.items, function(item) {
  45. item.set('mr_prid', pr_id);
  46. item.set('mr_prcode', pr_code);
  47. item.set('mr_prname', pr_name);
  48. });
  49. this.FormUtil.onUpdate(this);
  50. }
  51. },
  52. 'erpUpdateButton' : {
  53. click : function(btn) {
  54. var grid = Ext.getCmp('grid');
  55. var pr_id = Ext.getCmp('pr_id').value;
  56. var pr_code=Ext.getCmp('pr_code').value;
  57. var pr_name=Ext.getCmp('pr_detail').value;
  58. Ext.Array.each(grid.store.data.items, function(item) {
  59. item.set('mr_prid', pr_id);
  60. item.set('mr_prcode', pr_code);
  61. item.set('mr_prname', pr_name);
  62. });
  63. this.FormUtil.onUpdate(this);
  64. }
  65. },
  66. 'erpCloseButton' : {
  67. click : function(btn) {
  68. me.FormUtil.beforeClose(me);
  69. }
  70. },
  71. 'dbfindtrigger[name=pr_code]' : {
  72. aftertrigger : function() {
  73. var id = Ext.getCmp('pr_id').value;
  74. if (id != null & id != '') {
  75. this.getPaymentsStore('mc_prid=' + id);
  76. }
  77. }
  78. }
  79. });
  80. },
  81. onGridItemClick : function(selModel, record) {// grid行选择
  82. this.GridUtil.onGridItemClick(selModel, record);
  83. },
  84. getForm : function(btn) {
  85. return btn.ownerCt.ownerCt;
  86. },
  87. getPaymentsStore : function(condition) {
  88. var me = this;
  89. var grid = Ext.getCmp('grid');
  90. grid.store.removeAll(false);
  91. me.BaseUtil.getActiveTab().setLoading(true);// loading...
  92. Ext.Ajax.request({// 拿到grid的columns
  93. url : basePath + "common/singleGridPanel.action",
  94. params : {
  95. caller : "ModelContrast",
  96. condition : condition
  97. },
  98. method : 'post',
  99. callback : function(options, success, response) {
  100. me.BaseUtil.getActiveTab().setLoading(false);
  101. var res = new Ext.decode(response.responseText);
  102. if (res.exceptionInfo) {
  103. showError(res.exceptionInfo);
  104. return;
  105. }
  106. var data = [];
  107. if (!res.data || res.data.length == 2) {
  108. me.GridUtil.add10EmptyItems(grid);
  109. } else {
  110. data = Ext.decode(res.data.replace(/,}/g, '}').replace(
  111. /,]/g, ']'));
  112. if (data.length > 0) {
  113. grid.store.loadData(data);
  114. }
  115. }
  116. /*var bool = false;
  117. grid.store.each(function(item) {
  118. if (item.get('cp_paymentcode') == paymentcode) {
  119. bool = true;
  120. }
  121. });
  122. if (!bool) {
  123. var items = grid.store.data.items, item = null;
  124. for ( var i in items) {
  125. item = items[i];
  126. if (Ext.isEmpty(item.get('cp_paymentcode'))) {
  127. item.set('cp_paymentcode', paymentcode);
  128. item.set('cp_payment', payment);
  129. item.set('cp_isdefault', '是');
  130. break;
  131. }
  132. }
  133. }*/
  134. }
  135. });
  136. }
  137. });