VastStopMakeDownPut.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. /**
  2. * 批量暂停制造单下放
  3. */
  4. Ext.define('erp.view.core.button.VastStopMakeDownPut',{
  5. extend: 'Ext.Button',
  6. alias: 'widget.erpvastStopMakeDownPutButton',
  7. iconCls: 'x-button-icon-check',
  8. cls: 'x-btn-gray',
  9. id: 'erpvastStopMakeDownPutButton',
  10. text: $I18N.common.button.erpvastStopMakeDownPutButton,
  11. width: 110,
  12. initComponent : function(){
  13. this.callParent(arguments);
  14. },
  15. handler: function(){
  16. var me = this, grid = Ext.getCmp('batchDealGridPanel');
  17. var items = grid.selModel.getSelection();
  18. Ext.each(items, function(item, index){
  19. if(this.data[grid.keyField] != null && this.data[grid.keyField] != ''
  20. && this.data[grid.keyField] != '0' && this.data[grid.keyField] != 0){
  21. item.index = this.data[grid.keyField];
  22. grid.multiselected.push(item);
  23. }
  24. });
  25. var form = Ext.getCmp('dealform');
  26. var records = Ext.Array.unique(grid.multiselected);
  27. if(records.length > 0){
  28. var params = new Object();
  29. params.id=new Array();
  30. params.caller = caller;
  31. var data = new Array();
  32. var bool = false;
  33. Ext.each(records, function(record, index){
  34. var f = form.fo_detailMainKeyField;
  35. if((grid.keyField && this.data[grid.keyField] != null && this.data[grid.keyField] != ''
  36. && this.data[grid.keyField] != '0' && this.data[grid.keyField] != 0)
  37. ||(f && this.data[f] != null && this.data[f] != ''
  38. && this.data[f] != '0' && this.data[f] != 0)){
  39. bool = true;
  40. var o = new Object();
  41. if(grid.keyField){
  42. o[grid.keyField] = record.data[grid.keyField];
  43. } else {
  44. params.id[index] = record.data[form.fo_detailMainKeyField];
  45. }
  46. if(grid.toField){
  47. Ext.each(grid.toField, function(f, index){
  48. var v = Ext.getCmp(f).value;
  49. if(v != null && v.toString().trim() != '' && v.toString().trim() != 'null'){
  50. if(Ext.isDate(v)){
  51. v = Ext.Date.toString(v);
  52. }
  53. o[f] = v;
  54. } else {
  55. o[f] = '';
  56. }
  57. });
  58. }
  59. if(grid.necessaryFields){
  60. Ext.each(grid.necessaryFields, function(f, index){
  61. var v = record.data[f];
  62. if(Ext.isDate(v)){
  63. v = Ext.Date.toString(v);
  64. }
  65. if(Ext.isNumber(v)){
  66. v = (v).toString();
  67. }
  68. o[f] = v;
  69. });
  70. }
  71. data.push(o);
  72. }
  73. });
  74. if(bool && !me.dealing){
  75. params.data = unescape(Ext.JSON.encode(data).replace(/\\/g,"%"));
  76. me.dealing = true;
  77. var main = parent.Ext.getCmp("content-panel");
  78. main.getActiveTab().setLoading(true);//loading...
  79. Ext.Ajax.request({
  80. url : basePath + 'pm/make/vastStopMakeDownPut.action',
  81. params: params,
  82. method : 'post',
  83. timeout: 6000000,
  84. callback : function(options,success,response){
  85. main.getActiveTab().setLoading(false);
  86. me.dealing = false;
  87. var localJson = new Ext.decode(response.responseText);
  88. if(localJson.exceptionInfo){
  89. var str = localJson.exceptionInfo;
  90. if(str.trim().substr(0, 12) == 'AFTERSUCCESS'){
  91. str = str.replace('AFTERSUCCESS', '');
  92. grid.multiselected = new Array();
  93. Ext.getCmp('dealform').onQuery();
  94. }
  95. showError(str);return;
  96. }
  97. if(localJson.success){
  98. if(localJson.log){
  99. showMessage("提示", localJson.log);
  100. }
  101. grid.multiselected = new Array();
  102. Ext.getCmp('dealform').onQuery();
  103. /*Ext.Msg.alert("提示", "处理成功!", function(){
  104. grid.multiselected = new Array();
  105. Ext.getCmp('dealform').onQuery();
  106. });*/
  107. }
  108. }
  109. });
  110. } else {
  111. showError("没有需要处理的数据!");
  112. }
  113. } else {
  114. showError("请勾选需要的明细!");
  115. }
  116. }
  117. });