随访科研页面

master
ALW 3 years ago
parent 9c07dadb55
commit 51d8e54d96

@ -0,0 +1,14 @@
package com.emr.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/records")
public class BrowseRecordsController {
@RequestMapping(value = "/recordsList")
public String faultTypes(Model model) {
return "browseRecords/browseList";
}
}

@ -0,0 +1,47 @@
package com.emr.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/follow")
public class FollowController {
@RequestMapping(value = "/followList")
public String followList(Model model) {
return "followDir/followList";
}
@RequestMapping(value = "/followDetailst")
public String browseDetailst(Model model) {
return "followDir/followDetailst";
}
@RequestMapping(value = "/followPaper")
public String followPaper(Model model) {
return "followDir/followPaper";
}
@RequestMapping(value = "/wenjuan")
public String wenjuan(Model model) {
return "followDir/wenjuan";
}
@RequestMapping(value = "/huida")
public String huida(Model model) {
return "followDir/huida";
}
@RequestMapping(value = "/costStatistics")
public String costStatistics(Model model) {
return "followDir/costStatistics";
}
@RequestMapping(value = "/followUpStatistics")
public String signList(Model model) {
return "followDir/followUpStatistics";
}
}

@ -0,0 +1,14 @@
package com.emr.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/browseDetailed")
public class MedicalBrowseDetailedController {
@RequestMapping(value = "/detailList")
public String faultTypes(Model model) {
return "medicalBrowseDetailed/browseDetailedList";
}
}

@ -0,0 +1,15 @@
package com.emr.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/medicalError")
public class MedicalErrorController {
@RequestMapping(value = "/errorDetailList")
public String faultTypes(Model model) {
return "medicalError/errorDetailList";
}
}

@ -0,0 +1,15 @@
package com.emr.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/medicalStatistics")
public class MedicalFileStatisticsController {
@RequestMapping(value = "/fileStatistics")
public String faultTypes(Model model) {
return "medicalFileStatistics/fileStatistics";
}
}

@ -0,0 +1,26 @@
package com.emr.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/scientific")
public class ScientificResearchController {
@RequestMapping(value = "/scientificList")
public String followList(Model model) {
return "scientificResearch/scientificList";
}
@RequestMapping(value = "/scientificDetailst")
public String browseDetailst(Model model) {
return "scientificResearch/scientificDetailst";
}
@RequestMapping(value = "/scientificTemplate")
public String scientificTemplate(Model model) {
return "scientificResearch/scientificTemplate";
}
}

@ -7,9 +7,7 @@
package com.emr.controller;
import com.emr.entity.Emr_Fault_Type;
import com.emr.entity.Emr_Fault_Vo;
import com.emr.service.Emr_Fault_TypeService;
import com.emr.util.IDHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
@ -31,6 +29,48 @@ public class faultTypeController {
return "faultTypeDir/faultTypeList";
}
@RequestMapping(value = "/monitoring")
public String monitoring() {
return "workHome/workHomeList";
}
/**
*
* @return
*/
@RequestMapping("recordData")
public String recordData(){
return "workHome/recordData";
}
/**
*
* @return
*/
@RequestMapping("userBrowse")
public String callBackStatistics(){
return "workHome/userBrowse";
}
/**
*
* @return
*/
@RequestMapping("userApproval")
public String userApproval(){
return "workHome/userApproval";
}
/**
*
* @return
*/
@RequestMapping("workHomeIframe")
public String workHomeIframe(){
return "workHome/workHomeIframe";
}
@ResponseBody
@RequestMapping(value = "/faultTypeList")
public List<Emr_Fault_Type> faultTypeList(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Type emrFaultType) {

@ -1,7 +1,7 @@
#\u7559\u89C2\u63A8\u9001\u7B2C\u4E09\u65B9\u63A5\u53E3\u5730\u5740
observationRecordRequestUrl = http://10.162.0.51:8091/sanshuyun-ems-function/file/away/updateStatus
#\u6A21\u5757\u6253\u56DE\u7B2C\u4E09\u65B9\u63A5\u53E3\u5730\u5740
returnUrl = http://10.6.1.152:8086/SignWebService.asmx/PartrePair
returnUrl = http://10.6.1.152:8085/SignWebService.asmx/PartrePair
#\u6A21\u5757\u6253\u56DE\u7B2C\u4E09\u65B9\u63A5\u53E3\u53C2\u6570
returnParam = strJson

@ -0,0 +1,407 @@
<%@ page import="java.util.ResourceBundle" %>
<%@ 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"/>
<%
ResourceBundle res = ResourceBundle.getBundle("config.jdbc");
%>
<%--<%@ include file="/WEB-INF/jspf/common.jspf" %>--%>
<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" %>
</head>
<style>
.modal-header2 {
text-align: center !important;
vertical-align: middle !important;
background-color: #3c8dbc !important;
color: #fff;
font-size: 16px;
font-weight: bold;
padding: 5px 5px 5px 5px !important;
}
/*.modal-header {*/
/*padding: 5px 5px 5px 5px !important;*/
/*}*/
.modal-footer{
padding: 5px;
}
.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;
}
.enterCss2{
height: 160px;
width: 500px;
}
.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>
<body>
<div class="tjCss">
<!--搜索-->
<form class="formCss">
<div class="form-inline">
<div class="form-group divCss8">
<label for="inpNo">浏览人:</label>
<input type="text" class="input-sm form-control" id="inpNo" placeholder="请输入浏览人姓名">
</div>
<div class="form-group divCss8">
<label>所属科室:</label>
<input type="text" class="input-sm form-control" id="creater" placeholder="请输入所属科室">
</div>
<div class="form-group divCss8">
<label>浏览日期:</label>
<div class="input-daterange input-group" id="datepicker">
<input type="text" class="input-sm form-control" name="start" id="startDate"/>
<span class="input-group-addon">-</span>
<input type="text" class="input-sm form-control" name="end" id="endDate"/>
</div>
</div>
<button type="button" class="btn btn-primary btn-sm divCss"id="searchBtn">查询</button>
<button type="button" class="btn btn-info btn-sm divCss" id="excelBtn">条件导出</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;">
<div class="btn-group btn-info">
<select id="sel_exportoption" class="form-control">                
<option value="">导出当前页面数据</option>                
<option value="all">导出全部数据</option>              
<option value="selected">导出选中数据</option>
</select>
</div>
<button class=" btn btn-success btn-sm" 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;
}
var data=[{patientId:"",name:"陈钰颖",inpNo:"血液内科",deptName:"3",visitId:"2022-10-10"},
{patientId:"",name:"曾国芳",inpNo:"肝胆外科",deptName:"1",visitId:"2022-10-10"},
{patientId:"",name:"罗永承",inpNo:"肝胆外科",deptName:"7",visitId:"2022-10-10"},
{patientId:"",name:"王荣",inpNo:"血液内科",deptName:"2",visitId:"2022-10-10"},
{patientId:"",name:"黄海娟",inpNo:"内分泌科(门诊)",deptName:"2",visitId:"2022-10-10"},
{patientId:"",name:"苏桂芳",inpNo:"内分泌科(门诊)",deptName:"1",visitId:"2022-10-10"},
{patientId:"",name:"谢耀广",inpNo:"血管外科门诊",deptName:"4",visitId:"2022-10-10"},
{patientId:"",name:"杨伟平",inpNo:"肾病内科",deptName:"6",visitId:"2022-10-10"},
{patientId:"",name:"罗敬林",inpNo:"心血管内科特诊",deptName:"3",visitId:"2022-10-10"},
{patientId:"",name:"黄海娟",inpNo:"内分泌科(门诊)",deptName:"2",visitId:"2022-10-10"},
{patientId:"",name:"曹美玲",inpNo:"肾移植门诊",deptName:"1",visitId:"2022-10-10"},
{patientId:"",name:"陈钰颖",inpNo:"血液内科",deptName:"1",visitId:"2022-10-10"},
{patientId:"",name:"苏桂芳",inpNo:"内分泌科(门诊)",deptName:"7",visitId:"2022-10-10"},
{patientId:"",name:"陈成贤",inpNo:"大内科门诊",deptName:"9",visitId:"2022-10-10"},
{patientId:"",name:"廖重岚",inpNo:"心血管内科",deptName:"11",visitId:"2022-10-10"},
{patientId:"",name:"陈钰颖",inpNo:"血液内科",deptName:"5",visitId:"2022-10-10"},
]
function initTable() {
if(tipLoad == 1){
$("#table").bootstrapTable({ // 对应table标签的id
//method: 'POST',
<%--url: "${path}/scanInfo/scanDetailPage", // 获取表格数据的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: 10, // 页面数据条数
pageNumber: 1, // 初始化加载第一页,默认第一页
sidePagination: 'client', // 设置为服务器端分页 客户端client
search: false,
data:data,
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 url = window.location.href;
// var deptName = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
// var len = ($("#deptName").val()).length;
// if (len > 0) {
// var deptNameT = $("#deptName").val();
// if (deptNameT.indexOf("") == -1) {
// deptName = $("#deptName").val().toString();
// }
// }
var temp = {
limit: limit, //页面大小
offset: offset, //页码
order: params.order, //排位命令descasc
inpNo: "" + $("#inpNo").val(),
creater:""+$("#creater").val(),
startDate: $("#startDate").val(),
endDate: $("#endDate").val(),
lockinfo: "" + $("#copyTimeType").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: 'patientId',
align: 'left',
valign: 'middle',
width: 300
},
{
title: '姓名',
field: 'name',
align: 'left',
valign: 'middle',
width: 300
},
{
title: '所属科室',
field: 'inpNo',
align: 'center',
valign: 'middle'
},
{
title: '住院次数',
field: 'deptName',
align: 'center',
width: 200
},
{
title: '浏览日期',
field: 'visitId',
align: 'center',
valign: 'middle',
width: 120
},
{
title: "操作",
align: 'left',
valign: 'middle',
width: 100, // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var html = "";
html += '<button type="button" class="btn btn-danger btn-sm qxInfo" >查看 </button>';
return html;
}
}
],
onLoadSuccess: function (result) { //加载成功时执行
//console.info("加载成功");
console.log(result)
tipLoad = 0;
},
onLoadError: function () { //加载失败时执行
//console.info("加载数据失败");
tipLoad = 0;
}
});
}
}
//查询
$('#searchBtn').click(function () {
if (tipLoad == 0) {
$("#table").bootstrapTable("refreshOptions", {pageNumber: 1});
} else {
toastr.warning("正在查询,请稍等...");
}
//$("#deptName").val([]);
});
//获取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 creater=""+$("#creater").val();//扫描人
var startDate= $("#startDate").val();
var endDate= $("#endDate").val();
var lockinfo= "" + $("#copyTimeType").val();
window.location.href = "${path}/scanInfo/exportExcel?inpNo=" + inpNo + "&startDate=" + startDate +
"&endDate=" + endDate + "&lockinfo=" + lockinfo+ "&creater=" + creater;
});
</script>
</html>

@ -0,0 +1,410 @@
<%@ page import="java.util.ResourceBundle" %>
<%@ 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"/>
<%
ResourceBundle res = ResourceBundle.getBundle("config.jdbc");
%>
<%--<%@ include file="/WEB-INF/jspf/common.jspf" %>--%>
<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" %>
</head>
<style>
.modal-header2 {
text-align: center !important;
vertical-align: middle !important;
background-color: #3c8dbc !important;
color: #fff;
font-size: 16px;
font-weight: bold;
padding: 5px 5px 5px 5px !important;
}
/*.modal-header {*/
/*padding: 5px 5px 5px 5px !important;*/
/*}*/
.modal-footer{
padding: 5px;
}
.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;
}
.enterCss2{
height: 160px;
width: 500px;
}
.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>
<body>
<div class="tjCss">
<!--搜索-->
<form class="formCss">
<div class="form-inline">
<div class="form-group divCss8">
<label for="inpNo">项目名称:</label>
<input type="text" class="input-sm form-control" id="inpNo" placeholder="请输入项目名称">
</div>
<button type="button" class="btn btn-primary btn-sm divCss"id="searchBtn">查询</button>
<button type="button" class="btn btn-info btn-sm divCss" id="excelBtn">条件导出</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;">
<div class="btn-group btn-info">
<select id="sel_exportoption" class="form-control">                
<option value="">导出当前页面数据</option>                
<option value="all">导出全部数据</option>              
<option value="selected">导出选中数据</option>
</select>
</div>
<button class=" btn btn-success btn-sm" 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>
<!-- 模态框Modal -->
<div class="modal fade" id="myModal" 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="myModalLabel">新增项目</h4>
</div>
<div class="modal-body" style="height:auto">
<form id="updateaddform">
<div class="formDiv">
<label class="control-label left">金额:</label>
<input type="hidden" id="userId" name="userId">
<input type="text" class="form-control input input-sm" id="re_userName" name="userName" maxlength="15">
</div>
</form>
</div>
<div class="modelBtns">
<button type="button" class="btn btn-primary btn-sm modelBtn" id="btn_submit">提交</button>
<button type="button" class="btn btn-default btn-sm modelBtn" onclick="clearForm()">清空</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
</div>
</body>
<script type="text/javascript">
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;
}
var data=[{patientId:"电话",name:"1",inpNo:"156.80",deptName:"3",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'16'},
{patientId:"电话",name:"3",inpNo:"254.12",deptName:"1",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'15'},
{patientId:"信件",name:"3",inpNo:"89.01",deptName:"7",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'14'},
{patientId:"信件",name:"4",inpNo:"14.21",deptName:"2",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'13'},
{patientId:"电话",name:"2",inpNo:"569.47",deptName:"2",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'12'},
{patientId:"信件",name:"6",inpNo:"104.32",deptName:"1",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'11'},
{patientId:"电话",name:"3",inpNo:"26.47",deptName:"4",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'10'},
{patientId:"电话",name:"1",inpNo:"519.87",deptName:"6",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'9'},
{patientId:"信件",name:"3",inpNo:"176.32",deptName:"3",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'8'},
{patientId:"信件",name:"2",inpNo:"156.37",deptName:"2",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'7'},
{patientId:"信件",name:"3",inpNo:"122.37",deptName:"1",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'6'},
{patientId:"电话",name:"2",inpNo:"27.81",deptName:"1",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'5'},
{patientId:"信件",name:"1",inpNo:"39.00",deptName:"7",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'4'},
{patientId:"电话",name:"8",inpNo:"77.23",deptName:"9",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'3'},
{patientId:"电话",name:"1",inpNo:"12.99",deptName:"11",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'2'},
{patientId:"电话",name:"2",inpNo:"1.00",deptName:"5",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'1'},
]
function initTable() {
if(tipLoad == 1){
$("#table").bootstrapTable({ // 对应table标签的id
//method: 'POST',
<%--url: "${path}/scanInfo/scanDetailPage", // 获取表格数据的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: 10, // 页面数据条数
pageNumber: 1, // 初始化加载第一页,默认第一页
sidePagination: 'client', // 设置为服务器端分页 客户端client
search: false,
data:data,
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 temp = {
limit: limit, //页面大小
offset: offset, //页码
order: params.order, //排位命令descasc
inpNo: "" + $("#inpNo").val(),
creater:""+$("#creater").val(),
startDate: $("#startDate").val(),
endDate: $("#endDate").val(),
lockinfo: "" + $("#copyTimeType").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: 'name',
align: 'left',
valign: 'middle',
width: 300
},
{
title: '添加费用次数',
field: 'patientId',
align: 'left',
valign: 'middle',
width: 300
},
{
title: '金额',
field: 'inpNo',
align: 'center',
valign: 'middle'
},
{
title: "操作",
align: 'left',
valign: 'middle',
width: 100, // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var html = "";
html += '<button type="button" class="btn btn-danger btn-sm qxInfo" onclick="add()">添加费用 </button>';
return html;
}
}
],
onLoadSuccess: function (result) { //加载成功时执行
//console.info("加载成功");
console.log(result)
tipLoad = 0;
},
onLoadError: function () { //加载失败时执行
//console.info("加载数据失败");
tipLoad = 0;
}
});
}
}
//查询
$('#searchBtn').click(function () {
if (tipLoad == 0) {
$("#table").bootstrapTable("refreshOptions", {pageNumber: 1});
} else {
toastr.warning("正在查询,请稍等...");
}
//$("#deptName").val([]);
});
//获取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');
});
//新增框
function add() {
$("#re_userName").prop("readOnly",false);
$("#userId").val("");
$("#deptIds").val("");
$('.selectpicker').selectpicker('val','1');
$('#myModal').modal('show');
$("#passwordDiv").show();
}
//导出excel功能
$("#excelBtn").click(function () {
toastr.warning("正在导出,请稍等...");
var inpNo = "" + $("#inpNo").val();
var creater=""+$("#creater").val();//扫描人
var startDate= $("#startDate").val();
var endDate= $("#endDate").val();
var lockinfo= "" + $("#copyTimeType").val();
window.location.href = "${path}/scanInfo/exportExcel?inpNo=" + inpNo + "&startDate=" + startDate +
"&endDate=" + endDate + "&lockinfo=" + lockinfo+ "&creater=" + creater;
});
</script>
</html>

