SpeAttendance.js 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.hr.attendance.SpeAttendance', {
  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',
  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=sa_status]':{
  16. beforerender:function(field){
  17. var status=Ext.getCmp('sa_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('SpeAttendance', '新增特殊考勤', 'jsps/hr/attendance/speattendance.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('sa_id').value));
  72. }
  73. },
  74. 'erpAuditButton': {
  75. afterrender: function(btn){
  76. var statu = Ext.getCmp('sa_statuscode');
  77. if(statu && statu.value != 'COMMITED'){
  78. btn.hide();
  79. }
  80. },
  81. click: function(btn){
  82. /*var auditstatus=Ext.getCmp('sa_status').value;
  83. if(auditstatus=='待批准'){
  84. showError('请选择审核结果!');
  85. return;
  86. }*/
  87. this.FormUtil.onAudit(Ext.getCmp('sa_id').value);
  88. //this.FormUtil.onAudit(Ext.getCmp('va_id').value);
  89. }
  90. },
  91. 'erpResAuditButton': {
  92. afterrender: function(btn){
  93. var statu = Ext.getCmp('sa_statuscode');
  94. if(statu && statu.value != 'AUDITED'){
  95. btn.hide();
  96. }
  97. },
  98. click: function(btn){
  99. this.FormUtil.onResAudit(Ext.getCmp('sa_id').value);
  100. }
  101. },
  102. 'erpSubmitButton': {afterrender: function(btn){
  103. var statu = Ext.getCmp('sa_statuscode');
  104. if(statu && statu.value != 'ENTERING'){
  105. btn.hide();
  106. }
  107. },
  108. click: function(btn){
  109. /*var start=Ext.getCmp('va_startime').value,
  110. end=Ext.getCmp('va_endtime').value,
  111. organigerdate=Ext.getCmp('va_date').value;
  112. if(end.getTime()<start.getTime()){
  113. showError('开始时间不能大于结束时间!');
  114. return;
  115. } else if(start.getTime()<organigerdate.getTime()){
  116. showError('开始时间不能小于录入时间');
  117. return;
  118. } */
  119. this.FormUtil.onSubmit(Ext.getCmp('sa_id').value);
  120. }
  121. },
  122. 'erpResSubmitButton': {
  123. afterrender: function(btn){
  124. var statu = Ext.getCmp('sa_statuscode');
  125. if(statu && statu.value != 'COMMITED'){
  126. btn.hide();
  127. }
  128. },
  129. click: function(btn){
  130. this.FormUtil.onResSubmit(Ext.getCmp('sa_id').value);
  131. }
  132. } ,
  133. 'erpConfirmButton': {afterrender: function(btn){
  134. var statu = Ext.getCmp('sa_statuscode');
  135. if(statu && statu.value != 'AUDITED'){
  136. btn.hide();
  137. }
  138. },
  139. click: function(btn){
  140. me.onConfirm(Ext.getCmp('sa_id').value);
  141. }
  142. }
  143. });
  144. },
  145. getForm: function(btn){
  146. return btn.ownerCt.ownerCt;
  147. },
  148. onConfirm: function(id){
  149. var form = Ext.getCmp('form');
  150. Ext.Ajax.request({
  151. url : basePath + form.confirmUrl,
  152. params: {
  153. id: id,
  154. caller:caller
  155. },
  156. method : 'post',
  157. callback : function(options,success,response){
  158. //me.setLoading(false);
  159. var localJson = new Ext.decode(response.responseText);
  160. if(localJson.success){
  161. //audit成功后刷新页面进入可编辑的页面
  162. //auditSuccess(function(){
  163. window.location.reload();
  164. //});
  165. } else {
  166. if(localJson.exceptionInfo){
  167. var str = localJson.exceptionInfo;
  168. if(str.trim().substr(0, 12) == 'AFTERSUCCESS'){//特殊情况:操作成功,但是出现警告,允许刷新页面
  169. str = str.replace('AFTERSUCCESS', '');
  170. showMessage("提示", '确认成功');
  171. //auditSuccess(function(){
  172. window.location.reload();
  173. //});
  174. } else {
  175. showError(str);return;
  176. }
  177. }
  178. }
  179. }
  180. });
  181. }
  182. });