SetVendorRate.js 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. /**
  2. * 设置供应商比例分配表
  3. */
  4. Ext.define('erp.view.core.button.SetVendorRate',{
  5. extend: 'Ext.Button',
  6. alias: 'widget.erpSetVendorRateButton',
  7. iconCls: 'x-button-icon-delete',
  8. cls: 'x-btn-gray',
  9. text: '比例设置',
  10. id: 'SetVR',
  11. style: {
  12. marginLeft: '10px'
  13. },
  14. width: 120,
  15. menu: [{
  16. iconCls: 'main-msg',
  17. text: '重新设置',
  18. listeners: {
  19. click: function(m){
  20. var params=new Object();
  21. params.Mode="重新设置";
  22. params.SetEndDate=Ext.getCmp('pv_enddate').value;
  23. params.Kind2=Ext.getCmp('rate2').value;
  24. params.Kind3=Ext.getCmp('rate3').value;
  25. if (params.SetEndDate==null ||params.SetEndDate=='' ){
  26. showError("请录入有效期 ,作为新设比例的有效截止日期!");
  27. return;
  28. }
  29. if (params.Kind2==null ||params.Kind2=='' ){
  30. showError("请录入二分原则!");
  31. return;
  32. }
  33. Ext.getCmp('SetVR').SetRate(params);
  34. }
  35. }
  36. },{
  37. iconCls: 'main-msg',
  38. text: '追加新料料供应商报价',
  39. listeners: {
  40. click: function(m){
  41. var params=new Object();
  42. params.Mode="追加新料";
  43. params.SetEndDate=Ext.getCmp('pv_enddate').value;
  44. params.Kind2=Ext.getCmp('rate2').value;
  45. params.Kind3=Ext.getCmp('rate3').value;
  46. Ext.getCmp('SetVR').SetRate(params);
  47. }
  48. }
  49. },{
  50. iconCls:'main-msg',
  51. text:'失效价格重设',
  52. listeners: {
  53. click: function(m){
  54. var params=new Object();
  55. params.Mode="失效价格重设";
  56. params.SetEndDate=Ext.getCmp('pv_enddate').value;
  57. params.Kind2=Ext.getCmp('rate2').value;
  58. params.Kind3=Ext.getCmp('rate3').value;
  59. Ext.getCmp('SetVR').SetRate(params);
  60. }
  61. }
  62. }],
  63. SetRate:function(param){
  64. var main = parent.Ext.getCmp("content-panel");
  65. main.getActiveTab().setLoading(true);//loading...
  66. Ext.Ajax.request({
  67. url : basePath +'scm/setVendorRate.action',
  68. params: param,
  69. method : 'post',
  70. timeout: 6000000,
  71. callback : function(options,success,response){
  72. main.getActiveTab().setLoading(false);
  73. var localJson = new Ext.decode(response.responseText);
  74. if(localJson.exceptionInfo){
  75. var str = localJson.exceptionInfo;
  76. if(str.trim().substr(0, 12) == 'AFTERSUCCESS'){
  77. str = str.replace('AFTERSUCCESS', '');
  78. grid.multiselected = new Array();
  79. Ext.getCmp('dealform').onQuery();
  80. }
  81. showError(str);return;
  82. }
  83. if(localJson.success){
  84. if(localJson.log){
  85. showMessage("提示", localJson.log);
  86. }
  87. Ext.Msg.alert("提示", "处理成功!", function(){
  88. grid.multiselected = new Array();
  89. Ext.getCmp('dealform').onQuery();
  90. });
  91. }
  92. }
  93. });
  94. },
  95. getRecordDatas:function(){
  96. var grid = Ext.getCmp('batchDealGridPanel');
  97. var items = grid.selModel.getSelection();
  98. Ext.each(items, function(item, index){
  99. if(this.data[grid.keyField] != null && this.data[grid.keyField] != ''
  100. && this.data[grid.keyField] != '0' && this.data[grid.keyField] != 0){
  101. item.index = this.data[grid.keyField];
  102. grid.multiselected.push(item);
  103. }
  104. });
  105. var form = Ext.getCmp('dealform');
  106. var records = Ext.Array.unique(grid.multiselected);
  107. var data = new Array();
  108. Ext.each(records, function(record, index){
  109. var f = form.fo_detailMainKeyField;
  110. if((grid.keyField && this.data[grid.keyField] != null && this.data[grid.keyField] != ''
  111. && this.data[grid.keyField] != '0' && this.data[grid.keyField] != 0)
  112. ||(f && this.data[f] != null && this.data[f] != ''
  113. && this.data[f] != '0' && this.data[f] != 0)){
  114. bool = true;
  115. var o = new Object();
  116. if(grid.keyField){
  117. o[grid.keyField] = record.data[grid.keyField];
  118. } else {
  119. params.id[index] = record.data[form.fo_detailMainKeyField];
  120. }
  121. if(grid.toField){
  122. Ext.each(grid.toField, function(f, index){
  123. var v = Ext.getCmp(f).value;
  124. if(v != null && v.toString().trim() != '' && v.toString().trim() != 'null'){
  125. o[f] = v;
  126. }
  127. });
  128. }
  129. if(grid.necessaryFields){
  130. Ext.each(grid.necessaryFields, function(f, index){
  131. var v = record.data[f];
  132. if(Ext.isDate(v)){
  133. v = Ext.Date.toString(v);
  134. }
  135. o[f] = v;
  136. });
  137. }
  138. data.push(o);
  139. }
  140. });
  141. return data;
  142. },
  143. initComponent : function(){
  144. this.callParent(arguments);
  145. }
  146. });