@ -0,0 +1,431 @@
<%@ page import="java.util.ResourceBundle" %>
<%@ 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"/>
<%
ResourceBundle res = ResourceBundle.getBundle("config.jdbc");
%>
<%--<%@ include file="/WEB-INF/jspf/common.jspf" %>--%>
<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" %>
</head>
<style>
.modal-header2 {
text-align: center !important;
vertical-align: middle !important;
background-color: #3c8dbc !important;
color: #fff;
font-size: 16px;
font-weight: bold;
padding: 5px 5px 5px 5px !important;
}
/*.modal-header {*/
/*padding: 5px 5px 5px 5px !important;*/
/*}*/
.modal-footer{
padding: 5px;
}
.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;
}
.enterCss2{
height: 160px;
width: 500px;
}
.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>
<body>
<div class="tjCss">
<!--搜索-->
<form class="formCss">
<div class="form-inline">
<div class="form-group divCss8">
<label for="inpNo">患者姓名:</label>
<input type="text" class="input-sm form-control" id="inpNo" placeholder="请输入患者姓名">
</div>
<div class="form-group divCss">
<label>随访方式:</label>
<select class="form-control input-sm" id="isSign" >
<option value="">全部</option>
<option value="1" selected>电话</option>
<option value="0">信件</option>
</select>
</div>
<div class="form-group divCss8">
<label for="inpNo">手机号码:</label>
<input type="text" class="input-sm form-control" id="iphoe" placeholder="请输入手机号码">
</div>
<div class="form-group divCss">
<label>随访状态:</label>
<select class="form-control input-sm" id="isSignStatic" >
<option value="">全部</option>
<option value="1" selected>已开始</option>
<option value="0">未开始</option>
</select>
</div>
<button type="button" class="btn btn-primary btn-sm divCss"id="searchBtn">查询</button>
<button type="button" class="btn btn-info btn-sm divCss" id="excelBtn">条件导出</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;">
<div class="btn-group btn-info">
<select id="sel_exportoption" class="form-control">                
<option value="">导出当前页面数据</option>                
<option value="all">导出全部数据</option>              
<option value="selected">导出选中数据</option>
</select>
</div>
<button class=" btn btn-success btn-sm" 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 type="text/javascript">
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;
}
var data=[{patientId:"电话",name:"陈钰颖",name1:"消化症状",name2:"2022-10-14",name2:"消化内科",inpNo:"13912132132",deptName:"3",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'16'},
{patientId:"电话",name:"陈钰颖",name1:"消化症状",name2:"2022-10-14",name2:"消化内科",inpNo:"13912132132",deptName:"1",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'15'},
{patientId:"信件",name:"陈钰颖",name1:"消化症状",name2:"2022-10-14",name2:"消化内科",inpNo:"13912132132",deptName:"7",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'14'},
{patientId:"信件",name:"陈钰颖",name1:"消化症状",name2:"2022-10-14",name2:"消化内科",inpNo:"13912132132",deptName:"2",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'13'},
{patientId:"电话",name:"陈钰颖",name1:"消化症状",name2:"2022-10-14",name2:"消化内科",inpNo:"13912132132",deptName:"2",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'12'},
{patientId:"信件",name:"陈钰颖",name1:"消化症状",name2:"2022-10-14",name2:"消化内科",inpNo:"13912132132",deptName:"1",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'11'},
{patientId:"电话",name:"陈钰颖",name1:"消化症状",name2:"2022-10-14",name2:"消化内科",inpNo:"13912132132",deptName:"4",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'10'},
{patientId:"电话",name:"陈钰颖",name1:"消化症状",name2:"2022-10-14",name2:"消化内科",inpNo:"13912132132",deptName:"6",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'9'},
{patientId:"信件",name:"陈钰颖",name1:"消化症状",name2:"2022-10-14",name2:"消化内科",inpNo:"13912132132",deptName:"3",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'8'},
{patientId:"信件",name:"陈钰颖",name1:"消化症状",name2:"2022-10-14",name2:"消化内科",inpNo:"13912132132",deptName:"2",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'7'},
{patientId:"信件",name:"陈钰颖",name1:"消化症状",name2:"2022-10-14",name2:"消化内科",inpNo:"13912132132",deptName:"1",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'6'},
{patientId:"电话",name:"陈钰颖",name1:"消化症状",name2:"2022-10-14",name2:"消化内科",inpNo:"13912132132",deptName:"1",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'5'},
{patientId:"信件",name:"陈钰颖",name1:"消化症状",name2:"2022-10-14",name2:"消化内科",inpNo:"13912132132",deptName:"7",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'4'},
{patientId:"电话",name:"陈钰颖",name1:"消化症状",name2:"2022-10-14",name2:"消化内科",inpNo:"13912132132",deptName:"9",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'3'},
{patientId:"电话",name:"陈钰颖",name1:"消化症状",name2:"2022-10-14",name2:"消化内科",inpNo:"13912132132",deptName:"11",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'2'},
{patientId:"电话",name:"陈钰颖",name1:"消化症状",name2:"2022-10-14",name2:"消化内科",inpNo:"13912132132",deptName:"5",visitId:"福建省厦门市集美区集美大道1234号123室",visitId1:'1'},
]
function initTable() {
if(tipLoad == 1){
$("#table").bootstrapTable({ // 对应table标签的id
//method: 'POST',
<%--url: "${path}/scanInfo/scanDetailPage", // 获取表格数据的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: 10, // 页面数据条数
pageNumber: 1, // 初始化加载第一页,默认第一页
sidePagination: 'client', // 设置为服务器端分页 客户端client
search: false,
data:data,
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 temp = {
limit: limit, //页面大小
offset: offset, //页码
order: params.order, //排位命令descasc
inpNo: "" + $("#inpNo").val(),
creater:""+$("#creater").val(),
startDate: $("#startDate").val(),
endDate: $("#endDate").val(),
lockinfo: "" + $("#copyTimeType").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: 'name',
align: 'left',
valign: 'middle',
width: 300
},
{
title: '病症',
field: 'name1',
align: 'left',
valign: 'middle',
width: 300
},
{
title: '出院日期',
field: 'name2',
align: 'left',
valign: 'middle',
width: 300
},
{
title: '出院科室',
field: 'name3',
align: 'left',
valign: 'middle',
width: 300
},
{
title: '随访方式',
field: 'patientId',
align: 'left',
valign: 'middle',
width: 300
},
{
title: '手机号码',
field: 'inpNo',
align: 'center',
valign: 'middle'
},
{
title: '收件地址',
field: 'deptName',
align: 'center',
width: 200
},
{
title: '随访状态',
field: 'visitId',
align: 'center',
valign: 'middle',
width: 120
},
{
title: '随访次数',
field: 'visitId1',
align: 'center',
valign: 'middle',
width: 120
},
{
title: "操作",
align: 'left',
valign: 'middle',
width: 100, // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var html = "";
html += '<button type="button" class="btn btn-danger btn-sm qxInfo" >跟进 </button>';
html += '<button type="button" class="btn btn-danger btn-sm qxInfo" >查看详情 </button>';
return html;
}
}
],
onLoadSuccess: function (result) { //加载成功时执行
//console.info("加载成功");
console.log(result)
tipLoad = 0;
},
onLoadError: function () { //加载失败时执行
//console.info("加载数据失败");
tipLoad = 0;
}
});
}
}
//查询
$('#searchBtn').click(function () {
if (tipLoad == 0) {
$("#table").bootstrapTable("refreshOptions", {pageNumber: 1});
} else {
toastr.warning("正在查询,请稍等...");
}
//$("#deptName").val([]);
});
//获取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 creater=""+$("#creater").val();//扫描人
var startDate= $("#startDate").val();
var endDate= $("#endDate").val();
var lockinfo= "" + $("#copyTimeType").val();
window.location.href = "${path}/scanInfo/exportExcel?inpNo=" + inpNo + "&startDate=" + startDate +
"&endDate=" + endDate + "&lockinfo=" + lockinfo+ "&creater=" + creater;
});
</script>
</html>

@ -0,0 +1,569 @@
<%@ page import="java.util.ResourceBundle" %>
<%@ 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"/>
<%
ResourceBundle res = ResourceBundle.getBundle("config.jdbc");
%>
<%--<%@ include file="/WEB-INF/jspf/common.jspf" %>--%>
<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" %>
</head>
<style>
.modal-header2 {
text-align: center !important;
vertical-align: middle !important;
background-color: #3c8dbc !important;
color: #fff;
font-size: 16px;
font-weight: bold;
padding: 5px 5px 5px 5px !important;
}
/*.modal-header {*/
/*padding: 5px 5px 5px 5px !important;*/
/*}*/
.modal-footer{
padding: 5px;
}
.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;
}
.enterCss2{
height: 160px;
width: 500px;
}
.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>
<body>
<div class="tjCss">
<!--搜索-->
<form class="formCss">
<div class="form-inline">
<div class="form-group divCss8">
<label for="inpNo">项目名称:</label>
<input type="text" class="input-sm form-control" id="inpNo" placeholder="请输入项目名称">
</div>
<div class="form-group divCss8">
<label>负责人:</label>
<input type="text" class="input-sm form-control" id="creater" placeholder="请输入负责人">
</div>
<div class="form-group divCss8">
<label>相关科室:</label>
<input type="text" class="input-sm form-control" id="creater1" placeholder="请输入相关科室">
</div>
<button type="button" class="btn btn-primary btn-sm divCss"id="searchBtn">查询</button>
<button type="button" class="btn btn-info btn-sm divCss" onclick="add()" id="increaseBtn" >新增项目</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;">
<div class="btn-group btn-info">
<select id="sel_exportoption" class="form-control">                
<option value="">导出当前页面数据</option>                
<option value="all">导出全部数据</option>              
<option value="selected">导出选中数据</option>
</select>
</div>
<button class=" btn btn-success btn-sm" 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>
<!-- 模态框Modal -->
<div class="modal fade" id="myModal" 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="myModalLabel">新增项目</h4>
</div>
<div class="modal-body" style="height:auto">
<form id="updateaddform">
<div class="formDiv">
<label class="control-label left">项目名:</label>
<input type="hidden" id="userId" name="userId">
<input type="text" class="form-control input input-sm" id="re_userName" name="userName" maxlength="15">
</div>
<div class="formDiv" id="passwordDiv">
<label class="control-label left">负责人:</label>
<input type="password" class="form-control input input-sm" readonly onfocus="this.removeAttribute('readonly');" id="re_userPwd" name="userPwd" maxlength="15" autocomplete="new-password">
</div>
<div class="formDiv">
<label class="control-label left">随访总次数:</label>
<input type="text" class="form-control input input-sm" id="name" name="name" maxlength="15">
</div>
<div class="formDiv">
<label class="control-label left">开始时间:</label>
<input type="text" class="form-control input input-sm" id="re_userTel1" name="userTel" oninput="if(value.length>11)value=value.slice(0,11)">
</div>
<div class="formDiv">
<label class="control-label left">结束时间:</label>
<input type="text" class="form-control input input-sm" id="re_userTel" name="userTel" oninput="if(value.length>11)value=value.slice(0,11)">
</div>
<div class="formDiv">
<label class="control-label left">相关科室:</label>
<input type="text" class="form-control input input-sm" id="re_userEmail" name="userEmail" maxlength="25">
</div>
</form>
</div>
<div class="modelBtns">
<button type="button" class="btn btn-primary btn-sm modelBtn" id="btn_submit">提交</button>
<button type="button" class="btn btn-default btn-sm modelBtn" onclick="clearForm()">清空</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
<!-- 模态框Modal -->
<div class="modal fade" id="genjin" tabindex="-1" role="dialog" aria-labelledby="myModalgenjin" 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="myModalgenjin">新增项目</h4>
</div>
<div class="modal-body" style="height:auto">
<form id="genjinform">
<div class="formDiv">
<label class="control-label left">随访方式:</label>
<input type="hidden" id="followMode" name="userId">
<input type="text" class="form-control input input-sm" id="followMode1" name="userName" maxlength="15">
</div>
<div class="formDiv" id="genjinTime">
<label class="control-label left">跟进时间:</label>
<input type="password" class="form-control input input-sm" readonly onfocus="this.removeAttribute('readonly');" id="re_userPwd" name="userPwd" maxlength="15" autocomplete="new-password">
</div>
<div class="formDiv">
<label class="control-label left">患者姓名:</label>
<input type="text" class="form-control input input-sm" id="followName" name="name" maxlength="15">
</div>
</form>
</div>
<div class="modelBtns">
<button type="button" class="btn btn-primary btn-sm modelBtn" id="follow_submit">提交</button>
<button type="button" class="btn btn-default btn-sm modelBtn" onclick="clearForm()">清空</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
<div class="modal fade" id="myModal1" tabindex="-1" role="dialog" aria-labelledby="myModalLabel1" 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="myModalLabel1">新增项目</h4>
</div>
<div class="modal-body" style="height:auto">
<form id="updateaddform1">
<div class="formDiv">
<label class="control-label left">项目名:</label>
<input type="hidden" id="userId1" name="userId">
<input type="text" class="form-control input input-sm" id="re_userName1" name="userName" maxlength="15">
</div>
<div class="formDiv" id="passwordDiv1">
<label class="control-label left">负责人:</label>
<input type="password" class="form-control input input-sm" readonly onfocus="this.removeAttribute('readonly');" id="re_userPwd1" name="userPwd" maxlength="15" autocomplete="new-password">
</div>
<div class="formDiv">
<label class="control-label left">随访总次数:</label>
<input type="text" class="form-control input input-sm" id="name1" name="name" maxlength="15">
</div>
<div class="formDiv">
<label class="control-label left">开始时间:</label>
<input type="text" class="form-control input input-sm" id="re_userTel111" name="userTel" oninput="if(value.length>11)value=value.slice(0,11)">
</div>
<div class="formDiv">
<label class="control-label left">结束时间:</label>
<input type="text" class="form-control input input-sm" id="re_userTel11" name="userTel" oninput="if(value.length>11)value=value.slice(0,11)">
</div>
<div class="formDiv">
<label class="control-label left">相关科室:</label>
<input type="text" class="form-control input input-sm" id="re_userEmail1" name="userEmail" maxlength="25">
</div>
</form>
</div>
<div class="modelBtns">
<button type="button" class="btn btn-primary btn-sm modelBtn" id="btn_submit1">提交</button>
<button type="button" class="btn btn-default btn-sm modelBtn" onclick="clearForm()">清空</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
</body>
<script type="text/javascript">
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;
}
var data=[{patientId:"随机访问",inpNo:"张泷斌",deptName:"16",visitId:"2022-10-10",name:"2022-10-16",sex:"血液内科"},]
function initTable() {
if(tipLoad == 1){
$("#table").bootstrapTable({ // 对应table标签的id
//method: 'POST',
<%--url: "${path}/scanInfo/scanDetailPage", // 获取表格数据的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: 10, // 页面数据条数
pageNumber: 1, // 初始化加载第一页,默认第一页
sidePagination: 'client', // 设置为服务器端分页 客户端client
search: false,
data:data,
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 url = window.location.href;
// var deptName = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
// var len = ($("#deptName").val()).length;
// if (len > 0) {
// var deptNameT = $("#deptName").val();
// if (deptNameT.indexOf("") == -1) {
// deptName = $("#deptName").val().toString();
// }
// }
var temp = {
limit: limit, //页面大小
offset: offset, //页码
order: params.order, //排位命令descasc
inpNo: "" + $("#inpNo").val(),
creater:""+$("#creater").val(),
startDate: $("#startDate").val(),
endDate: $("#endDate").val(),
lockinfo: "" + $("#copyTimeType").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: 'patientId',
align: 'left',
valign: 'middle',
width: 300
},
{
title: '负责人',
field: 'inpNo',
align: 'center',
valign: 'middle'
},
{
title: '随访总次数',
field: 'deptName',
align: 'center',
width: 200
},
{
title: '开始时间',
field: 'visitId',
align: 'center',
valign: 'middle',
width: 120
},
{
title: '结束时间',
field: 'name',
align: 'left',
valign: 'middle',
width: 120
},
{
title: '相关科室',
field: 'sex',
align: 'center',
valign: 'middle'
},
{
title: "操作",
align: 'left',
valign: 'middle',
width: 100, // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var html = "";
html += '<button type="button" class="btn btn-warning btn-sm dealInfo" onclick="followUp()">跟进 </button>';
html += '<button type="button" class="btn btn-danger btn-sm qxInfo" onclick="selecrt()">查看详情 </input>';
html += '<button type="button" class="btn btn-warning btn-sm dealInfo" onclick="update()">编辑 </button>';
html += '<button type="button" class="btn btn-danger btn-sm qxInfo" >删除 </input>';
return html;
}
}
],
onLoadSuccess: function (result) { //加载成功时执行
//console.info("加载成功");
console.log(result)
tipLoad = 0;
},
onLoadError: function () { //加载失败时执行
//console.info("加载数据失败");
tipLoad = 0;
}
});
}
}
//查询
$('#searchBtn').click(function () {
if (tipLoad == 0) {
$("#table").bootstrapTable("refreshOptions", {pageNumber: 1});
} else {
toastr.warning("正在查询,请稍等...");
}
//$("#deptName").val([]);
});
//获取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');
});
function selecrt() {
$.ajax({
type : "POST",
url : "${path}/follow/followDetailst",
success : function(data) {
window.location.href = 'followDetailst';
},
})
}
//新增框
function followUp() {
$("#re_userName").prop("readOnly",false);
clearForm();
$("#userId").val("");
$("#deptIds").val("");
$('.selectpicker').selectpicker('val','1');
$('#genjin').modal('show');
$("#passwordDiv").show();
}
//新增框
function update() {
$("#re_userName").prop("readOnly",false);
clearForm();
$("#userId").val("");
$("#deptIds").val("");
$('.selectpicker').selectpicker('val','1');
$('#myModal1').modal('show');
$("#passwordDiv").show();
}
//新增框
function add() {
$("#re_userName").prop("readOnly",false);
clearForm();
$("#userId").val("");
$("#deptIds").val("");
$('.selectpicker').selectpicker('val','1');
$('#myModal').modal('show');
$("#passwordDiv").show();
}
//清空
function clearForm(){
$("#updateaddform")[0].reset();
//loadTree();
$("#deptIds").val("");
}
//导出excel功能
$("#excelBtn").click(function () {
toastr.warning("正在导出,请稍等...");
var inpNo = "" + $("#inpNo").val();
var creater=""+$("#creater").val();//扫描人
var startDate= $("#startDate").val();
var endDate= $("#endDate").val();
var lockinfo= "" + $("#copyTimeType").val();
window.location.href = "${path}/scanInfo/exportExcel?inpNo=" + inpNo + "&startDate=" + startDate +
"&endDate=" + endDate + "&lockinfo=" + lockinfo+ "&creater=" + creater;
});
</script>
</html>

