广总血透需求

master
jian.wang 2 years ago
parent c569b8d55b
commit 00b55c7eee

@ -0,0 +1,17 @@
package com.emr.controller;
import javax.servlet.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class NoCacheFilter implements Filter {
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) res;
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);
chain.doFilter(req, res);
}
}

@ -0,0 +1,291 @@
package com.emr.controller.bloodPurification;
import com.alibaba.fastjson.JSON;
import com.emr.annotation.OptionalLog;
import com.emr.dao.CommomMapper;
import com.emr.dao.bloodPurification.BloodPurificationMapper;
import com.emr.entity.EmrBloodDialysisDoc;
import com.emr.entity.Power_User;
import com.emr.service.ImportExcel.ImportExcelEntity;
import com.emr.service.ImportExcel.ImportExcelUtil;
import com.emr.util.DateUtils;
import com.emr.util.ExceptionPrintUtil;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.nio.charset.Charset;
import java.text.DecimalFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* 广
*/
@Controller
@RequestMapping("bloodPurification/")
public class bloodPurificationController {
@Autowired
private CommomMapper commomMapper;
@Autowired
private BloodPurificationMapper bloodPurificationMapper;
/**
*
* @param model
* @param request
* @return
*/
@RequiresPermissions("/bloodPurification/list")
@OptionalLog(module = "查看", methods = "血透净化病案查询")
@RequestMapping("list")
public String list(Model model, HttpServletRequest request) {
String dataSource = request.getParameter("dataSource");
//查询表格配置表的数据,根据配置动态显示表格字段
Map<String, Object> tableConfigMap = commomMapper.queryTableConfig(dataSource);
if (!ObjectUtils.isEmpty(tableConfigMap)) {
//获取数据来源
model.addAttribute("dataSource", dataSource);
//获取需要查询字段
model.addAttribute("tableQueryField", tableConfigMap.get("tableField"));
//显示查询字段,并转为驼峰格式
model.addAttribute("tableField", ObjectUtils.isEmpty(tableConfigMap.get("tableField")) ? "" : DateUtils.toCamelCase(tableConfigMap.get("tableField").toString()));
//获取查询字段中文名称
model.addAttribute("tableFieldName", tableConfigMap.get("tableFieldName"));
//获取排序字段,可点击表头列实现排序
model.addAttribute("sortField", ObjectUtils.isEmpty(tableConfigMap.get("sortField")) ? "" : DateUtils.toCamelCase(tableConfigMap.get("sortField").toString()));
//获取默认排序字段
request.getSession().setAttribute("defaultSortField", tableConfigMap.get("defaultSortField"));
//获取默认排序字段方式
request.getSession().setAttribute("defaultSortFieldType", tableConfigMap.get("defaultSortFieldType"));
}
return "recordManage/bloodPurification/list";
}
/**
*
* @param model
* @param request
* @return
*/
@RequiresPermissions("/bloodPurification/documentList")
@OptionalLog(module = "查看", methods = "血透净化文书报表")
@RequestMapping("documentList")
public String documentList(Model model, HttpServletRequest request) {
return "recordManage/bloodPurification/documentList";
}
/**
*
* @param model
* @param request
* @return
*/
@RequiresPermissions("/bloodPurification/inspectionRecordsSum")
@OptionalLog(module = "查看", methods = "血透净化检查记录汇总")
@RequestMapping("inspectionRecordsSum")
public String inspectionRecordsSum(Model model, HttpServletRequest request) {
return "recordManage/bloodPurification/inspectionRecordsSum";
}
/**
*
* @param model
* @param request
* @return
*/
@RequiresPermissions("/bloodPurification/inspectionRecords")
@OptionalLog(module = "查看", methods = "血透净化检查记录明细")
@RequestMapping("inspectionRecords")
public String inspectionRecords(Model model, HttpServletRequest request) {
String flag = request.getParameter("flag");
//获取当前的HttpSession对象如果不存在则会创建一个新的会话
HttpSession session = request.getSession();
//向HttpSession中放入数据
String inspectionDate = request.getParameter("inspectionDate");
String name = request.getParameter("name");
String dialysisDate = request.getParameter("dialysisDate");
session.setAttribute("inspectionDate", request.getParameter("inspectionDate"));
session.setAttribute("name", request.getParameter("name"));
session.setAttribute("dialysisDate", request.getParameter("dialysisDate"));
model.addAttribute("flag", flag);
return "recordManage/bloodPurification/inspectionRecords";
}
/**
*
* @param page
* @param limit
* @param emrBloodDialysisDoc
* @return
*/
@RequestMapping("queryInspectionRecordsSum")
@ResponseBody
public String queryInspectionRecordsSum(Integer page, Integer limit, EmrBloodDialysisDoc emrBloodDialysisDoc){
if(null != page && null != limit){
PageHelper.startPage(page, limit);
}
try{
List<Map<String,Object>> dataMap = bloodPurificationMapper.queryInspectionRecordsSum(emrBloodDialysisDoc);
//保留两位有效数字
DecimalFormat df = new DecimalFormat("0.00");
//遍历 获取有问题数量和总数
if(!CollectionUtils.isEmpty(dataMap)){
dataMap.forEach(e -> {
//总数
double totalNum = ObjectUtils.isEmpty(e.get("total_num")) ? 0 : Double.parseDouble(e.get("total_num").toString());
//血液净化记录存在问题
double bloodFillIncompleteNum = ObjectUtils.isEmpty(e.get("blood_fill_incomplete_num")) ? 0 : Double.parseDouble(e.get("blood_fill_incomplete_num").toString());//记录填写不完整
double bloodSignNonstandardNum = ObjectUtils.isEmpty(e.get("blood_sign_nonstandard_num")) ? 0 : Double.parseDouble(e.get("blood_sign_nonstandard_num").toString());//医嘱执行签名不规范
double bloodMedicalstaffNosignNum = ObjectUtils.isEmpty(e.get("blood_medicalstaff_nosign_num")) ? 0 : Double.parseDouble(e.get("blood_medicalstaff_nosign_num").toString());//医护未签名
//血液净化记录存在问题总数
double bloodFillIncompleteTotalNum = bloodFillIncompleteNum + bloodSignNonstandardNum + bloodMedicalstaffNosignNum;
//健康教育存在问题
double healtheduFillIncompleteNum = ObjectUtils.isEmpty(e.get("healthedu_fill_incomplete_num")) ? 0 : Double.parseDouble(e.get("healthedu_fill_incomplete_num").toString());//未做宣教
double healtheduSignNonstandardNum = ObjectUtils.isEmpty(e.get("healthedu_sign_nonstandard_num")) ? 0 : Double.parseDouble(e.get("healthedu_sign_nonstandard_num").toString());//宣教填写不完整体
double healtheduMedicalstaffNosignNum = ObjectUtils.isEmpty(e.get("healthedu_medicalstaff_nosign_num")) ? 0 : Double.parseDouble(e.get("healthedu_medicalstaff_nosign_num").toString());//护患未签名
//健康教育存在问题总数
double healtheduFillIncompleteTotalNum = healtheduFillIncompleteNum + healtheduSignNonstandardNum + healtheduMedicalstaffNosignNum;
//血透知情同意书存在问题
double informedconDocNosignNum = ObjectUtils.isEmpty(e.get("informedcon_doc_nosign_num")) ? 0 : Double.parseDouble(e.get("informedcon_doc_nosign_num").toString());//医生未签名
double informedconFamilymembersMissNum = ObjectUtils.isEmpty(e.get("informedcon_familymembers_miss_num")) ? 0 : Double.parseDouble(e.get("informedcon_familymembers_miss_num").toString());//患者家属关系缺项
double informedconNameNonstandardNum = ObjectUtils.isEmpty(e.get("informedcon_name_nonstandard_num")) ? 0 : Double.parseDouble(e.get("informedcon_name_nonstandard_num").toString());//通路名称不规范
//血透知情同意书存在问题总数
double informedconDocNosignTotalNum = informedconDocNosignNum + informedconFamilymembersMissNum + informedconNameNonstandardNum;
//血净记录完整率
double bloodFillIncompleteRate = Double.parseDouble(df.format(bloodFillIncompleteTotalNum / totalNum * 100));
//健康教育完整率
double healtheduFillIncompleteRate = Double.parseDouble(df.format(healtheduFillIncompleteTotalNum / totalNum * 100));
//知情同意完整率
double informedconDocNosignRate = Double.parseDouble(df.format(informedconDocNosignTotalNum / totalNum * 100));
e.put("bloodFillIncompleteRate", bloodFillIncompleteRate);
e.put("healtheduFillIncompleteRate", healtheduFillIncompleteRate);
e.put("informedconDocNosignRate", informedconDocNosignRate);
});
}
PageInfo pageInfo = new PageInfo<>(dataMap);
return JSON.toJSONString(pageInfo);
}catch (Exception e){
ExceptionPrintUtil.printException(e);
e.printStackTrace();
return null;
}
}
/**
*
* @param page
* @param limit
* @param emrBloodDialysisDoc
* @param request
* @return
*/
@RequestMapping("queryDocumentList")
@ResponseBody
public String queryDocumentList(Integer page, Integer limit, EmrBloodDialysisDoc emrBloodDialysisDoc, HttpServletRequest request){
if(null != page && null != limit){
PageHelper.startPage(page, limit);
}
try{
//明细页面跳转获取参数
HttpSession session = request.getSession();
emrBloodDialysisDoc.setDialysisDate((String)session.getAttribute("dialysisDate"));
emrBloodDialysisDoc.setName((String)session.getAttribute("name"));
emrBloodDialysisDoc.setInspectionDate((String)session.getAttribute("inspectionDate"));
List<EmrBloodDialysisDoc> emrBloodDialysisDocs = bloodPurificationMapper.queryDocumentList(emrBloodDialysisDoc);
PageInfo pageInfo = new PageInfo<>(emrBloodDialysisDocs);
return JSON.toJSONString(pageInfo);
}catch (Exception e){
ExceptionPrintUtil.printException(e);
e.printStackTrace();
return null;
}
}
/**
*
* @param request
* @return
*/
@RequestMapping(value = "impExcelTask", method = {RequestMethod.POST})
@ResponseBody
public ResponseEntity<String> impExcelTask(HttpServletRequest request) {
HttpHeaders responseHeaders = new HttpHeaders();
responseHeaders.setContentType(new MediaType("text", "html", Charset.forName("UTF-8")));
try {
//读取文件
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) (request);
MultipartFile multipartFile = multiRequest.getFile("upfile");
//属性名
String[] fieldNames = {
"xh","inspectionDate", "name","dialysisDate","bloodFillIncomplete", "bloodSignNonstandard", "bloodMedicalstaffNosign", "healtheduFillIncomplete", "healtheduSignNonstandard",
"healtheduMedicalstaffNosign", "informedconDocNosign", "informedconFamilymembersMiss", "informedconNameNonstandard", "other", "responsibleNurse", "rectificationDate",
"rectificationSgin", "remark"
};
//判断集中类中的方法名
String[] judgeMethods = {};
Power_User user = (Power_User)request.getSession().getAttribute("CURRENT_USER");
EmrBloodDialysisDoc emrBloodDialysisDoc = new EmrBloodDialysisDoc();
emrBloodDialysisDoc.setExportDate(new Date());
emrBloodDialysisDoc.setExportNo(user.getUserName());
//实例化
ImportExcelUtil.newInstance("bloodPurificationMapper", emrBloodDialysisDoc, EmrBloodDialysisDoc.class);
//导入excel的操作
ImportExcelEntity excelEntity = ImportExcelUtil.fileImportByBloodPurification(multipartFile, fieldNames, judgeMethods, "");
if (excelEntity.getSuccessCount() == 0 && excelEntity.getWrongCount() == 0) {
//无数据
return new ResponseEntity<String>("无数据!", responseHeaders, HttpStatus.OK);
}
if (excelEntity.getWrongCount() == 0) {
//成功
return new ResponseEntity<String>(null, responseHeaders, HttpStatus.OK);
} else {
//有出错数据
String msgStr = excelEntity.getWorkBookKey() + "@已成功导入" + excelEntity.getSuccessCount() + "条,失败" + excelEntity.getWrongCount() + "条,随后将导出错误记录!";
return new ResponseEntity<String>(msgStr, responseHeaders, HttpStatus.OK);
}
} catch (Exception e) {
ExceptionPrintUtil.printException(e);
e.printStackTrace();
//抛异常
return new ResponseEntity<String>(e.getMessage(), responseHeaders, HttpStatus.OK);
}
}
}

