Ask4Leave2.js 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.hr.attendance.Ask4Leave2', {
  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. 'hr.attendance.Ask4Leave2','core.form.Panel','core.button.Add','core.button.Submit','core.button.Confirm',
  9. 'core.button.Audit','core.button.Save','core.button.Close','core.form.FileField','core.grid.Panel2',
  10. 'core.button.Update','core.button.Delete','core.button.ResAudit','core.form.ConDateHourMinuteField',
  11. 'core.button.ResSubmit','core.form.YnField','core.trigger.DbfindTrigger','core.form.MultiField'
  12. ],
  13. init:function(){
  14. var me = this;
  15. this.control({
  16. 'erpGridPanel2': {
  17. itemclick: this.onGridItemClick
  18. },
  19. 'field[name=va_auditstatus]':{
  20. beforerender:function(field){
  21. var status=Ext.getCmp('va_statuscode').value;
  22. if(status=='COMMITED'){
  23. field.readOnly=false;
  24. }else{
  25. field.readOnly=true;
  26. }
  27. }
  28. },
  29. 'erpSaveButton': {
  30. click: function(btn){
  31. var form = me.getForm(btn);
  32. if(Ext.getCmp(form.codeField).value == null || Ext.getCmp(form.codeField).value == ''){
  33. me.BaseUtil.getRandomNumber();//自动添加编号
  34. }
  35. this.FormUtil.beforeSave(this);
  36. }
  37. },
  38. 'erpCloseButton': {
  39. click: function(btn){
  40. this.FormUtil.beforeClose(this);
  41. }
  42. },
  43. 'erpAddButton': {
  44. click: function(btn){
  45. me.FormUtil.onAdd('addAsk4Leave', '新增请假申请单', 'jsps/hr/attendance/ask4leave2.jsp');
  46. }
  47. },
  48. 'erpUpdateButton': {
  49. click: function(btn){
  50. this.FormUtil.onUpdate(this);
  51. }
  52. },
  53. 'erpDeleteButton': {
  54. click: function(btn){
  55. me.FormUtil.onDelete((Ext.getCmp('va_id').value));
  56. }
  57. },
  58. 'erpAuditButton': {
  59. afterrender: function(btn){
  60. var statu = Ext.getCmp('va_statuscode');
  61. if(statu && statu.value != 'COMMITED'){
  62. btn.hide();
  63. }
  64. },
  65. click: function(btn){
  66. this.FormUtil.onAudit(Ext.getCmp('va_id').value);
  67. }
  68. },
  69. 'erpResAuditButton': {
  70. afterrender: function(btn){
  71. var statu = Ext.getCmp('va_statuscode');
  72. if(statu && statu.value != 'AUDITED'){
  73. btn.hide();
  74. }
  75. },
  76. click: function(btn){
  77. this.FormUtil.onResAudit(Ext.getCmp('va_id').value);
  78. }
  79. },
  80. 'erpSubmitButton': {afterrender: function(btn){
  81. var statu = Ext.getCmp('va_statuscode');
  82. if(statu && statu.value != 'ENTERING'){
  83. btn.hide();
  84. }
  85. },
  86. click: function(btn){
  87. this.FormUtil.onSubmit(Ext.getCmp('va_id').value);
  88. }
  89. },
  90. 'erpResSubmitButton': {
  91. afterrender: function(btn){
  92. var statu = Ext.getCmp('va_statuscode');
  93. if(statu && statu.value != 'COMMITED'){
  94. btn.hide();
  95. }
  96. },
  97. click: function(btn){
  98. this.FormUtil.onResSubmit(Ext.getCmp('va_id').value);
  99. }
  100. },
  101. 'erpConfirmButton': {afterrender: function(btn){
  102. var statu = Ext.getCmp('va_statuscode');
  103. if(statu && statu.value != 'AUDITED'){
  104. btn.hide();
  105. }
  106. },
  107. click: function(btn){
  108. me.onConfirm(Ext.getCmp('va_id').value);
  109. }
  110. }
  111. });
  112. },
  113. getForm: function(btn){
  114. return btn.ownerCt.ownerCt;
  115. },
  116. onGridItemClick: function(selModel, record){//grid行选择
  117. this.GridUtil.onGridItemClick(selModel, record);
  118. },
  119. onConfirm: function(id){
  120. var form = Ext.getCmp('form');
  121. Ext.Ajax.request({
  122. url : basePath + form.confirmUrl,
  123. params: {
  124. id: id,
  125. caller:caller
  126. },
  127. method : 'post',
  128. callback : function(options,success,response){
  129. //me.setLoading(false);
  130. var localJson = new Ext.decode(response.responseText);
  131. if(localJson.success){
  132. //audit成功后刷新页面进入可编辑的页面
  133. //auditSuccess(function(){
  134. showMessage("提示", '确认成功');
  135. window.location.reload();
  136. //});
  137. } else {
  138. if(localJson.exceptionInfo){
  139. var str = localJson.exceptionInfo;
  140. if(str.trim().substr(0, 12) == 'AFTERSUCCESS'){//特殊情况:操作成功,但是出现警告,允许刷新页面
  141. str = str.replace('AFTERSUCCESS', '');
  142. showMessage("提示", '确认成功');
  143. //auditSuccess(function(){
  144. window.location.reload();
  145. //});
  146. } else {
  147. showError(str);return;
  148. }
  149. }
  150. }
  151. }
  152. });
  153. },
  154. onAudit: function(id,auditstatus){
  155. var form = Ext.getCmp('form');
  156. Ext.Ajax.request({
  157. url : basePath + form.auditUrl,
  158. params: {
  159. id: id,
  160. auditstatus:auditstatus
  161. },
  162. method : 'post',
  163. callback : function(options,success,response){
  164. //me.setLoading(false);
  165. var localJson = new Ext.decode(response.responseText);
  166. if(localJson.success){
  167. //audit成功后刷新页面进入可编辑的页面
  168. auditSuccess(function(){
  169. window.location.reload();
  170. });
  171. } else {
  172. if(localJson.exceptionInfo){
  173. var str = localJson.exceptionInfo;
  174. if(str.trim().substr(0, 12) == 'AFTERSUCCESS'){//特殊情况:操作成功,但是出现警告,允许刷新页面
  175. str = str.replace('AFTERSUCCESS', '');
  176. showMessage("提示", str);
  177. auditSuccess(function(){
  178. window.location.reload();
  179. });
  180. } else {
  181. showError(str);return;
  182. }
  183. }
  184. }
  185. }
  186. });
  187. }
  188. });