@ -0,0 +1,546 @@
<%@ page import="java.util.ResourceBundle" %>
<%@ 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"/>
<%
ResourceBundle res = ResourceBundle.getBundle("config.jdbc");
%>
<%--<%@ include file="/WEB-INF/jspf/common.jspf" %>--%>
<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" %>
</head>
<style>
.modal-header2 {
text-align: center !important;
vertical-align: middle !important;
background-color: #3c8dbc !important;
color: #fff;
font-size: 16px;
font-weight: bold;
padding: 5px 5px 5px 5px !important;
}
/*.modal-header {*/
/*padding: 5px 5px 5px 5px !important;*/
/*}*/
.modal-footer{
padding: 5px;
}
.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;
}
.enterCss2{
height: 160px;
width: 500px;
}
.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>
<body>
<div class="tjCss">
<!--搜索-->
<form class="formCss">
<div class="form-inline">
<button type="button" class="btn btn-info btn-sm divCss" onclick="add()" id="increaseBtn" >新增问卷</button>
<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;">
<div class="btn-group btn-info">
<select id="sel_exportoption" class="form-control">                
<option value="">导出当前页面数据</option>                
<option value="all">导出全部数据</option>              
<option value="selected">导出选中数据</option>
</select>
</div>
<button class=" btn btn-success btn-sm" 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>
<!-- 模态框Modal -->
<div class="modal fade" id="myModal" 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="myModalLabel">新增问卷</h4>
</div>
<div class="modal-body" style="height:auto">
<form id="updateaddform">
<div class="formDiv">
<label class="control-label left">问卷名称:</label>
<input type="text" class="form-control input input-sm" id="followMode123" name="userName" maxlength="15">
</div>
<div class="formDiv">
<label class="control-label left">问卷题型选择:</label>
<select class="form-control input input-sm shortInput" id="re_effective" name="effective">
<option value="1">选择题</option>
<option value="2">问答题</option>
<option value="3">填空题</option>
</select>
</div>
</form>
</div>
<div class="modelBtns">
<button type="button" class="btn btn-primary btn-sm modelBtn" id="btn_submit" onclick="wenjuan()">提交</button>
<button type="button" class="btn btn-default btn-sm modelBtn" onclick="clearForm()">清空</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
<!-- 模态框Modal -->
<div class="modal fade" id="genjin" tabindex="-1" role="dialog" aria-labelledby="myModalgenjin" 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="myModalgenjin">新增项目</h4>
</div>
<div class="modal-body" style="height:auto">
<form id="genjinform">
<div class="formDiv">
<label class="control-label left">随访方式:</label>
<input type="hidden" id="followMode" name="userId">
<input type="text" class="form-control input input-sm" id="followMode1" name="userName" maxlength="15">
</div>
<div class="formDiv" id="genjinTime">
<label class="control-label left">跟进时间:</label>
<input type="password" class="form-control input input-sm" readonly onfocus="this.removeAttribute('readonly');" id="re_userPwd" name="userPwd" maxlength="15" autocomplete="new-password">
</div>
<div class="formDiv">
<label class="control-label left">患者姓名:</label>
<input type="text" class="form-control input input-sm" id="followName" name="name" maxlength="15">
</div>
</form>
</div>
<div class="modelBtns">
<button type="button" class="btn btn-primary btn-sm modelBtn" id="follow_submit">提交</button>
<button type="button" class="btn btn-default btn-sm modelBtn" onclick="clearForm()">清空</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
<div class="modal fade" id="myModal1" tabindex="-1" role="dialog" aria-labelledby="myModalLabel1" 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="myModalLabel1">新增项目</h4>
</div>
<div class="modal-body" style="height:auto">
<form id="updateaddform1">
<div class="formDiv">
<label class="control-label left">项目名:</label>
<input type="hidden" id="userId1" name="userId">
<input type="text" class="form-control input input-sm" id="re_userName1" name="userName" maxlength="15">
</div>
<div class="formDiv" id="passwordDiv1">
<label class="control-label left">负责人:</label>
<input type="password" class="form-control input input-sm" readonly onfocus="this.removeAttribute('readonly');" id="re_userPwd1" name="userPwd" maxlength="15" autocomplete="new-password">
</div>
<div class="formDiv">
<label class="control-label left">随访总次数:</label>
<input type="text" class="form-control input input-sm" id="name1" name="name" maxlength="15">
</div>
<div class="formDiv">
<label class="control-label left">开始时间:</label>
<input type="text" class="form-control input input-sm" id="re_userTel111" name="userTel" oninput="if(value.length>11)value=value.slice(0,11)">
</div>
<div class="formDiv">
<label class="control-label left">结束时间:</label>
<input type="text" class="form-control input input-sm" id="re_userTel11" name="userTel" oninput="if(value.length>11)value=value.slice(0,11)">
</div>
<div class="formDiv">
<label class="control-label left">相关科室:</label>
<input type="text" class="form-control input input-sm" id="re_userEmail1" name="userEmail" maxlength="25">
</div>
</form>
</div>
<div class="modelBtns">
<button type="button" class="btn btn-primary btn-sm modelBtn" id="btn_submit1">提交</button>
<button type="button" class="btn btn-default btn-sm modelBtn" onclick="clearForm()">清空</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
</body>
<script type="text/javascript">
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;
}
var data=[{patientId:"随机访问",inpNo:"2022-10-10",deptName:"张泷冰",visitId:"2022-10-10",name:"2022-10-16",sex:"血液内科"},
{patientId:"随机访问",inpNo:"2022-10-10",deptName:"郑立辉",visitId:"2022-10-10",name:"2022-10-16",sex:"血液内科"},
{patientId:"随机访问",inpNo:"2022-10-10",deptName:"严仁威",visitId:"2022-10-10",name:"2022-10-16",sex:"血液内科"},]
function initTable() {
if(tipLoad == 1){
$("#table").bootstrapTable({ // 对应table标签的id
//method: 'POST',
<%--url: "${path}/scanInfo/scanDetailPage", // 获取表格数据的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: 10, // 页面数据条数
pageNumber: 1, // 初始化加载第一页,默认第一页
sidePagination: 'client', // 设置为服务器端分页 客户端client
search: false,
data:data,
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 url = window.location.href;
// var deptName = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
// var len = ($("#deptName").val()).length;
// if (len > 0) {
// var deptNameT = $("#deptName").val();
// if (deptNameT.indexOf("") == -1) {
// deptName = $("#deptName").val().toString();
// }
// }
var temp = {
limit: limit, //页面大小
offset: offset, //页码
order: params.order, //排位命令descasc
inpNo: "" + $("#inpNo").val(),
creater:""+$("#creater").val(),
startDate: $("#startDate").val(),
endDate: $("#endDate").val(),
lockinfo: "" + $("#copyTimeType").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: 'patientId',
align: 'center',
valign: 'middle',
width: 300
},
{
title: '设计时间',
field: 'inpNo',
align: 'center',
valign: 'middle'
},
{
title: '设计人',
field: 'deptName',
align: 'center',
width: 200
},
{
title: "操作",
align: 'left',
valign: 'middle',
width: 100, // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var html = "";
html += '<button type="button" class="btn btn-warning btn-sm dealInfo" onclick="update()">编辑 </button>';
html += '<button type="button" class="btn btn-danger btn-sm qxInfo" >删除 </input>';
return html;
}
}
],
onLoadSuccess: function (result) { //加载成功时执行
//console.info("加载成功");
console.log(result)
tipLoad = 0;
},
onLoadError: function () { //加载失败时执行
//console.info("加载数据失败");
tipLoad = 0;
}
});
}
}
//查询
$('#searchBtn').click(function () {
if (tipLoad == 0) {
$("#table").bootstrapTable("refreshOptions", {pageNumber: 1});
} else {
toastr.warning("正在查询,请稍等...");
}
//$("#deptName").val([]);
});
//获取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');
});
function selecrt() {
$.ajax({
type : "POST",
url : "${path}/follow/followDetailst",
success : function(data) {
window.location.href = 'followDetailst';
},
})
}
function wenjuan() {
let reffective = $("#re_effective").val();
$.ajax({
type : "POST",
url : "${path}/follow/wenjuan",
// data:{re_effective: },
success : function(data) {
if (reffective=1) {
window.location.href = 'wenjuan';
}else {
window.location.href = 'huida';
}
},
})
}
//新增框
function followUp() {
$("#re_userName").prop("readOnly",false);
clearForm();
$("#userId").val("");
$("#deptIds").val("");
$('.selectpicker').selectpicker('val','1');
$('#genjin').modal('show');
$("#passwordDiv").show();
}
//新增框
function update() {
$("#re_userName").prop("readOnly",false);
clearForm();
$("#userId").val("");
$("#deptIds").val("");
$('.selectpicker').selectpicker('val','1');
$('#myModal1').modal('show');
$("#passwordDiv").show();
}
//新增框
function add() {
$("#re_userName").prop("readOnly",false);
clearForm();
$("#userId").val("");
$("#deptIds").val("");
$('.selectpicker').selectpicker('val','1');
$('#myModal').modal('show');
$("#passwordDiv").show();
}
//清空
function clearForm(){
$("#updateaddform")[0].reset();
//loadTree();
$("#deptIds").val("");
}
//导出excel功能
$("#excelBtn").click(function () {
toastr.warning("正在导出,请稍等...");
var inpNo = "" + $("#inpNo").val();
var creater=""+$("#creater").val();//扫描人
var startDate= $("#startDate").val();
var endDate= $("#endDate").val();
var lockinfo= "" + $("#copyTimeType").val();
window.location.href = "${path}/scanInfo/exportExcel?inpNo=" + inpNo + "&startDate=" + startDate +
"&endDate=" + endDate + "&lockinfo=" + lockinfo+ "&creater=" + creater;
});
</script>
</html>

@ -0,0 +1,128 @@
<%@ page import="java.util.ResourceBundle" %>
<%@ 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"/>
<%
ResourceBundle res = ResourceBundle.getBundle("config.jdbc");
%>
<%--<%@ include file="/WEB-INF/jspf/common.jspf" %>--%>
<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" %>
</head>
<style>
.modal-header2 {
text-align: center !important;
vertical-align: middle !important;
background-color: #3c8dbc !important;
color: #fff;
font-size: 16px;
font-weight: bold;
padding: 5px 5px 5px 5px !important;
}
/*.modal-header {*/
/*padding: 5px 5px 5px 5px !important;*/
/*}*/
.modal-footer{
padding: 5px;
}
.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;
}
.enterCss2{
height: 160px;
width: 500px;
}
.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>
<body>
<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="myModalgenjin">新增问卷</h4>
</div>
<div class="modal-body" style="height:auto">
<form id="genjinform">
<div class="formDiv">
<label class="control-label left">标题:</label>
<input type="hidden" id="followMode" name="userId">
<input type="text" class="form-control input input-sm" id="followMode1" name="userName" maxlength="15">
</div>
<div class="formDiv" id="genjinTime">
<label class="control-label left">答案:</label>
<input type="password" class="form-control input input-sm" readonly onfocus="this.removeAttribute('readonly');" id="re_userPwd" name="userPwd" maxlength="15" autocomplete="new-password">
</div>
</form>
</div>
<div class="modelBtns">
<button type="button" class="btn btn-primary btn-sm modelBtn" id="follow_submit" onclick="fanhui()">提交</button>
<button type="button" class="btn btn-default btn-sm modelBtn" onclick="clearForm()">清空</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</body>
<script type="text/javascript">
function fanhui() {
$.ajax({
type : "POST",
url : "${path}/follow/followPaper",
data:{"re_effective":$("#re_effective").val()},
success : function(data) {
window.location.href = 'followPaper';
},
})
}
</script>
</html>

@ -0,0 +1,135 @@
<%@ page import="java.util.ResourceBundle" %>
<%@ 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"/>
<%
ResourceBundle res = ResourceBundle.getBundle("config.jdbc");
%>
<%--<%@ include file="/WEB-INF/jspf/common.jspf" %>--%>
<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" %>
</head>
<style>
.modal-header2 {
text-align: center !important;
vertical-align: middle !important;
background-color: #3c8dbc !important;
color: #fff;
font-size: 16px;
font-weight: bold;
padding: 5px 5px 5px 5px !important;
}
/*.modal-header {*/
/*padding: 5px 5px 5px 5px !important;*/
/*}*/
.modal-footer{
padding: 5px;
}
.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;
}
.enterCss2{
height: 160px;
width: 500px;
}
.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>
<body>
<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="myModalgenjin">新增问卷</h4>
</div>
<div class="modal-body" style="height:auto">
<form id="genjinform">
<div class="formDiv">
<label class="control-label left">标题:</label>
<input type="hidden" id="followMode" name="userId">
<input type="text" class="form-control input input-sm" id="followMode1" name="userName" maxlength="15">
</div>
<div class="formDiv" id="genjinTime">
<label class="control-label left">选项1</label>
<input type="password" class="form-control input input-sm" readonly onfocus="this.removeAttribute('readonly');" id="re_userPwd" name="userPwd" maxlength="15" autocomplete="new-password">
</div>
<div class="formDiv">
<label class="control-label left">选项2</label>
<input type="text" class="form-control input input-sm" id="followName" name="name" maxlength="15">
</div>
<div class="formDiv">
<label class="control-label left">选项3</label>
<input type="text" class="form-control input input-sm" id="followName2" name="name" maxlength="15">
</div>
</form>
</div>
<div class="modelBtns">
<button type="button" class="btn btn-primary btn-sm modelBtn" id="follow_submit" onclick="fanhui()">提交</button>
<button type="button" class="btn btn-default btn-sm modelBtn" onclick="clearForm()">清空</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</body>
<script type="text/javascript">
function fanhui() {
$.ajax({
type : "POST",
url : "${path}/follow/followPaper",
success : function(data) {
window.location.href = 'followPaper';
},
})
}
</script>
</html>