@ -0,0 +1,14 @@
package com.emr.dao.bloodPurification;
import com.emr.entity.EmrBloodDialysisDoc;
import java.util.List;
import java.util.Map;
public interface BloodPurificationMapper{
int SimpleInsert(List<EmrBloodDialysisDoc> list);
List<EmrBloodDialysisDoc> queryDocumentList(EmrBloodDialysisDoc emrBloodDialysisDoc);
List<Map<String, Object>> queryInspectionRecordsSum(EmrBloodDialysisDoc emrBloodDialysisDoc);
}

@ -0,0 +1,30 @@
package com.emr.entity;
import lombok.Data;
import java.util.Date;
@Data
public class EmrBloodDialysisDoc {
private Integer xh;
private String inspectionDate;
private String name;
private String dialysisDate;
private String bloodFillIncomplete;
private String bloodSignNonstandard;
private String bloodMedicalstaffNosign;
private String healtheduFillIncomplete;
private String healtheduSignNonstandard;
private String healtheduMedicalstaffNosign;
private String informedconDocNosign;
private String informedconFamilymembersMiss;
private String informedconNameNonstandard;
private String other;
private String responsibleNurse;
private String rectificationDate;
private String rectificationSgin;
private String remark;
private Date exportDate;
private String exportNo;
}

@ -0,0 +1,5 @@
package com.emr.service.bloodPurification;
public interface BloodPurificationService{
}

@ -0,0 +1,14 @@
package com.emr.service.bloodPurification.impl;
import com.emr.dao.bloodPurification.BloodPurificationMapper;
import com.emr.service.bloodPurification.BloodPurificationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class BloodPurificationServiceImpl implements BloodPurificationService {
@Autowired
BloodPurificationMapper bloodPurificationMapper;
}

