附: Ext打印::: gridpanel()方法:
doStatis : function ( ) {
var me = this ;
var kssj = new Date ( ) ;
if ( this . dateFieldStart) {
kssj = this . dateFieldStart. getValue ( ) ;
} ;
var jssj = new Date ( ) ;
if ( this . dateFieldEnd) {
jssj = this . dateFieldEnd. getValue ( ) ;
} ;
var r = phis. script. rmi. miniJsonRequestSync ( {
serviceId: "phis." + this . serviceId,
serviceAction: "statis" ,
body: {
startDate: kssj. format ( 'Y-m-d' ) + ' ' + '00:00:00' ,
endDate: jssj. format ( 'Y-m-d' ) + ' ' + '23:59:59' ,
}
} ) ;
console. warn ( r) ;
var jsonstore = new Ext. data. JsonStore ( {
data: r. json. body,
fields: [
'SJSL' ,
'ZHJE' ,
'ZJJE' ,
'ZFJE' ,
'QTYS' ,
'HBWC' ,
'STARTDATE' ,
'ENDDATE'
]
} ) ;
var column = new Ext. grid. ColumnModel ( {
columns: [ {
header: '总收费次数' ,
dataIndex: 'SJSL' ,
width: 100
} ,
{
header: '(开始)收费日期' ,
dataIndex: 'STARTDATE' ,
renderer: Ext. util. Format. dateRenderer ( 'Y-m-d' ) ,
width: 140
} ,
{
header: '(结束)收费日期' ,
dataIndex: 'ENDDATE' ,
renderer: Ext. util. Format. dateRenderer ( 'Y-m-d' ) ,
width: 150
} ,
{
header: '总帐户金额' ,
dataIndex: 'ZHJE' ,
width: 100
} ,
{
header: '总自费金额' ,
dataIndex: 'ZFJE' ,
width: 100
} ,
{
header: '总其他应收(医保)' ,
dataIndex: 'QTYS' ,
width: 140
} ,
{
header: '总计金额' ,
dataIndex: 'ZJJE' ,
width: 105
} ,
{
header: '总货币误差' ,
dataIndex: 'HBWC' ,
width: 100
}
]
} ) ;
var grid = new Ext. grid. GridPanel ( {
height: 470 ,
store: jsonstore,
colModel: column,
tbar: [ {
pressed: true ,
enableToggle: true ,
text: '打印' ,
id: 'print' ,
iconCls: 'printing' ,
handler: printGrid
} ] ,
} ) ;
var form = new Ext. form. FormPanel ( {
frame: true ,
url: 'abc' ,
title: '门诊收费结算汇总' ,
style: 'margin:6px' ,
items: [ grid] ,
} ) ;
var win = new Ext. Window ( {
title: "结算统计" ,
width: 990 ,
height: 600 ,
minimizable: true ,
maximizable: true ,
frame: true ,
constrain: true ,
buttonAlign: "center" ,
plain: true ,
items: form
} ) ;
win. show ( ) ;
function printGrid ( ) {
var tableStr = '<table width="100%" ><caption align="top"><h2>门诊收费统计汇总单<br></caption></table><table width="100%" border=1>' ;
var cm = grid. getColumnModel ( ) ; console. warn ( cm) ;
var colCount = cm. getColumnCount ( ) ; console. warn ( colCount) ;
var temp_obj = new Array ( ) ;
for ( var i = 0 ; i < colCount; i++ ) {
if ( cm. isHidden ( i) == true ) { } else {
temp_obj. push ( i) ;
}
}
tableStr = tableStr + '<tr><td>序号</td>' ;
for ( var i = 0 ; i < temp_obj. length; i++ ) {
tableStr = tableStr + '<td>' + cm. getColumnHeader ( temp_obj[ i] ) + '</td>' ;
}
tableStr = tableStr + '</tr>' ;
var store = grid. getStore ( ) ; console. warn ( store) ;
var recordCount = store. getCount ( ) ; console. warn ( recordCount) ;
for ( var i = 0 ; i < recordCount; i++ ) {
var r = store. getAt ( i) ;
tableStr = tableStr + '<tr><td>' + ( i + 1 ) + '</td>' ;
for ( var j = 0 ; j < temp_obj. length; j++ ) {
var dataIndex = cm. getDataIndex ( temp_obj[ j] ) ;
var tdValue = r. get ( dataIndex) ;
var rendererFunc = cm. getRenderer ( temp_obj[ j] ) ;
if ( rendererFunc != null ) {
tdValue = rendererFunc ( tdValue) ;
}
if ( tdValue == null ) {
tdValue = '' ;
}
tableStr = tableStr + '<td>' + tdValue + '</td>' ;
}
tableStr = tableStr + '</tr>' ;
}
tableStr = tableStr + '</table>' ;
var titleHTML = tableStr;
var newwin = window. open ( 'printer.jsp' , '' , '' ) ;
newwin. document. write ( titleHTML) ;
newwin. document. location. reload ( ) ;
newwin. print ( ) ;
newwin. close ( ) ;
}
} ,
} ) ;