附: 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();
}
},
});