@ -0,0 +1,182 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.emr.dao.bloodPurification.BloodPurificationMapper" >
<select id="queryDocumentList" parameterType="com.emr.entity.EmrBloodDialysisDoc" resultType="com.emr.entity.EmrBloodDialysisDoc">
select
xh,
inspection_date as inspectionDate,
name,
dialysis_date as dialysisDate,
blood_fill_incomplete as bloodFillIncomplete,
blood_sign_nonstandard as bloodSignNonstandard,
blood_medicalstaff_nosign as bloodMedicalstaffNosign,
healthedu_fill_incomplete as healtheduFillIncomplete,
healthedu_sign_nonstandard as healtheduSignNonstandard,
healthedu_medicalstaff_nosign as healtheduMedicalstaffNosign,
informedcon_doc_nosign as informedconDocNosign,
informedcon_familymembers_miss as informedconFamilymembersMiss,
informedcon_name_nonstandard as informedconNameNonstandard,
other,
responsible_nurse as responsibleNurse,
rectification_date as rectificationDate,
rectification_sgin as rectificationSgin,
remark,
export_date as exportDate,
export_no as exportNo
from emr_blood_dialysis_doc
<where>
<if test="inspectionDate != null and inspectionDate != ''">
and inspection_date = #{inspectionDate}
</if>
<if test="name != null and name != ''">
and name like '%'+ #{name} + '%'
</if>
<if test="dialysisDate != null and dialysisDate != ''">
and dialysis_date = #{dialysisDate}
</if>
</where>
order by xh
</select>
<insert id="SimpleInsert" parameterType="java.util.List">
insert into emr_blood_dialysis_doc
(
xh,
inspection_date,
name,
dialysis_date,
blood_fill_incomplete,
blood_sign_nonstandard,
blood_medicalstaff_nosign,
healthedu_fill_incomplete,
healthedu_sign_nonstandard,
healthedu_medicalstaff_nosign,
informedcon_doc_nosign,
informedcon_familymembers_miss,
informedcon_name_nonstandard,
other,
responsible_nurse,
rectification_date,
rectification_sgin,
remark,
export_date,
export_no
)
<foreach collection="list" item="item" separator="union">
select
#{item.xh},
CAST(#{item.inspectionDate} AS DATE),
#{item.name},
CAST(#{item.dialysisDate} AS DATE),
<choose>
<when test="item.bloodFillIncomplete != null and item.bloodFillIncomplete != ''">
'1',
</when>
<otherwise>
'0',
</otherwise>
</choose>
<choose>
<when test="item.bloodSignNonstandard != null and item.bloodSignNonstandard != ''">
'1',
</when>
<otherwise>
'0',
</otherwise>
</choose>
<choose>
<when test="item.bloodMedicalstaffNosign != null and item.bloodMedicalstaffNosign != ''">
'1',
</when>
<otherwise>
'0',
</otherwise>
</choose>
<choose>
<when test="item.healtheduFillIncomplete != null and item.healtheduFillIncomplete != ''">
'1',
</when>
<otherwise>
'0',
</otherwise>
</choose>
<choose>
<when test="item.healtheduSignNonstandard != null and item.healtheduSignNonstandard != ''">
'1',
</when>
<otherwise>
'0',
</otherwise>
</choose>
<choose>
<when test="item.healtheduMedicalstaffNosign != null and item.healtheduMedicalstaffNosign != ''">
'1',
</when>
<otherwise>
'0',
</otherwise>
</choose>
<choose>
<when test="item.informedconDocNosign != null and item.informedconDocNosign != ''">
'1',
</when>
<otherwise>
'0',
</otherwise>
</choose>
<choose>
<when test="item.informedconFamilymembersMiss != null and item.informedconFamilymembersMiss != ''">
'1',
</when>
<otherwise>
'0',
</otherwise>
</choose>
<choose>
<when test="item.informedconNameNonstandard != null and item.informedconNameNonstandard != ''">
'1',
</when>
<otherwise>
'0',
</otherwise>
</choose>
#{item.other},
#{item.responsibleNurse},
CAST(#{item.rectificationDate} AS DATE),
#{item.rectificationSgin},
#{item.remark},
#{item.exportDate},
#{item.exportNo}
</foreach>
</insert>
<select id="queryInspectionRecordsSum" parameterType="com.emr.entity.EmrBloodDialysisDoc" resultType="map">
select
inspection_date inspectionDate,
name,
dialysis_date dialysisDate,
total_num,
blood_fill_incomplete_num,
blood_sign_nonstandard_num,
blood_medicalstaff_nosign_num,
healthedu_fill_incomplete_num,
healthedu_sign_nonstandard_num,
healthedu_medicalstaff_nosign_num,
informedcon_doc_nosign_num,
informedcon_familymembers_miss_num,
informedcon_name_nonstandard_num
from emr_blood_dialysis_doc_static
<where>
<if test="inspectionDate != null and inspectionDate != ''">
and CAST(inspection_date AS DATE) = #{inspectionDate}
</if>
<if test="name != null and name != ''">
and name like '%'+ #{name} + '%'
</if>
<if test="dialysisDate != null and dialysisDate != ''">
and CAST(dialysis_date AS DATE) = #{dialysisDate}
</if>
</where>
</select>
</mapper>

@ -0,0 +1,515 @@
<%@ page import="com.emr.entity.Power_User" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<c:set var="path" value="${pageContext.request.contextPath}"/>
<%@ include file="/WEB-INF/jspf/common.jspf" %>
<%@ include file="/WEB-INF/jspf/boostrapSelect.jspf" %>
<%@ include file="/WEB-INF/jspf/importPackageJsp.jspf" %>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>文书报表</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv=X-UA-Compatible IE=EmulateIE7>
<link rel="stylesheet" href="${path}/static/bootstrap-3.3.7/bootstrap-table-fixed-columns.css" type="text/css">
<link href="${path}/static/bootstrap-3.3.7/bower_components/select2/dist/css/select2.min.css" rel="stylesheet"/>
<script type="text/javascript"
src="${path}/static/bootstrap-3.3.7/bootstrap-table-fixed-columns.js?time=2019-12-25"></script>
<script type="text/javascript" src="${path}/static/js/pinying.js"></script>
<script src="${path}/static/bootstrap-3.3.7/bower_components/select2/dist/js/select2.min.js"></script>
<script>
var path = "${path}";
</script>
<style type="text/css">
.main {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
background: transparent;
}
.headDiv {
height: 5%;
background-color: rgb(29, 158, 215);
}
.searchDiv{
width: 100%;
height: 8%;
display: flex;
}
.searchCondition{
width: 15%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
}
.searchContent{
width: 100%;
height: 86%;
}
.titleContent{
width: 100%;
height: 50%;
}
.title {
width: 8%;
height: 10%;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.5vw;
font-weight: bold;
}
.content{
width: 100%;
height: 92%;
}
.contentType{
width: 100%;
height: 25%;
display: flex;
}
.contentTypeName{
width: 7%;
height: 100%;
display: flex;
align-items: center;
justify-content: flex-end;
font-size: 1vw;
}
.contentTypeValue{
width: 31%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
font-size: 0.9vw;
}
.contentTypeValue span{
font-weight: bold;
}
</style>
</head>
<body>
<div class="main">
<div class="headDiv">
<div class="headSpanDiv">
<span class="headspan">
文书报表
</span>
</div>
</div>
<div class="searchDiv">
<div class="searchCondition">
<span style="font-weight: bold">年月:</span>
<input type="text" id="yearMonth" name="yearMonth" class="form-control" style="width: 150px;"/>
</div>
<div class="btns" style="display: flex;align-items: center;">
<div class="btn">
<button type="button" class="btn btn-sm btn-primary" onclick="search()">开始搜索</button>
</div>
</div>
</div>
<div class="searchContent">
<div class="titleContent">
<div class="title">
<span>护士:</span>
</div>
<div class="content">
<div class="contentType">
<div class="contentTypeName">
<span>当前月份:</span>
</div>
<div class="contentTypeValue">
<div>知情同意合格率
<span id="quarter_infoConQualRate">0%</span>
(环比
<span id="quarter_infoConQualHbArrow">上升</span>
<span id="quarter_infoConQualHbRate">0%</span>
,同比
<span id="quarter_infoConQualTbArrow">上升</span>
<span id="quarter_infoConQualTbRate">0%</span>
)
</div>
</div>
<div class="contentTypeValue">
<div>血净记录缺失率
<span id="quarter_bloodPurRate">0%</span>
(环比
<span id="quarter_bloodPurHbArrow">上升</span>
<span id="quarter_bloodPurHbRate">0%</span>
,同比
<span id="quarter_bloodPurTbArrow">上升</span>
<span id="quarter_bloodPurTbRate">0%</span>
)
</div>
</div>
<div class="contentTypeValue">
<div>健康教育缺失率
<span id="quarter_educaDefectRate">0%</span>
(环比
<span id="quarter_educaDefectHbArrow">上升</span>
<span id="quarter_educaDefectHbRate">0%</span>
,同比
<span id="quarter_educaDefectTbArrow">上升</span>
<span id="quarter_educaDefectTbRate">0%</span>
)
</div>
</div>
</div>
<div class="contentType">
<div class="contentTypeName">
<span>当前季度:</span>
</div>
<div class="contentTypeValue">
<div>知情同意合格率
<span id="month_infoConQualRate">0%</span>
(环比
<span id="month_infoConQualHbArrow">上升</span>
<span id="month_infoConQualHbRate">0%</span>
,同比
<span id="month_infoConQualTbArrow">上升</span>
<span id="month_infoConQualTbRate">0%</span>
)
</div>
</div>
<div class="contentTypeValue">
<div>血净记录缺失率
<span id="month_bloodPurRate">0%</span>
(环比
<span id="month_bloodPurHbArrow">上升</span>
<span id="month_bloodPurHbRate">0%</span>
,同比
<span id="month_bloodPurTbArrow">上升</span>
<span id="month_bloodPurTbRate">0%</span>
)
</div>
</div>
<div class="contentTypeValue">
<div>健康教育缺失率
<span id="month_educaDefectRate">0%</span>
(环比
<span id="month_educaDefectHbArrow">上升</span>
<span id="month_educaDefectHbRate">0%</span>
,同比
<span id="month_educaDefectTbArrow">上升</span>
<span id="month_educaDefectTbRate">0%</span>
)
</div>
</div>
</div>
<div class="contentType">
<div class="contentTypeName">
<span>当前半年:</span>
</div>
<div class="contentTypeValue">
<div>知情同意合格率
<span id="halfyear_infoConQualRate">0%</span>
(环比
<span id="halfyear_infoConQualHbArrow">上升</span>
<span id="halfyear_infoConQualHbRate">0%</span>
,同比
<span id="halfyear_infoConQualTbArrow">上升</span>
<span id="halfyear_infoConQualTbRate">0%</span>
)
</div>
</div>
<div class="contentTypeValue">
<div>血净记录缺失率
<span id="halfyear_bloodPurRate">0%</span>
(环比
<span id="halfyear_bloodPurHbArrow">上升</span>
<span id="halfyear_bloodPurHbRate">0%</span>
,同比
<span id="halfyear_bloodPurTbArrow">上升</span>
<span id="halfyear_bloodPurTbRate">0%</span>
)
</div>
</div>
<div class="contentTypeValue">
<div>健康教育缺失率
<span id="halfyear_educaDefectRate">0%</span>
(环比
<span id="halfyear_educaDefectHbArrow">上升</span>
<span id="halfyear_educaDefectHbRate">0%</span>
,同比
<span id="halfyear_educaDefectTbArrow">上升</span>
<span id="halfyear_educaDefectTbRate">0%</span>
)
</div>
</div>
</div>
<div class="contentType">
<div class="contentTypeName">
<span>当前一年:</span>
</div>
<div class="contentTypeValue">
<div>知情同意合格率
<span id="year_infoConQualRate">0%</span>
(环比
<span id="year_infoConQualHbArrow">上升</span>
<span id="year_infoConQualHbRate">0%</span>
,同比
<span id="year_infoConQualTbArrow">上升</span>
<span id="year_infoConQualTbRate">0%</span>
)
</div>
</div>
<div class="contentTypeValue">
<div>血净记录缺失率
<span id="year_bloodPurRate">0%</span>
(环比
<span id="year_bloodPurHbArrow">上升</span>
<span id="year_bloodPurHbRate">0%</span>
,同比
<span id="year_bloodPurTbArrow">上升</span>
<span id="year_bloodPurTbRate">0%</span>
)
</div>
</div>
<div class="contentTypeValue">
<div>健康教育缺失率
<span id="year_educaDefectRate">0%</span>
(环比
<span id="year_educaDefectHbArrow">上升</span>
<span id="year_educaDefectHbRate">0%</span>
,同比
<span id="year_educaDefectTbArrow">上升</span>
<span id="year_educaDefectTbRate">0%</span>
)
</div>
</div>
</div>
</div>
</div>
<div class="titleContent">
<div class="title">
<span>扫描:</span>
</div>
<div class="content">
<div class="contentType">
<div class="contentTypeName">
<span>当前月份:</span>
</div>
<div class="contentTypeValue" style="width: 23%">
<div>血净人次
<span id="scan_month_bloodPurPeoNum">0</span>次
(环比
<span id="scan_month_bloodPurPeoHbArrow">上升</span>
<span id="scan_month_bloodPurPeoHbNum">0%</span>
,同比
<span id="scan_month_bloodPurPeoTbArrow">上升</span>
<span id="scan_month_bloodPurPeoTbNum">0%</span>
)
</div>
</div>
<div class="contentTypeValue" style="width: 23%">
<div>知情同意合格率
<span id="scan_month_infoConQualRate">0%</span>
(环比
<span id="scan_month_infoConQualHbArrow">上升</span>
<span id="scan_month_infoConQualHbRate">0%</span>
,同比
<span id="scan_month_infoConQualTbArrow">上升</span>
<span id="scan_month_infoConQualTbRate">0%</span>
)
</div>
</div>
<div class="contentTypeValue" style="width: 23%">
<div>血净记录缺失率
<span id="scan_month_bloodPurRate">0%</span>
(环比
<span id="scan_month_bloodPurHbArrow">上升</span>
<span id="scan_month_bloodPurHbRate">0%</span>
,同比
<span id="scan_month_bloodPurTbArrow">上升</span>
<span id="scan_month_bloodPurTbRate">0%</span>
)
</div>
</div>
<div class="contentTypeValue" style="width: 23%">
<div>健康教育缺失率
<span id="scan_month_educaDefectRate">0%</span>
(环比
<span id="scan_month_educaDefectHbArrow">上升</span>
<span id="scan_month_educaDefectHbRate">0%</span>
,同比
<span id="scan_month_educaDefectTbArrow">上升</span>
<span id="scan_month_educaDefectTbRate">0%</span>
)
</div>
</div>
</div>
<div class="contentType">
<div class="contentTypeName">
<span>当前季度:</span>
</div>
<div class="contentTypeValue" style="width: 23%">
<div>血净人次
<span id="scan_quarter_bloodPurPeoNum">0</span>次
(环比
<span id="scan_quarter_bloodPurPeoHbArrow">上升</span>
<span id="scan_quarter_bloodPurPeoHbNum">0%</span>
,同比
<span id="scan_quarter_bloodPurPeoTbArrow">上升</span>
<span id="scan_quarter_bloodPurPeoTbNum">0%</span>
)
</div>
</div>
<div class="contentTypeValue" style="width: 23%">
<div>知情同意合格率
<span id="scan_quarter_infoConQualRate">0%</span>
(环比
<span id="scan_quarter_infoConQualHbArrow">上升</span>
<span id="scan_quarter_infoConQualHbRate">0%</span>
,同比
<span id="scan_quarter_infoConQualTbArrow">上升</span>
<span id="scan_quarter_infoConQualTbRate">0%</span>
)
</div>
</div>
<div class="contentTypeValue" style="width: 23%">
<div>血净记录缺失率
<span id="scan_quarter_bloodPurRate">0%</span>
(环比
<span id="scan_quarter_bloodPurHbArrow">上升</span>
<span id="scan_quarter_bloodPurHbRate">0%</span>
,同比
<span id="scan_quarter_bloodPurTbArrow">上升</span>
<span id="scan_quarter_bloodPurTbRate">0%</span>
)
</div>
</div>
<div class="contentTypeValue" style="width: 23%">
<div>健康教育缺失率
<span id="scan_quarter_educaDefectRate">0%</span>
(环比
<span id="scan_quarter_educaDefectHbArrow">上升</span>
<span id="scan_quarter_educaDefectHbRate">0%</span>
,同比
<span id="scan_quarter_educaDefectTbArrow">上升</span>
<span id="scan_quarter_educaDefectTbRate">0%</span>
)
</div>
</div>
</div>
<div class="contentType">
<div class="contentTypeName">
<span>当前半年:</span>
</div>
<div class="contentTypeValue" style="width: 23%">
<div>血净人次
<span id="scan_halfyear_bloodPurPeoNum">0</span>次
(环比
<span id="scan_halfyear_bloodPurPeoHbArrow">上升</span>
<span id="scan_halfyear_bloodPurPeoHbNum">0%</span>
,同比
<span id="scan_halfyear_bloodPurPeoTbArrow">上升</span>
<span id="scan_halfyear_bloodPurPeoTbNum">0%</span>
)
</div>
</div>
<div class="contentTypeValue" style="width: 23%">
<div>知情同意合格率
<span id="scan_halfyear_infoConQualRate">0%</span>
(环比
<span id="scan_halfyear_infoConQualHbArrow">上升</span>
<span id="scan_halfyear_infoConQualHbRate">0%</span>
,同比
<span id="scan_halfyear_infoConQualTbArrow">上升</span>
<span id="scan_halfyear_infoConQualTbRate">0%</span>
)
</div>
</div>
<div class="contentTypeValue" style="width: 23%">
<div>血净记录缺失率
<span id="scan_halfyear_bloodPurRate">0%</span>
(环比
<span id="scan_halfyear_bloodPurHbArrow">上升</span>
<span id="scan_halfyear_bloodPurHbRate">0%</span>
,同比
<span id="scan_halfyear_bloodPurTbArrow">上升</span>
<span id="scan_halfyear_bloodPurTbRate">0%</span>
)
</div>
</div>
<div class="contentTypeValue" style="width: 23%">
<div>健康教育缺失率
<span id="scan_halfyear_educaDefectRate">0%</span>
(环比
<span id="scan_halfyear_educaDefectHbArrow">上升</span>
<span id="scan_halfyear_educaDefectHbRate">0%</span>
,同比
<span id="scan_halfyear_educaDefectTbArrow">上升</span>
<span id="scan_halfyear_educaDefectTbRate">0%</span>
)
</div>
</div>
</div>
<div class="contentType">
<div class="contentTypeName">
<span>当前一年:</span>
</div>
<div class="contentTypeValue" style="width: 23%">
<div>血净人次
<span id="scan_year_bloodPurPeoNum">0</span>次
(环比
<span id="scan_year_bloodPurPeoHbArrow">上升</span>
<span id="scan_year_bloodPurPeoHbNum">0%</span>
,同比
<span id="scan_year_bloodPurPeoTbArrow">上升</span>
<span id="scan_year_bloodPurPeoTbNum">0%</span>
)
</div>
</div>
<div class="contentTypeValue" style="width: 23%">
<div>知情同意合格率
<span id="scan_year_infoConQualRate">0%</span>
(环比
<span id="scan_year_infoConQualHbArrow">上升</span>
<span id="scan_year_infoConQualHbRate">0%</span>
,同比
<span id="scan_year_infoConQualTbArrow">上升</span>
<span id="scan_year_infoConQualTbRate">0%</span>
)
</div>
</div>
<div class="contentTypeValue" style="width: 23%">
<div>血净记录缺失率
<span id="scan_year_bloodPurRate">0%</span>
(环比
<span id="scan_year_bloodPurHbArrow">上升</span>
<span id="scan_year_bloodPurHbRate">0%</span>
,同比
<span id="scan_year_bloodPurTbArrow">上升</span>
<span id="scan_year_bloodPurTbRate">0%</span>
)
</div>
</div>
<div class="contentTypeValue" style="width: 23%">
<div>健康教育缺失率
<span id="scan_year_educaDefectRate">0%</span>
(环比
<span id="scan_year_educaDefectHbArrow">上升</span>
<span id="scan_year_educaDefectHbRate">0%</span>
,同比
<span id="scan_year_educaDefectTbArrow">上升</span>
<span id="scan_year_educaDefectTbRate">0%</span>
)
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
</script>
<script type="text/javascript" src="${path}/static/js/dateUtil.js"></script>
<script type="text/javascript" src="${path}/static/js/commom.js"></script>
</body>
</html>

@ -0,0 +1,176 @@
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<c:set var="path" value="${pageContext.request.contextPath}"/>
<%@ include file="/WEB-INF/jspf/common.jspf" %>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>详细记录</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv=X-UA-Compatible IE=EmulateIE7>
<!--[if lt IE 9]>
<script type="text/javascript" src="${path}/static/js/html5shiv.min.js"></script>
<script type="text/javascript" src="${path}/static/js/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="${path}/static/js/respond.min.js"></script>
<![endif]-->
<script>
var path = "${path}";
</script>
<style type="text/css">
.body .html{
width: 100%;
height: 100%;
}
.mainDiv{
width: 100%;
height: 95%;
display: flex;
flex-direction: column;
background-color: #fff;
}
.modelBtns{
width: 70%;
height: 76%;
display: flex;
align-items: flex-end;
justify-content: flex-end;
}
.control-label1{
width:30%;
text-align: right;
padding-top:2px;
font-weight: 700;
}
/*模态框头*/
.modal-header{
background-color: #199ED8;
text-align: center;
}
.input-sm{
width: 150px;
}
.searcDiv{
width: 100%;
height: 12%;
}
.searcInputDiv{
width: 100%;
height: 60%;
display: flex
}
.inputDiv{
width: auto;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
padding: 0% 0% 0% 1%;
}
.inputDiv span{
font-weight: bold;
height: 1vw;
}
.searchButton{
width: 6%;
height: 100%;
display: flex;
align-items: center;
justify-content: center
}
.importExcelDiv{
width: 99%;
display: flex;
justify-content: flex-end
}
.importExcelButton{
display: flex;
justify-content: center;
padding: 0% 0% 0% 1%;
}
.tableDiv{
width: 100%;
}
</style>
</head>
<body>
<div class="main">
<input type="hidden" id="flag" value="${flag}">
<div class="headDiv">
<div class="headSpanDiv">
<span class="headspan">
详细记录
</span>
</div>
</div>
<div class="mainDiv">
<div class="searcDiv">
<div class="searcInputDiv">
<div class="inputDiv">
<span>检查日期:</span>
<input type="text" class="form-control input-sm" id="inspectionDate">
</div>
<div class="inputDiv">
<span>患者姓名:</span>
<input type="text" class="form-control input-sm" id="name">
</div>
<div class="inputDiv">
<span>透析日期:</span>
<input type="text" class="form-control input-sm" id="dialysisDate">
</div>
<div class="searchButton">
<button type="button" class="btn btn-sm btn-primary" style="width: 5vw" onclick="refreshTable()">查询</button>
</div>
</div>
<div class="importExcelDiv">
<div class="importExcelButton">
<button type="button" class="btn btn-sm btn-primary btns" onclick="window.open('${path }/static/js/template/血透文书检查登记表.xls');">下载模板</button>
</div>
<div class="importExcelButton">
<button type="button" class="btn btn-sm btn-primary btns" onclick="exportExcel()">导入excel</button>
</div>
</div>
</div>
<div class="tableDiv">
<table id="mytab" class="table text-nowrap table-bordered"></table>
</div>
</div>
</div>
</div>
<!-- 模态框Modal3 导入-->
<div class="modal fade" id="myModal3" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static" data-keyboard="false">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel3">导入信息</h4>
</div>
<div class="modal-body" style="height: 10vw">
<form method="POST" enctype="multipart/form-data"
id="form1">
<div class="formDiv">
<label class="control-label1 left">选择文件:</label>
<input id="upfile" type="file" name="upfile" calss="layui-btn">
</div>
<div class="modelBtns">
<input class="btn btn-primary btn-sm" type="button" value="确定"
onclick="importExcel('/bloodPurification/impExcelTask','血透文书检查登记表')">
</div>
<%--<div class="formDiv">
<label class="warningLabel">友情提醒:</label>
<div class="warningDiv">
<span style="color: red"></br>1、病案号不能为空,内容最多30个字</span></br>
<span style="color: red">2、出院日期不能为空</span></br>
</div>
</div>--%>
</form>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="${path}/static/js/recordManage/bloodPurification/inspectionRecords.js?t=4"></script>
<script type="text/javascript" src="${path}/static/js/dateUtil.js"></script>
</body>
</html>

@ -0,0 +1,202 @@
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<c:set var="path" value="${pageContext.request.contextPath}"/>
<%@ include file="/WEB-INF/jspf/common.jspf" %>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>其他管理</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv=X-UA-Compatible IE=EmulateIE7>
<!--[if lt IE 9]>
<script type="text/javascript" src="${path}/static/js/html5shiv.min.js"></script>
<script type="text/javascript" src="${path}/static/js/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="${path}/static/js/respond.min.js"></script>
<![endif]-->
<script>
var path = "${path}";
</script>
<style type="text/css">
.mainDiv{
background-color: #fff;
}
/**搜索区*/
.searchDiv {
padding-top: 10px;
width:100%;
height: 30px;
}
.dateSearchDiv{
width:29%;
}
.dateSearchInput{
width:30%;
margin-left:5px;
}
.dateLabelDiv{
width: 30%;
text-align: right;
}
.searchInput{
margin-left: 5px;
text-align: right;
}
.searchElement{
width:40%;
}
.searchInputElement{
width:60%;
}
.labelDiv{
margin-left: 2%;
display: flex;
align-items: flex-end;
justify-content: center;
height: 1.5vw;
}
/**查询按钮组*/
.btnsDiv{
margin-top: 15px;
height:35px;
text-align: right;
margin-right: 25px;
}
/**表格div*/
.tableDiv{
margin-left: 1%;
margin-top: 1vw;
}
.modelBtns{
width: 70%;
height: 76%;
display: flex;
align-items: flex-end;
justify-content: flex-end;
}
.control-label1{
width:30%;
text-align: right;
padding-top:2px;
font-weight: 700;
}
.warningLabel{
margin-left:102px;
font-weight: 700;
}
.warningDiv{
margin-left: 134px;
margin-top: -20px;
}
/**级联病案号内容*/
.mouseOver{
background-color: #708090;
color:#FFFAFA;
}
.mouseOut{
background-color: #FFFAFA;
color:#000000;
}
/*模态框头*/
.modal-header{
background-color: #199ED8;
text-align: center;
}
.loading {
width: 160px;
height: 56px;
position: absolute;
top: 50%;
left: 50%;
line-height: 56px;
color: #fff;
padding-left: 60px;
font-size: 15px;
background: #000;
opacity: 0.7;
z-index: 9999;
-moz-border-radius: 20px;
-webkit-border-radius: 20px;
border-radius: 20px;
filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70);
}
.input-sm {
height: 35px;
padding: 5px 10px;
font-size: 12px;
border-radius: 3px;
}
.modal-dialog {
width: 600px;
margin: 30px 10% auto;
}
</style>
</head>
<body>
<div class="main">
<div class="headDiv">
<div class="headSpanDiv">
<span class="headspan">
检查记录
</span>
</div>
</div>
<div class="mainDiv">
<div class="searchDiv">
<div class="searchInput left">
<div class="searchElement left">
<label class="labelDiv">检查日期:</label>
</div>
<div class="searchInputElement left">
<input type="text" class="form-control input-sm" id="inspectionDate">
</div>
</div>
<div class="searchInput left">
<div class="searchElement left">
<label class="labelDiv">患者姓名:</label>
</div>
<div class="searchInputElement left">
<input type="text" class="form-control input-sm" id="name">
</div>
</div>
<div class="searchInput left">
<div class="searchElement left">
<label class="labelDiv">透析日期:</label>
</div>
<div class="searchInputElement left">
<input type="text" class="form-control input-sm" id="dialysisDate">
</div>
</div>
<div class="left" style="margin-left: 3vw">
<button type="button" class="btn btn-sm btn-primary" style="width: 5vw" onclick="refreshTable()">查询</button>
</div>
</div>
<!--数据表格-->
<div id="tableDiv" class="tableDiv">
<input type="hidden" id="checks">
<table id="mytab" class="table text-nowrap table-bordered">
</table>
</div>
</div>
</div>
</div>
<div class="modal fade" id="myModal3" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static" data-keyboard="false">
<div class="modal-dialog">
<div class="modal-content" style="width: 80vw;height: 90%;">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
&times;
</button>
</div>
<div class="modal-body" style="height:95%">
<iframe width="100%" height="100%" src="" id="iframe" frameborder="0" scrolling="no" allowfullscreen="true" webkitallowfullscreen="true" mozallowfullscreen="true" oallowfullscreen="true" msallowfullscreen="true"></iframe>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="${path}/static/js/recordManage/bloodPurification/inspectionRecordsSum.js?t=4"></script>
<script type="text/javascript" src="${path}/static/js/dateUtil.js"></script>
</body>
</html>

@ -0,0 +1,366 @@
<%@ page import="com.emr.entity.Power_User" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<c:set var="path" value="${pageContext.request.contextPath}"/>
<%@ include file="/WEB-INF/jspf/common.jspf" %>
<%@ include file="/WEB-INF/jspf/boostrapSelect.jspf" %>
<%@ include file="/WEB-INF/jspf/importPackageJsp.jspf" %>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>血透查询</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv=X-UA-Compatible IE=EmulateIE7>
<link rel="stylesheet" href="${path}/static/bootstrap-3.3.7/bootstrap-table-fixed-columns.css" type="text/css">
<link href="${path}/static/bootstrap-3.3.7/bower_components/select2/dist/css/select2.min.css" rel="stylesheet"/>
<script type="text/javascript"
src="${path}/static/bootstrap-3.3.7/bootstrap-table-fixed-columns.js?time=2019-12-25"></script>
<script type="text/javascript" src="${path}/static/js/pinying.js"></script>
<script src="${path}/static/bootstrap-3.3.7/bower_components/select2/dist/js/select2.min.js"></script>
<script>
var path = "${path}";
</script>
<style type="text/css">
/* .collapse{
overflow-y:scroll;
}*/
.labelDiv {
padding: 1%;
padding-right: 0;
text-align: right;
}
.radioDiv {
padding-top: 2%;
}
/*搜索区域*/
/*.panel-group{
height: 254px;
margin-bottom: 0!important;
}*/
/*按钮组*/
.btns {
background-color: #fff;
text-align: right;
margin-top: -15px;
margin-bottom: 5px;
}
.btn {
margin-left: -1%;
}
/*tableDiv*/
.tableDiv {
/*margin-top: 1%;*/
width: 100%;
background-color: #fff;
}
/*多选下拉框*/
.dropdown-menu {
position: absolute;
top: 103%;
left: 0;
z-index: 1000;
display: none;
float: left;
list-style: none;
text-shadow: none;
max-height: 400px;
/*设置最大高度为400 overflow: scroll;*/
/* 设置可滚动 padding: 5 px;*/
margin: 0px;
-webkit-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1);
-moz-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1);
box-shadow: 0 1px 8px rgba(120, 234, 61, 0.55);
font-size: 12px;
font-family: "Segoe UI", Helvetica, Arial, sans-serif;
border: 1px solid #ddd;
}
.TableView {
margin-left: 2%;
}
.form-group {
width: 110%;
}
/**级联病案号内容*/
.mouseOver {
background-color: #708090;
color: #FFFAFA;
}
.mouseOut {
background-color: #FFFAFA;
color: #000000;
}
/*模态框头*/
.modal-header {
background-color: #199ED8;
text-align: center;
}
.control-label1{
width:30%;
text-align: right;
padding-top:2px;
font-weight: 700;
}
.modelBtns{
/*text-align: center;*/
margin-left: 40%;
}
/*搜索按钮div*/
.searchDiv {
margin-left: 33px;
}
/*清空按钮div*/
.clearDiv {
margin-left: 16px;
}
.col-sm-1, .col-sm-4 {
padding-left: 0 !important;
}
label {
font-weight: normal !important;
}
/**表格鼠标悬停样式*/
.table-hover > tbody > tr:hover > td,
.table-hover > tbody > tr:hover > th {
cursor: pointer;
}
.fht-cell {
width: 85px !important;
}
.table-hover > tbody > tr:hover > td,
.table-hover > tbody > tr:hover > th {
cursor: pointer;
}
.checkBoxClass {
cursor: pointer;
}
.row {
width: 100%;
}
.bootstrap-select {
margin-left: 3px !important;
height: 30px !important;
line-height: 30px !important;
}
form {
margin-bottom: 0 !important;
}
</style>
</head>
<body>
<div class="main">
<input id="fromTableSql" hidden>
<input id="whereSql" hidden>
<div class="headDiv">
<div class="headSpanDiv">
<span class="headspan">
病案查询
</span>
</div>
</div>
<!--搜索区-->
<div class="panel-group" id="accordion">
<div class="panel">
<div class="panel-heading" style="padding:0px 14px!important;">
<h5>
<a data-toggle="collapse" href="#b">
可收缩
</a>
</h5>
</div>
<div id="b" class="panel-collapse collapse in">
<div class="panel-body">
<form>
<!--查询的sql-->
<input type="hidden" id="sql">
<!--查询的菜单权限-->
<input type="hidden" id="powerMenu">
<!--是否有打印权限-->
<input hidden type="hidden" id="print" value="${printFlag}">
<!--登录者Id-->
<input type="hidden" id="userId" value="${CURRENT_USER.userId}">
<input type="hidden" id="roleId" value="${CURRENT_USER.roleId}">
<input type="hidden" id="userName" value="${CURRENT_USER.userName}">
<input type="hidden" id="powerMenus" value="${power_menus}">
<input type="hidden" id="showRecord" value="${CURRENT_USER.userTel}">
<input type="hidden" id="downloadRecord" value="${CURRENT_USER.userEmail}">
<input type="hidden" id="showPrint" value="${CURRENT_USER.userAge}">
<input type="hidden" id="flag" value="file_path">
<!--查询的sql ORDER BY 语句-->
<input type="hidden" id="orderBys" value="ORDER BY ">
<!--该用户借阅申请的审批过了且未过期的病案不可重复申请可查看的病案主键patientId-->
<input type="hidden" id="approves">
<!--该用户下载申请的审批过了且未过期的病案不可重复申请可查看的病案主键patientId-->
<input type="hidden" id="loads">
<!--被锁的病案-->
<input type="hidden" id="locks">
<!--按条件搜索的patientIds-->
<input type="hidden" id="patientIds">
<!--类似自定义查询的搜索条件-->
<div id="block">
<div id="inputDiv">
<input type="hidden">
</div>
</div>
<!--表格头-->
<input type="hidden" id="tableThNames" value="${tableFieldName}">
<%-- value="盘号,病案号,ID号,住院次数,姓名,性别,年龄_岁,年龄_月,入院日期,出院日期,出院科室,联系地址,主诊ICD码,主诊名称,主诊转归,住院天数,主治医生,其他诊断,病理诊断,损伤中毒,是否有手术,病案备注">--%>
<!--查询字段-->
<input type="hidden" id="englishFields" value="${tableQueryField}">
<%-- value="commomtable.ph,commomtable.inpatient_no,commomtable.admiss_id,commomtable.admiss_times,commomtable.name,commomtable.sex,commomtable.age,commomtable.age_month,commomtable.admiss_date,commomtable.dis_date,commomtable.dis_dept,commomtable.home_addr,commomtable.main_diag_code,commomtable.main_diag_name,commomtable.main_dis_thing,commomtable.admiss_days,commomtable.attending,commomtable.other_diag_name,commomtable.pathology_name,commomtable.poisoning_name,commomtable.is_oper,memo,commomtable.file_source">--%>
<!--数据字段-->
<input type="hidden" id="fields" value="${tableField}">
<%-- value="ph,inpatientNo,admissId,admissTimes,name,sex,age,ageMonth,admissDate,disDate,disDept,homeAddr,mainDiagCode,mainDiagName,mainDisThing,admissDays,attending,otherDiagName,pathologyName,poisoningName,isOper,memo">--%>
<!--排序字段-->
<input type="hidden" id="sortField" value="${sortField}">
<!--显示字段-->
<input type="hidden" id="fieldCns">
<!--查询总行数-->
<input type="hidden" id="rows">
<!--数据来源-->
<input type="hidden" id="dataSource" value="${dataSource}">
<!--查询条件-->
<div style="display: flex;align-items: center;justify-content: left;flex-wrap: wrap;width: 100%;">
<div class="col-sm-4 hideDiv">
<div class="form-group">
<div class="col-sm-3 labelDiv">
<label class="control-label">患者姓名:</label>
</div>
<div class="col-sm-9 inputDiv">
<input type="text" class="form-control input-sm inputValue" id="name"
maxlength="16">
</div>
</div>
</div>
<div class="col-sm-4 hideDiv">
<div class="form-group">
<div class="col-sm-3 labelDiv">
<label class="control-label">文书号:</label>
</div>
<div class="col-sm-9 inputDiv">
<input type="text" class="form-control input-sm diagTable inputValue"
id="document_no" maxlength="6">
</div>
</div>
</div>
<div class="col-sm-4 hideDiv">
<div class="form-group">
<div class="col-sm-3 labelDiv">
<label class="control-label">住院号:</label>
</div>
<div class="col-sm-9 inputDiv">
<input type="text" class="form-control input-sm diagTable inputValue"
id="admiss_id" maxlength="6">
</div>
</div>
</div>
<div class="col-sm-4 hideDiv">
<div class="form-group">
<div class="col-sm-3 labelDiv">
<label class="control-label">身份证号码:</label>
</div>
<div class="col-sm-9 inputDiv">
<input type="text" class="form-control input-sm diagTable inputValue"
id="id_card" maxlength="6">
</div>
</div>
</div>
<div class="col-sm-4 hideDiv">
<div class="form-group">
<div class="col-sm-3 labelDiv">
<label class="control-label">血透号:</label>
</div>
<div class="col-sm-9 inputDiv">
<input type="text" class="form-control input-sm diagTable inputValue"
id="hemodialysis_id" maxlength="6">
</div>
</div>
</div>
<div class="col-sm-4 hideDiv">
<div class="form-group">
<div class="col-sm-3 labelDiv">
<label class="control-label">门诊号:</label>
</div>
<div class="col-sm-9 inputDiv">
<input type="text" class="form-control input-sm diagTable inputValue"
id="outpatient_no" maxlength="6">
</div>
</div>
</div>
<div class="col-sm-4 hideDiv">
<div class="form-group">
<div class="col-sm-3 labelDiv">
<label class="control-label">文书类型:</label>
</div>
<div class="col-sm-9 inputDiv">
<input type="text" class="form-control input-sm diagTable inputValue"
id="document_type" maxlength="6">
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<div class="btns">
<div class="btn">
<button type="button" class="btn btn-sm btn-primary" onclick="search()">开始搜索</button>
</div>
<div class="btn">
<button type="button" class="btn btn-sm btn-default" onclick="clearForm()">&nbsp;&nbsp;清&nbsp;&nbsp;空&nbsp;&nbsp;</button>
</div>
<shiro:hasPermission name="/commom/exportExcel">
<div class="btn">
<button type="button" class="btn btn-sm btn-success" onclick="exportExcel()">导出excel</button>
</div>
</shiro:hasPermission>
<shiro:hasPermission name="/commom/downloadZip">
<div class="btn" id="downBorrowingBox">
<button type="button" class="btn btn-sm btn-warning" onclick="downloadZip('loads')">下载(批量)</button>
</div>
</shiro:hasPermission>
</div>
<!--数据表格-->
<div id="tableDiv" class="table-responsive tableDiv table-hover" style="overflow:scroll;">
<table id="mytab" class="table text-nowrap table-bordered" data-toggle="table" data-height="200">
</table>
</div>
</div>
<script>
$(function () {
$(".modal-dialog").draggable();//为模态对话框添加拖拽
})
</script>
<script type="text/javascript"
src="${path}/static/js/recordManage/bloodPurification/searchBloodCommomMethodqf.js?time=2021-11-28"></script>
<script type="text/javascript"
src="${path}/static/js/recordManage/bloodPurification/commomBloodListqf.js?time=2022-02-21_1"></script>
<script type="text/javascript" src="${path}/static/js/dateUtil.js"></script>
<script type="text/javascript" src="${path}/static/js/commom.js"></script>
</body>
</html>

