病案视宗新增下载PDF按钮增加目录

master
linjj 1 year ago
parent 516989c0de
commit e8df06ec93

@ -173,6 +173,12 @@
<systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/anysign-components-2.1.6-RELEASE.jar</systemPath>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>kernel</artifactId>
<version>7.1.11</version>
</dependency>
<dependency>
<groupId>cn.org.bjca.anysign</groupId>
<artifactId>anysign-components-bean</artifactId>

@ -0,0 +1,44 @@
package com.emr.controller;
import com.emr.service.BatchExportService;
import com.emr.vo.ExportTaskVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
/**
* @ClassName BatchExportController
* @Description
* @Author linjj
* @Date 2024/4/12 11:16
* @Version 1.0
*/
@Controller
@RequestMapping("/batch/export")
public class BatchExportController {
@Autowired
private BatchExportService batchExportService;
@RequestMapping(value = "/exportPdf")
public String faults(Model model) {
return "batchExport/batchExpoer";
}
/**
* @description:
* @params: taskState
* @return: ExportTaskVo
* @author linjj
* @date: 2024/4/12 11:40
*/
@ResponseBody
@RequestMapping(value = "/selectAll")
public List<ExportTaskVo> selectAll(int taskState) {
return batchExportService.selectAll(taskState);
}
}

@ -6,10 +6,13 @@
*/
package com.emr.controller;
import com.emr.dto.DownloadPdfBloodDto;
import com.emr.entity.Archive_Master_Vo;
import com.emr.entity.OffsetLimitPage;
import com.emr.service.Archive_MasterService;
import com.emr.service.DownloadPdfBloodService;
import com.emr.service.Emr_DictionaryService;
import com.emr.service.ExportZdAssortService;
import com.emr.util.ThreadExcelUtils;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
@ -41,6 +44,9 @@ public class unfileMedicalController {
@Autowired
private Emr_DictionaryService emrDictionaryService;
@Autowired
private DownloadPdfBloodService downloadPdfBloodService;
@RequestMapping(value = "/unfileMedicals")
public String faults(Model model) {
return "unfileMedicalDir/unfileMedicalList";
@ -234,12 +240,16 @@ public class unfileMedicalController {
e.printStackTrace();
}
}
@RequestMapping(value = "downloadPdfBlood", produces = {"text/json;charset=UTF-8"})
@ResponseBody
public void downloadPdfBlood(HttpServletResponse response,DownloadPdfBloodDto dto) throws Exception {
downloadPdfBloodService.downloadPdfBlood(response,dto);
}
}

@ -0,0 +1,18 @@
package com.emr.dao;
import com.emr.vo.ExportTaskVo;
import java.util.List;
/**
* @InterfaceName BatchExportMapper
* @Description
* @Author linjj
* @Date 2024/4/12 11:44
* @Version 1.0
*/
public interface BatchExportMapper {
//查询所有任务
List<ExportTaskVo> selectAll(int taskState);
}

@ -0,0 +1,16 @@
package com.emr.dao;
import com.emr.entity.Zd_Assort;
import com.emr.vo.ExportPdfVo;
import com.emr.vo.ExportZdAssortVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface ExportZdAssortMapper {
List<ExportPdfVo>getPdfPath(String masterId);
List<ExportZdAssortVo>selectAll();
}

@ -0,0 +1,21 @@
package com.emr.dto;
import lombok.Data;
import org.apache.ibatis.annotations.Param;
/**
* @ClassName DownloadPdfBloodDto
* @Description pdf Dto
* @Author linjj
* @Date 2024/4/10 17:11
* @Version 1.0
*/
@Data
public class DownloadPdfBloodDto {
private String masterId;
private String inpNo;
private String dischargeDateTime;
}

@ -0,0 +1,24 @@
package com.emr.service;
import com.emr.vo.ExportPdfVo;
import com.emr.vo.ExportTaskVo;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.List;
/**
* @InterfaceName BatchExportService
* @Description
* @Author linjj
* @Date 2024/4/12 11:40
* @Version 1.0
*/
public interface BatchExportService {
//查询所有任务
List<ExportTaskVo> selectAll(int taskState);
}

@ -0,0 +1,17 @@
package com.emr.service;
import com.emr.dto.DownloadPdfBloodDto;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* @InterfaceName downloadPdfBloodService
* @Author linjj
* @Date 2024/4/10 17:02
* @Version 1.0
*/
public interface DownloadPdfBloodService {
void downloadPdfBlood(HttpServletResponse response,DownloadPdfBloodDto dto) throws Exception;
}

@ -0,0 +1,23 @@
package com.emr.service;
import com.emr.vo.ExportPdfVo;
import com.emr.vo.ExportZdAssortVo;
import java.util.List;
/**
* @InterfaceName ExportZdAssortServe
* @Author linjj
* @Date 2024/4/10 16:59
* @Version 1.0
*/
public interface ExportZdAssortService {
List<ExportPdfVo>getPdfPath(String masterID);
List<ExportZdAssortVo>selectAll();
}

@ -0,0 +1,33 @@
package com.emr.service.ipml;
import com.emr.dao.BatchExportMapper;
import com.emr.service.BatchExportService;
import com.emr.vo.ExportPdfVo;
import com.emr.vo.ExportTaskVo;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfReader;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.List;
/**
* @ClassName BatchExportServiceImpl
* @Description
* @Author linjj
* @Date 2024/4/12 11:41
* @Version 1.0
*/
@Service
public class BatchExportServiceImpl implements BatchExportService {
@Autowired
BatchExportMapper batchExportMapper;
@Override
public List<ExportTaskVo> selectAll(int taskState) {
return batchExportMapper.selectAll(taskState);
}
}