@ -0,0 +1,384 @@
<%@ page import="java.util.ResourceBundle" %>
<%@ 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"/>
<%
ResourceBundle res = ResourceBundle.getBundle("config.jdbc");
%>
<%--<%@ include file="/WEB-INF/jspf/common.jspf" %>--%>
<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" %>
</head>
<style>
.modal-header2 {
text-align: center !important;
vertical-align: middle !important;
background-color: #3c8dbc !important;
color: #fff;
font-size: 16px;
font-weight: bold;
padding: 5px 5px 5px 5px !important;
}
/*.modal-header {*/
/*padding: 5px 5px 5px 5px !important;*/
/*}*/
.modal-footer{
padding: 5px;
}
.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;
}
.enterCss2{
height: 160px;
width: 500px;
}
.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>
<body>
<div class="tjCss">
<!--搜索-->
<form class="formCss">
<div class="form-inline">
<div class="form-group divCss8">
<label for="inpNo">病案号:</label>
<input type="text" class="input-sm form-control" id="inpNo" placeholder="请输入病案号">
</div>
<div class="form-group divCss8">
<label>浏览日期:</label>
<div class="input-daterange input-group" id="datepicker">
<input type="text" class="input-sm form-control" name="start" id="startDate"/>
<span class="input-group-addon">-</span>
<input type="text" class="input-sm form-control" name="end" id="endDate"/>
</div>
</div>
<button type="button" class="btn btn-primary btn-sm divCss"id="searchBtn">查询</button>
<button type="button" class="btn btn-info btn-sm divCss" id="excelBtn">条件导出</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;">
<div class="btn-group btn-info">
<select id="sel_exportoption" class="form-control">                
<option value="">导出当前页面数据</option>                
<option value="all">导出全部数据</option>              
<option value="selected">导出选中数据</option>
</select>
</div>
<button class=" btn btn-success btn-sm" 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;
}
var data=[{patientId:"陈钰颖",inpNo:"血液内科",deptName:"3",visitId:"2022-10-10"},
{patientId:"曾国芳",inpNo:"肝胆外科",deptName:"1",visitId:"2022-10-10"},
{patientId:"罗永承",inpNo:"肝胆外科",deptName:"7",visitId:"2022-10-10"},
{patientId:"王荣",inpNo:"血液内科",deptName:"2",visitId:"2022-10-10"},
{patientId:"黄海娟",inpNo:"内分泌科(门诊)",deptName:"2",visitId:"2022-10-10"},
{patientId:"苏桂芳",inpNo:"内分泌科(门诊)",deptName:"1",visitId:"2022-10-10"},
{patientId:"谢耀广",inpNo:"血管外科门诊",deptName:"4",visitId:"2022-10-10"},
{patientId:"杨伟平",inpNo:"肾病内科",deptName:"6",visitId:"2022-10-10"},
{patientId:"罗敬林",inpNo:"心血管内科特诊",deptName:"3",visitId:"2022-10-10"},
{patientId:"黄海娟",inpNo:"内分泌科(门诊)",deptName:"2",visitId:"2022-10-10"},
{patientId:"曹美玲",inpNo:"肾移植门诊",deptName:"1",visitId:"2022-10-10"},
{patientId:"陈钰颖",inpNo:"血液内科",deptName:"1",visitId:"2022-10-10"},
{patientId:"苏桂芳",inpNo:"内分泌科(门诊)",deptName:"7",visitId:"2022-10-10"},
{patientId:"陈成贤",inpNo:"大内科门诊",deptName:"9",visitId:"2022-10-10"},
{patientId:"廖重岚",inpNo:"心血管内科",deptName:"11",visitId:"2022-10-10"},
{patientId:"陈钰颖",inpNo:"血液内科",deptName:"5",visitId:"2022-10-10"},
]
function initTable() {
if(tipLoad == 1){
$("#table").bootstrapTable({ // 对应table标签的id
//method: 'POST',
<%--url: "${path}/scanInfo/scanDetailPage", // 获取表格数据的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: 10, // 页面数据条数
pageNumber: 1, // 初始化加载第一页,默认第一页
sidePagination: 'client', // 设置为服务器端分页 客户端client
search: false,
data:data,
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 url = window.location.href;
// var deptName = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
// var len = ($("#deptName").val()).length;
// if (len > 0) {
// var deptNameT = $("#deptName").val();
// if (deptNameT.indexOf("") == -1) {
// deptName = $("#deptName").val().toString();
// }
// }
var temp = {
limit: limit, //页面大小
offset: offset, //页码
order: params.order, //排位命令descasc
inpNo: "" + $("#inpNo").val(),
creater:""+$("#creater").val(),
startDate: $("#startDate").val(),
endDate: $("#endDate").val(),
lockinfo: "" + $("#copyTimeType").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: 'patientId',
align: 'left',
valign: 'middle',
width: 300
},
{
title: '所属科室',
field: 'inpNo',
align: 'center',
valign: 'middle'
},
{
title: '浏览次数',
field: 'deptName',
align: 'center',
width: 200
},
{
title: '浏览日期',
field: 'visitId',
align: 'center',
valign: 'middle',
width: 120
}
],
onLoadSuccess: function (result) { //加载成功时执行
//console.info("加载成功");
console.log(result)
tipLoad = 0;
},
onLoadError: function () { //加载失败时执行
//console.info("加载数据失败");
tipLoad = 0;
}
});
}
}
//查询
$('#searchBtn').click(function () {
if (tipLoad == 0) {
$("#table").bootstrapTable("refreshOptions", {pageNumber: 1});
} else {
toastr.warning("正在查询,请稍等...");
}
//$("#deptName").val([]);
});
//获取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 creater=""+$("#creater").val();//扫描人
var startDate= $("#startDate").val();
var endDate= $("#endDate").val();
var lockinfo= "" + $("#copyTimeType").val();
window.location.href = "${path}/scanInfo/exportExcel?inpNo=" + inpNo + "&startDate=" + startDate +
"&endDate=" + endDate + "&lockinfo=" + lockinfo+ "&creater=" + creater;
});
</script>
</html>

@ -0,0 +1,429 @@
<%@ page import="java.util.ResourceBundle" %>
<%@ 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"/>
<%
ResourceBundle res = ResourceBundle.getBundle("config.jdbc");
%>
<%--<%@ include file="/WEB-INF/jspf/common.jspf" %>--%>
<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" %>
</head>
<style>
.modal-header2 {
text-align: center !important;
vertical-align: middle !important;
background-color: #3c8dbc !important;
color: #fff;
font-size: 16px;
font-weight: bold;
padding: 5px 5px 5px 5px !important;
}
/*.modal-header {*/
/*padding: 5px 5px 5px 5px !important;*/
/*}*/
.modal-footer{
padding: 5px;
}
.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;
}
.enterCss2{
height: 160px;
width: 500px;
}
.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>
<body>
<div class="tjCss">
<!--搜索-->
<form class="formCss">
<div class="form-inline">
<div class="form-group divCss8">
<label for="inpNo">病案号:</label>
<input type="text" class="input-sm form-control" id="inpNo" placeholder="请输入病案号">
</div>
<div class="form-group divCss8">
<label>上报人:</label>
<input type="text" class="input-sm form-control" id="creater" placeholder="请输入报告人">
</div>
<div class="form-group divCss8">
<label>上报日期:</label>
<div class="input-daterange input-group" id="datepicker">
<input type="text" class="input-sm form-control" name="start" id="startDate"/>
<span class="input-group-addon">-</span>
<input type="text" class="input-sm form-control" name="end" id="endDate"/>
</div>
</div>
<button type="button" class="btn btn-primary btn-sm divCss"id="searchBtn">查询</button>
<button type="button" class="btn btn-info btn-sm divCss" id="excelBtn">条件导出</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;">
<div class="btn-group btn-info">
<select id="sel_exportoption" class="form-control">                
<option value="">导出当前页面数据</option>                
<option value="all">导出全部数据</option>              
<option value="selected">导出选中数据</option>
</select>
</div>
<button class=" btn btn-success btn-sm" 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;
}
var data=[{patientId:"000642521100",inpNo:"1537170",deptName:"血液内科",visitId:"1",name:"陈钰颖",dischargeDateTime:"2022-10-10 09:06:02",creater:"陈钰颖",content:"首页缺失"},
{patientId:"000656796300",inpNo:"1552563",deptName:"胃肠外科",visitId:"1",name:"黄付",dischargeDateTime:"2022-10-11 12:33:28",creater:"黄付",content:"分类错误"},
{patientId:"000417469000",inpNo:"1191804",deptName:"泌尿外科",visitId:"14",name:"梁冠辉",dischargeDateTime:"2022-10-11 15:47:28",creater:"梁冠辉",content:"图片残缺"},
{patientId:"000635473900",inpNo:"1529085",deptName:"神经外科",visitId:"2",name:"罗春玲",dischargeDateTime:"2022-10-16 17:37:11",creater:"罗春玲",content:"首页缺失"}]
function initTable() {
if(tipLoad == 1){
$("#table").bootstrapTable({ // 对应table标签的id
//method: 'POST',
<%--url: "${path}/scanInfo/scanDetailPage", // 获取表格数据的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: 10, // 页面数据条数
pageNumber: 1, // 初始化加载第一页,默认第一页
sidePagination: 'client', // 设置为服务器端分页 客户端client
search: false,
data:data,
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 url = window.location.href;
// var deptName = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
// var len = ($("#deptName").val()).length;
// if (len > 0) {
// var deptNameT = $("#deptName").val();
// if (deptNameT.indexOf("") == -1) {
// deptName = $("#deptName").val().toString();
// }
// }
var temp = {
limit: limit, //页面大小
offset: offset, //页码
order: params.order, //排位命令descasc
inpNo: "" + $("#inpNo").val(),
creater:""+$("#creater").val(),
startDate: $("#startDate").val(),
endDate: $("#endDate").val(),
lockinfo: "" + $("#copyTimeType").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: 'patientId',
align: 'left',
valign: 'middle',
width: 300
},
{
title: '住院号',
field: 'inpNo',
align: 'center',
valign: 'middle'
},
{
title: '出院科室',
field: 'deptName',
align: 'center',
width: 200
},
{
title: '住院次数',
field: 'visitId',
align: 'center',
valign: 'middle',
width: 120
},
{
title: '患者姓名',
field: 'name',
align: 'left',
valign: 'middle',
width: 120
},
/* {
title: '性别',
field: 'sex',
align: 'center',
valign: 'middle'
},*/
/*{
title: '入院时间',
field: 'admissionDateTime',
align: 'center'
},*/
{
title: '上报日期',
field: 'dischargeDateTime',
align: 'center',
width: 200
}
/*,{
title: '出院科室',
field: 'deptName',
align: 'left',
valign: 'middle'
},{
title: '主管医生',
field: 'doctorInCharge',
align: 'left',
valign: 'middle'
}*/
,{
title: '上报人',
field: 'creater',
align: 'left',
valign: 'middle'
},
{
title: '上报原因',
field: 'content',
align: 'left',
valign: 'middle'
}
/*,{
title: '修改标志',
field: 'remark',
align: 'center',
valign: 'middle'
}*/
],
onLoadSuccess: function (result) { //加载成功时执行
//console.info("加载成功");
console.log(result)
tipLoad = 0;
},
onLoadError: function () { //加载失败时执行
//console.info("加载数据失败");
tipLoad = 0;
}
});
}
}
//查询
$('#searchBtn').click(function () {
if (tipLoad == 0) {
$("#table").bootstrapTable("refreshOptions", {pageNumber: 1});
} else {
toastr.warning("正在查询,请稍等...");
}
//$("#deptName").val([]);
});
//获取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 creater=""+$("#creater").val();//扫描人
var startDate= $("#startDate").val();
var endDate= $("#endDate").val();
var lockinfo= "" + $("#copyTimeType").val();
window.location.href = "${path}/scanInfo/exportExcel?inpNo=" + inpNo + "&startDate=" + startDate +
"&endDate=" + endDate + "&lockinfo=" + lockinfo+ "&creater=" + creater;
});
</script>
</html>

@ -0,0 +1,443 @@
<%@ page import="java.util.ResourceBundle" %>
<%@ 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"/>
<%
ResourceBundle res = ResourceBundle.getBundle("config.jdbc");
%>
<%--<%@ include file="/WEB-INF/jspf/common.jspf" %>--%>
<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" %>
</head>
<style>
.modal-header2 {
text-align: center !important;
vertical-align: middle !important;
background-color: #3c8dbc !important;
color: #fff;
font-size: 16px;
font-weight: bold;
padding: 5px 5px 5px 5px !important;
}
/*.modal-header {*/
/*padding: 5px 5px 5px 5px !important;*/
/*}*/
.modal-footer{
padding: 5px;
}
.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;
}
.enterCss2{
height: 160px;
width: 500px;
}
.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>
<body>
<div class="tjCss">
<!--搜索-->
<form class="formCss">
<div class="form-inline">
<div class="form-group divCss8">
<label for="inpNo">归档人:</label>
<input type="text" class="input-sm form-control" id="inpNo" placeholder="请输入归档人">
</div>
<%--<div class="form-group divCss8">--%>
<%--<label>归档人:</label>--%>
<%--<input type="text" class="input-sm form-control" id="creater" placeholder="请输入报告人">--%>
<%--</div>--%>
<div class="form-group divCss8">
<label>归档日期:</label>
<div class="input-daterange input-group" id="datepicker">
<input type="text" class="input-sm form-control" name="start" id="startDate"/>
<span class="input-group-addon">-</span>
<input type="text" class="input-sm form-control" name="end" id="endDate"/>
</div>
</div>
<button type="button" class="btn btn-primary btn-sm divCss"id="searchBtn">查询</button>
<button type="button" class="btn btn-info btn-sm divCss" id="excelBtn">条件导出</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;">
<div class="btn-group btn-info">
<select id="sel_exportoption" class="form-control">                
<option value="">导出当前页面数据</option>                
<option value="all">导出全部数据</option>              
<option value="selected">导出选中数据</option>
</select>
</div>
<button class=" btn btn-success btn-sm" 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;
}
var data=[{patientId:"刘付聪",inpNo:"2022-10-16",deptName:"10份"},
{patientId:"刘付聪",inpNo:"2022-10-15",deptName:"33份"},
{patientId:"洪海",inpNo:"2022-10-14",deptName:"17份"},
{patientId:"温马胜",inpNo:"2022-10-13",deptName:"71份"},
{patientId:"周玉华",inpNo:"2022-10-12",deptName:"9份"},
{patientId:"温马胜",inpNo:"2022-10-12",deptName:"14份"},
{patientId:"陈连芳",inpNo:"2022-10-12",deptName:"20份"},
{patientId:"陈海忠",inpNo:"2022-10-11",deptName:"13份"},
{patientId:"刘付聪",inpNo:"2022-10-10",deptName:"42份"},
{patientId:"刘付聪",inpNo:"2022-10-09",deptName:"12份"},
{patientId:"周玉华",inpNo:"2022-10-08",deptName:"78份"},
{patientId:"周玉华",inpNo:"2022-09-30",deptName:"33份"},
{patientId:"温马胜",inpNo:"2022-09-29",deptName:"28份"},
{patientId:"王荣",inpNo:"2022-09-28",deptName:"50份"},
{patientId:"卓小漫",inpNo:"2022-09-27",deptName:"12份"},
{patientId:"罗永承",inpNo:"2022-09-26",deptName:"40份"},
{patientId:"梁金宁",inpNo:"2022-09-25",deptName:"31份"},]
function initTable() {
if(tipLoad == 1){
$("#table").bootstrapTable({ // 对应table标签的id
//method: 'POST',
<%--url: "${path}/scanInfo/scanDetailPage", // 获取表格数据的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: 10, // 页面数据条数
pageNumber: 1, // 初始化加载第一页,默认第一页
sidePagination: 'client', // 设置为服务器端分页 客户端client
search: false,
data:data,
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 url = window.location.href;
// var deptName = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
// var len = ($("#deptName").val()).length;
// if (len > 0) {
// var deptNameT = $("#deptName").val();
// if (deptNameT.indexOf("") == -1) {
// deptName = $("#deptName").val().toString();
// }
// }
var temp = {
limit: limit, //页面大小
offset: offset, //页码
order: params.order, //排位命令descasc
inpNo: "" + $("#inpNo").val(),
creater:""+$("#creater").val(),
startDate: $("#startDate").val(),
endDate: $("#endDate").val(),
lockinfo: "" + $("#copyTimeType").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: 'patientId',
align: 'left',
valign: 'middle',
width: 300
},
{
title: '归档时间',
field: 'inpNo',
align: 'center',
valign: 'middle'
},
{
title: '归档份数',
field: 'deptName',
align: 'center',
width: 200
},
// {
// title: '住院次数',
// field: 'visitId',
// align: 'center',
// valign: 'middle',
// width: 120
// },
// {
// title: '患者姓名',
// field: 'name',
// align: 'left',
// valign: 'middle',
// width: 120
// },
// /* {
// title: '性别',
// field: 'sex',
// align: 'center',
// valign: 'middle'
// },*/
// /*{
// title: '入院时间',
// field: 'admissionDateTime',
// align: 'center'
// },*/
// {
// title: '上报日期',
// field: 'dischargeDateTime',
// align: 'center',
// width: 200
// }
// /*,{
// title: '出院科室',
// field: 'deptName',
// align: 'left',
// valign: 'middle'
// },{
// title: '主管医生',
// field: 'doctorInCharge',
// align: 'left',
// valign: 'middle'
// }*/
// ,{
// title: '上报人',
// field: 'creater',
// align: 'left',
// valign: 'middle'
// },
// {
// title: '上报原因',
// field: 'content',
// align: 'left',
// valign: 'middle'
// }
/*,{
title: '修改标志',
field: 'remark',
align: 'center',
valign: 'middle'
}*/
],
onLoadSuccess: function (result) { //加载成功时执行
//console.info("加载成功");
console.log(result)
tipLoad = 0;
},
onLoadError: function () { //加载失败时执行
//console.info("加载数据失败");
tipLoad = 0;
}
});
}
}
//查询
$('#searchBtn').click(function () {
if (tipLoad == 0) {
$("#table").bootstrapTable("refreshOptions", {pageNumber: 1});
} else {
toastr.warning("正在查询,请稍等...");
}
//$("#deptName").val([]);
});
//获取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 creater=""+$("#creater").val();//扫描人
var startDate= $("#startDate").val();
var endDate= $("#endDate").val();
var lockinfo= "" + $("#copyTimeType").val();
window.location.href = "${path}/scanInfo/exportExcel?inpNo=" + inpNo + "&startDate=" + startDate +
"&endDate=" + endDate + "&lockinfo=" + lockinfo+ "&creater=" + creater;
});
</script>
</html>