@ -0,0 +1,176 @@
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<c:set var="path" value="${pageContext.request.contextPath}"/>
<%@ include file="/WEB-INF/jspf/common.jspf" %>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>其他管理</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv=X-UA-Compatible IE=EmulateIE7>
<!--[if lt IE 9]>
<script type="text/javascript" src="${path}/static/js/html5shiv.min.js"></script>
<script type="text/javascript" src="${path}/static/js/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="${path}/static/js/respond.min.js"></script>
<![endif]-->
<script>
var path = "${path}";
</script>
<style type="text/css">
.mainDiv{
background-color: #fff;
}
/**搜索区*/
.searchDiv {
padding-top: 10px;
width:100%;
height: 30px;
}
.dateSearchDiv{
width:29%;
}
.dateSearchInput{
width:30%;
margin-left:5px;
}
.dateLabelDiv{
width: 30%;
text-align: right;
}
.searchInput{
margin-left: 5px;
text-align: right;
}
.searchElement{
width:40%;
}
.searchInputElement{
width:60%;
}
.labelDiv{
margin-left: 2%;
display: flex;
align-items: flex-end;
justify-content: center;
height: 1.5vw;
}
/**查询按钮组*/
.btnsDiv{
margin-top: 15px;
height:35px;
text-align: right;
margin-right: 25px;
}
/**表格div*/
.tableDiv{
margin-left: 1%;
margin-top: 1vw;
}
.modelBtns{
width: 70%;
height: 76%;
display: flex;
align-items: flex-end;
justify-content: flex-end;
}
.control-label1{
width:30%;
text-align: right;
padding-top:2px;
font-weight: 700;
}
.warningLabel{
margin-left:102px;
font-weight: 700;
}
.warningDiv{
margin-left: 134px;
margin-top: -20px;
}
/**级联病案号内容*/
.mouseOver{
background-color: #708090;
color:#FFFAFA;
}
.mouseOut{
background-color: #FFFAFA;
color:#000000;
}
/*模态框头*/
.modal-header{
background-color: #199ED8;
text-align: center;
}
.loading {
width: 160px;
height: 56px;
position: absolute;
top: 50%;
left: 50%;
line-height: 56px;
color: #fff;
padding-left: 60px;
font-size: 15px;
background: #000;
opacity: 0.7;
z-index: 9999;
-moz-border-radius: 20px;
-webkit-border-radius: 20px;
border-radius: 20px;
filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70);
}
.input-sm {
height: 35px;
padding: 5px 10px;
font-size: 12px;
border-radius: 3px;
}
</style>
</head>
<body>
<div class="main">
<div class="headDiv">
<div class="headSpanDiv">
<span class="headspan">
病案图像统计
</span>
</div>
</div>
<div class="mainDiv">
<div class="searchDiv">
<div class="searchInput left">
<div class="searchElement left">
<label class="labelDiv">病案号:</label>
</div>
<div class="searchInputElement left">
<input type="text" class="form-control input-sm" id="inpatientNo" style="width: 150px">
</div>
</div>
<div class="searchInput left" style="margin-left: 2vw">
<div class="searchElement left">
<label class="labelDiv">期数:</label>
</div>
<div class="searchInputElement left">
<input type="text" class="form-control input-sm" id="periods" style="width: 150px">
</div>
</div>
<div class="left" style="margin-left: 3vw">
<button type="button" class="btn btn-sm btn-primary" style="width: 5vw" onclick="refreshTable()">查询</button>
</div>
</div>
<!--数据表格-->
<div id="tableDiv" class="tableDiv">
<input type="hidden" id="checks">
<table id="mytab" class="table text-nowrap table-bordered">
</table>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="${path}/static/js/recordManage/commomSearch/imgStatisticsList.js?t=4"></script>
<script type="text/javascript" src="${path}/static/js/dateUtil.js"></script>
</body>
</html>

