常用查询主诊名称和手术名称下拉框修改 新增审批管理批量审批

master
wangxh 6 years ago
parent 2df05143fb
commit 2e93995519

@ -722,6 +722,30 @@ public class ApproveController {
}
}
@RequiresPermissions("/approve/updateApprove")
@OptionalLog(module = "保存",methods = "批注借阅审批申请")
@RequestMapping("updateApproves")
@ResponseBody
public ResultUtil updateApprovs(String[] ids, String state, String note, HttpServletRequest request){
Power_User user = (Power_User)request.getSession().getAttribute("CURRENT_USER");
String userName = user.getUserName();
if (null != ids || ids.length > 0){
for (String id : ids){
Emr_Apply_Approve applyApprove = applyApproveMapper.selectByPrimaryKey(Integer.valueOf(id));
applyApprove.setApprover(userName);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
applyApprove.setApproveTime(sdf.format(new Date()));
applyApprove.setApproveState(state);
applyApprove.setApproveNotes(note);
applyApproveService.updateEmrApplyApprove(applyApprove);
}
}
return ResultUtil.ok();
}
/**
* @MethodName: exportExcelApproveList
* @Description: excel,

@ -62,7 +62,7 @@ public class AppleApproveServiceImpl implements ApplyApproveService{
if(StringUtils.isNoneBlank(oldApprove.getEffeTime())){
try {
Date oldEffeTime = fmt1.parse(oldApprove.getEffeTime());
if(oldEffeTime.getTime() < (new Date().getTime() + 3600 * 1000)){
if(oldEffeTime.getTime() < (System.currentTimeMillis() + 3600 * 1000)){
applyApprove.setApprover("");
applyApprove.setApproveTime("");
applyApprove.setApproveState("");
@ -73,10 +73,10 @@ public class AppleApproveServiceImpl implements ApplyApproveService{
throw new RuntimeException();
}
}
//申请时间重置
// 驳回后再申请情况把申请时间重置为最新时间
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
applyApprove.setApplyTime(fmt.format(new Date()));
if("2".equals(applyApprove.getApproveState())){
applyApprove.setApplyTime(fmt.format(new Date()));
applyApprove.setApplyState("1");
}
applyApproveMapper.updateByPrimaryKeySelective(applyApprove);

@ -22,73 +22,91 @@
margin-right: -15px;
margin-bottom: -15px;
}
.left {
float: left;
}
.mainDiv {
background-color: #fff;
height: 100%;
}
/**搜索区*/
.searchDiv {
padding-top: 1%;
height: 30px;
}
.searchDiv1 {
padding-top: 2%;
height: 30px;
}
.tableDiv {
width: 100%;
height: 100%;
background-color: #fff;
margin-left: 1%;
}
.dateSearchDiv {
width: 29%;
}
.dateSearchInput {
width: 30%;
margin-left: 3%;
}
.dateLabelDiv {
width: 30%;
text-align: right;
}
.searchInput {
width: 22%;
}
.searchElement {
width: 40%;
}
.searchInputElement {
width: 60%;
text-align: right;
}
.labelDiv {
padding-top: 4%;
margin-left: 2%;
}
/**查询按钮组*/
.btnsDiv {
height: 5%;
}
.btn {
margin-right: 3%;
margin-left: 2%;
}
.btns {
float: right;
margin-right: 3%;
margin-bottom: 1%;
}
.pagination {
margin: 0 !important;
}
/**批准驳回按钮组*/
.approveBtns {
margin-left: 110px;
}
/*模态框头*/
.modal-header {
background-color: #199ED8;
@ -133,7 +151,8 @@
<label class="labelDiv">申请天数:</label>
</div>
<div class="searchInputElement left">
<input type="number" class="form-control input-sm" id="effeDaysSearch" oninput="if(value.length>4)value=value.slice(0,4)">
<input type="number" class="form-control input-sm" id="effeDaysSearch"
oninput="if(value.length>4)value=value.slice(0,4)">
</div>
</div>
<div class="searchInput left">
@ -181,6 +200,9 @@
</div>
<div class="btnsDiv">
<button type="button" class="btn btn-sm btn-primary" onclick="refreshTable()">查询</button>
<shiro:hasPermission name="/approve/updateApprove">
<button type="button" class="btn btn-sm btn-warning btnl" onclick="addApprovesMore()" data-toggle="modal" data-target="#myModal2"> + 批量审批</button>
</shiro:hasPermission>
<shiro:hasPermission name="/approve/exportExcelApproveList">
<button type="button" class="btn btn-sm btn-primary btns" onclick="exportExcel()"><i class="fa fa-reply"></i>导出</button>
</shiro:hasPermission>
@ -212,7 +234,8 @@
<div class="form-group">
<label class="col-sm-4 control-label">申请人:</label>
<div class="col-sm-7">
<input type="text" class="form-control input-sm input" readonly id="applyer" maxlength="16">
<input type="text" class="form-control input-sm input" readonly id="applyer"
maxlength="16">
</div>
<div class="col-sm-1"></div>
</div>
@ -230,7 +253,8 @@
<div class="form-group">
<label class="col-sm-4 control-label">申请天数:</label>
<div class="col-sm-7">
<input type="number" class="form-control input-sm input" readonly id="effeDays" oninput="if(value.length>4)value=value.slice(0,4)">
<input type="number" class="form-control input-sm input" readonly id="effeDays"
oninput="if(value.length>4)value=value.slice(0,4)">
</div>
<div class="col-sm-1"></div>
</div>
@ -249,7 +273,8 @@
<div class="form-group">
<label class="col-sm-4 control-label">申请原因:</label>
<div class="col-sm-7">
<textarea class="form-control input-sm input" id="applyReason" readonly maxlength="250"></textarea>
<textarea class="form-control input-sm input" id="applyReason" readonly
maxlength="250"></textarea>
</div>
<div class="col-sm-1"></div>
</div>
@ -268,7 +293,8 @@
<div class="form-group">
<label class="col-sm-4 control-label">批注:</label>
<div class="col-sm-7">
<textarea class="form-control input-sm input" id="approveNotes" name="approveNotes" maxlength="250"></textarea>
<textarea class="form-control input-sm input" id="approveNotes" name="approveNotes"
maxlength="250"></textarea>
</div>
<div class="col-sm-1"></div>
</div>
@ -277,7 +303,8 @@
<div class="form-group">
<label class="col-sm-4 control-label collectLabel">病案号:</label>
<div class="col-sm-7">
<input type="text" class="form-control input-sm input" readonly id="inpatientNo" maxlength="16">
<input type="text" class="form-control input-sm input" readonly id="inpatientNo"
maxlength="16">
</div>
<div class="col-sm-1"></div>
</div>
@ -286,7 +313,8 @@
<div class="form-group">
<label class="col-sm-4 control-label collectLabel">患者姓名:</label>
<div class="col-sm-7">
<input type="text" class="form-control input-sm input" readonly id="name" maxlength="16">
<input type="text" class="form-control input-sm input" readonly id="name"
maxlength="16">
</div>
<div class="col-sm-1"></div>
</div>
@ -295,7 +323,8 @@
<div class="form-group">
<label class="col-sm-4 control-label collectLabel">住院次数:</label>
<div class="col-sm-7">
<input type="number" class="form-control input-sm input" readonly id="admissTimes" oninput="if(value.length>4)value=value.slice(0,4)">
<input type="number" class="form-control input-sm input" readonly id="admissTimes"
oninput="if(value.length>4)value=value.slice(0,4)">
</div>
<div class="col-sm-1"></div>
</div>
@ -309,6 +338,64 @@
</div>
</div>
</div>
<%-- 模态框2 批量审批--%>
<div class="modal fade" id="myModal2" tabindex="-1" role="dialog" aria-labelledby="myModalLabe2" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content" style="width:80%">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
&times;
</button>
<h4 class="modal-title" style="font-weight: bold">
批量审批信息
</h4>
</div>
<div class="modal-body" style="height:700px">
<form class="form-horizontal" id="form2">
<div class="row">
<div class="form-group">
<label class="col-sm-4 control-label">批注模板:</label>
<div class="col-sm-7">
<select class="form-control input-sm input" id="moreParentId" name="parentId">
</select>
</div>
<div class="col-sm-1"></div>
</div>
</div>
<div class="row">
<div class="form-group">
<label class="col-sm-4 control-label">批注:</label>
<div class="col-sm-7">
<textarea class="form-control input-sm input" id="moreApproveNotes" name="approveNotes" maxlength="250"></textarea>
</div>
<div class="col-sm-1"></div>
</div>
</div>
<div class="">
<button type="button" class="btn btn-sm btn-primary approveBtns" onclick="moreAdd(1)">批准</button>
<button type="button" class="btn btn-sm btn-danger approveBtns" onclick="moreAdd(2)">驳回</button>
</div>
</form>
<div id="tabDiv" style="height: 490px;overflow: auto;">
<table id="moreApproveTable" class="table table-striped" bgcolor="#FFFAFA" border="0" cellspacing="0" cellpadding="0">
<caption>所选批量审批信息</caption>
<thead>
<tr>
<th>病案号</th>
<th>姓名</th>
<th>入院次数</th>
<th>申请人</th>
</tr>
</thead>
<tbody id="moreApproveBody">
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<script>
$(function () {
$(".modal-dialog").draggable();//为模态对话框添加拖拽

@ -1,4 +1,5 @@
var pageNumber;
var tabChecks;
//申请原因模板级联内容
$("#parentId").change(function(){
$("#approveNotes").val("");
@ -16,6 +17,24 @@ $("#parentId").change(function(){
})
}
})
//批量审批申请原因模板级联内容
$("#moreParentId").change(function(){
$("#moreApproveNotes").val("");
var parentId = $("#moreParentId").val();
if(parentId != '' && parentId != null){
$.ajax({
type:'get',
url:path+'/annotationTemplate/getAnnoTemplateByParentId?parentId='+parentId,
dataType:'json',
success:function (data) {
if(data != null){
$("#moreApproveNotes").val(data);
}
}
})
}
})
$('#mytab').bootstrapTable({
height:$(window).height,
toolbar: '#toolbar', //工具按钮用哪个容器
@ -25,6 +44,8 @@ $('#mytab').bootstrapTable({
sidePagination: "server", //分页方式client客户端分页server服务端分页*
paginationPreText : '上一页',
paginationNextText : '下一页',
fixedColumns: true,
fixedNumber: 4,
pageNumber: 1, //初始化加载第一页,默认第一页
pageSize: 5, //每页的记录行数(*
pageList: [5,10,15,20,30,50],//可供选择的每页的行数(*
@ -240,6 +261,7 @@ function showApprove(id){
}
})
}
//修改批注
function updateApprove(id){
//加载申请类型
@ -298,6 +320,96 @@ function add(flag){
})
}
//批量审批
function addApprovesMore() {
clearContent();
//加载批注类别
loadSelect(path+ '/approve/loadAnnoModle','moreParentId','');
tabChecks = getChecked();
}
//获取选中行
function getChecked(){
tabChecks = "";
var inpatientNoArray = new Array();
var admissTimesArray = new Array();
var nameArray = new Array();
var applyerArray = new Array();
var idlist = $('#mytab').bootstrapTable('getAllSelections');
if(idlist.length > 0){
for (var i = 0; i < idlist.length; i++) {
tabChecks += idlist[i].id + ",";
inpatientNoArray.push(idlist[i].inpatientNo);
admissTimesArray.push(idlist[i].admissTimes);
nameArray.push(idlist[i].name);
applyerArray.push(idlist[i].applyer);
}
$("#checks").val(checks);
}else{
toastr.warning("请选中信息!");
$("#checks").val("");
}
insertContent(inpatientNoArray, admissTimesArray, nameArray, applyerArray);
if (null != tabChecks){
tabChecks = tabChecks.substring(0,tabChecks.length-1);
}
return tabChecks;
}
//添加内容tr td
function insertContent(inpatientNoArray, admissTimesArray, nameArray, applyerArray) {
for (var i = 0 ; i < inpatientNoArray.length; i++){
var tr = document.createElement("tr");
var td1 = document.createElement("td");
var td2 = document.createElement("td");
var td3 = document.createElement("td");
var td4 = document.createElement("td");
td1.innerHTML = inpatientNoArray[i];
td2.innerHTML = nameArray[i];
td3.innerHTML = admissTimesArray[i];
td4.innerHTML = applyerArray[i];
tr.appendChild(td1);
tr.appendChild(td2);
tr.appendChild(td3);
tr.appendChild(td4);
document.getElementById("moreApproveBody").appendChild(tr);
}
}
//清楚内容方法
function clearContent() {
var table = document.getElementById("moreApproveBody");
var len = table.childNodes.length;
for (var i = len - 1; i >= 0; i--) {
table.removeChild(table.childNodes[i]);
}
}
//批量审核
function moreAdd(flag){
var approve = $("#moreApproveNotes").val();
$.ajax({
type:'post',
url:path+'/approve/updateApproves',
data:{ids:tabChecks,state:flag,note:approve},
dataType:'json',
success:function(data){
if(data!=null && data.code == 0){
if(flag == 1){
toastr.success("批准成功!");
}else{
toastr.success("驳回成功!");
}
refreshTable();
$('#myModal2').modal('hide');
$('#mytab').bootstrapTable('selectPage', pageNumber);
}else{
toastr.warning(data.msg);
}
}
})
}
//导出excel功能
function exportExcel(){
var checks = $("#checks").val();

@ -210,6 +210,7 @@ $("#isOper").change(function () {
$(this).val("");
}
})
//时间格式属性名集合
var commomtable = 'commomtable';
@ -690,24 +691,22 @@ function insertContent(content, id) {
var json = JSON.parse(content);
for (key in json) {
var tr = document.createElement("tr");
var td1 = document.createElement("td");
var td2 = document.createElement("td");
var td4 = document.createElement("td");
tr.setAttribute("bgcolor", "#FFFAFA");
tr.setAttribute("border", "0");
if (id == 'inpatient_no' || id == 'diag_code' || id == 'operate_code') {
td2.innerHTML = key;
td4.innerHTML = json[key];
tr.appendChild(td2);
tr.appendChild(td4);
} else {
td1.innerHTML = json[key];
tr.appendChild(td1);
}
document.getElementById(id + "Content").appendChild(tr);
tr.onmouseover = function () {
this.className = 'mouseOver';
if (id == 'inpatient_no' || id == 'diag_code' || id == 'operate_code') {
document.getElementById(id).value = $(this).children("td").eq(0).html();
} else {
document.getElementById(id).value = $(this).children("td").eq(1).html();
}
};
tr.onmouseout = function () {
this.className = 'mouseOut';

@ -87,6 +87,7 @@ function freshTable(){
field:'patientId',
visible:false
})
debugger
var tableThNames = $("#tableThNames").val();
if(tableThNames != ''){
var fieldCns = '';
@ -160,8 +161,8 @@ function freshTable(){
height: 400,//高度调整 //行高如果没有设置height属性表格自动根据记录条数觉得表格高度
buttonsAlign: "left",//按钮对齐方式
columns:columns,
fixedColumns: mixFlag,//固定列
fixedNumber:5,//固定前
fixedColumns: true,//固定列
fixedNumber:5,//固定前
locale:'zh-CN',//中文支持,
url:path+'/template/cutomSearchTable',//排序方式
queryParams: function (params) {
@ -323,12 +324,14 @@ function getChecked(){
$("#checks").val("");
}
}
function reLoadTable(){
$("#mytab").bootstrapTable('refresh',path+'/template/cutomSearchTable?sql'+$("#sql").val());
$('#mytab').bootstrapTable('selectPage', pageNumber);
$("#checks").val("");
$("#check").val("");
}
//列表行‘操作’按钮
function AddFunctionAlty(value, row, index) {
var patientId = "'" + row.patientId + "'";
@ -365,6 +368,7 @@ function AddFunctionAlty(value, row, index) {
}
return str;
}
/*//查看详情
function showDetail(patientId){
window.location.href=path+"/commom/showRecord?patientId="+patientId;
@ -375,6 +379,7 @@ function clearForm(){
document.forms[0].reset();
$("#dis_dept").selectpicker("refresh");
}
//批量下载功能
function downloadZip(typeId){
var patientIds = "";
@ -436,6 +441,7 @@ function downloadZip(typeId){
}
}
}
//下载pdf功能
function downloadPdf(patientId){
patientId = "'"+patientId+"'";
@ -532,6 +538,7 @@ function post(url, params) {
// 提交表单
temp_form .submit();
}
//定义空的inputValue方法
function getInputValue(){
//判断是否有搜索条件
@ -587,6 +594,7 @@ function loadApplyType(type){
}
})
}
//单个申请借阅
function borrowing(patientId){
$("#typeId").val('approves');
@ -612,6 +620,7 @@ function borrowing(patientId){
}
})
}
//批量申请借阅
function borrowings(){
$("#typeId").val('approves');
@ -672,6 +681,7 @@ function borrowings(){
$('#borrowings').attr("data-target", "#myModal1");
}
}
//单个下载申请
function downBorrowing(patientId){
$("#typeId").val('loads');
@ -697,6 +707,7 @@ function downBorrowing(patientId){
}
})
}
//批量下载借阅
function downBorrowings(){
$("#typeId").val('loads');
@ -757,11 +768,13 @@ function downBorrowings(){
$('#downBorrowings').attr("data-target", "#myModal1");
}
}
//模态框保存操作
function save(){
var typeId = $("#typeId").val();
saveMethod(1,"保存",typeId);
}
//模态框提交操作
function add(){
var typeId = $("#typeId").val();
@ -819,11 +832,13 @@ function saveMethod(applyState,msg,typeId){
$("#effeTime").focus();
}
}
//单个锁定
function lock(patientId){
patientId = "'"+patientId+"'";
lockMethod(patientId);
}
//批量锁定
function blocks(){
var locks = $("#locks").val();
@ -891,6 +906,7 @@ function blocks(){
}
}
}
//解锁
function unlock(patientId){
$.ajax({
@ -908,6 +924,7 @@ function unlock(patientId){
}
})
}
//批量解锁
function unlocks(){
var locks = $("#locks").val();
@ -980,6 +997,7 @@ function unlocks(){
}
}
}
//封装锁定方法
function lockMethod(patientId){
Common.confirm({
@ -1006,6 +1024,7 @@ function lockMethod(patientId){
}
})
}
//封装批量解锁方法
function unlocksMethods(patientIds){
$.ajax({
@ -1025,6 +1044,7 @@ function unlocksMethods(patientIds){
}
})
}
//查询被锁定的patienId集合
function getLockPatientIds(){
$("#locks").val("");
@ -1040,6 +1060,7 @@ function getLockPatientIds(){
}
})
}
//过滤下载导出pdf查看详情的patientId集合:typeId:已借阅审批病案id集合或已下载审批病案id集合
function powerPotient(patientIds,flag,typeId){
//有权限的过滤

Loading…
Cancel
Save