@ -0,0 +1,417 @@
<%@ page import="java.util.ResourceBundle" %>
<%@ 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"/>
<%
ResourceBundle res = ResourceBundle.getBundle("config.jdbc");
%>
<%--<%@ include file="/WEB-INF/jspf/common.jspf" %>--%>
<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" %>
</head>
<style>
.modal-header2 {
text-align: center !important;
vertical-align: middle !important;
background-color: #3c8dbc !important;
color: #fff;
font-size: 16px;
font-weight: bold;
padding: 5px 5px 5px 5px !important;
}
/*.modal-header {*/
/*padding: 5px 5px 5px 5px !important;*/
/*}*/
.modal-footer{
padding: 5px;
}
.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;
}
.enterCss2{
height: 160px;
width: 500px;
}
.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>
<body>
<div class="tjCss">
<!--搜索-->
<form class="formCss">
<div class="form-inline">
<div class="form-group divCss8">
<label for="name">患者姓名:</label>
<input type="text" class="input-sm form-control" id="name" placeholder="请输入患者姓名">
</div>
<div class="form-group divCss8">
<label for="inpon">病案号:</label>
<input type="text" class="input-sm form-control" id="inpon" placeholder="请输入病案号">
</div>
<button type="button" class="btn btn-primary btn-sm divCss"id="searchBtn">查询</button>
<button type="button" class="btn btn-info btn-sm divCss" id="excelBtn">条件导出</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;">
<div class="btn-group btn-info">
<select id="sel_exportoption" class="form-control">                
<option value="">导出当前页面数据</option>                
<option value="all">导出全部数据</option>              
<option value="selected">导出选中数据</option>
</select>
</div>
<button class=" btn btn-success btn-sm" 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>
<%--!-- 模态框Modal -->--%>
<div class="modal fade" id="genjin" tabindex="-1" role="dialog" aria-labelledby="myModalgenjin" 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="myModalgenjin">相关数据</h4>
</div>
<div class="modal-body" style="height:auto">
<form id="genjinform">
<div class="formDiv">
<label class="control-label left">内容:</label>
<input type="hidden" id="followMode" name="userId">
<textarea class="form-control input input-sm" id="followMode1" name="userName" style="height: 100px" style="resize:none;"></textarea>
</div>
</form>
</div>
<div class="modelBtns">
<button type="button" class="btn btn-primary btn-sm modelBtn" id="follow_submit">提交</button>
<button type="button" class="btn btn-default btn-sm modelBtn" onclick="clearForm()">清空</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
</body>
<script type="text/javascript">
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;
}
var data=[{name:"陈钰颖",patientId:"000642521100",visitId:"1",sTime:"2022-10-01",eTime:"2022-10-16",charge:"陈生"}
]
function initTable() {
if(tipLoad == 1){
$("#table").bootstrapTable({ // 对应table标签的id
//method: 'POST',
<%--url: "${path}/scanInfo/scanDetailPage", // 获取表格数据的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: 10, // 页面数据条数
pageNumber: 1, // 初始化加载第一页,默认第一页
sidePagination: 'client', // 设置为服务器端分页 客户端client
search: false,
data:data,
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 temp = {
limit: limit, //页面大小
offset: offset, //页码
order: params.order, //排位命令descasc
inpNo: "" + $("#inpNo").val(),
creater:""+$("#creater").val(),
startDate: $("#startDate").val(),
endDate: $("#endDate").val(),
lockinfo: "" + $("#copyTimeType").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: 'name',
align: 'left',
valign: 'middle',
width: 300
},
{
title: '病案号',
field: 'patientId',
align: 'left',
valign: 'middle',
width: 300
},
{
title: '住院次数',
field: 'visitId',
align: 'left',
valign: 'middle',
width: 300
},
{
title: '科研开始时间',
field: 'sTime',
align: 'center',
valign: 'middle'
},
{
title: '科研结束时间',
field: 'eTime',
align: 'center',
width: 200
},
{
title: '相关负责人',
field: 'charge',
align: 'center',
valign: 'middle',
width: 120
},
{
title: "操作",
align: 'left',
valign: 'middle',
width: 100, // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var html = "";
html += '<button type="button" class="btn btn-danger btn-sm qxInfo" >跟进 </button>';
html += '<button type="button" class="btn btn-danger btn-sm qxInfo" onclick="selecrt()">查看详情 </button>';
return html;
}
}
],
onLoadSuccess: function (result) { //加载成功时执行
//console.info("加载成功");
console.log(result)
tipLoad = 0;
},
onLoadError: function () { //加载失败时执行
//console.info("加载数据失败");
tipLoad = 0;
}
});
}
}
//查询
$('#searchBtn').click(function () {
if (tipLoad == 0) {
$("#table").bootstrapTable("refreshOptions", {pageNumber: 1});
} else {
toastr.warning("正在查询,请稍等...");
}
//$("#deptName").val([]);
});
//获取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');
});
//新增框
function selecrt() {
$("#re_userName").prop("readOnly",false);
$("#userId").val("");
$("#deptIds").val("");
$('.selectpicker').selectpicker('val','1');
$('#genjin').modal('show');
$("#passwordDiv").show();
}
//导出excel功能
$("#excelBtn").click(function () {
toastr.warning("正在导出,请稍等...");
var inpNo = "" + $("#inpNo").val();
var creater=""+$("#creater").val();//扫描人
var startDate= $("#startDate").val();
var endDate= $("#endDate").val();
var lockinfo= "" + $("#copyTimeType").val();
window.location.href = "${path}/scanInfo/exportExcel?inpNo=" + inpNo + "&startDate=" + startDate +
"&endDate=" + endDate + "&lockinfo=" + lockinfo+ "&creater=" + creater;
});
</script>
</html>

@ -0,0 +1,575 @@
<%@ page import="java.util.ResourceBundle" %>
<%@ 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"/>
<%
ResourceBundle res = ResourceBundle.getBundle("config.jdbc");
%>
<%--<%@ include file="/WEB-INF/jspf/common.jspf" %>--%>
<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" %>
</head>
<style>
.modal-header2 {
text-align: center !important;
vertical-align: middle !important;
background-color: #3c8dbc !important;
color: #fff;
font-size: 16px;
font-weight: bold;
padding: 5px 5px 5px 5px !important;
}
/*.modal-header {*/
/*padding: 5px 5px 5px 5px !important;*/
/*}*/
.modal-footer{
padding: 5px;
}
.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;
}
.enterCss2{
height: 160px;
width: 500px;
}
.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>
<body>
<div class="tjCss">
<!--搜索-->
<form class="formCss">
<div class="form-inline">
<div class="form-group divCss8">
<label for="inpNo">科研项目名称:</label>
<input type="text" class="input-sm form-control" id="inpNo" placeholder="请输入项目名称">
</div>
<div class="form-group divCss8">
<label>负责人:</label>
<input type="text" class="input-sm form-control" id="creater" placeholder="请输入负责人">
</div>
<div class="form-group divCss8">
<label>相关科室:</label>
<input type="text" class="input-sm form-control" id="creater1" placeholder="请输入相关科室">
</div>
<button type="button" class="btn btn-primary btn-sm divCss"id="searchBtn">查询</button>
<button type="button" class="btn btn-info btn-sm divCss" onclick="add()" id="increaseBtn" >新增项目</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;">
<div class="btn-group btn-info">
<select id="sel_exportoption" class="form-control">                
<option value="">导出当前页面数据</option>                
<option value="all">导出全部数据</option>              
<option value="selected">导出选中数据</option>
</select>
</div>
<button class=" btn btn-success btn-sm" 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>
<!-- 模态框Modal -->
<div class="modal fade" id="myModal" 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="myModalLabel">新增项目</h4>
</div>
<div class="modal-body" style="height:auto">
<form id="updateaddform">
<div class="formDiv">
<label class="control-label left">科研项目名:</label>
<input type="hidden" id="userId" name="userId">
<input type="text" class="form-control input input-sm" id="re_userName" name="userName" maxlength="15">
</div>
<div class="formDiv" id="passwordDiv">
<label class="control-label left">负责人:</label>
<input type="password" class="form-control input input-sm" readonly onfocus="this.removeAttribute('readonly');" id="re_userPwd" name="userPwd" maxlength="15" autocomplete="new-password">
</div>
<div class="formDiv">
<label class="control-label left">科研总次数:</label>
<input type="text" class="form-control input input-sm" id="name" name="name" maxlength="15">
</div>
<div class="formDiv">
<label class="control-label left">开始时间:</label>
<input type="text" class="form-control input input-sm" id="re_userTel1" name="userTel" oninput="if(value.length>11)value=value.slice(0,11)">
</div>
<div class="formDiv">
<label class="control-label left">结束时间:</label>
<input type="text" class="form-control input input-sm" id="re_userTel" name="userTel" oninput="if(value.length>11)value=value.slice(0,11)">
</div>
<div class="formDiv">
<label class="control-label left">相关科室:</label>
<input type="text" class="form-control input input-sm" id="re_userEmail" name="userEmail" maxlength="25">
</div>
</form>
</div>
<div class="modelBtns">
<button type="button" class="btn btn-primary btn-sm modelBtn" id="btn_submit">提交</button>
<button type="button" class="btn btn-default btn-sm modelBtn" onclick="clearForm()">清空</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
<!-- 模态框Modal -->
<div class="modal fade" id="genjin" tabindex="-1" role="dialog" aria-labelledby="myModalgenjin" 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="myModalgenjin">新增项目</h4>
</div>
<div class="modal-body" style="height:auto">
<form id="genjinform">
<div class="formDiv">
<label class="control-label left">随访方式:</label>
<input type="hidden" id="followMode" name="userId">
<input type="text" class="form-control input input-sm" id="followMode1" name="userName" maxlength="15">
</div>
<div class="formDiv" id="genjinTime">
<label class="control-label left">跟进时间:</label>
<input type="password" class="form-control input input-sm" readonly onfocus="this.removeAttribute('readonly');" id="re_userPwd" name="userPwd" maxlength="15" autocomplete="new-password">
</div>
<div class="formDiv">
<label class="control-label left">患者姓名:</label>
<input type="text" class="form-control input input-sm" id="followName" name="name" maxlength="15">
</div>
</form>
</div>
<div class="modelBtns">
<button type="button" class="btn btn-primary btn-sm modelBtn" id="follow_submit">提交</button>
<button type="button" class="btn btn-default btn-sm modelBtn" onclick="clearForm()">清空</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
<div class="modal fade" id="myModal1" tabindex="-1" role="dialog" aria-labelledby="myModalLabel1" 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="myModalLabel1">新增项目</h4>
</div>
<div class="modal-body" style="height:auto">
<form id="updateaddform1">
<div class="formDiv">
<label class="control-label left">项目名:</label>
<input type="hidden" id="userId1" name="userId">
<input type="text" class="form-control input input-sm" id="re_userName1" name="userName" maxlength="15">
</div>
<div class="formDiv" id="passwordDiv1">
<label class="control-label left">负责人:</label>
<input type="password" class="form-control input input-sm" readonly onfocus="this.removeAttribute('readonly');" id="re_userPwd1" name="userPwd" maxlength="15" autocomplete="new-password">
</div>
<div class="formDiv">
<label class="control-label left">随访总次数:</label>
<input type="text" class="form-control input input-sm" id="name1" name="name" maxlength="15">
</div>
<div class="formDiv">
<label class="control-label left">开始时间:</label>
<input type="text" class="form-control input input-sm" id="re_userTel111" name="userTel" oninput="if(value.length>11)value=value.slice(0,11)">
</div>
<div class="formDiv">
<label class="control-label left">结束时间:</label>
<input type="text" class="form-control input input-sm" id="re_userTel11" name="userTel" oninput="if(value.length>11)value=value.slice(0,11)">
</div>
<div class="formDiv">
<label class="control-label left">相关科室:</label>
<input type="text" class="form-control input input-sm" id="re_userEmail1" name="userEmail" maxlength="25">
</div>
</form>
</div>
<div class="modelBtns">
<button type="button" class="btn btn-primary btn-sm modelBtn" id="btn_submit1">提交</button>
<button type="button" class="btn btn-default btn-sm modelBtn" onclick="clearForm()">清空</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
</body>
<script type="text/javascript">
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;
}
var data=[{patientId:"心血管疏通",inpNo:"20221013998",deptName:"心血管疏通",visitId:"如何快速心血管疏通",name:"2000000",scientiTime:"2022-08-10",sex:"心血管内科"},]
function initTable() {
if(tipLoad == 1){
$("#table").bootstrapTable({ // 对应table标签的id
//method: 'POST',
<%--url: "${path}/scanInfo/scanDetailPage", // 获取表格数据的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: 10, // 页面数据条数
pageNumber: 1, // 初始化加载第一页,默认第一页
sidePagination: 'client', // 设置为服务器端分页 客户端client
search: false,
data:data,
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 url = window.location.href;
// var deptName = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
// var len = ($("#deptName").val()).length;
// if (len > 0) {
// var deptNameT = $("#deptName").val();
// if (deptNameT.indexOf("") == -1) {
// deptName = $("#deptName").val().toString();
// }
// }
var temp = {
limit: limit, //页面大小
offset: offset, //页码
order: params.order, //排位命令descasc
inpNo: "" + $("#inpNo").val(),
creater:""+$("#creater").val(),
startDate: $("#startDate").val(),
endDate: $("#endDate").val(),
lockinfo: "" + $("#copyTimeType").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: 'patientId',
align: 'left',
valign: 'middle',
width: 300
},
{
title: '课题编号',
field: 'inpNo',
align: 'center',
valign: 'middle'
},
{
title: '课题名称',
field: 'deptName',
align: 'center',
width: 200
},
{
title: '课题说明',
field: 'visitId',
align: 'center',
valign: 'middle',
width: 120
},
{
title: '课题费用',
field: 'name',
align: 'left',
valign: 'middle',
width: 120
},
{
title: '开始时间',
field: 'scientiTime',
align: 'center',
valign: 'middle'
},
{
title: '相关科室',
field: 'sex',
align: 'center',
valign: 'middle'
},
{
title: "操作",
align: 'left',
valign: 'middle',
width: 100, // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var html = "";
html += '<button type="button" class="btn btn-warning btn-sm dealInfo" onclick="followUp()">跟进 </button>';
html += '<button type="button" class="btn btn-danger btn-sm qxInfo" onclick="selecrt()">查看详情 </input>';
html += '<button type="button" class="btn btn-warning btn-sm dealInfo" onclick="update()">编辑 </button>';
html += '<button type="button" class="btn btn-danger btn-sm qxInfo" >删除 </input>';
return html;
}
}
],
onLoadSuccess: function (result) { //加载成功时执行
//console.info("加载成功");
console.log(result)
tipLoad = 0;
},
onLoadError: function () { //加载失败时执行
//console.info("加载数据失败");
tipLoad = 0;
}
});
}
}
//查询
$('#searchBtn').click(function () {
if (tipLoad == 0) {
$("#table").bootstrapTable("refreshOptions", {pageNumber: 1});
} else {
toastr.warning("正在查询,请稍等...");
}
//$("#deptName").val([]);
});
//获取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');
});
function selecrt() {
$.ajax({
type : "POST",
url : "${path}/scientific/scientificDetailst",
success : function(data) {
window.location.href = 'scientificDetailst';
},
})
}
//新增框
function followUp() {
$("#re_userName").prop("readOnly",false);
clearForm();
$("#userId").val("");
$("#deptIds").val("");
$('.selectpicker').selectpicker('val','1');
$('#genjin').modal('show');
$("#passwordDiv").show();
}
//新增框
function update() {
$("#re_userName").prop("readOnly",false);
clearForm();
$("#userId").val("");
$("#deptIds").val("");
$('.selectpicker').selectpicker('val','1');
$('#myModal1').modal('show');
$("#passwordDiv").show();
}
//新增框
function add() {
$("#re_userName").prop("readOnly",false);
clearForm();
$("#userId").val("");
$("#deptIds").val("");
$('.selectpicker').selectpicker('val','1');
$('#myModal').modal('show');
$("#passwordDiv").show();
}
//清空
function clearForm(){
$("#updateaddform")[0].reset();
//loadTree();
$("#deptIds").val("");
}
//导出excel功能
$("#excelBtn").click(function () {
toastr.warning("正在导出,请稍等...");
var inpNo = "" + $("#inpNo").val();
var creater=""+$("#creater").val();//扫描人
var startDate= $("#startDate").val();
var endDate= $("#endDate").val();
var lockinfo= "" + $("#copyTimeType").val();
window.location.href = "${path}/scanInfo/exportExcel?inpNo=" + inpNo + "&startDate=" + startDate +
"&endDate=" + endDate + "&lockinfo=" + lockinfo+ "&creater=" + creater;
});
</script>
</html>