@ -0,0 +1,196 @@
$(function () {
//百叶窗风格
$('.collapse').collapse({
toggle: false
})
//加载表格
initialization();
//权限控制按钮
permissionControlButton();
});
function initialization(){
search()
}
function permissionControlButton() {
var show = $("#showRecord").val();
var load = $("#downloadRecord").val();
//批量借阅申请权限判断
if (show == 1) {
$("#borrowingsBox").hide();
} else {
$("#borrowingsBox").show();
}
//批量下载申请权限判断
if (load == 1) {
$("#downBorrowingBox").show();//下载按钮显示
} else {
$("#downBorrowingBox").hide();//下载按钮不显示
}
}
//时间格式属性名集合
var commomtable = 'commomtable';
//拼接sql
function getSql() {
$("#whereSql").val('');
$("#fromTableSql").val('');
var dataSource = $("#dataSource").val();
var inputValue = getInputValue();
//from语句字符串
var fromTableNames = '';
//where语句字符串
var whereNames = ' where ';
//拼接where语句
var name = '';
if(!isEmpty(dataSource)){
name = 'data_source';
whereNames += commomtable + "." + name + " = '" + dataSource + "' AND ";
}
if (inputValue != '') {
//判断是否多表
var tables = false;
$('.otherTable').each(function () {
if ($(this).val() != '') {
tables = true;
return false;
}
})
//姓名
var searchName = $("#name").val();
if (!isEmpty(searchName)) {
name = 'name';
//去除前后空格
searchName = searchName.replace(/(^\s*)|(\s*$)/g, "");
var pinyin = /^[a-zA-Z]+$/;
//1.逗号隔开
if (searchName.indexOf(",") != -1 || searchName.indexOf("") != -1) {
if (searchName.indexOf(",") != -1) {
searchName = searchName.split(",");
} else if (searchName.indexOf("") != -1) {
searchName = searchName.split("");
}
for (var i = 0; i < searchName.length; i++) {
if (searchName[i] != '') {
//拼接前括号
if (i == 0) {
whereNames += "(";
}
if (i != searchName.length - 1) {
if (searchName[i].indexOf("*") != -1) {
//2.带*号
searchName = searchName.replace(/\*/g, "_");
whereNames += commomtable + "." + name + " LIKE '" + searchName[i] + "' OR ";
} else if (pinyin.test(searchName[i])) {
//3.拼音缩写
whereNames += commomtable + ".name_cym LIKE '%" + searchName[i] + "%' OR ";
} else {
whereNames += commomtable + "." + name + " LIKE '%" + searchName[i] + "%' OR ";
}
} else {
if (searchName[i].indexOf("*") != -1) {
//2.带*号
searchName = searchName.replace(/\*/g, "_");
whereNames += commomtable + "." + name + " LIKE '" + searchName[i] + "')";
} else if (pinyin.test(searchName[i])) {
//3.拼音缩写
whereNames += commomtable + ".name_cym LIKE '%" + searchName[i] + "%')";
} else {
whereNames += commomtable + "." + name + " LIKE '%" + searchName[i] + "%')";
}
}
}
}
whereNames += " AND ";
} else if (searchName.indexOf("*") != -1) {
//2.带*号
searchName = searchName.replace(/\*/g, "_");
whereNames += commomtable + "." + name + " LIKE '" + searchName + "' AND ";
} else if (pinyin.test(searchName)) {
//3.拼音缩写
whereNames += commomtable + ".name_cym LIKE '%" + searchName + "%' AND ";
} else {
whereNames += commomtable + "." + name + " LIKE '%" + $("#" + name).val() + "%' AND ";
}
}
//住院号
if (!isEmpty($("#admiss_id").val())) {
name = 'admiss_id';
whereNames += commomtable + "." + name + " LIKE '%" + $("#" + name).val() + "%' AND ";
}
//身份证号码
if(!isEmpty($("#id_card").val())){
name = 'id_card';
whereNames += commomtable + "." + name + " LIKE '%" + $("#" + name).val() + "%' AND ";
}
//血透id
if(!isEmpty($("#hemodialysis_id").val())){
name = 'hemodialysis_id';
whereNames += commomtable + "." + name + " LIKE '%" + $("#" + name).val() + "%' AND ";
}
//血透时间
if (!isEmpty($("#startTime5").val()) && !isEmpty($("#endTime5").val())) {
name = 'hemodialysis_date';
whereNames += commomtable + "." + name + " BETWEEN '" + $("#startTime5").val() + " 00:00:00' AND '" + $("#endTime5").val() + " 23:59:59' AND ";
}
//门诊号
if(!isEmpty($("#outpatient_no").val())){
name = 'outpatient_no';
whereNames += commomtable + "." + name + " LIKE '%" + $("#" + name).val() + "%' AND ";
}
//文书号
if(!isEmpty($("#document_no").val())){
name = 'document_no';
whereNames += commomtable + "." + name + " LIKE '%" + $("#" + name).val() + "%' AND ";
}
//文书类型
if(!isEmpty($("#document_type").val())){
name = 'document_type';
whereNames += commomtable + "." + name + " = " + $("#" + name).val() + " AND ";
}
}
if (whereNames != ' where ') {
whereNames = whereNames.substring(0, whereNames.length - 4);
$("#whereSql").val(whereNames);
$("#fromTableSql").val(fromTableNames);
}
}
//搜索功能
function search() {
getSql();
freshTable();
}
//清楚内容方法
function clearContent(id) {
var popNode = document.getElementById(id + "Div");
popNode.style.border = "none";
var contentNode = document.getElementById(id + "Content");
var len = contentNode.childNodes.length;
for (var i = len - 1; i >= 0; i--) {
contentNode.removeChild(contentNode.childNodes[i]);
}
}
$(function () { $("[data-toggle='popover']").popover(); });
$("[rel=drevil]").popover({
trigger:'manual',
html: 'true',
animation: false
}).on("mouseenter", function () {
var _this = this;
$(this).popover("show");
$(this).siblings(".popover").on("mouseleave", function () {
$(_this).popover('hide');
});
}).on("mouseleave", function () {
var _this = this;
setTimeout(function () {
if (!$(".popover:hover").length) {
$(_this).popover("hide")
}
}, );
}); 

