SourceGroup.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.hr.emplmana.SourceGroup', {
  3. extend : 'Ext.app.Controller',
  4. FormUtil : Ext.create('erp.util.FormUtil'),
  5. GridUtil : Ext.create('erp.util.GridUtil'),
  6. BaseUtil : Ext.create('erp.util.BaseUtil'),
  7. views : [ 'hr.emplmana.SourceGroup', 'core.form.Panel', 'core.grid.Panel2',
  8. 'core.button.Close','core.button.Update','core.button.Delete','core.button.CleanDetail',
  9. 'core.trigger.TextAreaTrigger','core.trigger.DbfindTrigger','core.form.YnField','core.trigger.DbfindTrigger'],
  10. init : function() {
  11. var me = this;
  12. this.control({
  13. 'erpFormPanel': {
  14. alladded: function(form){
  15. var grid = Ext.getCmp('grid');
  16. if(grid)
  17. me.resize(form, grid);
  18. }
  19. },
  20. 'erpGridPanel2': {
  21. itemclick: this.onGridItemClick,
  22. reconfigure: function(grid){
  23. var form = Ext.getCmp('form');
  24. if(form)
  25. me.resize(form, grid);
  26. }
  27. },
  28. /*'#ug_code': {
  29. afterrender: function(field){
  30. me.loadData(field.value);
  31. }
  32. },*/
  33. 'field[name=ug_code]':{
  34. aftertrigger:function(f){
  35. if(f.value != '' && f.value != null){
  36. f.setEditable(false);
  37. this.query();
  38. }
  39. }
  40. },
  41. 'erpUpdateButton' : {
  42. click: function(btn){
  43. this.FormUtil.onUpdate(this);
  44. }
  45. },
  46. 'erpCloseButton' : {
  47. click : function(btn) {
  48. me.FormUtil.beforeClose(me);
  49. }
  50. },
  51. 'erpCleanDetailButton':{
  52. click: function(btn){
  53. me.cleanDetail();
  54. }
  55. }
  56. });
  57. },
  58. cleanDetail : function() {
  59. var grid = Ext.getCmp('grid');
  60. var ug_id = Ext.getCmp('ug_id').value;
  61. var ug_code = Ext.getCmp('ug_code').value;
  62. if(ug_code == null || ug_code ==''){
  63. showError("组别编号不允许为空");
  64. return;
  65. }
  66. grid.setLoading(true);
  67. Ext.Ajax.request({
  68. url : basePath + 'hr/employee/deleteSourceGroupAllDetail.action',
  69. params : {
  70. caller:caller,
  71. id : ug_id
  72. },
  73. method : 'post',
  74. callback : function(options, success, response) {
  75. grid.setLoading(false);
  76. var localJson = new Ext.decode(response.responseText);
  77. if (localJson.success) {
  78. showMessage('提示', '清除明细成功!', 1000);
  79. //update成功后刷新页面进入可编辑的页面
  80. window.location.reload();
  81. } else if (localJson.exceptionInfo) {
  82. showError(localJson.exceptionInfo);
  83. return;
  84. }
  85. }
  86. });
  87. },
  88. query: function(){
  89. var ug_code = Ext.getCmp('ug_code').value;
  90. var grid = Ext.getCmp('grid');
  91. var condition = "";
  92. if(ug_code && ug_code != "" && ug_code != null){
  93. condition = "ug_code='"+ug_code+"'";
  94. }else{
  95. showError("组别编号不允许为空!");
  96. return;
  97. }
  98. var param = {
  99. caller : caller,
  100. condition : condition
  101. };
  102. grid.GridUtil.loadNewStore(grid, param);
  103. },
  104. onGridItemClick : function(selModel, record) {//grid行选择
  105. this.GridUtil.onGridItemClick(selModel, record);
  106. },
  107. getForm : function(btn) {
  108. return btn.ownerCt.ownerCt;
  109. },
  110. resize: function(form, grid){
  111. if(!this.resized && form && grid && form.items.items.length > 0){
  112. var height = window.innerHeight,
  113. fh = form.getEl().down('.x-panel-body>.x-column-inner').getHeight();
  114. form.setHeight(70 + fh);
  115. grid.setHeight(height - fh - 70);
  116. this.resized = true;
  117. }
  118. }
  119. /*loadData: function(value) {
  120. var me = this;
  121. me.FormUtil.getFieldsValues("CS$USERRESOURCE left join source on ur_resourcecode=sc_code left join CS$USERGROUP on ur_groupcode = ug_code",
  122. 'sc_id,sc_code,sc_name', "ur_groupcode='" +value+"' order by sc_id asc", [], function(data){
  123. var datas = Ext.JSON.decode(data), _datas = [];
  124. var grid = Ext.getCmp('grid');
  125. if(datas.length > 0) {
  126. var keys = Ext.Object.getKeys(datas[0]);
  127. Ext.Array.each(datas, function(data){
  128. var temp = Ext.Object.getKeys(data);
  129. if(temp.length > keys.length){
  130. keys = temp;
  131. }
  132. });
  133. Ext.Array.each(datas, function(d){
  134. var obj = {};
  135. Ext.Array.each(keys, function(key){
  136. obj[key.toLowerCase()] = d[key];
  137. });
  138. _datas.push(obj);
  139. });
  140. }
  141. _datas.length > 0 && grid.store.loadData(_datas);
  142. grid.store.each(function(){
  143. this.dirty = true;
  144. });
  145. });
  146. }*/
  147. });