@ -0,0 +1,542 @@
<%@ page import="java.util.ResourceBundle" %>
<%@ 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"/>
<%
ResourceBundle res = ResourceBundle.getBundle("config.jdbc");
%>
<%--<%@ include file="/WEB-INF/jspf/common.jspf" %>--%>
<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" %>
</head>
<style>
.modal-header2 {
text-align: center !important;
vertical-align: middle !important;
background-color: #3c8dbc !important;
color: #fff;
font-size: 16px;
font-weight: bold;
padding: 5px 5px 5px 5px !important;
}
/*.modal-header {*/
/*padding: 5px 5px 5px 5px !important;*/
/*}*/
.modal-footer{
padding: 5px;
}
.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;
}
.enterCss2{
height: 160px;
width: 500px;
}
.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>
<body>
<div class="tjCss">
<!--搜索-->
<form class="formCss">
<div class="form-inline">
<div class="form-group divCss8">
<label for="inpNo">科研模板名称:</label>
<input type="text" class="input-sm form-control" id="inpNo" placeholder="请输入科研模板名称">
</div>
<div class="form-group divCss8">
<label>负责人:</label>
<input type="text" class="input-sm form-control" id="creater" placeholder="请输入负责人">
</div>
<div class="form-group divCss8">
<label>相关科室:</label>
<input type="text" class="input-sm form-control" id="creater1" placeholder="请输入相关科室">
</div>
<button type="button" class="btn btn-primary btn-sm divCss"id="searchBtn">查询</button>
<button type="button" class="btn btn-info btn-sm divCss" onclick="add()" id="increaseBtn" >新增模板</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;">
<div class="btn-group btn-info">
<select id="sel_exportoption" class="form-control">                
<option value="">导出当前页面数据</option>                
<option value="all">导出全部数据</option>              
<option value="selected">导出选中数据</option>
</select>
</div>
<button class=" btn btn-success btn-sm" 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>
<!-- 模态框Modal -->
<div class="modal fade" id="myModal" 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="myModalLabel">新增项目</h4>
</div>
<div class="modal-body" style="height:auto">
<form id="updateaddform">
<div class="formDiv">
<label class="control-label left">模板名称:</label>
<input type="hidden" id="userId" name="userId">
<input type="text" class="form-control input input-sm" id="re_userName" name="userName" maxlength="15">
</div>
<div class="formDiv" id="passwordDiv">
<label class="control-label left">负责人:</label>
<input type="password" class="form-control input input-sm" readonly onfocus="this.removeAttribute('readonly');" id="re_userPwd" name="userPwd" maxlength="15" autocomplete="new-password">
</div>
<div class="formDiv">
<label class="control-label left">模板要求:</label>
<input type="text" class="form-control input input-sm" id="name" name="name" maxlength="15">
</div>
<div class="formDiv">
<label class="control-label left">参与人员:</label>
<input type="text" class="form-control input input-sm" id="re_userTel1" name="userTel" oninput="if(value.length>11)value=value.slice(0,11)">
</div>
<div class="formDiv">
<label class="control-label left">科研术称:</label>
<input type="text" class="form-control input input-sm" id="re_userTel" name="userTel" oninput="if(value.length>11)value=value.slice(0,11)">
</div>
<div class="formDiv">
<label class="control-label left">科研病历:</label>
<input type="text" class="form-control input input-sm" id="re_userEmail" name="userEmail" maxlength="25">
</div>
</form>
</div>
<div class="modelBtns">
<button type="button" class="btn btn-primary btn-sm modelBtn" id="btn_submit">提交</button>
<button type="button" class="btn btn-default btn-sm modelBtn" onclick="clearForm()">清空</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
<div class="modal fade" id="myModal1" tabindex="-1" role="dialog" aria-labelledby="myModalLabel1" 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="myModalLabel1">编辑模板</h4>
</div>
<div class="modal-body" style="height:auto">
<form id="updateaddform1">
<div class="formDiv">
<label class="control-label left">模板名称:</label>
<input type="hidden" id="userId1" name="userId">
<input type="text" class="form-control input input-sm" id="re_userName1" name="userName" maxlength="15">
</div>
<div class="formDiv" id="passwordDiv1">
<label class="control-label left">负责人:</label>
<input type="password" class="form-control input input-sm" readonly onfocus="this.removeAttribute('readonly');" id="re_userPwd1" name="userPwd" maxlength="15" autocomplete="new-password">
</div>
<div class="formDiv">
<label class="control-label left">模板要求:</label>
<input type="text" class="form-control input input-sm" id="name1" name="name" maxlength="15">
</div>
<div class="formDiv">
<label class="control-label left">参与人员:</label>
<input type="text" class="form-control input input-sm" id="re_userTel111" name="userTel" oninput="if(value.length>11)value=value.slice(0,11)">
</div>
<div class="formDiv">
<label class="control-label left">科研术称:</label>
<input type="text" class="form-control input input-sm" id="re_userTel11" name="userTel" oninput="if(value.length>11)value=value.slice(0,11)">
</div>
<div class="formDiv">
<label class="control-label left">科研病历:</label>
<input type="text" class="form-control input input-sm" id="re_userEmail1" name="userEmail" maxlength="25">
</div>
</form>
</div>
<div class="modelBtns">
<button type="button" class="btn btn-primary btn-sm modelBtn" id="btn_submit1">提交</button>
<button type="button" class="btn btn-default btn-sm modelBtn" onclick="clearForm()">清空</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
</body>
<script type="text/javascript">
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;
}
var data=[{patientId:"心血管疏通",inpNo:"陈敏",deptName:"陈敏",visitId:"如何快速心血管疏通",name:"2000000",scientiTime:"2022-08-10",sex:"心血管内科",sex1:"庞龙英,黄秀芳,吴雄秋",sex2:"000188286300,000579294100"},]
function initTable() {
if(tipLoad == 1){
$("#table").bootstrapTable({ // 对应table标签的id
//method: 'POST',
<%--url: "${path}/scanInfo/scanDetailPage", // 获取表格数据的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: 10, // 页面数据条数
pageNumber: 1, // 初始化加载第一页,默认第一页
sidePagination: 'client', // 设置为服务器端分页 客户端client
search: false,
data:data,
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 url = window.location.href;
// var deptName = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
// var len = ($("#deptName").val()).length;
// if (len > 0) {
// var deptNameT = $("#deptName").val();
// if (deptNameT.indexOf("") == -1) {
// deptName = $("#deptName").val().toString();
// }
// }
var temp = {
limit: limit, //页面大小
offset: offset, //页码
order: params.order, //排位命令descasc
inpNo: "" + $("#inpNo").val(),
creater:""+$("#creater").val(),
startDate: $("#startDate").val(),
endDate: $("#endDate").val(),
lockinfo: "" + $("#copyTimeType").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: 'patientId',
align: 'left',
valign: 'middle',
width: 300
},
{
title: '负责人',
field: 'inpNo',
align: 'center',
valign: 'middle'
},
{
title: '生成人',
field: 'deptName',
align: 'center',
width: 200
},
{
title: '模板说明',
field: 'visitId',
align: 'center',
valign: 'middle',
width: 120
},
{
title: '相关科室',
field: 'sex',
align: 'center',
valign: 'middle'
},
{
title: '参与人员',
field: 'sex1',
align: 'center',
valign: 'middle'
},
{
title: '科研病历',
field: 'sex2',
align: 'center',
valign: 'middle'
},
{
title: "操作",
align: 'left',
valign: 'middle',
width: 100, // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var html = "";
// html += '<button type="button" class="btn btn-danger btn-sm qxInfo" onclick="selecrt()">查看详情 </input>';
html += '<button type="button" class="btn btn-warning btn-sm dealInfo" onclick="update()">编辑 </button>';
html += '<button type="button" class="btn btn-danger btn-sm qxInfo" >删除 </input>';
return html;
}
}
],
onLoadSuccess: function (result) { //加载成功时执行
//console.info("加载成功");
console.log(result)
tipLoad = 0;
},
onLoadError: function () { //加载失败时执行
//console.info("加载数据失败");
tipLoad = 0;
}
});
}
}
//查询
$('#searchBtn').click(function () {
if (tipLoad == 0) {
$("#table").bootstrapTable("refreshOptions", {pageNumber: 1});
} else {
toastr.warning("正在查询,请稍等...");
}
//$("#deptName").val([]);
});
//获取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');
});
function selecrt() {
$.ajax({
type : "POST",
url : "${path}/scientific/scientificDetailst",
success : function(data) {
window.location.href = 'scientificDetailst';
},
})
}
//新增框
function followUp() {
$("#re_userName").prop("readOnly",false);
clearForm();
$("#userId").val("");
$("#deptIds").val("");
$('.selectpicker').selectpicker('val','1');
$('#genjin').modal('show');
$("#passwordDiv").show();
}
//新增框
function update() {
$("#re_userName").prop("readOnly",false);
clearForm();
$("#userId").val("");
$("#deptIds").val("");
$('.selectpicker').selectpicker('val','1');
$('#myModal1').modal('show');
$("#passwordDiv").show();
}
//新增框
function add() {
$("#re_userName").prop("readOnly",false);
clearForm();
$("#userId").val("");
$("#deptIds").val("");
$('.selectpicker').selectpicker('val','1');
$('#myModal').modal('show');
$("#passwordDiv").show();
}
//清空
function clearForm(){
$("#updateaddform")[0].reset();
//loadTree();
$("#deptIds").val("");
}
//导出excel功能
$("#excelBtn").click(function () {
toastr.warning("正在导出,请稍等...");
var inpNo = "" + $("#inpNo").val();
var creater=""+$("#creater").val();//扫描人
var startDate= $("#startDate").val();
var endDate= $("#endDate").val();
var lockinfo= "" + $("#copyTimeType").val();
window.location.href = "${path}/scanInfo/exportExcel?inpNo=" + inpNo + "&startDate=" + startDate +
"&endDate=" + endDate + "&lockinfo=" + lockinfo+ "&creater=" + creater;
});
</script>
</html>

@ -0,0 +1,328 @@
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html;charset=UTF-8" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set value="${pageContext.request.contextPath}" var="path" scope="page"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>用户在线</title>
<!-- Tell the browser to be responsive to screen width -->
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<%@include file="../../jspf/comm.jspf" %>
<script>
var path = "${path}";
</script>
<!-- Google Font -->
<style type="text/css">
h3{
size:14px;
color: #0f0f0f;
}
.height20{
height: 600px;
}
</style>
</head>
<body>
<div class=table-responsive">
<table id="table" class="table text-nowrap table-striped"></table>
</div>
<script>
$(function(){
initTable();
})
var tipLoad = 1;
/* var data = [{
"name":"全院",
"disNumber":"652000",
"admissNumber":"120000",
"disCount":"500000",
"recordRate":"78%"
}]*/
//出院列表
var data=[{name:"admin",disCount:"管理员",admissCount:"2022-10-12 10:46:04",sumbitCount:"59.57.154.221",recordCount:"在线"},
{name:"admin1",disCount:"管理员2",admissCount:"2022-10-11 13:48:26",sumbitCount:"59.57.154.221",recordCount:"离线"}]
function initTable() {
if (tipLoad == 1) {
$("#table").bootstrapTable({ // 对应table标签的id
//data:data,
// url: path+"/workHome/recordDataOneTable", // 获取表格数据的url
uniqueId:"id",
contentType: "application/x-www-form-urlencoded",//一种编码。好像在post请求的时候需要用到。这里用的get请求注释掉这句话也能拿到数据
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //是否显示行间隔色
pagination: true, // 在表格底部显示分页组件默认false
paginationShowPageGo: true,
data:data,
pageList: [5,10, 20, 50], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
sidePagination: 'client', // 设置为服务器端分页 客户端client
searchOnEnterKey: true, //设置为 true时按回车触发搜索方法否则自动触发搜索方法
undefinedText: '---', //当数据为 undefined 时显示的字符
singleSelect: false,//设置True 将禁止多选
clickToSelect: true,//设置true 将在点击行时自动选择rediobox 和 checkbox
//height: getHeight(220), //定义表格的高度。
searchTimeOut: 500,// 默认500 设置搜索超时时间。
toolbarAlign: 'right',// 指定 toolbar 水平方向的位置。'left' 或 'right'
paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
showHeader: true,//是否显示列头。
trimOnSearch: true,//设置为 true 将自动去掉搜索字符的前后空格。
// detailView:true,//是否可展开
queryParams: function (params) {
return queryParams(params,this,'');
},
columns: [
{
title: '工号',
field: 'name',
align: 'center',
valign: 'middle'
},
{
title: '姓名',
field: 'disCount',
align: 'center',
valign: 'middle'
},
{
title: '最后上线时间',
field: 'admissCount',
align: 'center',
valign: 'middle'
},
{
title: 'IP',
field: 'sumbitCount',
align: 'center',
valign: 'middle'
},
{
title: '在线状态',
field: 'recordCount',
align: 'center'
}
],
onLoadSuccess: function () { //加载成功时执行
$(".page-list").show();
tipLoad = 0;
},
onLoadError: function () { //加载失败时执行
tipLoad = 0
},
//展开详情事件
onExpandRow: function (index, row, $detail) {//點擊datagrid 展開按鈕事件
var html = '<div id="tableDiv1">\n' +
' <table id="table1" class="table text-nowrap"></table>\n' +
' </div>';
$detail.html(html);
initTable1();
}
});
}
}
/*var data1 = [{
"deptName":"儿科",
"deptCode":"300",
"disCount":"500",
"admissCount":"120",
"sumbitCount":"300",
"sumbitRate":"60%"
},
{
"deptName":"妇科",
"deptCode":"400",
"disCount":"500",
"admissCount":"120",
"sumbitCount":"300",
"sumbitRate":"60%"
}]*/
//第二层,按科室分组查
function initTable1() {
$("#table1").bootstrapTable({ // 对应table标签的id
//data:data1,
url: path + "/workHome/recordDataTwoTable", // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
paginationShowPageGo: true,
pageSize: 5,
pageList: [5,10, 20, 50, 100], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
sidePagination: 'server', // 设置为服务器端分页 客户端client
searchOnEnterKey: true, //设置为 true时按回车触发搜索方法否则自动触发搜索方法
detailView: true,//是否可展开
undefinedText: '--', //当数据为 undefined 时显示的字符
singleSelect: false,//设置True 将禁止多选
clickToSelect: true,//设置true 将在点击行时自动选择rediobox 和 checkbox
paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
height:200,
searchTimeOut: 500,// 默认500 设置搜索超时时间。
showHeader: true,//是否显示列头。
//查询条件
queryParams: function (params) {
return queryParams(params,this,'');
},
columns: [
{
title: '序号',
align: 'center',
formatter: function (value, row, index) {
return index + 1;
}
},
{
title: '出院科室',
field: 'name',
align: 'left'
},
{
title: '出院人数',
field: 'disCount',
align: 'center'
},
{
title: '入院人数',
field: 'admissCount',
align: 'center'
},
{
title: '出科数量',
field: 'sumbitCount',
align: 'center'
},
{
title: '归档数量',
field: 'recordCount',
align: 'center'
},
{
title: '归档率',
field: 'recordRate',
align: 'center',
formatter: function (value, row, index) {
var val;
if (row.recordRate != null && row.recordRate != '') {
val = Math.round(row.recordRate) + "%";
}
return val;
}
},
],
onLoadSuccess: function (result) { //加载成功时执行
$(".page-list").show();
},
//展开详情事件
onExpandRow: function (index, row, $detail) {//點擊datagrid 展開按鈕事件
var deptName = row.deptName;
var name = row.name;
var tableId = 'table_'+deptName;
var html = '<div id="tableDiv2">\n' +
' <table id="'+tableId+'" class="table2" class="table text-nowrap table-bordered"></table>\n' +
' </div>';
$detail.html(html);
initTable2(tableId,deptName,name);
}
});
}
/*var data2 = [{
"attending":"张三",
"disCount":"200",
"admissCount":"60",
"sumbitCount":"100",
"recordRate":"50%"
}]*/
//第三层,按审核角色分组查
function initTable2(tableId,deptName) {
$("#"+tableId).bootstrapTable({ // 对应table标签的id
url:path + "/workHome/recordDataThreeTable",
sidePagination: 'client', // 设置为服务器端分页 客户端client
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
//pagination: true, // 在表格底部显示分页组件默认false
//paginationShowPageGo: true,
//pageList: [5,10, 20, 50, 100], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
searchOnEnterKey: true, //设置为 true时按回车触发搜索方法否则自动触发搜索方法
undefinedText: '--', //当数据为 undefined 时显示的字符
singleSelect: false,//设置True 将禁止多选
clickToSelect: true,//设置true 将在点击行时自动选择rediobox 和 checkbox
paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
height:300,
searchTimeOut: 500,// 默认500 设置搜索超时时间。
showHeader: true,//是否显示列头。
//查询条件
queryParams: function (params) {
var temp = {
startDate:parent.parent.$("#startDateTo").val(),
endDate:parent.parent.$("#endDateTo").val(),
deptName:deptName
};
return temp;
},
columns: [
{
title: '序号',
formatter: function (value, row, index) {
return index + 1;
}
},
{
title: '出院科室',
field: 'deptNameCn'
},
{
title: '审核角色',
field: 'role'
},
{
title: '未提交份数',
field: 'unCount'
},
{
title: "操作",
align: 'left',
valign: 'middle',
formatter: function (value, row) {
var html = '<button type="button" class="btn btn-danger btn-sm selInfo" title="查看明细">查看明细</button>';
return html;
},
events: {
'click .selInfo': function (e, value, row) {
var pdfUrl = path+"/workHome/notSubmitRecord?deptName="+deptName+"&infoId="+row.infoId+"&startDate="+parent.parent.$("#startDateTo").val()+"&endDate="+parent.parent.$("#endDateTo").val();
window.open(pdfUrl,"_blank");
}
}
}
],
onLoadSuccess: function (result) { //加载成功时执行
$(".page-list").show();
},
});
}
//各表格查询条件
function queryParams(params,_this,deptName){
var currPageSize = _this.pageSize;
if (currPageSize == 2) {
currPageSize = 5;
}
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 temp = {
limit: limit, //页面大小
offset: offset, //页码
startDateTo:parent.parent.$("#startDateTo").val(),
endDateTo:parent.parent.$("#endDateTo").val()
};
return temp;
}
</script>
</body>
</html>

