引入文件,不全
<link rel="stylesheet" type="text/css" href="css/dhtmlxgrid.css"/>
<link rel="stylesheet" type="text/css" href="css/dhtmlxgrid_dhx_custom.css"/>
<link rel="stylesheet" type="text/css" href="js/jquery.pagination/pagination.css"/>
<script type="text/javascript" src="js/gl/dhtmlxcommon.js"></script>
<script type="text/javascript" src="js/gl/dhtmlxgrid.js"></script>
<script type="text/javascript" src="js/gl/dhtmlxgridcell.js"></script>
<script type="text/javascript" src="js/gl/jquery-1.6.1.js"></script>
<script type="text/javascript" src="js/gl/jquery.blockUI.js"></script>
<script type="text/javascript" src="js/jquery.pagination/jquery.pagination.js"></script>
jsp内容:
<div id="mainDiv" class="exm_l3" style="margin-top:-5px;height:260px;padding:5px 10px 0px 10px">
<div id="gridbox" style="width:99.7%;height:220px;border:1px solid white"></div>
<script>
var mygrid = new dhtmlXGridObject('gridbox');
mygrid.setImagePath("imgs/");
mygrid.setHeader("序号,病人姓名,就诊日期,主诊断,症状,主诉,科室,医生,血压(mmHg),体温(℃)");
mygrid.setInitWidths("40,70,100,260,*,200,80,70,90,70");
mygrid.setColTypes("ro,ro,ro,ro,ro,ro,ro,ro,ro,ro");
mygrid.setColAlign("center,center,center,left,left,left,center,center,center,center");
mygrid.setSkin("dhx_custom");
mygrid.setColumnHidden(5,true);
mygrid.init();
mygrid.attachEvent("onRowDblClicked",clinicDetailInfo);
</script>
<div id="pageDiv" style="position: relative; top:8px;left:5px;float:right;"></div>
</div>
<input class="btn01" type="button" value="查 询" οnclick="clinicQuantityCount()"/>
js内容
var pageSize=10;
function clinicQuantityCount(){
//记录查询条件
deptCode=$("#deptCode").val();
doctorId=$("#doctorId").val();
searchStartDate=$("#searchStartDate").val();
searchEndDate=$("#searchEndDate").val();
if(searchStartDate!=""&&!/^[1-9][0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/.test(searchStartDate)){
showError("开始时间输入有误");
return;
}
if(searchEndDate!=""&&!/^[1-9][0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/.test(searchEndDate)){
showError("结束时间输入有误");
return;
}
$.ajax({
url:"clinicQuantity/clinicQuantityCount.htm",
type:"post",
data:"deptCode="+deptCode+"&doctorId="+doctorId+"&searchStartDate="+searchStartDate+"&searchEndDate="+searchEndDate+"&time="+(new Date()).valueOf(),
error:function() {
showError("获取数据失败");
},
success:function(reply) {
if(reply=="fail") {
showError("获取数据失败");
}else{
$("#sign").html("查询结果");
$("#result").html("("+reply+"条)");
$("#gridbox").css("display","block");
$("#pageDiv").css("display","block");
$("#dataTable").css("display","none");
$("#pageDiv").pagination(parseInt(reply), {
callback: clinicQuantityData,
items_per_page: pageSize, //显示条数
prev_text: '上一页', //上一页按钮里text
next_text: '下一页', //下一页按钮里text
num_display_entries:8, //连续分页主体部分分页条目数
num_edge_entries: 2 //两侧首尾分页条目数
});
}
}
});
}
function clinicQuantityData(index, jq){
$.ajax({
url:"clinicQuantity/clinicQuantityData.htm",
type:"post",
data:"curPage="+(index+1)+"&pageSize="+pageSize+"&deptCode="+deptCode+"&doctorId="+doctorId+"&searchStartDate="+searchStartDate+"&searchEndDate="+searchEndDate+"&time="+(new Date()).valueOf(),
error:function() {
showError("获取数据失败");
},
success:function(reply) {
if(reply=="fail") {
showError("获取数据失败");
}else{
var jsons=eval("("+reply+")");
mygrid.clearAll();
for(var i=0;i<jsons.length;i++){
var symptoms=jsons[i].symptoms==null?null:jsons[i].symptoms.split("!@#").join(",").substring(0,jsons[i].symptoms.split("!@#").join(",").length-1);
mygrid.addRow(
jsons[i].dtmainid,
[
(index*pageSize)+i+1,
jsons[i].patname,
jsons[i].clcdatestr,
jsons[i].diagname,
symptoms,
jsons[i].chiefcomplaint,
jsons[i].deptname,
jsons[i].doctorname,
(jsons[i].dbp==null?"":jsons[i].dbp)+"/"+(jsons[i].sbp==null?"":jsons[i].sbp),
(jsons[i].temperature==null?"/":jsons[i].temperature)
],
i
);
}
//水平滚动条控制
if($("#gridbox").find(".objbox")[0].scrollHeight>parseInt($("#gridbox").find(".objbox")[0].style.height)){
//mygrid.setColWidth(6,"104");
}else{
//mygrid.setColWidth(6,"121");
}
}
}
});
return false;
}
后台java内容:
@RequestMapping(value="/clinicQuantityCount")
public void clinicQuantityCount(HttpServletRequest request,HttpServletResponse response){
response.setContentType("text/html;charset=utf-8");
PrintWriter pw=null;
DBOperator db=null;
try{
pw=response.getWriter();
db=new DBOperator();
Bas_hospitals basHospital=(Bas_hospitals)request.getSession().getAttribute("login_hospital");
String deptCode=request.getParameter("deptCode");
String doctorId=request.getParameter("doctorId");
String searchStartDate=request.getParameter("searchStartDate");
String searchEndDate=request.getParameter("searchEndDate");
StringBuffer sb=new StringBuffer("select count(*) num from clc_dtmain x,clc_diag y where x.hosnum=? and x.dtmainid=y.dtmainid(+) and y.diagclass = '主诊断'");
if(!"".equals(searchStartDate)&&"".equals(searchEndDate)){
sb.append(" and x.clcdate>=to_date('"+searchStartDate+"','yyyy-MM-dd')");
}else if("".equals(searchStartDate)&&!"".equals(searchEndDate)){
sb.append(" and x.clcdate<=to_date('"+searchEndDate+"','yyyy-MM-dd')");
}else if(!"".equals(searchStartDate)&&!"".equals(searchEndDate)){
sb.append(" and x.clcdate>=to_date('"+searchStartDate+"','yyyy-MM-dd') and x.clcdate<=to_date('"+searchEndDate+"','yyyy-MM-dd')");
}
if(!"".equals(deptCode)){
sb.append(" and x.deptcode='"+deptCode+"'");
}
if(!"".equals(doctorId)){
sb.append(" and x.doctorid='"+doctorId+"'");
}
String sql=sb.toString();
List<Map> list=db.find(sql,new Object[]{basHospital.getHosnum()});
//System.out.println(list.get(0).get("num"));
pw.print(list.get(0).get("num"));
db.commit();
}catch(Exception e){
db.rollback();
e.printStackTrace();
pw.print("fail");
}finally{
try {
db.freeCon();
} catch (Exception e1) {
e1.printStackTrace();
}
}
}
@RequestMapping(value="/clinicQuantityData")
public void clinicQuantityData(HttpServletRequest request,HttpServletResponse response){
response.setContentType("text/html;charset=utf-8");
PrintWriter pw=null;
DBOperator db=null;
try{
pw=response.getWriter();
db=new DBOperator();
Bas_hospitals basHospital=(Bas_hospitals)request.getSession().getAttribute("login_hospital");
int curPage=Integer.parseInt(request.getParameter("curPage"));
int pageSize=Integer.parseInt(request.getParameter("pageSize"));
String deptCode=request.getParameter("deptCode");
String doctorId=request.getParameter("doctorId");
String searchStartDate=request.getParameter("searchStartDate");
String searchEndDate=request.getParameter("searchEndDate");
StringBuffer sb=new StringBuffer("select x.dtmainid,x.patientid,x.chiefcomplaint,x.symptoms,to_char(x.clcdate,'yyyy-MM-dd') clcdatestr,x.deptname,x.doctorname,x.temperature,x.dbp,x.sbp,y.diagname from clc_dtmain x ,clc_diag y where x.hosnum=? and x.dtmainid=y.dtmainid(+) and y.diagclass = '主诊断'");
if(!"".equals(searchStartDate)&&"".equals(searchEndDate)){
sb.append(" and x.clcdate>=to_date('"+searchStartDate+"','yyyy-MM-dd')");
}else if("".equals(searchStartDate)&&!"".equals(searchEndDate)){
sb.append(" and x.clcdate<=to_date('"+searchEndDate+"','yyyy-MM-dd')");
}else if(!"".equals(searchStartDate)&&!"".equals(searchEndDate)){
sb.append(" and x.clcdate>=to_date('"+searchStartDate+"','yyyy-MM-dd') and x.clcdate<=to_date('"+searchEndDate+"','yyyy-MM-dd')");
}
if(!"".equals(deptCode)){
sb.append(" and x.deptcode='"+deptCode+"'");
}
if(!"".equals(doctorId)){
sb.append(" and x.doctorid='"+doctorId+"'");
}
sb.append(" order by clcdate desc,dtmainid desc");
String sql="select a.*,b.patname from (select a.*,rownum num from ("+sb.toString()+") a where rownum<=?) a join bas_patients b on a.num>? and a.patientid=b.patientid and b.hosnum=? order by a.num";
List<Map> list=db.find(sql,new Object[]{basHospital.getHosnum(),curPage*pageSize,(curPage-1)*pageSize,basHospital.getHosnum()});
//把数据存到缓存里,以便导出
request.getSession().setAttribute("clinicQuantity", list);
JSONArray jsons=JSONArray.fromObject(list);
//System.out.println(jsons.toString());
pw.print(jsons.toString());
db.commit();
}catch(Exception e){
db.rollback();
e.printStackTrace();
pw.print("fail");
}finally{
try {
db.freeCon();
} catch (Exception e1) {
e1.printStackTrace();
}
}
}