Ask4Leave.js 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.hr.attendance.Ask4Leave', {
  3. extend: 'Ext.app.Controller',
  4. FormUtil: Ext.create('erp.util.FormUtil'),
  5. BaseUtil: Ext.create('erp.util.BaseUtil'),
  6. views:[
  7. 'hr.attendance.Ask4Leave','core.form.Panel','core.button.Add','core.button.Submit','core.button.Confirm',
  8. 'core.button.Audit','core.button.Save','core.button.Close','core.form.FileField',
  9. 'core.button.Update','core.button.Delete','core.button.ResAudit','core.form.ConDateHourMinuteField',
  10. 'core.button.ResSubmit','core.form.YnField','core.trigger.DbfindTrigger','core.form.MultiField'
  11. ],
  12. init:function(){
  13. var me = this;
  14. this.control({
  15. 'field[name=va_auditstatus]':{
  16. beforerender:function(field){
  17. var status=Ext.getCmp('va_statuscode').value;
  18. if(status=='COMMITED'){
  19. field.readOnly=false;
  20. }else{
  21. field.readOnly=true;
  22. }
  23. }
  24. },
  25. 'erpSaveButton': {
  26. click: function(btn){
  27. var form = me.getForm(btn);
  28. if(Ext.getCmp(form.codeField).value == null || Ext.getCmp(form.codeField).value == ''){
  29. me.BaseUtil.getRandomNumber();// 自动添加编号
  30. }
  31. var start=new Date(Ext.getCmp('va_startime').items.items[5].value);
  32. var end=new Date(Ext.getCmp('va_endtime').value);
  33. if(start-end>0){
  34. showError('时间输入有误,请检查后重新输入');
  35. }else{
  36. this.FormUtil.beforeSave(this);
  37. }
  38. }
  39. },
  40. 'erpCloseButton': {
  41. click: function(btn){
  42. this.FormUtil.beforeClose(this);
  43. }
  44. },
  45. 'erpAddButton': {
  46. click: function(btn){
  47. me.FormUtil.onAdd('addAsk4Leave', '新增请假申请单', 'jsps/hr/attendance/ask4leave.jsp');
  48. }
  49. },
  50. 'erpUpdateButton': {
  51. click: function(btn){
  52. /*
  53. * var start=Ext.getCmp('va_startime').value,
  54. * end=Ext.getCmp('va_endtime').value,
  55. * organigerdate=Ext.getCmp('va_date').value;
  56. * if(end.getTime()<start.getTime()){
  57. * showError('开始时间不能大于结束时间!'); return; } else
  58. * if(start.getTime()<organigerdate.getTime()){
  59. * showError('开始时间不能小于录入时间'); return; }
  60. */
  61. var start=new Date(Ext.getCmp('va_startime').items.items[5].value);
  62. var end=new Date(Ext.getCmp('va_endtime').value);
  63. if(start-end>0){
  64. showError('时间输入有误,请检查后重新输入');
  65. }else{
  66. this.FormUtil.onUpdate(this);
  67. }
  68. }
  69. },
  70. 'erpDeleteButton': {
  71. click: function(btn){
  72. me.FormUtil.onDelete((Ext.getCmp('va_id').value));
  73. }
  74. },
  75. 'erpAuditButton': {
  76. afterrender: function(btn){
  77. var statu = Ext.getCmp('va_statuscode');
  78. if(statu && statu.value != 'COMMITED'){
  79. btn.hide();
  80. }
  81. },
  82. click: function(btn){
  83. /*
  84. * var auditstatus=Ext.getCmp('va_auditstatus');
  85. * if(auditstatus && auditstatus.value=='待批准'){
  86. * showError('请选择审核结果!'); return; }
  87. * console.log(auditstatus); var value=auditstatus == null ?
  88. * '':auditstatus.value;
  89. * me.onAudit(Ext.getCmp('va_id').value,value);
  90. */
  91. this.FormUtil.onAudit(Ext.getCmp('va_id').value);
  92. }
  93. },
  94. 'erpResAuditButton': {
  95. afterrender: function(btn){
  96. var statu = Ext.getCmp('va_statuscode');
  97. if(statu && statu.value != 'AUDITED'){
  98. btn.hide();
  99. }
  100. },
  101. click: function(btn){
  102. this.FormUtil.onResAudit(Ext.getCmp('va_id').value);
  103. }
  104. },
  105. 'erpSubmitButton': {afterrender: function(btn){
  106. var statu = Ext.getCmp('va_statuscode');
  107. if(statu && statu.value != 'ENTERING'){
  108. btn.hide();
  109. }
  110. },
  111. click: function(btn){
  112. /*
  113. * var start=Ext.getCmp('va_startime').value,
  114. * end=Ext.getCmp('va_endtime').value,
  115. * organigerdate=Ext.getCmp('va_date').value;
  116. * if(end.getTime()<start.getTime()){
  117. * showError('开始时间不能大于结束时间!'); return; } else
  118. * if(start.getTime()<organigerdate.getTime()){
  119. * showError('开始时间不能小于录入时间'); return; }
  120. */
  121. var start=new Date(Ext.getCmp('va_startime').items.items[5].value);
  122. var end=new Date(Ext.getCmp('va_endtime').value);
  123. if(start-end>0){
  124. showError('时间输入有误,请检查后重新输入');
  125. }else{
  126. this.FormUtil.onSubmit(Ext.getCmp('va_id').value);
  127. }
  128. }
  129. },
  130. 'erpResSubmitButton': {
  131. afterrender: function(btn){
  132. var statu = Ext.getCmp('va_statuscode');
  133. if(statu && statu.value != 'COMMITED'){
  134. btn.hide();
  135. }
  136. },
  137. click: function(btn){
  138. this.FormUtil.onResSubmit(Ext.getCmp('va_id').value);
  139. }
  140. },
  141. 'erpConfirmButton': {afterrender: function(btn){
  142. var statu = Ext.getCmp('va_statuscode');
  143. if(statu && statu.value != 'AUDITED'){
  144. btn.hide();
  145. }
  146. },
  147. click: function(btn){
  148. me.onConfirm(Ext.getCmp('va_id').value);
  149. }
  150. }
  151. });
  152. },
  153. getForm: function(btn){
  154. return btn.ownerCt.ownerCt;
  155. },
  156. onConfirm: function(id){
  157. var form = Ext.getCmp('form');
  158. Ext.Ajax.request({
  159. url : basePath + form.confirmUrl,
  160. params: {
  161. id: id,
  162. caller:caller
  163. },
  164. method : 'post',
  165. callback : function(options,success,response){
  166. // me.setLoading(false);
  167. var localJson = new Ext.decode(response.responseText);
  168. if(localJson.success){
  169. // audit成功后刷新页面进入可编辑的页面
  170. // auditSuccess(function(){
  171. showMessage("提示", '确认成功');
  172. window.location.reload();
  173. // });
  174. } else {
  175. if(localJson.exceptionInfo){
  176. var str = localJson.exceptionInfo;
  177. if(str.trim().substr(0, 12) == 'AFTERSUCCESS'){// 特殊情况:操作成功,但是出现警告,允许刷新页面
  178. str = str.replace('AFTERSUCCESS', '');
  179. showMessage("提示", '确认成功');
  180. // auditSuccess(function(){
  181. window.location.reload();
  182. // });
  183. } else {
  184. showError(str);return;
  185. }
  186. }
  187. }
  188. }
  189. });
  190. },
  191. onAudit: function(id,auditstatus){
  192. var form = Ext.getCmp('form');
  193. Ext.Ajax.request({
  194. url : basePath + form.auditUrl,
  195. params: {
  196. id: id,
  197. auditstatus:auditstatus
  198. },
  199. method : 'post',
  200. callback : function(options,success,response){
  201. // me.setLoading(false);
  202. var localJson = new Ext.decode(response.responseText);
  203. if(localJson.success){
  204. // audit成功后刷新页面进入可编辑的页面
  205. auditSuccess(function(){
  206. window.location.reload();
  207. });
  208. } else {
  209. if(localJson.exceptionInfo){
  210. var str = localJson.exceptionInfo;
  211. if(str.trim().substr(0, 12) == 'AFTERSUCCESS'){// 特殊情况:操作成功,但是出现警告,允许刷新页面
  212. str = str.replace('AFTERSUCCESS', '');
  213. showMessage("提示", str);
  214. auditSuccess(function(){
  215. window.location.reload();
  216. });
  217. } else {
  218. showError(str);return;
  219. }
  220. }
  221. }
  222. }
  223. });
  224. }
  225. });