PagingSent.js 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.oa.info.PagingSent', {
  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. 'oa.info.Viewport','common.datalist.GridPanel','common.datalist.Toolbar','oa.info.Forms',
  9. 'core.trigger.DbfindTrigger','core.form.ConDateField','oa.info.PagingGrid','core.form.FileField','core.form.HrOrgSelectField'
  10. ],
  11. init:function(){
  12. var me = this;
  13. this.control({
  14. 'checkbox[name=only_online]':{
  15. change:function(field,newvalue){
  16. var grid=Ext.getCmp('on-line');
  17. if(newvalue){
  18. grid.getStore().filter('ISONLINE',1);
  19. }else {
  20. grid.getStore().clearFilter(true);
  21. grid.getStore().load();
  22. }
  23. }
  24. },
  25. 'button[itemId=send]':{
  26. click:function(btn){
  27. me.showSendWin();
  28. }
  29. },
  30. 'button[id=unread]': {
  31. click: function(){
  32. var grid = Ext.getCmp('grid');
  33. var condition = 'pr_releaserid=' + em_uu + ' AND prd_status=-1';
  34. grid.getCount('PagingRelease', condition);
  35. grid.filterCondition = 'pr_releaserid=' + em_uu + ' AND prd_status=-1';
  36. }
  37. },
  38. 'button[id=read]': {
  39. click: function(){
  40. var grid = Ext.getCmp('grid');
  41. var condition = 'pr_releaserid=' + em_uu + ' AND prd_status=1';
  42. grid.getCount('PagingRelease', condition);
  43. grid.filterCondition = 'pr_releaserid=' + em_uu + ' AND prd_status=1';
  44. }
  45. },
  46. 'grid[id=on-line]':{
  47. 'activate':function(grid){
  48. grid.getStore().load();
  49. }
  50. },
  51. 'erpDatalistGridPanel':{
  52. 'activate':function(grid){
  53. grid.getColumnsAndStore(grid.caller,grid.defaultCondition);
  54. }
  55. },
  56. 'button[id=all]': {
  57. click: function(){
  58. var grid = Ext.getCmp('grid');
  59. var condition = 'pr_releaserid=' + em_uu;
  60. grid.getCount('PagingRelease', condition);
  61. grid.filterCondition = 'pr_releaserid=' + em_uu;
  62. }
  63. },
  64. 'button[itemId=refresh]':{
  65. click:function(btn){
  66. window.location.reload();
  67. }
  68. }
  69. });
  70. },
  71. showSendWin:function(){
  72. var me=this,win=Ext.getCmp('send-win');
  73. if(!win){
  74. win=new Ext.window.Window({
  75. height:500,
  76. title:'发送消息',
  77. width:800,
  78. layout: 'column',
  79. modal:true,
  80. buttonsAlign:'right',
  81. defaults:{
  82. columnWidth:1,
  83. margin:'2 5 2 5'
  84. },
  85. items: [{
  86. xtype:'HrOrgSelectfield',
  87. fieldLabel:'接收人',
  88. name:'man',
  89. id:'man',
  90. logic:'manid',
  91. secondname:'manid',
  92. allowBlank:false
  93. },{
  94. xtype:'hidden',
  95. id:'manid',
  96. name:'manid'
  97. },{
  98. xtype:'mfilefield',
  99. name:'pr_attach'
  100. },{
  101. xtype:'htmleditor',
  102. name:'context',
  103. height:200,
  104. allowBlank:false,
  105. value:''
  106. }],
  107. buttons:[{ xtype: 'button', text: '发送',itemId:'sendmsg',formBind: true,width:60,handler:me.sendMsg,scope:this},
  108. { xtype: 'button', text: '关闭',width:60,handler:function(btn){
  109. btn.ownerCt.ownerCt.close();
  110. }}]
  111. });
  112. }
  113. win.show();
  114. me.initSendInfo();
  115. },
  116. sendMsg:function(btn){
  117. var f=btn.ownerCt.ownerCt,mans=f.down('#manid').getValue(),context=f.down('htmleditor[name=context]'),me=this;
  118. var value=context.cleanHtml(context.getValue());
  119. if(!mans || mans==null || mans==''){
  120. alert('未选择任何消息接受人!');
  121. }else if( value.trim() == ""){
  122. alert('未填写任务消息内容!');
  123. }else {
  124. me.FormUtil.setLoading(true);
  125. Ext.Ajax.request({
  126. method:'post',
  127. url:basePath+"/oa/info/paging.action",
  128. params:{
  129. mans:Ext.getCmp('manid').getValue(),
  130. context:context.getValue()
  131. },
  132. callback:function(options,success,response){
  133. var localJson = new Ext.decode(response.responseText);
  134. me.FormUtil.setLoading(false);
  135. if(localJson.success){
  136. alert('发送消息成功!');
  137. f.close();
  138. }
  139. }
  140. });
  141. }
  142. },
  143. initSendInfo:function(){
  144. var tabP=Ext.ComponentQuery.query('tabpanel')[0],currentTab=tabP.getActiveTab();
  145. var selects=this.GridUtil.getGridSelected(currentTab);
  146. if(selects.length>0){
  147. var manids=new Array(),mans=new Array();
  148. Ext.Array.each(selects,function(item){
  149. manids.push("employee#"+item[currentTab.manidField]);
  150. mans.push('<font color="#4DB34D">[个人]</font>'+item[currentTab.manField]);
  151. });
  152. Ext.getCmp('man').setValue(mans.join(";"));
  153. Ext.getCmp('manid').setValue(manids.join(";"));
  154. }
  155. }
  156. });