@ -0,0 +1,339 @@
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html;charset=UTF-8" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set value="${pageContext.request.contextPath}" var="path" scope="page"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>用户是否有申请需要审批</title>
<!-- Tell the browser to be responsive to screen width -->
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<%@include file="../../jspf/comm.jspf" %>
<script>
var path = "${path}";
</script>
<!-- Google Font -->
<style type="text/css">
h3{
size:14px;
color: #0f0f0f;
}
.height20{
height: 600px;
}
</style>
</head>
<body>
<div class=table-responsive">
<table id="table" class="table text-nowrap table-striped"></table>
</div>
<script>
$(function(){
initTable();
})
var tipLoad = 1;
/* var data = [{
"name":"全院",
"disNumber":"652000",
"admissNumber":"120000",
"disCount":"500000",
"recordRate":"78%"
}]*/
//出院列表
var data=[{name:"366559",disCount:"12",admissCount:"谢善昌",sumbitCount:"肿瘤科",recordCount:"2022-10-05",applyUser:"苏文杨",applyTime:"2022-10-08"},
{name:"311813",disCount:"10",admissCount:"叶启民",sumbitCount:"心血管内科",recordCount:"2022-09-05",applyUser:"梁荣奇",applyTime:"2022-09-07"},
{name:"3721813",disCount:"3",admissCount:"叶寸心",sumbitCount:"心血管内科",recordCount:"2022-06-09",applyUser:"梁荣奇",applyTime:"2022-09-07"}]
function initTable() {
if (tipLoad == 1) {
$("#table").bootstrapTable({ // 对应table标签的id
//data:data,
// url: path+"/workHome/recordDataOneTable", // 获取表格数据的url
uniqueId:"id",
contentType: "application/x-www-form-urlencoded",//一种编码。好像在post请求的时候需要用到。这里用的get请求注释掉这句话也能拿到数据
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //是否显示行间隔色
pagination: true, // 在表格底部显示分页组件默认false
paginationShowPageGo: true,
data:data,
pageList: [5,10, 20, 50], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
sidePagination: 'client', // 设置为服务器端分页 客户端client
searchOnEnterKey: true, //设置为 true时按回车触发搜索方法否则自动触发搜索方法
undefinedText: '---', //当数据为 undefined 时显示的字符
singleSelect: false,//设置True 将禁止多选
clickToSelect: true,//设置true 将在点击行时自动选择rediobox 和 checkbox
//height: getHeight(220), //定义表格的高度。
searchTimeOut: 500,// 默认500 设置搜索超时时间。
toolbarAlign: 'right',// 指定 toolbar 水平方向的位置。'left' 或 'right'
paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
showHeader: true,//是否显示列头。
trimOnSearch: true,//设置为 true 将自动去掉搜索字符的前后空格。
// detailView:true,//是否可展开
queryParams: function (params) {
return queryParams(params,this,'');
},
columns: [
{
title: '病案号',
field: 'name',
align: 'center',
valign: 'middle'
},
{
title: '住院次数',
field: 'disCount',
align: 'center',
valign: 'middle'
},
{
title: '患者姓名',
field: 'admissCount',
align: 'center',
valign: 'middle'
},
{
title: '出院科室',
field: 'sumbitCount',
align: 'center',
valign: 'middle'
},
{
title: '出院日期',
field: 'recordCount',
align: 'center'
},
{
title: '申请人',
field: 'applyUser',
align: 'center'
},
{
title: '申请日期',
field: 'applyTime',
align: 'center'
}
],
onLoadSuccess: function () { //加载成功时执行
$(".page-list").show();
tipLoad = 0;
},
onLoadError: function () { //加载失败时执行
tipLoad = 0
},
//展开详情事件
onExpandRow: function (index, row, $detail) {//點擊datagrid 展開按鈕事件
var html = '<div id="tableDiv1">\n' +
' <table id="table1" class="table text-nowrap"></table>\n' +
' </div>';
$detail.html(html);
initTable1();
}
});
}
}
/*var data1 = [{
"deptName":"儿科",
"deptCode":"300",
"disCount":"500",
"admissCount":"120",
"sumbitCount":"300",
"sumbitRate":"60%"
},
{
"deptName":"妇科",
"deptCode":"400",
"disCount":"500",
"admissCount":"120",
"sumbitCount":"300",
"sumbitRate":"60%"
}]*/
//第二层,按科室分组查
function initTable1() {
$("#table1").bootstrapTable({ // 对应table标签的id
//data:data1,
url: path + "/workHome/recordDataTwoTable", // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
paginationShowPageGo: true,
pageSize: 5,
pageList: [5,10, 20, 50, 100], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
sidePagination: 'server', // 设置为服务器端分页 客户端client
searchOnEnterKey: true, //设置为 true时按回车触发搜索方法否则自动触发搜索方法
detailView: true,//是否可展开
undefinedText: '--', //当数据为 undefined 时显示的字符
singleSelect: false,//设置True 将禁止多选
clickToSelect: true,//设置true 将在点击行时自动选择rediobox 和 checkbox
paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
height:200,
searchTimeOut: 500,// 默认500 设置搜索超时时间。
showHeader: true,//是否显示列头。
//查询条件
queryParams: function (params) {
return queryParams(params,this,'');
},
columns: [
{
title: '序号',
align: 'center',
formatter: function (value, row, index) {
return index + 1;
}
},
{
title: '出院科室',
field: 'name',
align: 'left'
},
{
title: '出院人数',
field: 'disCount',
align: 'center'
},
{
title: '入院人数',
field: 'admissCount',
align: 'center'
},
{
title: '出科数量',
field: 'sumbitCount',
align: 'center'
},
{
title: '归档数量',
field: 'recordCount',
align: 'center'
},
{
title: '归档率',
field: 'recordRate',
align: 'center',
formatter: function (value, row, index) {
var val;
if (row.recordRate != null && row.recordRate != '') {
val = Math.round(row.recordRate) + "%";
}
return val;
}
},
],
onLoadSuccess: function (result) { //加载成功时执行
$(".page-list").show();
},
//展开详情事件
onExpandRow: function (index, row, $detail) {//點擊datagrid 展開按鈕事件
var deptName = row.deptName;
var name = row.name;
var tableId = 'table_'+deptName;
var html = '<div id="tableDiv2">\n' +
' <table id="'+tableId+'" class="table2" class="table text-nowrap table-bordered"></table>\n' +
' </div>';
$detail.html(html);
initTable2(tableId,deptName,name);
}
});
}
/*var data2 = [{
"attending":"张三",
"disCount":"200",
"admissCount":"60",
"sumbitCount":"100",
"recordRate":"50%"
}]*/
//第三层,按审核角色分组查
function initTable2(tableId,deptName) {
$("#"+tableId).bootstrapTable({ // 对应table标签的id
url:path + "/workHome/recordDataThreeTable",
sidePagination: 'client', // 设置为服务器端分页 客户端client
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
//pagination: true, // 在表格底部显示分页组件默认false
//paginationShowPageGo: true,
//pageList: [5,10, 20, 50, 100], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
searchOnEnterKey: true, //设置为 true时按回车触发搜索方法否则自动触发搜索方法
undefinedText: '--', //当数据为 undefined 时显示的字符
singleSelect: false,//设置True 将禁止多选
clickToSelect: true,//设置true 将在点击行时自动选择rediobox 和 checkbox
paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
height:300,
searchTimeOut: 500,// 默认500 设置搜索超时时间。
showHeader: true,//是否显示列头。
//查询条件
queryParams: function (params) {
var temp = {
startDate:parent.parent.$("#startDateTo").val(),
endDate:parent.parent.$("#endDateTo").val(),
deptName:deptName
};
return temp;
},
columns: [
{
title: '序号',
formatter: function (value, row, index) {
return index + 1;
}
},
{
title: '出院科室',
field: 'deptNameCn'
},
{
title: '审核角色',
field: 'role'
},
{
title: '未提交份数',
field: 'unCount'
},
{
title: "操作",
align: 'left',
valign: 'middle',
formatter: function (value, row) {
var html = '<button type="button" class="btn btn-danger btn-sm selInfo" title="查看明细">查看明细</button>';
return html;
},
events: {
'click .selInfo': function (e, value, row) {
var pdfUrl = path+"/workHome/notSubmitRecord?deptName="+deptName+"&infoId="+row.infoId+"&startDate="+parent.parent.$("#startDateTo").val()+"&endDate="+parent.parent.$("#endDateTo").val();
window.open(pdfUrl,"_blank");
}
}
}
],
onLoadSuccess: function (result) { //加载成功时执行
$(".page-list").show();
},
});
}
//各表格查询条件
function queryParams(params,_this,deptName){
var currPageSize = _this.pageSize;
if (currPageSize == 2) {
currPageSize = 5;
}
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 temp = {
limit: limit, //页面大小
offset: offset, //页码
startDateTo:parent.parent.$("#startDateTo").val(),
endDateTo:parent.parent.$("#endDateTo").val()
};
return temp;
}
</script>
</body>
</html>

@ -0,0 +1,340 @@
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html;charset=UTF-8" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set value="${pageContext.request.contextPath}" var="path" scope="page"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>用户浏览病案历史记录</title>
<!-- Tell the browser to be responsive to screen width -->
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<%@include file="../../jspf/comm.jspf" %>
<script>
var path = "${path}";
</script>
<!-- Google Font -->
<style type="text/css">
h3{
size:14px;
color: #0f0f0f;
}
.height20{
height: 600px;
}
</style>
</head>
<body>
<div class=table-responsive">
<table id="table" class="table text-nowrap table-striped"></table>
</div>
<script>
$(function(){
initTable();
})
var tipLoad = 1;
/* var data = [{
"name":"全院",
"disNumber":"652000",
"admissNumber":"120000",
"disCount":"500000",
"recordRate":"78%"
}]*/
//出院列表
var data=[{name:"admin",disCount:"管理员",admissCount:"2022-10-12 10:46:04",sumbitCount:"59.57.154.221",recordCount:"000642521100"},
{name:"admin1",disCount:"管理员1",admissCount:"2022-10-11 13:48:26",sumbitCount:"59.57.154.221",recordCount:"000656796300"},
{name:"admin2",disCount:"管理员2",admissCount:"2022-10-11 11:41:28",sumbitCount:"59.57.154.221",recordCount:"000417469000"},
{name:"admin1",disCount:"管理员1",admissCount:"2022-10-14 13:48:26",sumbitCount:"59.57.154.221",recordCount:"000635473900"},
{name:"admin2",disCount:"管理员2",admissCount:"2022-10-17 13:48:26",sumbitCount:"59.57.154.221",recordCount:"000579486900"},
{name:"zesheng",disCount:"梁生",admissCount:"2022-10-13 13:47:29",sumbitCount:"59.57.154.221",recordCount:"000188286300"},
{name:"admin2",disCount:"管理员2",admissCount:"2022-10-11 13:44:28",sumbitCount:"59.57.154.221",recordCount:"000541371500"}
,{name:"admin2",disCount:"管理员2",admissCount:"2022-10-11 11:43:69",sumbitCount:"59.57.154.221",recordCount:"000542335800"}
,{name:"admin2",disCount:"管理员2",admissCount:"2022-10-11 17:18:22",sumbitCount:"59.57.154.221",recordCount:"000542335800"}
,{name:"admin2",disCount:"管理员2",admissCount:"2022-10-17 16:28:31",sumbitCount:"59.57.154.221",recordCount:"000569978000"},
{name:"admin3",disCount:"管理员3",admissCount:"2022-10-21 16:48:26",sumbitCount:"59.57.154.221",recordCount:"000691720500"},
{name:"admin2",disCount:"管理员2",admissCount:"2022-10-11 14:38:26",sumbitCount:"59.57.154.221",recordCount:"000617505800"},
{name:"admin2",disCount:"管理员2",admissCount:"2022-10-11 18:48:26",sumbitCount:"59.57.154.221",recordCount:"000651557700"},
{name:"admin2",disCount:"管理员2",admissCount:"2022-10-01 11:48:26",sumbitCount:"59.57.154.221",recordCount:"000534499100"}]
function initTable() {
if (tipLoad == 1) {
$("#table").bootstrapTable({ // 对应table标签的id
//data:data,
// url: path+"/workHome/recordDataOneTable", // 获取表格数据的url
uniqueId:"id",
contentType: "application/x-www-form-urlencoded",//一种编码。好像在post请求的时候需要用到。这里用的get请求注释掉这句话也能拿到数据
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //是否显示行间隔色
pagination: true, // 在表格底部显示分页组件默认false
paginationShowPageGo: true,
data:data,
pageList: [5,10, 20, 50], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
sidePagination: 'client', // 设置为服务器端分页 客户端client
searchOnEnterKey: true, //设置为 true时按回车触发搜索方法否则自动触发搜索方法
undefinedText: '---', //当数据为 undefined 时显示的字符
singleSelect: false,//设置True 将禁止多选
clickToSelect: true,//设置true 将在点击行时自动选择rediobox 和 checkbox
//height: getHeight(220), //定义表格的高度。
searchTimeOut: 500,// 默认500 设置搜索超时时间。
toolbarAlign: 'right',// 指定 toolbar 水平方向的位置。'left' 或 'right'
paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
showHeader: true,//是否显示列头。
trimOnSearch: true,//设置为 true 将自动去掉搜索字符的前后空格。
// detailView:true,//是否可展开
queryParams: function (params) {
return queryParams(params,this,'');
},
columns: [
{
title: '工号',
field: 'name',
align: 'center',
valign: 'middle'
},
{
title: '姓名',
field: 'disCount',
align: 'center',
valign: 'middle'
},
{
title: '浏览时间',
field: 'admissCount',
align: 'center',
valign: 'middle'
},
{
title: 'IP',
field: 'sumbitCount',
align: 'center',
valign: 'middle'
},
{
title: '病案号',
field: 'recordCount',
align: 'center'
}
],
onLoadSuccess: function () { //加载成功时执行
$(".page-list").show();
tipLoad = 0;
},
onLoadError: function () { //加载失败时执行
tipLoad = 0
},
//展开详情事件
onExpandRow: function (index, row, $detail) {//點擊datagrid 展開按鈕事件
var html = '<div id="tableDiv1">\n' +
' <table id="table1" class="table text-nowrap"></table>\n' +
' </div>';
$detail.html(html);
initTable1();
}
});
}
}
/*var data1 = [{
"deptName":"儿科",
"deptCode":"300",
"disCount":"500",
"admissCount":"120",
"sumbitCount":"300",
"sumbitRate":"60%"
},
{
"deptName":"妇科",
"deptCode":"400",
"disCount":"500",
"admissCount":"120",
"sumbitCount":"300",
"sumbitRate":"60%"
}]*/
//第二层,按科室分组查
function initTable1() {
$("#table1").bootstrapTable({ // 对应table标签的id
//data:data1,
url: path + "/workHome/recordDataTwoTable", // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
paginationShowPageGo: true,
pageSize: 5,
pageList: [5,10, 20, 50, 100], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
sidePagination: 'server', // 设置为服务器端分页 客户端client
searchOnEnterKey: true, //设置为 true时按回车触发搜索方法否则自动触发搜索方法
detailView: true,//是否可展开
undefinedText: '--', //当数据为 undefined 时显示的字符
singleSelect: false,//设置True 将禁止多选
clickToSelect: true,//设置true 将在点击行时自动选择rediobox 和 checkbox
paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
height:200,
searchTimeOut: 500,// 默认500 设置搜索超时时间。
showHeader: true,//是否显示列头。
//查询条件
queryParams: function (params) {
return queryParams(params,this,'');
},
columns: [
{
title: '序号',
align: 'center',
formatter: function (value, row, index) {
return index + 1;
}
},
{
title: '出院科室',
field: 'name',
align: 'left'
},
{
title: '出院人数',
field: 'disCount',
align: 'center'
},
{
title: '入院人数',
field: 'admissCount',
align: 'center'
},
{
title: '出科数量',
field: 'sumbitCount',
align: 'center'
},
{
title: '归档数量',
field: 'recordCount',
align: 'center'
},
{
title: '归档率',
field: 'recordRate',
align: 'center',
formatter: function (value, row, index) {
var val;
if (row.recordRate != null && row.recordRate != '') {
val = Math.round(row.recordRate) + "%";
}
return val;
}
},
],
onLoadSuccess: function (result) { //加载成功时执行
$(".page-list").show();
},
//展开详情事件
onExpandRow: function (index, row, $detail) {//點擊datagrid 展開按鈕事件
var deptName = row.deptName;
var name = row.name;
var tableId = 'table_'+deptName;
var html = '<div id="tableDiv2">\n' +
' <table id="'+tableId+'" class="table2" class="table text-nowrap table-bordered"></table>\n' +
' </div>';
$detail.html(html);
initTable2(tableId,deptName,name);
}
});
}
/*var data2 = [{
"attending":"张三",
"disCount":"200",
"admissCount":"60",
"sumbitCount":"100",
"recordRate":"50%"
}]*/
//第三层,按审核角色分组查
function initTable2(tableId,deptName) {
$("#"+tableId).bootstrapTable({ // 对应table标签的id
url:path + "/workHome/recordDataThreeTable",
sidePagination: 'client', // 设置为服务器端分页 客户端client
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
//pagination: true, // 在表格底部显示分页组件默认false
//paginationShowPageGo: true,
//pageList: [5,10, 20, 50, 100], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
searchOnEnterKey: true, //设置为 true时按回车触发搜索方法否则自动触发搜索方法
undefinedText: '--', //当数据为 undefined 时显示的字符
singleSelect: false,//设置True 将禁止多选
clickToSelect: true,//设置true 将在点击行时自动选择rediobox 和 checkbox
paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
height:300,
searchTimeOut: 500,// 默认500 设置搜索超时时间。
showHeader: true,//是否显示列头。
//查询条件
queryParams: function (params) {
var temp = {
startDate:parent.parent.$("#startDateTo").val(),
endDate:parent.parent.$("#endDateTo").val(),
deptName:deptName
};
return temp;
},
columns: [
{
title: '序号',
formatter: function (value, row, index) {
return index + 1;
}
},
{
title: '出院科室',
field: 'deptNameCn'
},
{
title: '审核角色',
field: 'role'
},
{
title: '未提交份数',
field: 'unCount'
},
{
title: "操作",
align: 'left',
valign: 'middle',
formatter: function (value, row) {
var html = '<button type="button" class="btn btn-danger btn-sm selInfo" title="查看明细">查看明细</button>';
return html;
},
events: {
'click .selInfo': function (e, value, row) {
var pdfUrl = path+"/workHome/notSubmitRecord?deptName="+deptName+"&infoId="+row.infoId+"&startDate="+parent.parent.$("#startDateTo").val()+"&endDate="+parent.parent.$("#endDateTo").val();
window.open(pdfUrl,"_blank");
}
}
}
],
onLoadSuccess: function (result) { //加载成功时执行
$(".page-list").show();
},
});
}
//各表格查询条件
function queryParams(params,_this,deptName){
var currPageSize = _this.pageSize;
if (currPageSize == 2) {
currPageSize = 5;
}
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 temp = {
limit: limit, //页面大小
offset: offset, //页码
startDateTo:parent.parent.$("#startDateTo").val(),
endDateTo:parent.parent.$("#endDateTo").val()
};
return temp;
}
</script>
</body>
</html>

