Account.js 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.hr.emplmana.Account', {
  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.emplmana.Account','core.form.Panel','core.button.CopyAll',
  9. 'core.button.Save','core.button.Close','core.grid.Panel2', 'core.toolbar.Toolbar', 'core.grid.YnColumn',
  10. 'core.button.Update','core.form.YnField','core.button.ResAudit','oa.doc.ItemSelector',
  11. 'core.button.Audit','core.button.Submit','core.button.ResSubmit','core.form.HrOrgSelectField',
  12. 'core.trigger.TextAreaTrigger','core.trigger.DbfindTrigger'
  13. ],
  14. init:function(){
  15. var me = this;
  16. this.control({
  17. 'erpCloseButton': {
  18. click: function(btn){
  19. this.FormUtil.beforeClose(this);
  20. }
  21. },
  22. 'erpUpdateButton': {
  23. click: function(btn){
  24. this.FormUtil.onUpdate(this);
  25. }
  26. },
  27. 'erpGridPanel2': {
  28. itemclick: this.GridUtil.onGridItemClick
  29. },
  30. 'erpSubmitButton': {
  31. afterrender: function(btn){
  32. var status = Ext.getCmp('em_statuscode');
  33. if(status && status.value != 'ENTERING'){
  34. btn.hide();
  35. }
  36. },
  37. click: function(btn){
  38. me.FormUtil.onSubmit(Ext.getCmp('em_id').value);
  39. }
  40. },
  41. 'erpResSubmitButton': {
  42. afterrender: function(btn){
  43. var status = Ext.getCmp('em_statuscode');
  44. if(status && status.value != 'COMMITED'){
  45. btn.hide();
  46. }
  47. },
  48. click: function(btn){
  49. me.FormUtil.onResSubmit(Ext.getCmp('em_id').value);
  50. }
  51. },
  52. 'erpCopyButton':{
  53. click: function(btn){
  54. var win = Ext.widget('window', {
  55. title: '<div align="center" class="WindowTitle">选择对象</div>',
  56. modal: true,
  57. width:'80%',
  58. height:'90%',
  59. layout:'border',
  60. requires:['erp.view.oa.doc.ItemSelector'],
  61. items:[{
  62. region:'center',
  63. layout:'border',
  64. items:[{
  65. region:'north',
  66. xtype:'form',
  67. bodyPadding: 10,
  68. layout:'column',
  69. bodyStyle:'background:#fafafa;',
  70. items:[{
  71. xtype:'textfield',
  72. margin:'0 0 0 20',
  73. fieldLabel:'快速搜索',
  74. labelStyle:'font-weight:bold;',
  75. columnWidth:0.8
  76. },{
  77. xtype:'button',
  78. id:'search',
  79. text:'搜索',
  80. cls:'button1 pill',
  81. style:'margin-left:5px;',
  82. width:60,
  83. handler:function(btn){
  84. btn.setDisabled(true);
  85. var likestring=btn.ownerCt.items.items[0].value;
  86. if(!likestring) {
  87. showMessage('提示','请输入需要搜索的信息!',1000);
  88. btn.setDisabled(false);
  89. return;
  90. }
  91. Ext.Ajax.request({//查询数据
  92. url : basePath + 'common/ProcessQueryPersons.action',
  93. params:{
  94. likestring:likestring
  95. },
  96. callback : function(options,success,response){
  97. var res = new Ext.decode(response.responseText);
  98. if(res.data){
  99. Ext.getCmp('itemselector-field').fromField.store.loadData(res.data);
  100. btn.setDisabled(false);
  101. } else if(res.exceptionInfo){
  102. showError(res.exceptionInfo);
  103. }
  104. }
  105. });
  106. }
  107. }]
  108. },{
  109. region:'center',
  110. xtype: 'itemselector',
  111. anchor: '100%',
  112. id: 'itemselector-field',
  113. displayField: 'text',
  114. valueField: 'value',
  115. allowBlank: false,
  116. msgTarget: 'side'
  117. }],
  118. buttonAlign:'center',
  119. buttons:['->',{
  120. cls:'button1 pill',
  121. style:'margin-left:5px;',
  122. text:'确认',
  123. scope:this,
  124. handler:function(btn){
  125. var itemselector=Ext.getCmp('itemselector-field');
  126. var value=itemselector.getRawValue();
  127. if(value.length<1){
  128. showMessage('提示','选择需要设置对象',1000);
  129. }else {
  130. me.copySettings(value,Ext.getCmp('em_id').value);
  131. btn.ownerCt.ownerCt.ownerCt.close();
  132. }
  133. }
  134. },{
  135. cls:'button1 pill',
  136. style:'margin-left:5px;',
  137. text:'关闭',
  138. handler:function(btn){
  139. btn.ownerCt.ownerCt.ownerCt.close();
  140. }
  141. },'->']
  142. },{
  143. region:'west',
  144. width:'40%',
  145. xtype:'erpOrgTreePanel',
  146. bodyStyle:'background:#fafafa;'
  147. }]
  148. });
  149. win.show();
  150. }
  151. },
  152. 'erpAuditButton': {
  153. afterrender: function(btn){
  154. var status = Ext.getCmp('em_statuscode');
  155. if(status && status.value != 'COMMITED'){
  156. btn.hide();
  157. }
  158. },
  159. click: function(btn){
  160. me.FormUtil.onAudit(Ext.getCmp('em_id').value);
  161. }
  162. },
  163. 'erpResAuditButton': {
  164. afterrender: function(btn){
  165. var status = Ext.getCmp('em_statuscode');
  166. if(status && status.value != 'AUDITED'){
  167. btn.hide();
  168. }
  169. },
  170. click: function(btn){
  171. me.FormUtil.onResAudit(Ext.getCmp('em_id').value);
  172. }
  173. },
  174. 'field[name=em_password]': {
  175. afterrender: function(f) {
  176. f.el.dom.getElementsByTagName('input')[0].type = "password";
  177. }
  178. },
  179. 'dbfindtrigger[name=es_field]': {
  180. focus: function(t) {
  181. t.setHideTrigger(false);
  182. t.setReadOnly(false);
  183. var record = Ext.getCmp('grid').selModel.getLastSelected();
  184. var caller = record.data['es_pagecaller'];
  185. var pagekind = record.data['es_kind'];
  186. if (caller == null || caller == '') {
  187. showError("请选选择关联的页面CALLER!");
  188. t.setHideTrigger(true);
  189. t.setReadOnly(true);
  190. } else {
  191. t.dbBaseCondition = "dld_caller='" + caller + "'";
  192. }
  193. if(pagekind=='batchdeal'){
  194. t.dbfind='DetailGrid|dg_field';
  195. t.dbBaseCondition="dg_caller='"+caller+"'";
  196. }
  197. }
  198. },
  199. 'dbfindtrigger[name=es_pagecaller]': {
  200. focus: function(t) {
  201. t.setHideTrigger(false);
  202. t.setReadOnly(false);
  203. var record = Ext.getCmp('grid').selModel.getLastSelected();
  204. var pagekind = record.data['es_kind'];
  205. if(pagekind=='batchdeal')
  206. t.dbfind='Form|fo_caller';
  207. }
  208. }
  209. });
  210. },
  211. getForm: function(btn){
  212. return btn.ownerCt.ownerCt;
  213. },
  214. copySettings:function(value,emid){
  215. var me=this;
  216. this.FormUtil.setLoading(true);
  217. Ext.Ajax.request({
  218. url : basePath + 'hr/emplmana/copyRelativeSettings.action',
  219. params : {
  220. toobjects:value.join(";"),
  221. fromemid:emid
  222. },
  223. async:false,
  224. method : 'post',
  225. callback : function(options,success,response){
  226. me.FormUtil.setLoading(false);
  227. var localJson = new Ext.decode(response.responseText);
  228. if(localJson.success){
  229. showMessage('提示','复制成功',1000);
  230. } else if(localJson.exceptionInfo){
  231. showError(localJson.exceptionInfo);
  232. } else{
  233. showMessage('提示','复制失败',1000);
  234. }
  235. }
  236. });
  237. }
  238. });