Loganalyse.js 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.plm.project.Loganalyse', {
  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:[
  8. 'plm.project.Loganalyse','plm.project.ProjectTreePanel','common.datalist.Toolbar','plm.project.LogGrid','core.form.ConDateField',
  9. 'plm.project.AnalyseForm'
  10. ],
  11. init:function(){
  12. var menu =null;
  13. this.control({
  14. 'erpProjectTreePanel': {
  15. itemmousedown: function(selModel, record){
  16. if(record.get('leaf')){
  17. var id=record.get('id');
  18. condition=" wr_prjid='"+id+"'";
  19. Ext.getCmp('grid').getColumnsAndStore(condition);
  20. }
  21. },
  22. afterrender:function(tree){
  23. }
  24. },
  25. 'datepicker':{
  26. afterrender:function(picker){
  27. }
  28. },
  29. 'condatefield':{
  30. afterrender:function(field){
  31. Ext.getCmp('recorddate_to').setValue(new Date());
  32. Ext.getCmp('recorddate_from').setValue('2012-12-24');
  33. }
  34. },
  35. /*'datefield[name=recorddate_from]':{
  36. change:function(field){
  37. var start=Ext.getCmp('recorddate_from').getValue();
  38. var end=Ext.getCmp('recorddate_to').getValue();
  39. var picker=Ext.getCmp('picker');
  40. for(var i=0; i < picker.numDays; ++i) {
  41. var cell=picker.cells.elements[i];
  42. var value=cell.firstChild.dateValue;
  43. if(end!=null&&value >= start.getTime()&&value < end.getTime()) {
  44. cell.className = picker.baseCls + '-today';
  45. }else{
  46. cell.className= picker.baseCls + '-disabled';
  47. }
  48. }
  49. }
  50. },
  51. 'datefield[name=recorddate_to]':{
  52. change:function(field){
  53. var start=Ext.getCmp('recorddate_from').getValue();
  54. var end=Ext.getCmp('recorddate_to').getValue();
  55. var picker=Ext.getCmp('picker');
  56. for(var i=0; i < picker.numDays; ++i) {
  57. var cell=picker.cells.elements[i];
  58. var value=cell.firstChild.dateValue;
  59. if(start!=null&&value >= start.getTime()&&value < end.getTime()) {
  60. cell.className = picker.baseCls + '-today';
  61. }else{
  62. cell.className= picker.baseCls + '-disabled';
  63. }
  64. }
  65. }
  66. }, */
  67. 'button[id=scan]':{
  68. click:function(btn){
  69. var start=Ext.getCmp('recorddate_from').getValue();
  70. startdate=start==''?'2012-12-24':start;
  71. var end=Ext.getCmp('recorddate_to').getValue();
  72. enddate=end==''?Ext.Date.format(new Date(),'Y-m-d'):end;
  73. Ext.getCmp('grid').getColumnsAndStore(condition,startdate,enddate);
  74. }
  75. },
  76. 'erpLogGridPanel': {
  77. itemclick: function(selModel, record,el,num){//grid行选择
  78. if(record.data['dvalue']==0) return;
  79. var emid=record.data['id'],
  80. startdate=record.data['startdate'],
  81. enddate=record.data['enddate'],
  82. recorder=record.data['name'];
  83. var data=this.getData(emid,recorder,startdate,enddate);
  84. var store = Ext.create('Ext.data.Store', {
  85. autoLoad:true,
  86. fields:[{name:'name',type:'string'},{name:'date',type:'date',format:'Y-m-d'}, {name:'type',type:'string'}],
  87. data: data
  88. });
  89. if(menu==null){
  90. menu= Ext.create('Ext.menu.Menu', {
  91. async:false,
  92. id: 'mainMenu',
  93. ownerCt : this.ownerCt,
  94. renderTo:Ext.getBody(),
  95. width:'340',
  96. style: {
  97. overflow: 'visible',
  98. },
  99. items: [{
  100. width:340,
  101. xtype:'grid',
  102. columnLines:true,
  103. id:'smallgrid',
  104. height:200,
  105. buttonAlign:'center',
  106. store:store,
  107. bodyStyle: 'background:#EEE5DE; padding:0px;',
  108. columns: [{ header: '员工名称', dataIndex: 'name' ,cls :'x-grid-header-1'},
  109. { header: '记录日期', dataIndex: 'date', flex: 1 ,cls :'x-grid-header-1',format:'Y-m-d',xtype:'datecolumn'},
  110. { header: '备注', dataIndex: 'type',cls :'x-grid-header-1' },
  111. // { header: '备注', dataIndex: 'remark',cls :'x-grid-header-1' }
  112. ],
  113. dockedItems: [{
  114. buttonAlign:'center',
  115. xtype: 'toolbar',
  116. dock: 'bottom',
  117. style: 'background:#EEE9BF; padding:0px;',
  118. items: [{ xtype: 'button',
  119. text: '关闭',
  120. iconCls: 'x-button-icon-close',
  121. style :'margin-left:130px',
  122. handler:function(btn){
  123. Ext.getCmp('mainMenu').hide();
  124. }
  125. }]
  126. }],
  127. }]
  128. });
  129. }
  130. Ext.getCmp('smallgrid').getStore().loadData(data);
  131. menu.alignTo(el, 'tl-bl?',[280, 0]);
  132. menu.show();
  133. },
  134. itemdblclick:function(){
  135. }
  136. }
  137. });
  138. },
  139. getData:function(emid,recorder,startdate,enddate){
  140. var data=null;
  141. Ext.Ajax.request({
  142. url : basePath + "plm/log/Smallgrid.action",
  143. params:{
  144. startdate:startdate,
  145. enddate:enddate,
  146. emid:emid,
  147. recorder:recorder
  148. },
  149. async:false,
  150. method : 'get',
  151. callback : function(options,success,response){
  152. var rs = new Ext.decode(response.responseText);
  153. if(rs.exceptionInfo){
  154. showError(rs.exceptionInfo);return;
  155. }
  156. else if(rs.success){
  157. data=rs.data;
  158. }
  159. }
  160. });
  161. return data;
  162. }
  163. });