@ -0,0 +1,206 @@
package com.emr.service.ipml;
import com.emr.dto.DownloadPdfBloodDto;
import com.emr.service.DownloadPdfBloodService;
import com.emr.service.ExportZdAssortService;
import com.emr.vo.ExportPdfVo;
import com.itextpdf.text.Document;
import com.itextpdf.text.pdf.*;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
@Service
public class DownloadPdfBloodServiceImpl implements DownloadPdfBloodService {
@Autowired
ExportZdAssortService exportZdAssortService;
@Value("${export_pdf_hospital_info}")
private String flieName;
@Override
public void downloadPdfBlood(HttpServletResponse response, DownloadPdfBloodDto dto) throws Exception {
String fileName;
try {
//组织导出文件名
fileName = exportFlieName(dto);
} catch (ParseException e) {
throw new RuntimeException(e);
}
//查询当前患者需要打印的pdf
List<ExportPdfVo> pdfPathList = exportZdAssortService.getPdfPath(dto.getMasterId());
downPdfResponse(fileName,response);
exportPdf(response, pdfPathList);
}
private static void exportPdf(HttpServletResponse response, List<ExportPdfVo> pdfPathList) {
//上一个目录名称
String lastOutline = null;
//是否增加标签
boolean outFlag = true;
//标签顺序
Integer outNum = 1;
Integer pageNum=1;
Document document = new Document();
PdfCopy writer = null;
try {
writer = new PdfCopy(document, response.getOutputStream());
document.open();
PdfContentByte cb = writer.getDirectContent();
cb.setFontAndSize(BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED), 12);
cb.beginText();
cb.showTextAligned(PdfContentByte.ALIGN_CENTER, "目录", 300, 780, 0);
cb.endText();
// 创建目录
PdfOutline root = cb.getRootOutline();
for (int i = 0; i < pdfPathList.size(); i++) {
try {
String assortName = pdfPathList.get(i).getAssortName();
if (StringUtils.isNotBlank(lastOutline) && lastOutline.equals(assortName)) {
outFlag = false;
}
if (StringUtils.isBlank(lastOutline)) {
lastOutline = assortName;
outFlag=true;
}
if (!lastOutline.equals(assortName)){
lastOutline = assortName;
outFlag=true;
}
PdfReader reader = new PdfReader(pdfPathList.get(i).getPdfPath());
int n = reader.getNumberOfPages();
for (int s = 1; s <= n; s++) {
PdfImportedPage page = writer.getImportedPage(reader, s);
writer.addPage(page);
}
if (outFlag) {
//目录跳转页面内容设置。
PdfAction action = PdfAction.gotoLocalPage(pageNum, new PdfDestination(PdfDestination.FIT), writer);
//标题目录
String title = outNum+"."+pdfPathList.get(i).getAssortName();
new PdfOutline(root, action, title, false);
outNum++;
}
pageNum =pageNum+getPageNum(pdfPathList.get(i));
} catch (Exception e) {
throw new RuntimeException(e);
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (document != null) {
document.close();
}
}
}
private void downPdfResponse(String pdfName, HttpServletResponse response) {
try {
pdfName = java.net.URLEncoder.encode(pdfName, "UTF-8");
} catch (UnsupportedEncodingException e) {
throw new RuntimeException(e);
}
response.reset();
response.setContentType("application/pdf");
response.setHeader("content-disposition", "attachment; filename=" + pdfName + ".pdf");
}
// private static void mulFile2One(HttpServletResponse response, DownloadPdfBloodDto dto, List<ExportPdfVo> pdfPathList, String fileName) {
// //获取需要导出pdf
// List<String> filePaths = pdfPathList.stream().map(ExportPdfVo::getPdfPath).collect(Collectors.toList());
// if (!filePaths.isEmpty()) {
// //标签顺序
// Integer outNum = 1;
// // pdf合并工具类
// Document document = null;
// PdfCopy copy = null;
// PdfWriter writer;
// try {
// writer = PdfWriter.getInstance(document, response.getOutputStream());//创建编写器PDF类型
// fileName = java.net.URLEncoder.encode(fileName, "UTF-8");
// response.reset();
// response.setCharacterEncoding("utf-8");
// response.setContentType("application/pdf");
// response.setHeader("Content-Disposition", "attachment; filename=" + fileName + ".pdf");
// document = new Document(new PdfReader(filePaths.get(0)).getPageSize(1));
// copy = new PdfCopy(document, response.getOutputStream());
// document.open();
// for (int i = 0; i < pdfPathList.size(); i++) {
// PdfReader reader = new PdfReader(pdfPathList.get(i).getPdfPath());
// ByteArrayOutputStream bos = new ByteArrayOutputStream();
// PdfReader pdfReader = null;
// int n = reader.getNumberOfPages();
// for (int j = 1; j <= n; j++) {
// document.newPage();
// PdfImportedPage page = copy.getImportedPage(reader, j);
// copy.addPage(page);
// }
// if (null != pdfReader) {
// pdfReader.close();
// }
// reader.close();
// try {
// bos.flush();
// bos.close();
// } catch (Exception e) {
// //e.printStackTrace();
// }
// }
// } catch (Exception e) {
// //e.printStackTrace();
// } finally {
// if (null != document) {
// document.close();
// }
// }
//
// }
// }
private String exportFlieName(DownloadPdfBloodDto dto) throws ParseException {
SimpleDateFormat originalFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat targetFormat = new SimpleDateFormat("yyyyMMdd");
Date date = originalFormat.parse(dto.getDischargeDateTime());
String formattedDate = targetFormat.format(date);
return flieName + "_" + dto.getInpNo() + "_" + formattedDate;
}
private static int getPageNum(ExportPdfVo obj) {
FileInputStream is;
com.itextpdf.kernel.pdf.PdfReader pdfReader = null;
int pages = 0;
//创建File类
File file = new File(obj.getPdfPath());
//判断文件是否存在
if (file.exists()) {
try {
is = new FileInputStream(file);
pdfReader = new com.itextpdf.kernel.pdf.PdfReader(is);
com.itextpdf.kernel.pdf.PdfDocument redDocument = new com.itextpdf.kernel.pdf.PdfDocument(pdfReader);
pages = redDocument.getNumberOfPages();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
return pages;
}
}

@ -0,0 +1,34 @@
package com.emr.service.ipml;
import com.emr.dao.ExportZdAssortMapper;
import com.emr.dao.Zd_AssortMapper;
import com.emr.service.ExportZdAssortService;
import com.emr.vo.ExportPdfVo;
import com.emr.vo.ExportZdAssortVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @ClassName ExportZdAssortServiceImpl
* @Author linjj
* @Date 2024/4/10 17:00
* @Version 1.0
*/
@Service
public class ExportZdAssortServiceImpl implements ExportZdAssortService {
@Autowired
private ExportZdAssortMapper exportZdAssortMapper;
@Override
public List<ExportPdfVo> getPdfPath(String masterID) {
return exportZdAssortMapper.getPdfPath(masterID);
}
@Override
public List<ExportZdAssortVo> selectAll() {
return exportZdAssortMapper.selectAll();
}
}

@ -0,0 +1,24 @@
package com.emr.util;
import com.emr.vo.ExportPdfVo;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
/**
* @ClassName PageNumUyils
* @Description
* @Author linjj
* @Date 2024/4/12 12:18
* @Version 1.0
*/
public class PageNumUtils {
//获取pdf页数
}

@ -0,0 +1,19 @@
package com.emr.vo;
import lombok.Data;
/**
* @ClassName ExportPdfVo
* @Description pdf
* @Author linjj
* @Date 2024/4/11 8:47
* @Version 1.0
*/
@Data
public class ExportPdfVo {
private String pdfPath;
private String assortID;
private String assortSort;
private String assortName;
}

@ -0,0 +1,26 @@
package com.emr.vo;
import lombok.Data;
/**
* @ClassName ExportTaskVo
* @Description
* @Author linjj
* @Date 2024/4/12 11:37
* @Version 1.0
*/
@Data
public class ExportTaskVo {
//批次id
private int id;
//开始时间
private String startTime;
//结束时间
private String endTime;
//0未开始1正在下载2下载完成
private int taskState;
//完成数量
private int completeNum;
//需求数量
private int needNum;
}

@ -0,0 +1,19 @@
package com.emr.vo;
import lombok.Data;
/**
* @ClassName ExportZdAssortVo
* @Description
* @Author linjj
* @Date 2024/4/10 16:52
* @Version 1.0
*/
@Data
public class ExportZdAssortVo {
private String assortId;
private String assortName;
private String assortSort;
private String exportFlag;
}

@ -17,3 +17,5 @@ oracleUrl = 10.6.0.150:1521/jhemr
oracleUserName = jswzh
oraclePassWord = jswzh123

@ -83,4 +83,7 @@ pdfWater = \u5E7F\u4E1C\u533B\u79D1\u5927\u5B66\u9644\u5C5E\u533B\u9662
PdfIsError = C:\\Users\\Administrator\\Desktop\\test\\test070802
waterTifToJpgPath = D:/jiashi/tifToJpgLoad/
waterTifToJpgPath = D:/jiashi/tifToJpgLoad/
#\u5bfc\u51fa\u4fe1\u606f\u683c\u5f0f\u9700\u8981\u4e3aunicode\u683c\u5f0f\u4e0d\u7136\u4f1a\u4e71\u7801
export_pdf_hospital_info = \u5e7f\u4e1c\u7701_\u5e7f\u4e1c\u533b\u79d1\u5927\u5b66\u9644\u5c5e\u533b\u9662

@ -0,0 +1,14 @@
<?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.BatchExportMapper">
<select id="selectAll" resultType="com.emr.vo.ExportTaskVo">
select * from Export_Task
<where>1=1
<if test="taskState != null">
taskState=#{taskState}
</if>
</where>
</select>
</mapper>

@ -0,0 +1,22 @@
<?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.ExportZdAssortMapper">
<select id="getPdfPath" resultType="com.emr.vo.ExportPdfVo">
SELECT
a.PDF_PATH,
a.AssortID ,
e.assort_sort,
e.gj_assort_name as assortName
FROM
export_zd_assort e
INNER JOIN Archive_Detail a ON a.AssortID= e.assort_id
WHERE
a.MasterID= #{masterID}
AND e.export_flag='1'
ORDER BY e.assort_sort
</select>
<select id="selectAll" resultType="com.emr.vo.ExportZdAssortVo">
select * from export_zd_assort where export_flag='1'
</select>
</mapper>

@ -0,0 +1,446 @@
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set value="${pageContext.request.contextPath}" var="path" scope="page"/>
<html>
<head>
<title>国家病历批量导出</title>
<meta charset="utf-8">
<!-- 解决部分兼容性问题如果安装了GCF则使用GCF来渲染页面如果未安装GCF则使用最高版本的IE内核进行渲染。 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<!-- 页面按原比例显示 -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<%@include file="../../jspf/comm.jspf" %>
<style>
.divCss {
margin-top: 5px;
}
.divCss2 {
margin-top: 5px;
margin-left: 20px;
}
.divCss8 {
margin-top: 5px;
margin-right: 20px;
}
/* dataTables表头居中 */
.table > thead:first-child > tr:first-child > th {
text-align: center !important;
}
.toolbarCss {
margin-right: 20px;
margin-bottom: 0px;
!important;
}
.fixed-table-toolbar .bs-bars .pull-right{
height: 20px;
!important;
}
/*选中行颜色*/
.fixed-table-container tbody .selected td {
background-color: #9acfea;
}
.formCss{
margin-top:20px;
margin-left:20px;
}
.tjCss{
margin-left:10px;
margin-right:20px;
height:auto;
}
</style>
</head>
<body>
<div class="tjCss">
<!--搜索-->
<form class="formCss">
<div class="form-inline">
<div class="form-group divCss8">
<label for="archivestate">当前状态:</label>
<select class="input-sm form-control" id="archivestate">
<option value="">全部</option>
<option value="1">正在下载</option>
<option value="2">下载完成</option>
<option value="0">未开始</option>
</select>
</div>
<button type="button" class="btn btn-primary btn-sm divCss" id="searchBtn">查询</button>
</div>
</form>
<!--数据表格-->
<table id="table" class="table text-nowrap table-striped"></table>
<div id="toolbar" class="btn-group pull-right toolbarCss">
<div class="columns columns-right btn-group pull-right" style="margin-top:0px;">
<button class=" btn btn-success" style="height: 34px" type="button" id="refreshBtn" name="refresh"
aria-label="Refresh"
title="Refresh">
<i class="glyphicon glyphicon-refresh icon-refresh"></i>
</button>
</div>
</div>
</div>
</body>
<script>
var tipLoad=1;
$(function () {
var url = window.location.href;
var index = url.substring(url.lastIndexOf('?') + 1).replace("num=", "");
if (index != null && index != "" && index.indexOf("excel") != -1) {
$("#excelBtn").show();
$("#toolbar").show();
} else {
$("#excelBtn").hide();
$(".columns-right").hide();
}
});
//日期控件
$(".input-daterange").datepicker({
format: "yyyy-mm-dd",
language: "zh-CN"
});
/*var currDate=getCurrDate();
var currDate30=getCurrDay30();
$('#startDate').val(currDate30);
$('#endDate').val(currDate);*/
//处理导出内容,这个方法可以自定义某一行、某一列、甚至某个单元格的内容,也就是将其值设置为自己想要的内容
function DoOnCellHtmlData(cell, row, col, data) {
if (row == 0) {
return data;
}
//由于备注列超过6个字的话,通过span标签处理只显示前面6个字,如果直接导出的话会导致内容不完整,因此要将携带完整内容的span标签中title属性的值替换
if (col == 4 || col == 11 || col == 7) {
var spanObj = $(data);//将带 <span title="val"></span> 标签的字符串转换为jQuery对象
var title = spanObj.attr("title");//读取<span title="val"></span>中title属性的值
//var span = cell[0].firstElementChild;//读取cell数组中的第一个值下的第一个元素
if (typeof (title) != 'undefined') {
return title;
}
}
return data;
}
function initTable() {
if(tipLoad == 1){
$("#table").bootstrapTable({ // 对应table标签的id
//method: 'POST',
url: "${path}/Statistics/getStatistics", // 获取表格数据的url
contentType: "application/x-www-form-urlencoded",//一种编码。好像在post请求的时候需要用到。这里用的get请求注释掉这句话也能拿到数据
//dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
paginationShowPageGo: true,
pageList: [10, 20, 50, 100], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
smartDisplay: false,
pageSize: 2, // 页面数据条数
pageNumber: 1, // 初始化加载第一页,默认第一页
sidePagination: 'server', // 设置为服务器端分页 客户端client
search: false,
showColumns: true,
// sortable: true,
// sortOrder: "asc",
toolbar: '#toolbar',//指定工具栏
searchOnEnterKey: true, //设置为 true时按回车触发搜索方法否则自动触发搜索方法
undefinedText: '---', //当数据为 undefined 时显示的字符
singleSelect: false,//设置True 将禁止多选
clickToSelect: true,//设置true 将在点击行时自动选择rediobox 和 checkbox
//height: 560, //定义表格的高度。
searchTimeOut: 500,// 默认500 设置搜索超时时间。
toolbarAlign: 'right',// 指定 toolbar 水平方向的位置。'left' 或 'right'
paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
showHeader: true,//是否显示列头。
trimOnSearch: true,//设置为 true 将自动去掉搜索字符的前后空格。
//是否显示导出按钮
showExport: true,
//导出表格方式默认basic只导出当前页的表格数据all导出所有数据selected导出选中的数据
exportDataType: "basic",
//导出文件类型
exportTypes: ['json', 'xml', 'csv', 'txt', 'sql', 'excel'],
exportOptions: {
fileName: document.title
},
// showToggle: false, //是否显示详细视图和列表视图的切换按钮
// cardView: false, //是否显示详细视图
// detailView: false, //是否显示父子表
queryParams: function (params) {
var currPageSize = this.pageSize;
if (currPageSize == 2) {
currPageSize = 10;
}
var limit = null;
var offset = params.offset;
//判断是否导出全部all
if ($("#sel_exportoption").val() == "all") {
offset = 0;
limit = this.totalRows;
this.pageSize = limit;
} else {
limit = currPageSize;
this.pageSize = currPageSize;
}
var archivestate="";
if($("#archivestate").val()!=null && $("#archivestate").val()!=""){
archivestate="" + $("#archivestate").val();
}
/*else{
archivestate="已归档,已认证,初审";
}*/
var temp = {
limit: limit, //页面大小
offset: offset, //页码
order: params.order, //排位命令descasc
idNo: $("#idNo").val(),
inpNo: "" + $("#inpNo").val(),
visitId: "" + $("#visitId").val(),
name: "" + $("#name").val(),
creater:"" + $("#creater").val(),
archivestate: archivestate,
//state: "" + $("#state").val(),
startDate: $("#startDate").val(),
endDate: $("#endDate").val()
};
return temp;
},
sortName: 'id', // 要排序的字段
sortOrder: 'desc', // 排序规则
columns: [{
title: '全选',
field: 'select', //复选框
checkbox: true,
width: 25,
align: 'center',
valign: 'middle',
},
{
title: '序号',
field: 'id',
align: 'center',
valign: 'middle',
//sortable: true,
visible: false,
formatter: function (value, row, index) {
return index + 1;
}
},
{
title: '纸质签收(份)',
field: 'recoveryNum',
align: 'left',
valign: 'middle',
},
{
title: '质控(份)',
field: 'fileNum',
align: 'center',
valign: 'middle'
},
{
title: '借阅(份)',
field: 'borrowingNum',
align: 'center',
},
{
title: '自助机(份)',
field: 'selfHelpNum',
align: 'center',
valign: 'middle',
},
{
title: '窗口打印(份)',
field: 'windowPrintNum',
align: 'center',
valign: 'middle'
},
{
title: '微信预约(份)',
field: 'vxPrintNum',
align: 'center',
valign: 'middle'
},
{
title: '金创融合记录(份)',
field: 'fuseNum',
align: 'center',
valign: 'middle'
},
{
title: '金创融合记录病案页数(页)',
field: 'fuseRecordNum',
align: 'center',
valign: 'middle'
},
{
title: '无纸化病案(份)',
field: 'paperlessNum',
align: 'center',
valign: 'middle'
},
{
title: '无纸化病案页数(页)',
field: 'paperlessPageNum',
align: 'center',
valign: 'middle'
},
{
title: '纸质数字化扫描记录(份)',
field: 'scanningNum',
align: 'center',
valign: 'middle'
},
{
title: '纸质数据化扫描病历页数(页)',
field: 'scanningPageNum',
align: 'center',
valign: 'middle'
},
{
title:'操作',
align:'center',
valign:'middle',
formatter: function (value, row, index) {
var html = "";
html += '<button type="button" class="btn btn-danger btn-sm qxInfo" style="margin-right: 5px" onclick="recoveryselecrt()">查看签收详情</input>';
html += '<button type="button" class="btn btn-danger btn-sm qxInfo" style="margin-right: 5px"onclick="fileselecrt()">查看质控详情</input>';
html += '<button type="button" class="btn btn-danger btn-sm qxInfo" style="margin-right: 5px"onclick="borrowingselecrt()">查看借阅详情</input>';
html += '<button type="button" class="btn btn-danger btn-sm qxInfo" style="margin-right: 5px"onclick="windowPrintselecrt()">查看打印详情</input>';
return html;
}
},
],
onLoadSuccess: function (result) { //加载成功时执行
//console.info("加载成功");
tipLoad=0;
},
onLoadError: function () { //加载失败时执行
//console.info("加载数据失败");
tipLoad=0;
}
});
}
}
//查询
$('#searchBtn').click(function () {
//查询之后重新从第一页算起
if (tipLoad == 0) {
$("#table").bootstrapTable("refreshOptions", {pageNumber: 1});
} else {
toastr.warning("正在查询,请稍等...");
}
//$(".selectpicker").selectpicker( 'deselectAll' );
// $('#table').bootstrapTable('destroy');
//$('#table').bootstrapTable('refreshOptions', {limit: 1, offset: 10});
//刷新
//$('#table').bootstrapTable('refresh');
});
//新增回收
function recoveryselecrt() {
$.ajax({
type : "POST",
url : "${path}/scientific/recoveryStatistics",
success : function(data) {
window.location.href = 'recoveryStatistics';
},
})
}
//质控详情
function fileselecrt() {
$.ajax({
type : "POST",
url : "${path}/scientific/fileStatistics",
success : function(data) {
window.location.href = 'fileStatistics';
},
})
}
//借阅详情
function borrowingselecrt() {
$.ajax({
type : "POST",
url : "${path}/scientific/borrowingStatistics",
success : function(data) {
window.location.href = 'borrowingStatistics';
},
})
}
//打印详情
function windowPrintselecrt() {
$.ajax({
type : "POST",
url : "${path}/scientific/windowPrintStatistics",
success : function(data) {
window.location.href = 'windowPrintStatistics';
},
})
}
//获取table的高度
function getHeight() {
return $(window).height() - 100;
}
initTable();
//2.初始化select的change事件
$("#sel_exportoption").change(function () {
$('#table').bootstrapTable('refreshOptions', {
exportDataType: $(this).val()
});
});
$("#refreshBtn").click(function () {
//刷新
$('#table').bootstrapTable('refresh');
});
//导出excel功能
$("#excelBtn").click(function () {
toastr.warning("正在导出,请稍等...");
var inpNo = "" + $("#inpNo").val();
var visitId = "" + $("#visitId").val();
var name = "" + $("#name").val();
var idNo = "" + $("#idNo").val();
//var state = "" + $("#state").val();
var archivestate = "" + $("#archivestate").val();
var creater=""+$("#creater").val();
var startDate = "" + $("#startDate").val();
var endDate=""+ $("#endDate").val();
var logContent="病案召回";
window.location.href = "${path}/recallDate/exportExcel?inpNo=" + inpNo + "&visitId=" + visitId +
"&name=" + name + "&idNo=" + idNo + "&archivestate=" + archivestate+ "&creater="+creater
+ "&startDate=" + startDate + "&endDate=" + endDate+ "&logContent="+logContent;//+ "&state=" + state
});
</script>
</html>

@ -78,7 +78,6 @@
}
.divCss4 {
border-top: 1px solid #e5e5e5;
width: 97.5%;
@ -100,6 +99,7 @@
/*color: gainsboro;*/
color: #c1c3c4;
}
.labCss3 {
/*color: gainsboro;*/
color: #060606;
@ -145,10 +145,10 @@
margin-left: -10px;
}
#ztree{
#ztree {
overflow-x: hidden;
overflow-y: auto;
max-height: calc(60vh );
max-height: calc(60vh);
!important;
}
@ -182,20 +182,24 @@
!important;
}
.img_div{
overflow-y:auto; overflow-x:hidden; height:calc(75vh);
.img_div {
overflow-y: auto;
overflow-x: hidden;
height: calc(75vh);
!important;
}
.img_div2{
overflow-y:auto; overflow-x:hidden; height:calc(75vh);
.img_div2 {
overflow-y: auto;
overflow-x: hidden;
height: calc(75vh);
!important;
}
#imgDelPageModal .modal-content {
margin-left: 5%;
width: calc(200%); /*margin-left:-15%;*/
height: calc(90vh );
height: calc(90vh);
overflow-x: hidden;
overflow-y: auto;
!important;
@ -461,22 +465,22 @@
}
#assortNameQX{
width:600px;
#assortNameQX {
width: 600px;
!important;
}
#tableQX{
#tableQX {
text-overflow: ellipsis;
white-space: nowrap;
/* width:100%;*/
overflow:auto;
overflow: auto;
!important;
}
#QXInfoModal .modal-content {
#QXInfoModal .modal-content {
margin-left: 5%;
width: calc(210%);
height: calc(100vh - 80px);
@ -494,15 +498,15 @@
}
.formCss{
margin-top:0px;
margin-left:20px;
.formCss {
margin-top: 0px;
margin-left: 20px;
}
.tjCss{
margin-left:10px;
margin-right:20px;
height:auto;
.tjCss {
margin-left: 10px;
margin-right: 20px;
height: auto;
}
</style>
</head>
@ -544,9 +548,10 @@
<%--&lt;%&ndash;<option value="已认证">已认证</option>&ndash;%&gt;--%>
<%--&lt;%&ndash;<option value="已归档">已归档</option>&ndash;%&gt;--%>
<%--</select>--%>
<select class="selectpicker bla bla bli" multiple data-live-search="true" data-actions-box="true" data-deselect-all-text="取消全选" data-select-all-text="全选" name="deptAdmissionTo"
<select class="selectpicker bla bla bli" multiple data-live-search="true" data-actions-box="true"
data-deselect-all-text="取消全选" data-select-all-text="全选" name="deptAdmissionTo"
id="deptAdmissionTo" title="请输入入院科室">
<%-- <option value="">全部</option>--%>
<%-- <option value="">全部</option>--%>
</select>
</div>
<div class="form-group divCss8">
@ -568,8 +573,10 @@
<%--&lt;%&ndash;<option value="已认证">已认证</option>&ndash;%&gt;--%>
<%--&lt;%&ndash;<option value="已归档">已归档</option>&ndash;%&gt;--%>
<%--</select>--%>
<select class="selectpicker bla bla bli" multiple data-live-search="true" name="deptName" id="deptName" data-none-results-text="没找到相应记录{0}"
title="请输入出院科室" data-actions-box="true" data-deselect-all-text="取消全选" data-select-all-text="全选">
<select class="selectpicker bla bla bli" multiple data-live-search="true" name="deptName" id="deptName"
data-none-results-text="没找到相应记录{0}"
title="请输入出院科室" data-actions-box="true" data-deselect-all-text="取消全选"
data-select-all-text="全选">
<%--<option value="">全部</option>--%>
</select>
</div>
@ -650,7 +657,7 @@
<%--</div>--%>
<!-- 模态框3Modal查看档案 -->
<div class="modal fade" id="selModal" tabindex="1" role="dialog" aria-labelledby="myModalLabel" >
<div class="modal fade" id="selModal" tabindex="1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" style="left:10%;top:5px;">
<div class="modal-header2">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
@ -755,7 +762,8 @@
</div>
<div class="col-sm-9 btnGroupCss">
<button type="button" class="btn btn-danger btn-sm" id="addPdfBtn">添加pdf</button>
<button type="button" class="btn btn-default btn-sm" id="uploadBtn">上传文件</button>
<button type="button" class="btn btn-default btn-sm" id="uploadBtn">上传文件
</button>
<button type="button" class="btn btn-info btn-sm" id="pdfBtn">查看分段PDF</button>
<button type="button" class="btn btn-success btn-sm" id="pdfBtn2">查看PDF</button>
<%--<button type="button" class="btn btn-primary btn-sm" id="addBtn">添加清单</button>--%>
@ -774,7 +782,8 @@
<input class="input-sm form-control form-inline" type="text"
id="titleSearch" name="titleSearch" aria-label="Refresh"
title="Refresh" placeholder="请输入pdf相关标题"/>
<select class="selectpicker bla bla bli" data-live-search="true" name="sourceSearch" id="sourceSearch" title="来源">
<select class="selectpicker bla bla bli" data-live-search="true"
name="sourceSearch" id="sourceSearch" title="来源">
</select>
<button type="button" class="btn btn-primary btn-sm" id="titleSearchBtn">
查询
@ -902,9 +911,13 @@
<!--数据表格-->
<table id="tableQX" class="table text-nowrap table-striped"></table>
<div id="toolbarQX" class="btn-group pull-right" style="margin-left:1100px">
<div class="columns columns-right btn-group pull-left" style="margin-top:0px;">
<button type="button" class="btn btn-warning btn-sm" id="QXDealBtn" onclick="dealAndConcelFun()">进行处理</button>
<button type="button" class="btn btn-danger btn-sm" id="QXDealCancelBtn" onclick="dealAndConcelFun()">取消处理</button>
<div class="columns columns-right btn-group pull-left" style="margin-top:0px;">
<button type="button" class="btn btn-warning btn-sm" id="QXDealBtn"
onclick="dealAndConcelFun()">进行处理
</button>
<button type="button" class="btn btn-danger btn-sm" id="QXDealCancelBtn"
onclick="dealAndConcelFun()">取消处理
</button>
</div>
</div>
</div>
@ -958,7 +971,8 @@
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-info btn-sm" id="dealBtn" hiddendata-dismiss="modal">已处理</button>
<button type="button" class="btn btn-info btn-sm" id="dealBtn" hiddendata-dismiss="modal">已处理
</button>
<button type="button" class="btn btn-warning btn-sm" id="dealNoBtn" data-dismiss="modal">未处理</button>
<button type="button" class="btn btn-default btn-sm" data-dismiss="modal">返回</button>
</div>
@ -1308,7 +1322,8 @@
<button type="button" class="btn btn-warning btn-sm" id="returnPdfBtn"
onclick="returnPdfFun()">还原最初PDF
</button>
<button type="button" class="btn btn-danger btn-sm" id="delAllImgBtn">删除全部图片</button>
<button type="button" class="btn btn-danger btn-sm" id="delAllImgBtn">删除全部图片
</button>
</div>
</div>
<div class="imglist" id="imglist">
@ -1386,7 +1401,8 @@
<form id="filesUpload2" method="POST" enctype="multipart/form-data">
<div class="imgDivCss" id="divImg2">
<div class="form-inline">
<button type="button" class="btn btn-primary btn-sm divCss" id="imgsClearBtn2">清空图片</button>
<button type="button" class="btn btn-primary btn-sm divCss" id="imgsClearBtn2">清空图片
</button>
<button type="button" class="btn btn-warning btn-sm divCss" id="imgsSaveBtn2">保存</button>
<a href="javascript:;" class="a-upload btn btn-info btn-sm">
<input type="file" name="myFile2" id="myFile2" multiple="multiple" accept="image/*"
@ -1497,23 +1513,23 @@
for (var i = 0; i < fileALL.length; i++) {
//获取图片路径
objUrl = getObjectURL(fileALL[i]);
if(fileALL[i]!=undefined && fileALL[i]!=null && fileALL[i]!=""){
if(fileALL[i].name!=undefined && fileALL[i].name!=null && fileALL[i].name!=""){
if (fileALL[i] != undefined && fileALL[i] != null && fileALL[i] != "") {
if (fileALL[i].name != undefined && fileALL[i].name != null && fileALL[i].name != "") {
var extStart = fileALL[i].name.lastIndexOf(".");
var ext = fileALL[i].name.substring(extStart, fileALL[i].name.length).toUpperCase();
/**
*描述:鉴定每个图片上传尾椎限制
*/
if (ext != ".PNG" && ext != ".GIF" && ext != ".JPG" && ext != ".JPEG") {
toastr.warning("图片:"+fileALL[i].name+"不符限于png,gif,jpeg,jpg格式");
toastr.warning("图片:" + fileALL[i].name + "不符限于png,gif,jpeg,jpg格式");
return false;
}else{
} else {
files.push(fileALL[i]);
/**
*若规则全部通过则在此提交url到后台数据库
*/
img_html = "<div class='isImg' id='-1'><img src='" + objUrl + "' id='" + fileALL[i].name + "' onclick='javascript:lookBigImg(this)' style='height: 100%; width: 100%;' />"
img_html += selectStr+ " <button class='removeBtn' onclick='javascript:removeImg(this)'>x</button></div>";
img_html += selectStr + " <button class='removeBtn' onclick='javascript:removeImg(this)'>x</button></div>";
img_div.append(img_html);
}
}
@ -1563,23 +1579,23 @@
for (var i = 0; i < fileALL.length; i++) {
//获取图片路径
objUrl = getObjectURL(fileALL[i]);
if(fileALL[i]!=undefined && fileALL[i]!=null && fileALL[i]!=""){
if(fileALL[i].name!=undefined && fileALL[i].name!=null && fileALL[i].name!=""){
if (fileALL[i] != undefined && fileALL[i] != null && fileALL[i] != "") {
if (fileALL[i].name != undefined && fileALL[i].name != null && fileALL[i].name != "") {
var extStart = fileALL[i].name.lastIndexOf(".");
var ext = fileALL[i].name.substring(extStart, fileALL[i].name.length).toUpperCase();
/**
*描述:鉴定每个图片上传尾椎限制
*/
if (ext != ".PNG" && ext != ".GIF" && ext != ".JPG" && ext != ".JPEG") {
toastr.warning("图片:"+fileALL[i].name+"不符限于png,gif,jpeg,jpg格式");
toastr.warning("图片:" + fileALL[i].name + "不符限于png,gif,jpeg,jpg格式");
return false;
}else{
} else {
files.push(fileALL[i]);
/**
*若规则全部通过则在此提交url到后台数据库
*/
img_html = "<div class='isImg' id='-1'><img src='" + objUrl + "' id='" + fileALL[i].name + "' onclick='javascript:lookBigImg(this)' style='height: 100%; width: 100%;' />"
img_html +=" <button class='removeBtn' onclick='javascript:removeImg2(this)'>x</button></div>";
img_html += " <button class='removeBtn' onclick='javascript:removeImg2(this)'>x</button></div>";
img_div.append(img_html);
}
}
@ -1646,12 +1662,12 @@
for (var j = 0; j < fileList.length; j++) {
//通过图片名判断图片在数组中的位置然后删除
// console.log(fileList[j].name + "111");
if(fileList[j].name!=undefined)
if (fileList[j].name == filename) {
fileList.splice(j, 1);
id--;
break;
}
if (fileList[j].name != undefined)
if (fileList[j].name == filename) {
fileList.splice(j, 1);
id--;
break;
}
}
files = fileList;
var id = $(r).parent().attr('id');
@ -1694,13 +1710,13 @@
//遍历数组
for (var j = 0; j < fileList.length; j++) {
//通过图片名判断图片在数组中的位置然后删除
if(fileList[j].name!=undefined)
if (fileList[j].name == filename) {
fileList.splice(j, 1);
id--;
files = fileList;
break;
}
if (fileList[j].name != undefined)
if (fileList[j].name == filename) {
fileList.splice(j, 1);
id--;
files = fileList;
break;
}
}
}
@ -1735,7 +1751,8 @@
//初始化类别
var selectStr = "";
var assortIdArr=[];
var assortIdArr = [];
function getAssortFun() {
$.ajax({
url: "${path}/zdAssort/getAssort",
@ -1744,10 +1761,10 @@
async: true,
success: function (result) {
if (result != null && result.length > 0) {
assortIdArr=[];
assortIdArr = [];
selectStr = "<select class='selectB'>";
for (i = 0; i < result.length; i++) {
selectStr += "<option value='" + result[i].assortId + "' title='"+result[i].assortName+"'>" + result[i].assortName + "</option>";
selectStr += "<option value='" + result[i].assortId + "' title='" + result[i].assortName + "'>" + result[i].assortName + "</option>";
$("#inpGl").append("<option value=" + result[i].assortId + ">" + result[i].assortName + "</option>");
$("#inpType").append("<option value=" + result[i].assortId + ">" + result[i].assortName + "</option>");
assortIdArr.push(result[i].assortId);
@ -1948,9 +1965,9 @@
if (div_data[i].value != null && div_data[i].value != "") {
var obj = {};
//console.log("第select" + (i + 1) + "个的value=" + div_data[i].value);
var selectedIndex=div_data[i].selectedIndex;
var selectedIndex = div_data[i].selectedIndex;
//console.log(div_data[i].options[index].getAttribute("title"));
obj.selectName=div_data[i].options[selectedIndex].getAttribute("title");
obj.selectName = div_data[i].options[selectedIndex].getAttribute("title");
obj.selectVal = div_data[i].value;
if (b < div_data.length / 2) {
obj.id = div_p[b].id;
@ -2034,7 +2051,7 @@
}
//打开一个不被拦截的新窗口
var newWindow = window.open();
var titleName=document.getElementById("nameLab").innerText;
var titleName = document.getElementById("nameLab").innerText;
$.ajax({
url: "${path}/inHosp/getPdfToPdf",
type: "POST",
@ -2043,7 +2060,7 @@
if (result != "") {
//绝对路径
var pdfPath = result;
newWindow.location.href = "${path}/static/pdfjs/web/viewer.html?file=" + encodeURIComponent("${path}/inHosp/pdfStreamHandeler?url=" + pdfPath+"?titleName="+titleName);
newWindow.location.href = "${path}/static/pdfjs/web/viewer.html?file=" + encodeURIComponent("${path}/inHosp/pdfStreamHandeler?url=" + pdfPath + "?titleName=" + titleName);
//相对路径
<%--var pdfUrl = "${path}/static/pdfjs/web/viewer.html?file=../../../static/img/pdfFiles/" + result;//+ result;--%>
<%--newWindow.location.href = pdfUrl;--%>
@ -2080,7 +2097,7 @@
//上传后预览pdf文件,根据id直接获取pdf并合成
//打开一个不被拦截的新窗口
var newWindow = window.open();
var titleName=document.getElementById("nameLab").innerText;
var titleName = document.getElementById("nameLab").innerText;
$.ajax({
url: "${path}/inHosp/getPdfById",
type: "POST",
@ -2089,7 +2106,7 @@
if (result != "") {
//绝对路径
var pdfPath = result;
newWindow.location.href = "${path}/static/pdfjs/web/viewer.html?file=" + encodeURIComponent("${path}/inHosp/pdfStreamHandeler?url=" + pdfPath+"?titleName="+titleName);
newWindow.location.href = "${path}/static/pdfjs/web/viewer.html?file=" + encodeURIComponent("${path}/inHosp/pdfStreamHandeler?url=" + pdfPath + "?titleName=" + titleName);
//相对路径
<%--var pdfUrl = "${path}/static/pdfjs/web/viewer.html?file=../../../static/img/pdfFiles/typesPdf/" + result;//+ result;--%>
<%--newWindow.location.href = pdfUrl;--%>
@ -2190,6 +2207,7 @@
format: "yyyy-mm-dd",
language: "zh-CN"
});
/*var currDate=getCurrDate();
var currDate30=getCurrDay30();
$('#startDate').val(currDate30);
@ -2213,6 +2231,7 @@
}
});
}
getDept();
$("#imgsClearBtn2").click(function () {
@ -2603,7 +2622,8 @@
$('#tableQX').bootstrapTable('refresh');
});
var editId=null;
var editId = null;
function dealAndConcelFun() {
if (editId == null) {
toastr.warning("选中1条记录!");
@ -2636,6 +2656,7 @@
var scollPostion = null;
var docNorFlag = 1;
function initTableQX() {
$("#QXDealCancelBtn").hide();
$("#QXDealBtn").show();
@ -2643,11 +2664,11 @@
url: "${path}/fault/getFaultList", // 获取表格数据的url
queryParams: function (params) {
//console.log($("#archIdQX").val());
var backFlag=1;
if(docNorFlag==3){
backFlag=3
}else if(docNorFlag==4){
backFlag=4
var backFlag = 1;
if (docNorFlag == 3) {
backFlag = 3
} else if (docNorFlag == 4) {
backFlag = 4
}
//(1,2,5,6)
/* if($("#backFlagQX").val()!=null && $("#backFlagQX").val()!=null){
@ -2659,9 +2680,9 @@
//order: params.order, //排位命令descasc
//id: $("#id").val(),
archiveDetailId: $("#archIdQX").val(),
backContent:$("#assortNameQX").val(),
dealFlag:$("#dealFlagQX").val(),
backFlag:backFlag,
backContent: $("#assortNameQX").val(),
dealFlag: $("#dealFlagQX").val(),
backFlag: backFlag,
//backFlag: 1
};
return temp;
@ -2680,7 +2701,7 @@
//smartDisplay: false,
//height:'300',
//width:'100%',
height: $(window).height() -150,//自定义高度
height: $(window).height() - 150,//自定义高度
sortName: 'id', // 要排序的字段
sortOrder: 'desc', // 排序规则
columns: [
@ -2787,17 +2808,17 @@
editId = null;
//console.log("====取消选中");
},
onClickRow : function(row, tr,flied){
onClickRow: function (row, tr, flied) {
//console.log("====选中");
},
onCheck:function(row){
onCheck: function (row) {
editId = row.id;
scollPostion = $('#tableQX').bootstrapTable('getScrollPosition');
if(row!=null){
if(row.dealFlag=="0"){
if (row != null) {
if (row.dealFlag == "0") {
$("#QXDealCancelBtn").hide();
$("#QXDealBtn").show();
}else{
} else {
$("#QXDealCancelBtn").show();
$("#QXDealBtn").hide();
}
@ -2811,7 +2832,7 @@
// }
}, onRefresh: function (result) {
} , onLoadSuccess: function (result) { //加载成功时执行
}, onLoadSuccess: function (result) { //加载成功时执行
$('#tableQX').bootstrapTable('scrollTo', scollPostion); //注意此代码要在setTimeout里面执行原因是重新获取数据后还要生成dom节
//console.log("====加载成功时执行"+editId);
if (editId != null) {
@ -2827,7 +2848,7 @@
initTableQX();
function getWzxFun(archiveDetailId){
function getWzxFun(archiveDetailId) {
//实时获取完整性
$.ajax({
url: "${path}/beHosp/wzByArchivId",
@ -2841,8 +2862,6 @@
}
function initTable() {
if (tipLoad == 1) {
$("#table").bootstrapTable({ // 对应table标签的id
@ -2946,7 +2965,7 @@
endDate: $("#endDate").val(),
bedNumber: $("#bedNumber").val(),
deathFlag: $("#deathFlag").val(),
printNum:$("#printNum").val()
printNum: $("#printNum").val()
};
return temp;
@ -3223,9 +3242,9 @@
if (redFlag == 0) {
if (value == 1) {
a = '<span style="color:orange;"><i class="glyphicon glyphicon-ok-circle" aria-hidden="true"></i>已提交</span>';
} else if (value !=1 &&row.nurseName==null) {
} else if (value != 1 && row.nurseName == null) {
a = '<span style="color:red;"><i class="glyphicon glyphicon-ban-circle" aria-hidden="true"></i>未提交</span>';
}else {
} else {
a = '<span style="color:orange;"><i class="glyphicon glyphicon-ok-circle" aria-hidden="true"></i>已提交</span>';
}
@ -3368,7 +3387,7 @@
}
return result;
}
},{
}, {
title: '是否打印',
field: 'printNum',
align: 'center',
@ -3376,9 +3395,9 @@
var printNum = row.printNum;
var html = '';
if (printNum == '未打印') {
html = '<span style="color:green"><i class="glyphicon glyphicon-ok-circle" aria-hidden="true"></i>'+printNum+'</span>';
html = '<span style="color:green"><i class="glyphicon glyphicon-ok-circle" aria-hidden="true"></i>' + printNum + '</span>';
} else {
html = '<span style="color:red;"><i class="glyphicon glyphicon-ban-circle" aria-hidden="true"></i>'+printNum+'</span>';
html = '<span style="color:red;"><i class="glyphicon glyphicon-ban-circle" aria-hidden="true"></i>' + printNum + '</span>';
}
return html;
}
@ -3425,7 +3444,7 @@
} else if (value == "主任退回") {
a = '<span style="color:#0000FF"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
}
}else {
} else {
//有缺陷显示红色
a = '<span style="color:red;"><i class="fa fa-times-circle-o" aria-hidden="true"></i>' + value + '</span>';
}
@ -3445,6 +3464,9 @@
if (index != null && index != "" && index.indexOf("select") != -1 && row.archivestate != "已封存") {
html = '<button type="button" class="btn btn-danger btn-sm selInfo" onclick="initTable2()">查看</button>';// '<a href="javascript:;" class="delete">删除</a>';
}
if (index != null && index != "" && index.indexOf("select") != -1 && row.archivestate != "已封存") {
html = html + '<button type="button" class="btn btn-danger btn-sm downloadPdfBlood"">导出PDF</button>';// '<a href="javascript:;" class="delete">删除</a>';
}
if (index.indexOf("qxSel") != -1) {
var redFlag = row.numb;
var redFlagDoc = row.faultDoctorNum;
@ -3452,17 +3474,23 @@
//有缺陷
if (redFlag != 0) {
//有退回给医生的缺陷
if(redFlagDoc!= 0 && redFlagDoc!= null){
if (redFlagDoc != 0 && redFlagDoc != null) {
html = html + '<button type="button" class="btn btn-sm btn-info getQXDoctorInfo">医生查看缺陷</button>';
}
//有退回给护士的缺陷
if(redFlagNur!= 0 && redFlagNur!= null){
if (redFlagNur != 0 && redFlagNur != null) {
html = html + '<button type="button" class="btn btn-sm btn-info getQXNurseInfo">护士查看缺陷</button>';
}
}
}
return html;
}, events: {
'click .downloadPdfBlood': function (e, value, row, index) {
var id = row.id;
var inpNo = row.inpNo;
var dischargeDateTime = row.dischargeDateTime;
downloadPdfBlood(id,inpNo,dischargeDateTime)
},
'click .selInfo': function (e, value, row, index) {
$("#printTableFlag").hide();
if (row.printNum == '已打印') {
@ -3527,7 +3555,7 @@
//查看缺陷列表
//initTableQX(row.id);
$("#archIdQX").val(row.id);
docNorFlag= 4;
docNorFlag = 4;
$('#tableQX').bootstrapTable('refresh');
$('#QXInfoModal').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
@ -3539,14 +3567,14 @@
//查看缺陷列表
//initTableQX(row.id);
$("#archIdQX").val(row.id);
docNorFlag= 3;
docNorFlag = 3;
$('#tableQX').bootstrapTable('refresh');
$('#QXInfoModal').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: true,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
}
}
},
cellStyle: function (value, row, index) {
return {classes: 'success'}
@ -3567,10 +3595,38 @@
}
}
function getSourceFun(){
function downloadPdfBlood(id,inpNo,dischargeDateTime) {
post(path + '/unfile/downloadPdfBlood', {
"masterId": id,
"inpNo": inpNo,
"dischargeDateTime": dischargeDateTime
});
}
function post(url, params) {
// 创建form元素
var temp_form = document.createElement("form");
// 设置form属性
temp_form .action = url;
temp_form .target = "_self";
temp_form .method = "post";
temp_form .style.display = "none";
// 处理需要传递的参数
for (var x in params) {
var opt = document.createElement("textarea");
opt.name = x;
opt.value = params[x];
temp_form .appendChild(opt);
}
document.body.appendChild(temp_form);
// 提交表单
temp_form .submit();
}
function getSourceFun() {
//console.log("获取来源下拉框sourceSearch");
var patientId = $("#idLab").html();
var source=$("#sourceSearch").val();
var source = $("#sourceSearch").val();
var assortId = $("#assortId").html();
if (assortId == 0) assortId = null;
var temp = {
@ -3590,23 +3646,23 @@
success: function (result) {
if (result != null) {
$("#sourceSearch").empty();
if(source==""){
if (source == "") {
$("#sourceSearch").append("<option value='' selected='slected'>全部</option>");
}else {
} else {
$("#sourceSearch").append("<option value=''>全部</option>");
}
for(var i=0;i<result.length;i++){
if(result[i]!=null) {
for (var i = 0; i < result.length; i++) {
if (result[i] != null) {
if (result[i].source != "" && result[i].source != null && result[i].source != undefined) {
if(source==result[i].source && source!=""){
if (source == result[i].source && source != "") {
$("#sourceSearch").append("<option value='" + result[i].source + "' selected='slected'>" + result[i].source + "</option>");
}else {
} else {
$("#sourceSearch").append("<option value=" + result[i].source + ">" + result[i].source + "</option>");
}
} else {
$("#sourceSearch").append("<option value='null'>未知</option>");
}
}else{
} else {
$("#sourceSearch").append("<option value='-1'>未知</option>");
}
}
@ -3702,7 +3758,7 @@
//导出excel功能
$("#excelBtn").click(function () {
toastr.warning("正在导出,请稍等...");
// var url = window.location.href;
// var url = window.location.href;
// var deptName = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
// if (deptName != null && deptName != '') {
// deptName += "," + $("#deptName").val();

Loading…
Cancel
Save