ComplaintUpdate.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. /**
  2. * 投诉信息修改按钮
  3. */
  4. Ext.define('erp.view.core.button.ComplaintUpdate',{
  5. extend : 'Ext.Button',
  6. alias : 'widget.erpComplaintUpdateButton',
  7. iconCls : 'x-button-icon-submit',
  8. cls : 'x-btn-gray',
  9. text : $I18N.common.button.erpComplaintUpdateButton,
  10. style : {
  11. marginLeft : '10px'
  12. },
  13. width : 140,
  14. initComponent : function() {
  15. this.callParent(arguments);
  16. },
  17. listeners: {
  18. afterrender: function(btn) {
  19. var status = Ext.getCmp('cr_statuscode');
  20. if(status && status.value == 'ENTERING'){
  21. btn.hide();
  22. }
  23. }
  24. },
  25. handler: function() {
  26. var me = this, win = Ext.getCmp('Complaint-win');
  27. if(!win) {
  28. var result = Ext.getCmp('cr_result'), man = Ext.getCmp('cr_dutyman'), dep = Ext.getCmp('cr_dutydepartment'),cont=Ext.getCmp('cr_content'),
  29. val1 = result ? result.value : '', val2 = man ? man.value : '', val3 = dep ? dep.value : '', val4 = cont ? cont.value : '';
  30. win = Ext.create('Ext.Window', {
  31. id: 'Complaint-win',
  32. title: '更新投诉单 ' + Ext.getCmp('cr_code').value + ' 的投诉信息',
  33. height: 300,
  34. width: 450,
  35. items: [{
  36. margin: '10 0 0 0',
  37. xtype: 'textfield',
  38. fieldLabel: '投诉处理结果',
  39. name:'res',
  40. value: val1
  41. },{
  42. margin: '3 0 0 0',
  43. xtype: 'dbfindtrigger',
  44. fieldLabel: '责任人',
  45. name:'cr_dutyman',
  46. value: val2
  47. },{
  48. margin: '3 0 0 0',
  49. xtype: 'dbfindtrigger',
  50. fieldLabel: '责任部门',
  51. name:'cr_dutydepartment',
  52. value: val3
  53. },{
  54. margin: '10 0 0 0',
  55. xtype: 'textareatrigger',
  56. fieldLabel: '投诉内容',
  57. name:'cr_content',
  58. value: val4
  59. }],
  60. closeAction: 'hide',
  61. buttonAlign: 'center',
  62. layout: {
  63. type: 'vbox',
  64. align: 'center'
  65. },
  66. buttons: [{
  67. text: $I18N.common.button.erpConfirmButton,
  68. cls: 'x-btn-blue',
  69. handler: function(btn) {
  70. var form = btn.ownerCt.ownerCt,
  71. a = form.down('textfield[name=res]'),
  72. b = form.down('dbfindtrigger[name=cr_dutyman]'),
  73. c = form.down('dbfindtrigger[name=cr_dutydepartment]'),
  74. d =form.down('textareatrigger[name=cr_content]');
  75. if((a.isDirty() && !Ext.isEmpty(a.value)) || (
  76. b.isDirty() && !Ext.isEmpty(b.value)) || (
  77. c.isDirty() && !Ext.isEmpty(c.value))|| (
  78. d.isDirty() && !Ext.isEmpty(d.value))) {
  79. me.updateComplaint(Ext.getCmp('cr_id').value, a.value, b.value, c.value,d.value);
  80. }
  81. }
  82. }, {
  83. text: $I18N.common.button.erpCloseButton,
  84. cls: 'x-btn-blue',
  85. handler: function(btn) {
  86. btn.ownerCt.ownerCt.hide();
  87. }
  88. }]
  89. });
  90. }
  91. win.show();
  92. },
  93. updateComplaint: function(id, val1, val2, val3,val4) {
  94. Ext.Ajax.request({
  95. url: basePath + 'scm/qc/updateComplaint.action',
  96. params: {
  97. id: id,
  98. val1: val1,
  99. val2: val2,
  100. val3: val3,
  101. val4: val4
  102. },
  103. callback: function(opt, s, r) {
  104. var rs = Ext.decode(r.responseText);
  105. if(rs.exceptionInfo) {
  106. showError(rs.exceptionInfo);
  107. } else {
  108. Ext.Msg.alert("提示","更新成功!");
  109. window.location.reload();
  110. }
  111. }
  112. });
  113. }
  114. });