KpiApply.js 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.hr.kpi.KpiApply', {
  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.KpiApply','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','core.trigger.MultiDbfindTrigger2',
  10. 'core.button.Audit','core.button.Close','core.button.Delete','core.button.Update','core.button.ResSubmit','hr.kpi.ApplyGrid','core.button.VoCreate','core.button.CheckKBIman',
  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','core.window.Msg'
  13. ],
  14. init:function(){
  15. var me = this;
  16. this.control({
  17. 'erpApplyGrid': {
  18. itemclick: this.onGridItemClick
  19. },
  20. 'multidbfindtrigger[name=kad_beman]': {
  21. beforetrigger:function(field){
  22. if(Ext.getCmp('ka_dpcode')&&Ext.getCmp('ka_dpcode').value){
  23. field.dbBaseCondition = "em_departmentcode='" + Ext.getCmp('ka_dpcode').value+"'";
  24. };
  25. }
  26. },
  27. 'erpSaveButton': {
  28. click: function(btn){
  29. var form = me.getForm(btn);
  30. if(Ext.getCmp(form.codeField).value == null || Ext.getCmp(form.codeField).value == ''){
  31. me.BaseUtil.getRandomNumber();//自动添加编号
  32. }
  33. //保存之前的一些前台的逻辑判定
  34. this.FormUtil.beforeSave(this);
  35. }
  36. },
  37. 'erpDeleteButton' : {
  38. click: function(btn){
  39. me.FormUtil.onDelete(Ext.getCmp('ka_id').value);
  40. }
  41. },
  42. 'erpUpdateButton': {
  43. click: function(btn){
  44. this.FormUtil.onUpdate(this);
  45. }
  46. },
  47. 'erpAddButton': {
  48. click: function(){
  49. me.FormUtil.onAdd('addKBIAssess', '新增考核申请', 'jsps/hr/kpi/kpiApply.jsp');
  50. }
  51. },'erpSubmitButton': {
  52. afterrender: function(btn){
  53. var status = Ext.getCmp('ka_statuscode');
  54. if(status && status.value != 'ENTERING'){
  55. btn.hide();
  56. }
  57. },
  58. click: function(btn){
  59. me.FormUtil.onSubmit(Ext.getCmp('ka_id').value);
  60. }
  61. },'erpResSubmitButton': {
  62. afterrender: function(btn){
  63. var status = Ext.getCmp('ka_statuscode');
  64. if(status && status.value != 'COMMITED'){
  65. btn.hide();
  66. }
  67. },
  68. click: function(btn){
  69. me.FormUtil.onResSubmit(Ext.getCmp('ka_id').value);
  70. }
  71. },
  72. 'erpAuditButton': {
  73. afterrender: function(btn){
  74. var status = Ext.getCmp('ka_statuscode');
  75. if(status && status.value != 'COMMITED'){
  76. btn.hide();
  77. }
  78. },
  79. click: function(btn){
  80. me.FormUtil.onAudit(Ext.getCmp('ka_id').value);
  81. }
  82. },
  83. 'erpResAuditButton': {
  84. afterrender: function(btn){
  85. var status = Ext.getCmp('ka_statuscode');
  86. if(status && status.value != 'AUDITED'){
  87. btn.hide();
  88. }
  89. },
  90. click: function(btn){
  91. me.FormUtil.onResAudit(Ext.getCmp('ka_id').value);
  92. }
  93. },
  94. 'erpCheckKBImanButton':{
  95. afterrender:function(btn){
  96. btn.setDisabled(true);
  97. },
  98. click: function(btn){
  99. var id=btn.ownerCt.ownerCt.ownerCt.items.items[1].selModel.selected.items[0].data["kad_id"];
  100. var formCondition="kad_id IS"+id;
  101. var linkCaller='KBIMAN!allow';
  102. var win = new Ext.window.Window({
  103. id : 'win',
  104. height : '90%',
  105. width : '95%',
  106. maximizable : true,
  107. buttonAlign : 'center',
  108. layout : 'anchor',
  109. items : [ {
  110. tag : 'iframe',
  111. frame : true,
  112. anchor : '100% 100%',
  113. layout : 'fit',
  114. html : '<iframe id="iframe_'+linkCaller+'" src="'+basePath+'jsps/hr/kbi/checkKBIAssess.jsp?_noc=1&whoami='+linkCaller+'&formCondition='+formCondition+'" height="100%" width="100%" frameborder="0" scrolling="auto"></iframe>'
  115. } ],
  116. listeners:{
  117. 'beforeclose':function(view ,opt){
  118. //grid 刷新一次
  119. var grid=Ext.getCmp('grid');
  120. var gridParam = {caller: caller, condition: gridCondition};
  121. grid.GridUtil.getGridColumnsAndStore(grid, 'common/singleGridPanel.action', gridParam, "");
  122. Ext.getCmp('checkKBIman').setDisabled(true);
  123. }
  124. }
  125. });
  126. win.show();
  127. }
  128. },
  129. 'erpCloseButton': {
  130. click: function(btn){
  131. me.FormUtil.beforeClose(me);
  132. }
  133. }
  134. });
  135. },
  136. onGridItemClick: function(selModel,record,me){//grid行选择
  137. this.GridUtil.onGridItemClick(selModel,record);
  138. /*var grid=selModel.ownerCt;
  139. var show=0;
  140. Ext.Array.each(grid.necessaryFields, function(field) {
  141. var fieldValue=record.data[field];
  142. if(fieldValue==undefined||fieldValue==""||fieldValue==null){
  143. show=1;
  144. return;
  145. }
  146. });
  147. if(show==1){
  148. Ext.getCmp('checkKBIman').setDisabled(true);
  149. }else {
  150. Ext.getCmp('checkKBIman').setDisabled(false);
  151. }*/
  152. },
  153. autoInsert:function(){
  154. var ka_detp=Ext.getCmp('ka_detp');
  155. if(ka_detp.value==''){
  156. return;
  157. }
  158. console.log(ka_detp.value);
  159. Ext.Ajax.request({
  160. url : basePath + 'hr/kbi/autoSaveKBIAssess.action',
  161. params: {ka_detp:ka_detp.value},
  162. method : 'post',
  163. callback : function(options,success,response){
  164. var localJson = new Ext.decode(response.responseText);
  165. if(localJson.success){
  166. saveSuccess(function(){
  167. //add成功后刷新页面进入可编辑的页面
  168. var value = localJson.ka_id;
  169. var formCondition = 'ka_id' + "IS" + value ;
  170. window.location.href = window.location.href + '?formCondition=' +
  171. formCondition+'&gridCondition=kad_kaidIS'+value;
  172. });
  173. } else if(localJson.exceptionInfo){
  174. var str = localJson.exceptionInfo;
  175. if(str.trim().substr(0, 12) == 'AFTERSUCCESS'){//特殊情况:操作成功,但是出现警告,允许刷新页面
  176. str = str.replace('AFTERSUCCESS', '');
  177. saveSuccess(function(){
  178. //add成功后刷新页面进入可编辑的页面
  179. var value = localJson.vr_id;
  180. var formCondition = 'ka_id' + "IS" + value ;
  181. window.location.href = window.location.href + '?formCondition=' +
  182. formCondition+'&gridCondition=kad_kaidIS'+value;
  183. });
  184. showError(str);
  185. } else {
  186. showError(str);
  187. return;
  188. }
  189. } else {
  190. showError(str);
  191. }
  192. }
  193. });
  194. },
  195. getForm: function(btn){
  196. return btn.ownerCt.ownerCt;
  197. }
  198. });