@ -0,0 +1,351 @@
var pageNumber;
$('#mytab').bootstrapTable({
toolbar: '#toolbar', //工具按钮用哪个容器
striped: true, //是否显示行间隔色
cache: false, //是否使用缓存默认为true所以一般情况下需要设置一下这个属性*
pagination: true, //是否显示分页(*
sidePagination: "server", //分页方式client客户端分页server服务端分页*
paginationPreText : '上一页',
paginationNextText : '下一页',
pageNumber: 1, //初始化加载第一页,默认第一页
pageSize: 10, //每页的记录行数(*
pageList: [5,10,15,20,50,1000],//可供选择的每页的行数(*
columns:[
[
{
field: 'xh',
title: '序号',
sortable: true,
align:'center',
valign: "middle",
rowspan: 2
},
{
title:'检查日期',
field:'inspectionDate',
align:'center',
valign: "middle",
rowspan: 2
},
{
title:'患者姓名',
field:'name',
align:'center',
valign: "middle",
rowspan: 2
},
{
title:'透析日期',
field:'dialysisDate',
align:'center',
valign: "middle",
rowspan: 2
},
{
title: '血液净化记录存在问题',
field: '',
align: 'center',
valign: 'middle',
colspan: 3,
},{
title: '健康教育存在问题',
field: '',
align: 'center',
valign: 'middle',
colspan: 3,
},{
title: '血透知情同意书存在问题',
field: '',
align: 'center',
valign: 'middle',
colspan: 3,
},
{
title:'其他',
field:'other',
align:'center',
valign: "middle",
rowspan: 2
},
{
title:'责任护士',
field:'responsibleNurse',
align:'center',
valign: "middle",
rowspan: 2
},
{
title:'整改日期',
field:'rectificationDate',
align:'center',
valign: "middle",
rowspan: 2
},
{
title:'整改签名',
field:'rectificationSgin',
align:'center',
valign: "middle",
rowspan: 2
},
{
title:'备注',
field:'remark',
align:'center',
valign: "middle",
rowspan: 2
},
],
[
{
title:'记录填写不完整',
field:'bloodFillIncomplete',
align:'center',
formatter: function (value, row, index) {
if(value == '1'){
return '✓';
}else{
return '';
}
}
},
{
title:'医嘱执行签名不规范',
field:'bloodSignNonstandard',
align:'center',
formatter: function (value, row, index) {
if(value == '1'){
return '✓';
}else{
return '';
}
}
},
{
title:'医护未签名',
field:'bloodMedicalstaffNosign',
align:'center',
formatter: function (value, row, index) {
if(value == '1'){
return '✓';
}else{
return '';
}
}
},
{
title:'未做宣教',
field:'healtheduFillIncomplete',
align:'center',
formatter: function (value, row, index) {
if(value == '1'){
return '✓';
}else{
return '';
}
}
},
{
title:'宣教填写不完整体',
field:'healtheduSignNonstandard',
align:'center',
formatter: function (value, row, index) {
if(value == '1'){
return '✓';
}else{
return '';
}
}
},
{
title:'护患未签名',
field:'healtheduMedicalstaffNosign',
align:'center',
formatter: function (value, row, index) {
if(value == '1'){
return '✓';
}else{
return '';
}
}
},
{
title:'医生未签名',
field:'informedconDocNosign',
align:'center',
formatter: function (value, row, index) {
if(value == '1'){
return '✓';
}else{
return '';
}
}
},
{
title:'患者家属关系缺项',
field:'informedconFamilymembersMiss',
align:'center',
formatter: function (value, row, index) {
if(value == '1'){
return '✓';
}else{
return '';
}
}
},
{
title:'通路名称不规范',
field:'informedconNameNonstandard',
align:'center',
formatter: function (value, row, index) {
if(value == '1'){
return '✓';
}else{
return '';
}
}
},
],
],
locale:'zh-CN',//中文支持,
url:path+'/bloodPurification/queryDocumentList',
queryParams: function (params) {
return{
limit : params.limit, // 每页显示数量
offset : params.offset, // SQL语句起始索引
page : (params.offset / params.limit) + 1, //当前页码,
inspectionDate:$("#inspectionDate").val(),
name:$("#name").val(),
dialysisDate:$("#dialysisDate").val(),
}
},
//选中单个复选框
onCheck:function(row){
var checks = $("#checks").val();
$("#checks").val(checks+=row.logId + ",");
},
//取消单个复选框
onUncheck:function(row){
var checks = $("#checks").val();
checks = checks.replace(row.logId + ",");
$("#checks").val(checks);
},
//全选
onCheckAll:function(rows){
$("#checks").val("");
var checks = '';
for(var i=0;i<rows.length;i++)
{
checks += rows[i].logId + ","
}
$("#checks").val(checks);
},
//全不选
onUncheckAll: function (rows) {
$("#checks").val("");
},
responseHandler:function(res){
console.log("resresresresresresresresresresresresresresresresresres", res);
//在ajax获取到数据渲染表格之前修改数据源
var nres = [];
nres.push({total:res.total,rows:res.list});
return nres[0];
},
onLoadSuccess:function(){
$(".page-list").show();
$(".fixed-table-body").css("overflow","auto");
},
//监听分页点击事件
onPageChange: function(num, type) {
pageNumber = num;
},
})
//查询按钮
function refreshTable(){
$("#checks").val("");
$('#mytab').bootstrapTable('refresh',{
url : path+'/bloodPurification/queryDocumentList'
})
$('#mytab').bootstrapTable('selectPage', pageNumber);
}
//导入按钮
function exportExcel(){
$("#myModalLabel3").text('导入');
$('#myModal3').modal('show')
}
function importExcel(url,exportFileName){
var fileDir = $("#upfile").val();
var suffix = fileDir.substr(fileDir.lastIndexOf("."));
if ("" == fileDir) {
toastr.warning("选择需要导入的Excel文件!")
return false;
}
if (".xls" != suffix && ".xlsx" != suffix) {
toastr.warning("文件格式有误!选择Excel格式的文件导入!")
return false;
}
$("#form1").attr('disabled', 'disabled');
var url = path + url;
$('#loadingModel').modal('show');
$("#loading").css("background","url("+path+"/static/img/load.gif) no-repeat 10px 50%");
$('#form1').ajaxSubmit({
type:'POST',
url : url,
dataType : 'text',//服务器返回的数据类型 可选XML ,Json jsonp script html text等
data:{upfile:$("#upfile").val()},
error : function() {
$("#form1").removeAttr('disabled');
toastr.warning("导入excel出错!")
},
success : function(data) {
$('#loadingModel').modal('hide');
if(data == null || data == ''){
toastr.success("全部导入成功!");
setTimeout(function(){
window.location.reload();
},1000)
}else{
if(data.indexOf("@") != -1){
var datas = data.split("@");
var workBookKey = datas[0];
debugger;
data = datas[1];
Common.confirm({
title: "提示",
message: data,
operate: function (reselt) {
if (reselt) {
var url = path + "/exportWrongExcel?fileName="+exportFileName+"&workBookKey=" + workBookKey;
window.location.href = url;
}
}
})
}else{
toastr.error(data);
}
}
$("#upfile").val("");
$("#form1").removeAttr('disabled');
}
});
}
$(function () {
$('#inspectionDate').datepicker({
language: "zh-CN",
format: "yyyy-mm-dd",
autoclose: true//选中之后自动隐藏日期选择框
})
$('#dialysisDate').datepicker({
language: "zh-CN",
format: "yyyy-mm-dd",
autoclose: true//选中之后自动隐藏日期选择框
})
let flag = $("#flag").val();
if(flag == 'showDetail'){
$(".headDiv").css("display","none");
$(".importExcelDiv").css("display","none");
$(".searcDiv").css("display","none");
}
})

