PayAccount.js 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.hr.wage.PayAccount', {
  3. extend: 'Ext.app.Controller',
  4. FormUtil: Ext.create('erp.util.FormUtil'),
  5. BaseUtil: Ext.create('erp.util.BaseUtil'),
  6. views: ['hr.wage.PayAccount', 'core.button.Confirm', 'core.button.Close', 'core.form.MonthDateField','core.form.Panel','core.form.FileField',
  7. 'core.form.MultiField','core.form.CheckBoxGroup','core.trigger.MultiDbfindTrigger',
  8. 'core.button.Save','core.button.Add','core.button.Submit','core.button.Print','core.button.Upload','core.button.ResAudit',
  9. 'core.button.Audit','core.button.Close','core.button.Delete','core.button.Update','core.button.ResSubmit','core.grid.Panel2','core.grid.YnColumn',
  10. 'core.button.TurnCustomer','core.button.Flow','core.button.DownLoad','core.button.Scan','common.datalist.Toolbar','core.button.Confirm',
  11. 'core.trigger.DbfindTrigger','core.trigger.TextAreaTrigger','core.form.YnField','core.trigger.AutoCodeTrigger','core.trigger.AddDbfindTrigger'],
  12. init: function() {
  13. var me = this;
  14. this.control({
  15. 'erpCloseButton': {
  16. click: function(btn) {
  17. me.FormUtil.onClose();
  18. }
  19. },
  20. 'erpConfirmButton': {
  21. click: function(btn) {
  22. this.confirm();
  23. }
  24. },
  25. 'monthdatefield': {
  26. afterrender: function(f) {
  27. this.getCurrentMonth(f, "MONTH-A");
  28. }
  29. }
  30. });
  31. },
  32. getForm: function(btn) {
  33. return btn.ownerCt.ownerCt;
  34. },
  35. confirm: function() {
  36. var me = this;
  37. Ext.MessageBox.confirm('提示', '确定要计算薪资数据吗?',
  38. function(btn) {
  39. if (btn == 'yes') {
  40. var params = new Object();
  41. params.formStore = unescape(escape(Ext.JSON.encode(Ext.getCmp('form').getValues())));
  42. me.FormUtil.setLoading(true);
  43. Ext.Ajax.request({
  44. url: basePath + "hr/wage/PayAccount.action",
  45. params: params,
  46. method: 'post',
  47. timeout: 1200000,
  48. callback: function(options, success, response) {
  49. me.FormUtil.setLoading(false);
  50. var localJson = new Ext.decode(response.responseText);
  51. if (localJson.success) {
  52. Ext.Msg.alert("提示", "操作成功!");
  53. window.location.reload();
  54. } else {
  55. if (localJson.exceptionInfo) {
  56. var str = localJson.exceptionInfo;
  57. if (str.trim().substr(0, 12) == 'AFTERSUCCESS') { //特殊情况:操作成功,但是出现警告,允许刷新页面
  58. str = str.replace('AFTERSUCCESS', '');
  59. showError(str);
  60. postSuccess(function() {
  61. window.location.reload();
  62. });
  63. } else {
  64. showError(str);
  65. return;
  66. }
  67. }
  68. }
  69. }
  70. });
  71. }
  72. });
  73. },
  74. getCurrentMonth: function(f, type) {
  75. Ext.Ajax.request({
  76. url: basePath + 'fa/getMonth.action',
  77. params: {
  78. type: type
  79. },
  80. callback: function(opt, s, r) {
  81. var rs = Ext.decode(r.responseText);
  82. if (rs.data) {
  83. f.setValue(rs.data.PD_DETNO);
  84. }
  85. }
  86. });
  87. }
  88. });