PrintPDF.js 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /**
  2. * 打印
  3. * 调用浏览器打印方法
  4. */
  5. Ext.define('erp.view.core.button.PrintPDF',{
  6. id:'printpdf',
  7. extend: 'Ext.Button',
  8. alias: 'widget.erpPrintPDFButton',
  9. iconCls: 'x-button-icon-print',
  10. cls: 'x-btn-gray',
  11. text: $I18N.common.button.erpPrintButton,
  12. style: {
  13. marginLeft: '10px'
  14. },
  15. width: 60,
  16. initComponent : function(){
  17. this.addEvents({
  18. 'beforePrint': true
  19. });
  20. this.callParent(arguments);
  21. },
  22. listeners: {
  23. click:function(btn){
  24. var me=this;
  25. me.fireEvent('beforePrint');//可在此事件中隐藏不想打印的字段
  26. var form=btn.ownerCt.ownerCt;
  27. var keyField=form.fo_keyField;
  28. var title=form.title+Ext.getCmp(keyField).value;
  29. Ext.each(btn.ownerCt.items.items,function(b){
  30. b.hide();
  31. });
  32. var id1=btn.ownerCt.ownerCt.ownerCt.id;
  33. //调整宽度
  34. if(document.getElementById(id1)){
  35. document.getElementById(id1).style.height='auto';
  36. document.getElementById(id1+'-body').style.height='auto';
  37. }
  38. document.getElementById('form').style.height='auto';
  39. document.getElementById('form-body').style.height='auto';
  40. var item_f=Ext.getCmp('form').items.items;
  41. //赋值
  42. Ext.each(item_f,function(item){
  43. if(item.xtype=='combo'||item.xtype=='erpYnField'){
  44. document.getElementById(item.name+'-bodyEl').getElementsByTagName('input')[1].setAttribute("value",item.rawValue);
  45. }
  46. if(item.xtype=='textfield'||item.xtype=='numberfield'||item.xtype=='dbfindtrigger'){
  47. document.getElementById(item.name+'-bodyEl').getElementsByTagName('input')[0].setAttribute("value",item.value);
  48. }
  49. if(item.xtype=='datefield'){
  50. document.getElementById(item.name+'-bodyEl').getElementsByTagName('input')[0].setAttribute("value",item.rawValue);
  51. }
  52. if(item.xtype=='textareafield'){
  53. document.getElementById(item.name+'-bodyEl').getElementsByTagName('textarea')[0].innerHTML=item.rawValue;
  54. }
  55. if(item.xtype=='multifield'&&item.logic){
  56. document.getElementById(item.name+'-bodyEl').getElementsByTagName('input')[0].setAttribute("value",item.value);
  57. document.getElementById(item.logic+'-bodyEl').getElementsByTagName('input')[0].setAttribute("value",Ext.getCmp(item.logic).value);
  58. }
  59. });
  60. if(form.xtype=='erpFormPanel2'){
  61. var win_print=window.open(basePath+"jsps/opensys/print.jsp?title="+ title, "_blank",'');
  62. }else{
  63. var win_print=window.open(basePath+"jsps/print.jsp?title="+ title, "_blank",'');
  64. }
  65. }
  66. }
  67. });