Ask4Leave.js 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  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 start=Ext.getCmp('va_startime').value,
  28. end=Ext.getCmp('va_endtime').value,
  29. organigerdate=Ext.getCmp('va_date').value;
  30. if(end.getTime()<start.getTime()){
  31. showError('开始时间不能大于结束时间!');
  32. return;
  33. } else if(start.getTime()<organigerdate.getTime()){
  34. showError('开始时间不能小于录入时间');
  35. return;
  36. } */
  37. var form = me.getForm(btn);
  38. if(Ext.getCmp(form.codeField).value == null || Ext.getCmp(form.codeField).value == ''){
  39. me.BaseUtil.getRandomNumber();//自动添加编号
  40. }
  41. this.FormUtil.beforeSave(this);
  42. }
  43. },
  44. 'erpCloseButton': {
  45. click: function(btn){
  46. this.FormUtil.beforeClose(this);
  47. }
  48. },
  49. 'erpAddButton': {
  50. click: function(btn){
  51. me.FormUtil.onAdd('addAsk4Leave', '新增请假申请单', 'jsps/hr/attendance/ask4leave.jsp');
  52. }
  53. },
  54. 'erpUpdateButton': {
  55. click: function(btn){
  56. /*var start=Ext.getCmp('va_startime').value,
  57. end=Ext.getCmp('va_endtime').value,
  58. organigerdate=Ext.getCmp('va_date').value;
  59. if(end.getTime()<start.getTime()){
  60. showError('开始时间不能大于结束时间!');
  61. return;
  62. } else if(start.getTime()<organigerdate.getTime()){
  63. showError('开始时间不能小于录入时间');
  64. return;
  65. } */
  66. this.FormUtil.onUpdate(this);
  67. }
  68. },
  69. 'erpDeleteButton': {
  70. click: function(btn){
  71. me.FormUtil.onDelete((Ext.getCmp('va_id').value));
  72. }
  73. },
  74. 'erpAuditButton': {
  75. afterrender: function(btn){
  76. var statu = Ext.getCmp('va_statuscode');
  77. if(statu && statu.value != 'COMMITED'){
  78. btn.hide();
  79. }
  80. },
  81. click: function(btn){
  82. /*var auditstatus=Ext.getCmp('va_auditstatus');
  83. if(auditstatus && auditstatus.value=='待批准'){
  84. showError('请选择审核结果!');
  85. return;
  86. }
  87. console.log(auditstatus);
  88. var value=auditstatus == null ? '':auditstatus.value;
  89. me.onAudit(Ext.getCmp('va_id').value,value);*/
  90. this.FormUtil.onAudit(Ext.getCmp('va_id').value);
  91. }
  92. },
  93. 'erpResAuditButton': {
  94. afterrender: function(btn){
  95. var statu = Ext.getCmp('va_statuscode');
  96. if(statu && statu.value != 'AUDITED'){
  97. btn.hide();
  98. }
  99. },
  100. click: function(btn){
  101. this.FormUtil.onResAudit(Ext.getCmp('va_id').value);
  102. }
  103. },
  104. 'erpSubmitButton': {afterrender: function(btn){
  105. var statu = Ext.getCmp('va_statuscode');
  106. if(statu && statu.value != 'ENTERING'){
  107. btn.hide();
  108. }
  109. },
  110. click: function(btn){
  111. /*var start=Ext.getCmp('va_startime').value,
  112. end=Ext.getCmp('va_endtime').value,
  113. organigerdate=Ext.getCmp('va_date').value;
  114. if(end.getTime()<start.getTime()){
  115. showError('开始时间不能大于结束时间!');
  116. return;
  117. } else if(start.getTime()<organigerdate.getTime()){
  118. showError('开始时间不能小于录入时间');
  119. return;
  120. } */
  121. this.FormUtil.onSubmit(Ext.getCmp('va_id').value);
  122. }
  123. },
  124. 'erpResSubmitButton': {
  125. afterrender: function(btn){
  126. var statu = Ext.getCmp('va_statuscode');
  127. if(statu && statu.value != 'COMMITED'){
  128. btn.hide();
  129. }
  130. },
  131. click: function(btn){
  132. this.FormUtil.onResSubmit(Ext.getCmp('va_id').value);
  133. }
  134. },
  135. 'erpConfirmButton': {afterrender: function(btn){
  136. var statu = Ext.getCmp('va_statuscode');
  137. if(statu && statu.value != 'AUDITED'){
  138. btn.hide();
  139. }
  140. },
  141. click: function(btn){
  142. me.onConfirm(Ext.getCmp('va_id').value);
  143. }
  144. },
  145. 'combo[name=va_holidaytype]':{
  146. change: function(field) {
  147. var newVal = field.getValue(),
  148. d = field.ownerCt.down('#va_alldays'), t = field.ownerCt.down('#va_alltimes');
  149. if(newVal=='全日'||newVal=='按天'){
  150. d.setReadOnly(false);
  151. t.setReadOnly(true);
  152. t.setValue(null);
  153. }else{
  154. d.setReadOnly(true);
  155. t.setReadOnly(false);
  156. d.setValue(null);
  157. }
  158. }
  159. }
  160. });
  161. },
  162. getForm: function(btn){
  163. return btn.ownerCt.ownerCt;
  164. },
  165. onConfirm: function(id){
  166. var form = Ext.getCmp('form');
  167. Ext.Ajax.request({
  168. url : basePath + form.confirmUrl,
  169. params: {
  170. id: id,
  171. caller:caller
  172. },
  173. method : 'post',
  174. callback : function(options,success,response){
  175. //me.setLoading(false);
  176. var localJson = new Ext.decode(response.responseText);
  177. if(localJson.success){
  178. //audit成功后刷新页面进入可编辑的页面
  179. //auditSuccess(function(){
  180. showMessage("提示", '确认成功');
  181. window.location.reload();
  182. //});
  183. } else {
  184. if(localJson.exceptionInfo){
  185. var str = localJson.exceptionInfo;
  186. if(str.trim().substr(0, 12) == 'AFTERSUCCESS'){//特殊情况:操作成功,但是出现警告,允许刷新页面
  187. str = str.replace('AFTERSUCCESS', '');
  188. showMessage("提示", '确认成功');
  189. //auditSuccess(function(){
  190. window.location.reload();
  191. //});
  192. } else {
  193. showError(str);return;
  194. }
  195. }
  196. }
  197. }
  198. });
  199. },
  200. onAudit: function(id,auditstatus){
  201. var form = Ext.getCmp('form');
  202. Ext.Ajax.request({
  203. url : basePath + form.auditUrl,
  204. params: {
  205. id: id,
  206. auditstatus:auditstatus
  207. },
  208. method : 'post',
  209. callback : function(options,success,response){
  210. //me.setLoading(false);
  211. var localJson = new Ext.decode(response.responseText);
  212. if(localJson.success){
  213. //audit成功后刷新页面进入可编辑的页面
  214. auditSuccess(function(){
  215. window.location.reload();
  216. });
  217. } else {
  218. if(localJson.exceptionInfo){
  219. var str = localJson.exceptionInfo;
  220. if(str.trim().substr(0, 12) == 'AFTERSUCCESS'){//特殊情况:操作成功,但是出现警告,允许刷新页面
  221. str = str.replace('AFTERSUCCESS', '');
  222. showMessage("提示", str);
  223. auditSuccess(function(){
  224. window.location.reload();
  225. });
  226. } else {
  227. showError(str);return;
  228. }
  229. }
  230. }
  231. }
  232. });
  233. }
  234. });