@ -0,0 +1,99 @@
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html;charset=UTF-8" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set value="${pageContext.request.contextPath}" var="path" scope="page"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>看板的内容页</title>
<!-- Tell the browser to be responsive to screen width -->
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<%@include file="../../jspf/comm.jspf" %>
<script>
var path = "${path}";
</script>
<!-- Google Font -->
<style type="text/css">
.contentBody{
background-color: #ECF0F5;
}
.box-header{
background-color: #F9F9F9;
}
.section1{
padding: 5px 10px 0px 10px;
}
.section2{
padding: 0px 10px 0px 0px;
}
.section3{
padding: 0px 10px;
}
.connectedSortable{
min-height: 0px!important;
}
.box-info{
margin-bottom: 5px!important;
}
</style>
</head>
<body class="contentBody">
<section class="col-lg-12 connectedSortable section1">
<div class="box box-info">
<div class="box-header">
<h3 class="box-title">用户在线</h3>
<!-- tools box -->
<div class="pull-right box-tools">
<button type="button" class="btn btn-success btn-sm" data-widget="collapse"><i class="fa fa-minus"></i>
</button>
<button type="button" class="btn btn-success btn-sm" data-widget="remove"><i class="fa fa-times"></i>
</button>
</div>
<!-- /. tools -->
</div>
<div class="box-body" style="height: 300px">
<iframe src="${path}/faultType/recordData" width="100%" height="100%" id="iframe1"></iframe>
</div>
</div>
</section>
<section class="col-lg-12 connectedSortable section1">
<div class="box box-info">
<div class="box-header">
<h3 class="box-title">用户是否有申请需要审批</h3>
<!-- tools box -->
<div class="pull-right box-tools">
<button type="button" class="btn btn-success btn-sm" data-widget="collapse"><i class="fa fa-minus"></i>
</button>
<button type="button" class="btn btn-success btn-sm" data-widget="remove"><i class="fa fa-times"></i>
</button>
</div>
<!-- /. tools -->
</div>
<div class="box-body" style="height: 300px">
<iframe src="${path}/faultType/userApproval" width="100%" height="100%"></iframe>
</div>
</div>
</section>
<section class="col-lg-12 connectedSortable section1">
<div class="box box-info">
<div class="box-header">
<h3 class="box-title">用户浏览病案历史记录</h3>
<!-- tools box -->
<div class="pull-right box-tools">
<button type="button" class="btn btn-success btn-sm" data-widget="collapse"><i class="fa fa-minus"></i>
</button>
<button type="button" class="btn btn-success btn-sm" data-widget="remove"><i class="fa fa-times"></i>
</button>
</div>
<!-- /. tools -->
</div>
<div class="box-body" style="height: 300px">
<iframe src="${path}/faultType/userBrowse" width="100%" height="100%"></iframe>
</div>
</div>
</section>
<script src="${path}/static/bootstrap-3.3.7/bower_components/dashboard.js"></script>
</body>
</html>

@ -0,0 +1,110 @@
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html;charset=UTF-8" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set value="${pageContext.request.contextPath}" var="path" scope="page"/>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>工作看板</title>
<!-- Tell the browser to be responsive to screen width -->
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<%@include file="../../jspf/comm.jspf" %>
<script>
var path = "${path}";
</script>
<!-- Google Font -->
<style type="text/css">
.contentBody{
background-color: #ECF0F5;
}
h3{
size:14px;
color: #0f0f0f;
}
.workHomeIframe{
height: calc(100vh - 40px);
}
</style>
</head>
<body class="contentBody">
<div class="searchDiv">
<form style="margin-top:5px;margin-bottom: 0!important;">
<div class="form-inline">
<div class="form-group" style="margin-left: 60%">
<label for="startDateTo">出院日期:</label>
<div class="input-group input-daterange">
<input type="text" class="input-sm form-control" name="start" id="startDateTo"
maxlength="10" autocomplete="off"/>
<span class="input-group-addon">-</span>
<input type="text" class="input-sm form-control" name="end" id="endDateTo" maxlength="10" autocomplete="off"/>
</div>
</div>
<div class="form-group">
<label for="timeInterval">出院时段:</label>
<select class="form-control input-sm" id="timeInterval"
onchange="loadTableByTime(this.options[this.options.selectedIndex].value,'startDateTo','endDateTo','table')">
</select>
</div>
<button type="button" class="btn btn-primary btn-sm divCss" id="searchBtn">查询</button>
</div>
</form>
</div>
<div class="workHomeIframe">
<iframe src="${path}/faultType/workHomeIframe" width="100%" height="100%" id="iframe"></iframe>
</div>
<script>
//出院时段触发查询
function loadTableByTime(value,startDateId,endDateId,tableId){
//填空出院日期搜索框并立即查询
//开始日期id
var startDateDocument = $("#"+startDateId);
//结束日期id
var endDateDocument = $("#"+endDateId);
switch (value) {
case '':
//不限
startDateDocument.val("");
break;
case '1':
//3天内
//开始日期为3天前getHisDay
startDateDocument.val(getHisDay(3));
break;
case '2':
//7天内
//开始日期为7天前getHisDay
startDateDocument.val(getHisDay(7));
break;
case '3':
//1个月内
//开始日期为1个月前
startDateDocument.val(getPreMonthToday());
break;
case '4':
//3个月内
//开始日期为6个月前
startDateDocument.val(getPreMonthDay(getNowDay(),3));
break;
}
if(value != ''){
//非不限结束日期均为今天
//结束时间为今天
endDateDocument.val(getNowDay());
}else{
//结束时间为今天
endDateDocument.val("");
}
loadIframe();
}
$("#searchBtn").click(function(){
loadIframe();
})
function loadIframe(){
$("#iframe").prop("src","${path}/faultType/workHomeIframe");
}
</script>
</body>
</html>

@ -0,0 +1,210 @@
/*
* Author: Abdullah A Almsaeed
* Date: 4 Jan 2014
* Description:
* This is a demo file used only for the main dashboard (index.html)
**/
$(function () {
'use strict';
// Make the dashboard widgets sortable Using jquery UI
$('.connectedSortable').sortable({
placeholder : 'sort-highlight',
connectWith : '.connectedSortable',
handle : '.box-header, .nav-tabs',
forcePlaceholderSize: true,
zIndex : 999999
});
$('.connectedSortable .box-header, .connectedSortable .nav-tabs-custom').css('cursor', 'move');
// jQuery UI sortable for the todo list
$('.todo-list').sortable({
placeholder : 'sort-highlight',
handle : '.handle',
forcePlaceholderSize: true,
zIndex : 999999
});
// bootstrap WYSIHTML5 - text editor
//$('.textarea').wysihtml5();
$('.daterange').daterangepicker({
ranges : {
'Today' : [moment(), moment()],
'Yesterday' : [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'Last 7 Days' : [moment().subtract(6, 'days'), moment()],
'Last 30 Days': [moment().subtract(29, 'days'), moment()],
'This Month' : [moment().startOf('month'), moment().endOf('month')],
'Last Month' : [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
},
startDate: moment().subtract(29, 'days'),
endDate : moment()
}, function (start, end) {
window.alert('You chose: ' + start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
});
/* jQueryKnob */
$('.knob').knob();
// jvectormap data
var visitorsData = {
US: 398, // USA
SA: 400, // Saudi Arabia
CA: 1000, // Canada
DE: 500, // Germany
FR: 760, // France
CN: 300, // China
AU: 700, // Australia
BR: 600, // Brazil
IN: 800, // India
GB: 320, // Great Britain
RU: 3000 // Russia
};
// World map by jvectormap
$('#world-map').vectorMap({
map : 'world_mill_en',
backgroundColor : 'transparent',
regionStyle : {
initial: {
fill : '#e4e4e4',
'fill-opacity' : 1,
stroke : 'none',
'stroke-width' : 0,
'stroke-opacity': 1
}
},
series : {
regions: [
{
values : visitorsData,
scale : ['#92c1dc', '#ebf4f9'],
normalizeFunction: 'polynomial'
}
]
},
onRegionLabelShow: function (e, el, code) {
if (typeof visitorsData[code] != 'undefined')
el.html(el.html() + ': ' + visitorsData[code] + ' new visitors');
}
});
// Sparkline charts
var myvalues = [1000, 1200, 920, 927, 931, 1027, 819, 930, 1021];
$('#sparkline-1').sparkline(myvalues, {
type : 'line',
lineColor: '#92c1dc',
fillColor: '#ebf4f9',
height : '50',
width : '80'
});
myvalues = [515, 519, 520, 522, 652, 810, 370, 627, 319, 630, 921];
$('#sparkline-2').sparkline(myvalues, {
type : 'line',
lineColor: '#92c1dc',
fillColor: '#ebf4f9',
height : '50',
width : '80'
});
myvalues = [15, 19, 20, 22, 33, 27, 31, 27, 19, 30, 21];
$('#sparkline-3').sparkline(myvalues, {
type : 'line',
lineColor: '#92c1dc',
fillColor: '#ebf4f9',
height : '50',
width : '80'
});
// The Calender
$('#calendar').datepicker();
// SLIMSCROLL FOR CHAT WIDGET
$('#chat-box').slimScroll({
height: '250px'
});
/* Morris.js Charts */
// Sales chart
var area = new Morris.Area({
element : 'revenue-chart',
resize : true,
data : [
{ y: '2011 Q1', item1: 2666, item2: 2666 },
{ y: '2011 Q2', item1: 2778, item2: 2294 },
{ y: '2011 Q3', item1: 4912, item2: 1969 },
{ y: '2011 Q4', item1: 3767, item2: 3597 },
{ y: '2012 Q1', item1: 6810, item2: 1914 },
{ y: '2012 Q2', item1: 5670, item2: 4293 },
{ y: '2012 Q3', item1: 4820, item2: 3795 },
{ y: '2012 Q4', item1: 15073, item2: 5967 },
{ y: '2013 Q1', item1: 10687, item2: 4460 },
{ y: '2013 Q2', item1: 8432, item2: 5713 }
],
xkey : 'y',
ykeys : ['item1', 'item2'],
labels : ['Item 1', 'Item 2'],
lineColors: ['#a0d0e0', '#3c8dbc'],
hideHover : 'auto'
});
var line = new Morris.Line({
element : 'line-chart',
resize : true,
data : [
{ y: '2011 Q1', item1: 2666 },
{ y: '2011 Q2', item1: 2778 },
{ y: '2011 Q3', item1: 4912 },
{ y: '2011 Q4', item1: 3767 },
{ y: '2012 Q1', item1: 6810 },
{ y: '2012 Q2', item1: 5670 },
{ y: '2012 Q3', item1: 4820 },
{ y: '2012 Q4', item1: 15073 },
{ y: '2013 Q1', item1: 10687 },
{ y: '2013 Q2', item1: 8432 }
],
xkey : 'y',
ykeys : ['item1'],
labels : ['Item 1'],
lineColors : ['#efefef'],
lineWidth : 2,
hideHover : 'auto',
gridTextColor : '#fff',
gridStrokeWidth : 0.4,
pointSize : 4,
pointStrokeColors: ['#efefef'],
gridLineColor : '#efefef',
gridTextFamily : 'Open Sans',
gridTextSize : 10
});
// Donut Chart
var donut = new Morris.Donut({
element : 'sales-chart',
resize : true,
colors : ['#3c8dbc', '#f56954', '#00a65a'],
data : [
{ label: 'Download Sales', value: 12 },
{ label: 'In-Store Sales', value: 30 },
{ label: 'Mail-Order Sales', value: 20 }
],
hideHover: 'auto'
});
// Fix for charts under tabs
$('.box ul.nav a').on('shown.bs.tab', function () {
area.redraw();
donut.redraw();
line.redraw();
});
/* The todo list plugin */
$('.todo-list').todoList({
onCheck : function () {
window.console.log($(this), 'The element has been checked');
},
onUnCheck: function () {
window.console.log($(this), 'The element has been unchecked');
}
});
});
Loading…
Cancel
Save