KpiPosition.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.hr.kpi.KpiPosition', {
  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.kpi.KpiPosition','core.form.Panel','core.form.FileField','core.form.MultiField','core.form.CheckBoxGroup','core.trigger.MultiDbfindTrigger',
  9. 'core.button.Save','core.button.Add','core.button.Submit','core.button.Print','core.button.Upload','core.button.ResAudit','hr.kpi.PositionGrid',
  10. 'core.button.Audit','core.button.Close','core.button.Delete','core.button.Update','core.button.ResSubmit','core.grid.Panel2','core.grid.YnColumn',
  11. 'core.button.TurnCustomer','core.button.Flow','core.button.DownLoad','core.button.Scan','common.datalist.Toolbar','core.button.Confirm',
  12. 'core.trigger.DbfindTrigger','core.trigger.TextAreaTrigger','core.form.YnField','core.trigger.AutoCodeTrigger','core.trigger.AddDbfindTrigger'
  13. ],
  14. init:function(){
  15. var me = this;
  16. this.control({
  17. 'hidden[name=kp_positionid]':{
  18. change:function(field){
  19. var grid = Ext.getCmp('positionGrid');
  20. var gridParam = {caller: caller, condition: "kp_positionid="+field.value};
  21. grid.loadNewStore(grid,'hr/kpi/singleGridPanel.action',gridParam,"");
  22. }
  23. },
  24. 'erpSaveButton': {
  25. click: function(btn){
  26. me.save();
  27. }
  28. },
  29. 'erpDeleteButton' : {
  30. click: function(btn){
  31. me.FormUtil.onDelete(Ext.getCmp('kr_id').value);
  32. }
  33. },
  34. 'erpUpdateButton': {
  35. click: function(btn){
  36. this.FormUtil.onUpdate(this);
  37. }
  38. },
  39. 'erpAddButton': {
  40. click: function(){
  41. me.FormUtil.onAdd('addKpiRule', '新增考核规则定义', 'jsps/hr/kpi/kpiRule.jsp');
  42. }
  43. },'erpSubmitButton': {
  44. afterrender: function(btn){
  45. var status = Ext.getCmp('kr_statuscode');
  46. if(status && status.value != 'ENTERING'){
  47. btn.hide();
  48. }
  49. },
  50. click: function(btn){
  51. me.FormUtil.onSubmit(Ext.getCmp('kr_id').value);
  52. }
  53. },'erpResSubmitButton': {
  54. afterrender: function(btn){
  55. var status = Ext.getCmp('kr_statuscode');
  56. if(status && status.value != 'COMMITED'){
  57. btn.hide();
  58. }
  59. },
  60. click: function(btn){
  61. me.FormUtil.onResSubmit(Ext.getCmp('kr_id').value);
  62. }
  63. },
  64. 'erpAuditButton': {
  65. afterrender: function(btn){
  66. var status = Ext.getCmp('kr_statuscode');
  67. if(status && status.value != 'COMMITED'){
  68. btn.hide();
  69. }
  70. },
  71. click: function(btn){
  72. me.FormUtil.onAudit(Ext.getCmp('kr_id').value);
  73. }
  74. },
  75. 'erpResAuditButton': {
  76. afterrender: function(btn){
  77. var status = Ext.getCmp('kr_statuscode');
  78. if(status && status.value != 'AUDITED'){
  79. btn.hide();
  80. }
  81. },
  82. click: function(btn){
  83. me.FormUtil.onResAudit(Ext.getCmp('kr_id').value);
  84. }
  85. },
  86. 'erpCloseButton': {
  87. click: function(btn){
  88. me.FormUtil.beforeClose(me);
  89. }
  90. }
  91. });
  92. },
  93. getForm: function(btn){
  94. return btn.ownerCt.ownerCt;
  95. },
  96. save:function(){
  97. var form=Ext.getCmp('form');
  98. var r = form.getValues();
  99. var grid = Ext.getCmp('positionGrid');
  100. var s = grid.getStore().data.items;
  101. var jsonGridData=new Array();
  102. for(var i=0;i<s.length;i++){
  103. var data=s[i].data;
  104. if(data.isUsed){
  105. jsonGridData.push(Ext.JSON.encode(data));
  106. }
  107. }
  108. var params=new Object();
  109. params.formStore = unescape(Ext.JSON.encode(r));
  110. params.param = unescape(jsonGridData.toString());
  111. Ext.Ajax.request({
  112. url : basePath + form.saveUrl,
  113. params : params,
  114. method : 'post',
  115. callback : function(options,success,response){
  116. var localJson = new Ext.decode(response.responseText);
  117. if(localJson.exceptionInfo){
  118. var str = localJson.exceptionInfo;
  119. showError(str);
  120. }else if(localJson.success){
  121. saveSuccess(function(){
  122. var gridParam = {caller: caller, condition: "kp_positionid="+Ext.getCmp('kp_positionid').value};
  123. grid.loadNewStore(grid,'hr/kpi/singleGridPanel.action',gridParam,"");
  124. });
  125. }
  126. }
  127. });
  128. }
  129. });