@ -0,0 +1,138 @@
var pageNumber;
$('#mytab').bootstrapTable({
toolbar: '#toolbar', //工具按钮用哪个容器
striped: true, //是否显示行间隔色
cache: false, //是否使用缓存默认为true所以一般情况下需要设置一下这个属性*
pagination: true, //是否显示分页(*
sidePagination: "server", //分页方式client客户端分页server服务端分页*
paginationPreText : '上一页',
paginationNextText : '下一页',
pageNumber: 1, //初始化加载第一页,默认第一页
pageSize: 10, //每页的记录行数(*
pageList: [5,10,15,20,50,1000],//可供选择的每页的行数(*
height: $(window).height()-109, //行高如果没有设置height属性表格自动根据记录条数觉得表格高度
columns:[
[
{
title:'检查日期',
field:'inspectionDate',
align:'center',
valign: "middle",
},
{
title:'患者姓名',
field:'name',
align:'center',
valign: "middle",
},
{
title:'透析日期',
field:'dialysisDate',
align:'center',
valign: "middle",
},
{
title: '血净记录完整率(%',
field: 'bloodFillIncompleteRate',
align: 'center',
valign: 'middle',
},{
title: '健康教育完整率(%',
field: 'healtheduFillIncompleteRate',
align: 'center',
valign: 'middle',
},{
title: '知情同意完整率(%',
field: 'informedconDocNosignRate',
align: 'center',
valign: 'middle',
},
{
title:'操作',
field:'',
formatter: function(value,row,index){
return '<button type="button" onclick="jumpMxPage(\'' + row.inspectionDate + '\',\'' + row.name + '\', \'' + row.dialysisDate + '\')" class="btn btn-sm btn-danger">查看明细</button>';
}
}
],
],
locale:'zh-CN',//中文支持,
url:path+'/bloodPurification/queryInspectionRecordsSum',
queryParams: function (params) {
return{
limit : params.limit, // 每页显示数量
offset : params.offset, // SQL语句起始索引
page : (params.offset / params.limit) + 1, //当前页码,
inspectionDate:$("#inspectionDate").val(),
name:$("#name").val(),
dialysisDate:$("#dialysisDate").val(),
}
},
//选中单个复选框
onCheck:function(row){
var checks = $("#checks").val();
$("#checks").val(checks+=row.logId + ",");
},
//取消单个复选框
onUncheck:function(row){
var checks = $("#checks").val();
checks = checks.replace(row.logId + ",");
$("#checks").val(checks);
},
//全选
onCheckAll:function(rows){
$("#checks").val("");
var checks = '';
for(var i=0;i<rows.length;i++)
{
checks += rows[i].logId + ","
}
$("#checks").val(checks);
},
//全不选
onUncheckAll: function (rows) {
$("#checks").val("");
},
responseHandler:function(res){
//在ajax获取到数据渲染表格之前修改数据源
var nres = [];
nres.push({total:res.total,rows:res.list});
return nres[0];
},
onLoadSuccess:function(){
$(".page-list").show();
$(".fixed-table-body").css("overflow","auto");
},
//监听分页点击事件
onPageChange: function(num, type) {
pageNumber = num;
},
})
//查询按钮
function refreshTable(){
$("#checks").val("");
$('#mytab').bootstrapTable('refresh',{
url : path+'/bloodPurification/queryInspectionRecordsSum'
})
$('#mytab').bootstrapTable('selectPage', pageNumber);
}
function jumpMxPage(inspectionDate, name, dialysisDate){
$('#myModal3').modal('show')
setTimeout(function(){
$("#iframe").prop("src",path+"/bloodPurification/inspectionRecords?inspectionDate="+ inspectionDate + "&name=" + name + "&dialysisDate=" + dialysisDate + "&flag=showDetail");
},100)
}
$(function () {
$('#inspectionDate').datepicker({
language: "zh-CN",
format: "yyyy-mm-dd",
autoclose: true//选中之后自动隐藏日期选择框
})
$('#dialysisDate').datepicker({
language: "zh-CN",
format: "yyyy-mm-dd",
autoclose: true//选中之后自动隐藏日期选择框
})
})

