KBIAssess.js 7.4 KB

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