@ -0,0 +1,99 @@
var pageNumber;
$('#mytab').bootstrapTable({
toolbar: '#toolbar', //工具按钮用哪个容器
striped: true, //是否显示行间隔色
cache: false, //是否使用缓存默认为true所以一般情况下需要设置一下这个属性*
pagination: true, //是否显示分页(*
sidePagination: "server", //分页方式client客户端分页server服务端分页*
paginationPreText : '上一页',
paginationNextText : '下一页',
pageNumber: 1, //初始化加载第一页,默认第一页
pageSize: 10, //每页的记录行数(*
pageList: [5,10,15,20,50,1000],//可供选择的每页的行数(*
height: $(window).height()-109, //行高如果没有设置height属性表格自动根据记录条数觉得表格高度
columns:[
{
title:'期数',
field:'periods',
align:'center',
formatter: function (value, row, index) {
if(value == 0){
return '合计';
}else{
return value;
}
}
},
{
title:'病案份数',
field:'periodsNum',
align:'center',
},
{
title:'图像数量',
field:'imgNum',
align:'center',
},
],
locale:'zh-CN',//中文支持,
url:path+'/commom/queryImgStatistics',
queryParams: function (params) {
return{
limit : params.limit, // 每页显示数量
offset : params.offset, // SQL语句起始索引
page : (params.offset / params.limit) + 1, //当前页码,
inpatientNo: $("#inpatientNo").val(),
periods: $("#periods").val(),
}
},
//选中单个复选框
onCheck:function(row){
var checks = $("#checks").val();
$("#checks").val(checks+=row.logId + ",");
},
//取消单个复选框
onUncheck:function(row){
var checks = $("#checks").val();
checks = checks.replace(row.logId + ",");
$("#checks").val(checks);
},
//全选
onCheckAll:function(rows){
$("#checks").val("");
var checks = '';
for(var i=0;i<rows.length;i++)
{
checks += rows[i].logId + ","
}
$("#checks").val(checks);
},
//全不选
onUncheckAll: function (rows) {
$("#checks").val("");
},
responseHandler:function(res){
//在ajax获取到数据渲染表格之前修改数据源
var nres = [];
nres.push({total:res.total,rows:res.list});
return nres[0];
},
onLoadSuccess:function(){
$(".page-list").show();
$(".fixed-table-body").css("overflow","auto");
},
//监听分页点击事件
onPageChange: function(num, type) {
pageNumber = num;
},
})
//查询按钮
function refreshTable(){
$("#checks").val("");
$('#mytab').bootstrapTable('refresh',{
url : path+'/commom/queryImgStatistics'
})
$('#mytab').bootstrapTable('selectPage', pageNumber);
}
$(function () {
})
Loading…
Cancel
Save