病案数据统计

master
ALW 3 years ago
parent 522990cee1
commit dae94f5001

@ -284,7 +284,7 @@ public class FontController {
tree.setId(id);
tree.setParentId(0);
tree.setName("全部影像资料");
tree.setChecked("true");
// tree.setChecked("true");
treeList.add(tree);
oneParentId = id;
id++;
@ -313,7 +313,10 @@ public class FontController {
tree2.setParentId(twoParentId);
tree2.setName(detailTemp.getTitle());
tree2.setSelfId(detailTemp.getId());
tree2.setChecked("true");
if (tree2.getName().contains("病案首页")){
tree2.setChecked("true");
}
// tree2.setChecked("true");
treeList.add(tree2);
id++;
flag = true;
@ -329,7 +332,10 @@ public class FontController {
tree2.setParentId(twoParentId);
tree2.setName(nurseDetailVoTemp.getTitle());
tree2.setSelfId(nurseDetailVoTemp.getId());
tree2.setChecked("true");
// tree2.setChecked("true");
if (tree2.getName().contains("病案首页")){
tree2.setChecked("true");
}
treeList.add(tree2);
id++;
nurseflag = true;
@ -343,14 +349,19 @@ public class FontController {
tree2.setParentId(twoParentId);
tree2.setName(detail.getTitle());
tree2.setSelfId(detail.getId());
tree2.setChecked("true");
// tree2.setChecked("true");
if (tree2.getName().contains("病案首页")){
tree2.setChecked("true");
}
treeList.add(tree2);
id++;
}
}
}
tree1.setName(assortName + "("+count+")");
tree1.setChecked("true");
if (tree1.getName().contains("病案首页")){
tree1.setChecked("true");
}
treeList.add(tree1);
}
TBasicBrowseHistory tBasicBrowseHistory = new TBasicBrowseHistory();

@ -34,4 +34,23 @@ public class ScientificResearchController {
public String scientificRecord(Model model) {
return "scientificResearch/scientificRecord";
}
@RequestMapping(value = "/medicalRecordStatistics")
public String medicalRecordStatistics(Model model) {
return "scientificResearch/medicalRecordStatistics";
}
@RequestMapping(value = "/recoveryStatistics")
public String recoveryStatistics(Model model) { return "scientificResearch/recoveryStatistics"; }
@RequestMapping(value = "/fileStatistics")
public String fileStatistics(Model model){
return "scientificResearch/fileStatistics";
}
@RequestMapping(value = "/borrowingStatistics")
public String borrowingStatistics(Model model) { return "scientificResearch/borrowingStatistics"; }
@RequestMapping(value = "/windowPrintStatistics")
public String windowPrintStatistics(Model model) { return "scientificResearch/windowPrintStatistics"; }
}

@ -0,0 +1,73 @@
package com.emr.controller;
import com.emr.entity.*;
import com.emr.service.StatisticsService;
import net.sf.ehcache.Statistics;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Controller
@RequestMapping("/Statistics")
public class StatisticsController {
@Autowired
StatisticsService statisticsService;
@ResponseBody
@RequestMapping(value = "/getStatistics")
public OffsetLimitPage getStatistics(HttpServletRequest request, HttpServletResponse response, StatisticsVo statisticsVo, Integer offset, Integer limit) {
response.setCharacterEncoding("utf-8");
OffsetLimitPage result = statisticsService.getStatisticsVo(statisticsVo, offset, limit);
return result;
}
@ResponseBody
@RequestMapping(value = "/getRecoveryStatistics")
public OffsetLimitPage getRecoveryStatistics(HttpServletRequest request, HttpServletResponse response, Archive_otherVo archiveOtherVo, Integer offset, Integer limit) {
response.setCharacterEncoding("utf-8");
OffsetLimitPage result = statisticsService.getRecoveryStatistics(archiveOtherVo, offset, limit);
return result;
}
@ResponseBody
@RequestMapping(value = "/getFileStatistics")
public OffsetLimitPage getFileStatistics(HttpServletRequest request, HttpServletResponse response, FileVo fileVo, Integer offset, Integer limit) {
response.setCharacterEncoding("utf-8");
OffsetLimitPage result = statisticsService.getFileStatistics(fileVo, offset, limit);
return result;
}
@ResponseBody
@RequestMapping(value = "/getBorrowingStatistics")
public OffsetLimitPage getBorrowingStatistics(HttpServletRequest request, HttpServletResponse response, BorrowingVo borrowingVo, Integer offset, Integer limit) {
response.setCharacterEncoding("utf-8");
OffsetLimitPage result = statisticsService.getBorrowingStatistics(borrowingVo, offset, limit);
return result;
}
@ResponseBody
@RequestMapping(value = "/getWindowPrintStatistics")
public OffsetLimitPage getWindowPrintStatistics(HttpServletRequest request, HttpServletResponse response, WindowPrintVo windowPrintVo, Integer offset, Integer limit) {
response.setCharacterEncoding("utf-8");
OffsetLimitPage result = statisticsService.getWindowPrintStatistics(windowPrintVo, offset, limit);
return result;
}
}

@ -127,13 +127,13 @@ public class lastVerifyController {
Emr_Fault_Detail entityFault=new Emr_Fault_Detail();
entityFault.setArchiveDetailId(emrFaultDetail.getArchiveDetailId());
List<Emr_Fault_Detail> list=emrFaultDetailService.selectByArchiveId(entityFault);
//退回给emr
if(!"LG".equals(lgFlag)) {
String result = archiveMasterService.returnEmr(list,emrFaultDetail, archiveMaster, request);
if (StringUtils.isNotBlank(result)) {
return result;
}
}
// //退回给emr
// if(!"LG".equals(lgFlag)) {
// String result = archiveMasterService.returnEmr(list,emrFaultDetail, archiveMaster, request);
// if (StringUtils.isNotBlank(result)) {
// return result;
// }
// }
archiveMaster.setArchivestate(emrFaultDetail.getState());
int doctorFlagNum=0;
int nurseFlagNum=0;
@ -213,11 +213,19 @@ public class lastVerifyController {
archive_master_following.setHandleName(handleName);
archive_master_followingService.insertSelective(archive_master_following);
archiveMasterService.updateByClo2(archiveMaster);
//退回给emr
if(!"LG".equals(lgFlag)) {
String result = archiveMasterService.returnEmr(list,emrFaultDetail, archiveMaster, request);
if (StringUtils.isNotBlank(result)) {
return result;
}
}
}
if("LG".equals(lgFlag)) {
//留观号审核推送第三方
archiveMasterService.requestObservationRecord(inpatientNo, "RETURNED",null,list);
}
}else{
bol=2;
}

@ -0,0 +1,26 @@
package com.emr.dao;
import com.emr.entity.*;
import java.util.List;
public interface StatisticsMapper {
List<StatisticsVo> getStatisticsVo(StatisticsVo statisticsVo);
int getpaperlessPageNum();
List<Archive_otherVo> getRecoveryStatistics(Archive_otherVo archiveOtherVo);
List<FileVo> getFileStatistics(FileVo fileVo);
FileVo gethandleName(String masterId);
List<BorrowingVo> getBorrowingStatistics(BorrowingVo borrowingVo);
List<WindowPrintVo> getWindowPrintStatistics(WindowPrintVo windowPrintVo);
}

@ -67,6 +67,16 @@ public class Archive_Master_Vo {
private String doctorInCharge;
private String doctorInCharge2;
public String getDoctorInCharge2() {
return doctorInCharge2;
}
public void setDoctorInCharge2(String doctorInCharge2) {
this.doctorInCharge2 = doctorInCharge2;
}
private String idNo;
private String dischargeDisposition;

@ -0,0 +1,18 @@
package com.emr.entity;
import lombok.Data;
@Data
public class Archive_otherVo {
private String inpNo;
private String visitId;
private String name;
private String dischargeDateTime;
private String admissionDateTime;
private String dTime;
private String C2;
private String deptAdmissionTo;
private String deptName;
private String startDate;
private String endDate;
}

@ -0,0 +1,20 @@
package com.emr.entity;
import lombok.Data;
@Data
public class BorrowingVo {
private String inpNo;
private String visitId;
private String name;
private String dischargeDateTime;
private String admissionDateTime;
private String deptAdmissionTo;
private String deptName;
private String startDate;
private String endDate;
private String applyTime;
private String applyerName;
private String disDeptName;
}

@ -0,0 +1,20 @@
package com.emr.entity;
import lombok.Data;
@Data
public class FileVo {
private String inpNo;
private String visitId;
private String name;
private String dischargeDateTime;
private String admissionDateTime;
private String deptAdmissionTo;
private String deptName;
private String startDate;
private String endDate;
private String handleTime;
private String handleName;
private String ID;
}

@ -0,0 +1,22 @@
package com.emr.entity;
import lombok.Data;
@Data
public class StatisticsVo {
private int recoveryNum;
private int fileNum;
private int borrowingNum;
private int selfHelpNum;
private int windowPrintNum;
private int vxPrintNum;
private int vxPrintNum1;
private int fuseNum;
private int fuseRecordNum;
private int paperlessNum;
private int paperlessPageNum;
private int scanningNum;
private int scanningPageNum;
}

@ -0,0 +1,24 @@
package com.emr.entity;
import lombok.Data;
@Data
public class WindowPrintVo {
private String inpNo;
private String visitId;
private String name;
private String dischargeDateTime;
private String admissionDateTime;
private String deptAdmissionTo;
private String deptName;
private String startDate;
private String endDate;
private String printCreatetime;
private String printUserid;
private String applyTime;
private String printFlag;
private String printUserName;
}

@ -0,0 +1,19 @@
package com.emr.service;
import com.emr.entity.*;
public interface StatisticsService {
OffsetLimitPage getStatisticsVo(StatisticsVo statisticsVo, Integer offset, Integer limit);
OffsetLimitPage getRecoveryStatistics(Archive_otherVo archiveOtherVo, Integer offset, Integer limit);
OffsetLimitPage getFileStatistics(FileVo fileVo, Integer offset, Integer limit);
OffsetLimitPage getBorrowingStatistics(BorrowingVo borrowingVo, Integer offset, Integer limit);
OffsetLimitPage getWindowPrintStatistics(WindowPrintVo windowPrintVo, Integer offset, Integer limit);
}

@ -193,6 +193,36 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
List<Archive_Master_Vo> list = archiveMasterMapper.selectByColumn(archiveMasterVo);
//设置医生、护士名称和打印标识、科室、是否退回医生、是否退回护士
setNameAndPrintFlag(archiveMasterVo, list);
if(list!=null && list.size()>0) {
JSONArray powerUsers = powerUserService.getPowerUserList("1");
List<JSONObject> powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), JSONObject.class);
if (powerUserList != null){
Map<String,JSONObject> mappedMovies = Maps.uniqueIndex(powerUserList, new Function<JSONObject,String>() {
@Override
public String apply(JSONObject temp) {
return temp.getString("userName");
}});
for (Archive_Master_Vo emr_fault_vo : list) {
// emr_fault_vo.setBackFee(priceVal);
//主管医生
JSONObject userInfo = mappedMovies.get(emr_fault_vo.getDoctorInCharge());
if (userInfo == null) {
emr_fault_vo.setDoctorInCharge(emr_fault_vo.getDoctorInCharge());
} else {
emr_fault_vo.setDoctorInCharge(userInfo.getString("name"));
}
//退回人
userInfo = mappedMovies.get(emr_fault_vo.getCreater());
if (userInfo == null) {
emr_fault_vo.setCreater(emr_fault_vo.getCreater());
} else {
emr_fault_vo.setCreater(userInfo.getString("name"));
}
}
}
}
return list;
}

@ -350,7 +350,6 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService {
}});
for (Emr_Fault_Vo emr_fault_vo : list) {
// emr_fault_vo.setBackFee(priceVal);
//主管医生
JSONObject userInfo = mappedMovies.get(emr_fault_vo.getDoctorInCharge());
if (userInfo == null) {

@ -0,0 +1,199 @@
package com.emr.service.ipml;
import com.alibaba.fastjson.JSONArray;
import com.emr.dao.StatisticsMapper;
import com.emr.entity.*;
import com.emr.service.Emr_DictionaryService;
import com.emr.service.PowerUserService;
import com.emr.service.StatisticsService;
import com.emr.vo.Power_User_Dto;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.List;
@Service
@Transactional
public class StatisticsServiceImpl implements StatisticsService {
@Autowired
StatisticsMapper statisticsMapper;
@Autowired
Emr_DictionaryService emrDictionaryService;
@Autowired
private PowerUserService powerUserService;
@Override
public OffsetLimitPage getStatisticsVo(StatisticsVo statisticsVo, Integer offset, Integer limit) {
PageHelper.offsetPage(offset, limit);
List<StatisticsVo> statisticsVos = statisticsMapper.getStatisticsVo(statisticsVo);
for (StatisticsVo list:statisticsVos){
int vxPrintNum = list.getVxPrintNum();
int vxPrintNum1 = list.getVxPrintNum1();
list.setVxPrintNum(vxPrintNum+vxPrintNum1);
int i = statisticsMapper.getpaperlessPageNum();
list.setPaperlessPageNum(i);
}
return new OffsetLimitPage((Page) statisticsVos);
}
@Override
public OffsetLimitPage getRecoveryStatistics(Archive_otherVo archiveOtherVo, Integer offset, Integer limit) {
PageHelper.offsetPage(offset, limit);
List<Archive_otherVo> recoveryStatistics = statisticsMapper.getRecoveryStatistics(archiveOtherVo);
Emr_Dictionary dic = new Emr_Dictionary();
dic.setEffective(1);
dic.setTypecode("dept_code");
//科室列表
List<Emr_Dictionary> dicList = emrDictionaryService.dicByTypeCode(dic);
for (int i = 0; i < recoveryStatistics.size(); i++) {
//替换科室
for (int k = 0; k < dicList.size(); k++) {
String deptName = recoveryStatistics.get(i).getDeptName();
//入院科室dept_admission_to
String dept2 = recoveryStatistics.get(i).getDeptAdmissionTo();
if ((deptName != null && deptName.equals(dicList.get(k).getCode()))) {
//出院科室
deptName = deptName.replace(deptName, dicList.get(k).getName());
recoveryStatistics.get(i).setDeptName(deptName);
}
if (dept2 != null && dept2.equals(dicList.get(k).getCode())) {
//入院科室
dept2 = dept2.replace(dept2, dicList.get(k).getName());
recoveryStatistics.get(i).setDeptAdmissionTo(dept2);
}
}
}
return new OffsetLimitPage((Page) recoveryStatistics);
}
@Override
public OffsetLimitPage getFileStatistics(FileVo fileVo, Integer offset, Integer limit) {
PageHelper.offsetPage(offset, limit);
List<FileVo> fileStatistics = statisticsMapper.getFileStatistics(fileVo);
Emr_Dictionary dic = new Emr_Dictionary();
dic.setEffective(1);
dic.setTypecode("dept_code");
//科室列表
List<Emr_Dictionary> dicList = emrDictionaryService.dicByTypeCode(dic);
for (int i = 0; i < fileStatistics.size(); i++) {
String masterId = fileStatistics.get(i).getID();
FileVo fileHandle = statisticsMapper.gethandleName(masterId);
fileStatistics.get(i).setHandleTime(fileHandle.getHandleTime());
fileStatistics.get(i).setHandleName(fileHandle.getHandleName());
//替换科室
for (int k = 0; k < dicList.size(); k++) {
String deptName = fileStatistics.get(i).getDeptName();
//入院科室dept_admission_to
String dept2 = fileStatistics.get(i).getDeptAdmissionTo();
if ((deptName != null && deptName.equals(dicList.get(k).getCode()))) {
//出院科室
deptName = deptName.replace(deptName, dicList.get(k).getName());
fileStatistics.get(i).setDeptName(deptName);
}
if (dept2 != null && dept2.equals(dicList.get(k).getCode())) {
//入院科室
dept2 = dept2.replace(dept2, dicList.get(k).getName());
fileStatistics.get(i).setDeptAdmissionTo(dept2);
}
}
}
return new OffsetLimitPage((Page) fileStatistics);
}
@Override
public OffsetLimitPage getBorrowingStatistics(BorrowingVo borrowingVo, Integer offset, Integer limit) {
PageHelper.offsetPage(offset, limit);
List<BorrowingVo> borrowingStatistics = statisticsMapper.getBorrowingStatistics(borrowingVo);
Emr_Dictionary dic = new Emr_Dictionary();
dic.setEffective(1);
dic.setTypecode("dept_code");
//科室列表
List<Emr_Dictionary> dicList = emrDictionaryService.dicByTypeCode(dic);
for (int i = 0; i < borrowingStatistics.size(); i++) {
//替换科室
for (int k = 0; k < dicList.size(); k++) {
String deptName = borrowingStatistics.get(i).getDeptName();
//入院科室dept_admission_to
String dept2 = borrowingStatistics.get(i).getDeptAdmissionTo();
if ((deptName != null && deptName.equals(dicList.get(k).getCode()))) {
//出院科室
deptName = deptName.replace(deptName, dicList.get(k).getName());
borrowingStatistics.get(i).setDeptName(deptName);
}
if (dept2 != null && dept2.equals(dicList.get(k).getCode())) {
//入院科室
dept2 = dept2.replace(dept2, dicList.get(k).getName());
borrowingStatistics.get(i).setDeptAdmissionTo(dept2);
}
}
}
return new OffsetLimitPage((Page) borrowingStatistics);
}
@Override
public OffsetLimitPage getWindowPrintStatistics(WindowPrintVo windowPrintVo, Integer offset, Integer limit) {
PageHelper.offsetPage(offset, limit);
List<WindowPrintVo> windowPrintStatistics = statisticsMapper.getWindowPrintStatistics(windowPrintVo);
Emr_Dictionary dic = new Emr_Dictionary();
dic.setEffective(1);
dic.setTypecode("dept_code");
//科室列表
List<Emr_Dictionary> dicList = emrDictionaryService.dicByTypeCode(dic);
for (int i = 0; i < windowPrintStatistics.size(); i++) {
//替换科室
for (int k = 0; k < dicList.size(); k++) {
String deptName = windowPrintStatistics.get(i).getDeptName();
//入院科室dept_admission_to
String dept2 = windowPrintStatistics.get(i).getDeptAdmissionTo();
if ((deptName != null && deptName.equals(dicList.get(k).getCode()))) {
//出院科室
deptName = deptName.replace(deptName, dicList.get(k).getName());
windowPrintStatistics.get(i).setDeptName(deptName);
}
if (dept2 != null && dept2.equals(dicList.get(k).getCode())) {
//入院科室
dept2 = dept2.replace(dept2, dicList.get(k).getName());
windowPrintStatistics.get(i).setDeptAdmissionTo(dept2);
}
}
//查询用户集合
JSONArray powerUsers = powerUserService.getPowerUserList("1");
List<Power_User_Dto> powerUserList = null;
if (!CollectionUtils.isEmpty(powerUsers)) {
//转换对象
powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), Power_User_Dto.class);
}
//遍历赋值
for (WindowPrintVo emrFaultVo : windowPrintStatistics) {
if (null != powerUserList) {
//获取处理人
String dealPerson = emrFaultVo.getPrintUserid();
//遍历匹配工号赋值姓名
for (Power_User_Dto powerUserDto : powerUserList) {
String name = powerUserDto.getName();
if (StringUtils.isNotBlank(dealPerson) && powerUserDto.getUserName().equals(dealPerson)) {
emrFaultVo.setPrintUserName(name);
}
}
}
}
}
return new OffsetLimitPage((Page) windowPrintStatistics) ;
}
}

@ -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:8085/SignWebService.asmx/PartrePair
returnUrl = http://10.6.1.152:8086/SignWebService.asmx/PartrePair
#\u6A21\u5757\u6253\u56DE\u7B2C\u4E09\u65B9\u63A5\u53E3\u53C2\u6570
returnParam = strJson
@ -12,8 +12,7 @@ sqlServerUserName=sa
sqlServerPassword=xjgs+docus911
#\u7B2C\u4E09\u65B9oracle\u914D\u7F6E\u4FE1\u606F
oracleUrl = 10.6.0.150:1521/ORCL
oracleUrl = 10.6.0.150:1521/jhemr
oracleUserName = jswzh
oraclePassWord = jswzh123
oraclePassWord = jswzh123

@ -386,9 +386,14 @@
<if test="lockinfo != null">
and m.LockInfo = #{lockinfo,jdbcType=NVARCHAR}
</if>
<!--<if test="doctorInCharge != null">-->
<!--and m.DOCTOR_IN_CHARGE = #{doctorInCharge,jdbcType=NVARCHAR}-->
<!--</if>-->
<if test="doctorInCharge2!= null and doctorInCharge2!= ''">
and m.DOCTOR_IN_CHARGE in
<foreach item="item" collection="doctorInCharge2.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="doctorInCharge!= null and doctorInCharge!= ''">
and m.DOCTOR_IN_CHARGE in
<foreach item="item" collection="doctorInCharge.split(',')" open="(" separator="," close=")">
@ -1423,7 +1428,7 @@
LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where
typeCode='dept_code' )) g
on m.dept_name=g.code
where 1=1 and f.following_type in(8,9)
where 1=1 and f.following_type in(8,9) and m.ArchiveState!='已封存'
<if test="id != null and id != ''">
and m.id = #{id,jdbcType=NVARCHAR}
</if>
@ -1531,6 +1536,9 @@
<if test="name != null and name != ''">
and m.name like '%'+#{name,jdbcType=NCHAR}+'%'
</if>
<if test="deathFlag != null and deathFlag != ''">
and m.death_flag=#{deathFlag,jdbcType=NCHAR}
</if>
<if test="deptName!= null and deptName!= ''">
and m.dept_name in
<foreach item="item" collection="deptName.split(',')" open="(" separator="," close=")">
@ -1649,6 +1657,9 @@
<if test="name != null and name != ''">
and m.name like '%'+#{name,jdbcType=NCHAR}+'%'
</if>
<if test="deathFlag != null and deathFlag != ''">
and m.death_flag=#{deathFlag,jdbcType=NCHAR}
</if>
<if test="deptName!= null and deptName!= ''">
and m.dept_name in
<foreach item="item" collection="deptName.split(',')" open="(" separator="," close=")">

@ -109,9 +109,6 @@
<if test="name != null and name != ''">
and m.name like '%'+#{name,jdbcType=NCHAR}+'%'
</if>
<!--<if test="archivestate != null and archivestate != ''">-->
<!--and m.ArchiveState=#{archivestate,jdbcType=NCHAR}-->
<!--</if>-->
<if test="archivestate!= null and archivestate!= ''">
and m.ArchiveState in
<foreach item="item" collection="archivestate.split(',')" open="(" separator="," close=")">
@ -166,9 +163,6 @@
<if test="recallReason != null and recallReason != ''">
and f.recall_reason = #{recallReason,jdbcType=VARCHAR}
</if>
<!--<if test="creater != null and creater != ''">
and f.creater = #{creater,jdbcType=NVARCHAR}
</if>-->
<if test="creater!= null and creater!= ''">
and f.creater in
<foreach item="item" collection="creater.split(',')" open="(" separator="," close=")">
@ -1062,7 +1056,7 @@
</select>
<!--退回总次数、总费用和总评分-->
<select id="masterTotalList" parameterType="com.emr.entity.Emr_Fault_Vo" resultMap="BaseResultMap2">
select DISTINCT m.id archive_detail_id,m.inp_no,m.visit_id,m.name,convert(varchar,m.discharge_date_time,120) discharge_date_time,a.total_back_fee,a.total_back_num,#{backFee,jdbcType=NCHAR} back_fee,
select DISTINCT m.id archive_detail_id,e.creater,m.inp_no,m.visit_id,m.name,convert(varchar,m.discharge_date_time,120) discharge_date_time,a.total_back_fee,a.total_back_num,#{backFee,jdbcType=NCHAR} back_fee,
m.dept_name dept_admission_to,d.name as deptName,m.ArchiveState,isnull(m.score,0) score,m.DOCTOR_IN_CHARGE
from(
select DISTINCT master_id,count(*) total_back_num,count(*)* #{backFee,jdbcType=NCHAR} total_back_fee from Archive_Master_Following where following_type=9 group by master_id
@ -1073,7 +1067,9 @@
on m.dept_name=d.code
LEFT JOIN Archive_Master_Following f
on m.id=f.master_id
<where> 1=1 and m.ArchiveState not in('作废','已封存','') and m.ArchiveState is not null and m.Is_Valid!=1 and total_back_num>0 and f.following_type=9
LEFT JOIN emr_fault_detail e
on e.archive_detail_id=m.id
<where> 1=1 and m.ArchiveState not in('作废','已封存','') and m.ArchiveState is not null and m.Is_Valid!=1 and total_back_num>0 and f.following_type=9 and e.back_flag in ('5','6')
<if test="inpNo != null and inpNo != ''">
and m.inp_no like '%'+#{inpNo,jdbcType=NCHAR}+'%'
</if>
@ -1098,14 +1094,20 @@
#{item}
</foreach>
</if>
<if test="doctorInCharge!= null and doctorInCharge!= ''">
and m.DOCTOR_IN_CHARGE in
<foreach item="item" collection="doctorInCharge.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="dischargeDateTime != null">
and m.discharge_date_time = #{dischargeDateTime,jdbcType=NVARCHAR}
</if>
<if test="creater != null and creater != ''">
and m.creater like '%'+#{creater,jdbcType=NCHAR}+'%'
</if>
<if test="doctorInCharge != null and doctorInCharge != ''">
and m.DOCTOR_IN_CHARGE like '%'+#{doctorInCharge,jdbcType=NCHAR}+'%'
<if test="creater!= null and creater!= ''">
and e.creater in
<foreach item="item" collection="creater.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<choose>
<when test="startDate != null and startDate != '' and endDate != null and endDate != ''">
@ -1188,6 +1190,7 @@
AND m.ArchiveState NOT IN ( '作废', '已封存', '' )
AND m.ArchiveState IS NOT NULL
AND m.Is_Valid!= 1
AND e.back_flag in ('5','6')
<if test="sysflag == 1">
AND l.bnum is null
</if>
@ -1200,30 +1203,6 @@
<if test="sysflag == 2">
AND l.bnum>1 OR l1.cnum is not NULL OR l2.scoreSum>10
</if>
<!--<if test="sysflag != null and sysflag != '' and sysflag = '1'">-->
<!--AND l.bnum is NULL or 2>l.bnum-->
<!--</if>-->
<!--<if test="sysflag != null and sysflag != '' and sysflag = '1'">-->
<!--AND l1.cnum is NULL-->
<!--</if>-->
<!--<if test="sysflag != null and sysflag != '' and sysflag = '1'">-->
<!--AND l2.scoreSum is null-->
<!--</if>-->
<!--<if test="sysflag != null and sysflag != '' and sysflag = '1'">-->
<!--AND 10>scoreSum-->
<!--</if>-->
<!--<if test="sysflag != null and sysflag != '' and sysflag = '2'">-->
<!--AND l.bnum is NULL or 2>l.bnum-->
<!--</if>-->
<!--<if test="sysflag != null and sysflag != '' and sysflag = '2'">-->
<!--AND l1.cnum is NULL-->
<!--</if>-->
<!--<if test="sysflag != null and sysflag != '' and sysflag = '2'">-->
<!--AND l2.scoreSum is null-->
<!--</if>-->
<!--<if test="sysflag != null and sysflag != '' and sysflag = '2'">-->
<!--AND 10>scoreSum-->
<!--</if>-->
<if test="inpNo != null and inpNo != ''">
and m.inp_no like '%'+#{inpNo,jdbcType=NCHAR}+'%'
</if>

@ -0,0 +1,238 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.emr.dao.StatisticsMapper">
<select id="getStatisticsVo" resultType="com.emr.entity.StatisticsVo"
parameterType="com.emr.entity.StatisticsVo">
select * from emr_statistics
</select>
<select id="getpaperlessPageNum" resultType="java.lang.Integer">
SELECT
SUM(d.pageCount)
FROM
Archive_Master a
INNER JOIN Archive_Detail d
on a.ID=d.MasterID
WHERE
a.discharge_date_time > '2021-01-01 00:00:00'
AND a.ArchiveState IS NOT NULL
AND a.ArchiveState != '作废'
AND d.pageCount is not null
</select>
<select id="getRecoveryStatistics" resultType="com.emr.entity.Archive_otherVo"
parameterType="com.emr.entity.Archive_otherVo">
SELECT
a.C2,
a.dTime,
b.inp_no,
b.visit_id,
b.name,
b.discharge_date_time,
b.admission_date_time,
b.dept_name,
b.dept_admission_to
FROM
archive_other a
LEFT JOIN Archive_Master b ON
b.id=a.masterID
<where>
a.sysFlag=1
<if test="inpNo != null and inpNo !=''" >
and b.inp_no = #{inpNo}
</if>
<if test="visitId != null and visitId !=''">
and b.visit_id = #{visitId}
</if>
<if test="name != null and name != ''">
and b.name like '%'+#{name}+'%'
</if>
<if test="deptName!= null and deptName!= ''">
and b.dept_name in
<foreach item="item" collection="deptName.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="deptAdmissionTo!= null and deptAdmissionTo!= ''">
and b.dept_admission_to in
<foreach item="item" collection="deptAdmissionTo.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<choose>
<when test="startDate != null and startDate != '' and endDate != null and endDate != ''">
and CONVERT(VARCHAR(20),b.discharge_date_time,23) between CONVERT(VARCHAR(20),#{startDate},23) and
CONVERT(VARCHAR(20),#{endDate},23)
</when>
<when test="startDate != null and startDate != ''">
and CONVERT(VARCHAR(20),b.discharge_date_time,23) >= CONVERT(VARCHAR(20),#{startDate},23)
</when>
<when test="endDate != null and endDate != ''">
and CONVERT(VARCHAR(20),b.discharge_date_time,23) &lt;=CONVERT(VARCHAR(20),#{endDate},23)
</when>
</choose>
</where>
</select>
<select id="getFileStatistics" resultType="com.emr.entity.FileVo" parameterType="com.emr.entity.FileVo">
SELECT
b.ID,
b.inp_no,
b.visit_id,
b.name,
b.discharge_date_time,
b.admission_date_time,
b.dept_name,
b.dept_admission_to
FROM
Archive_Master b
<where>
b.ArchiveState= '已归档'
<if test="inpNo != null and inpNo !=''" >
and b.inp_no = #{inpNo}
</if>
<if test="visitId != null and visitId !=''">
and b.visit_id = #{visitId}
</if>
<if test="name != null and name != ''">
and b.name like '%'+#{name}+'%'
</if>
<if test="deptName!= null and deptName!= ''">
and b.dept_name in
<foreach item="item" collection="deptName.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="deptAdmissionTo!= null and deptAdmissionTo!= ''">
and b.dept_admission_to in
<foreach item="item" collection="deptAdmissionTo.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<choose>
<when test="startDate != null and startDate != '' and endDate != null and endDate != ''">
and CONVERT(VARCHAR(20),b.discharge_date_time,23) between CONVERT(VARCHAR(20),#{startDate},23) and
CONVERT(VARCHAR(20),#{endDate},23)
</when>
<when test="startDate != null and startDate != ''">
and CONVERT(VARCHAR(20),b.discharge_date_time,23) >= CONVERT(VARCHAR(20),#{startDate},23)
</when>
<when test="endDate != null and endDate != ''">
and CONVERT(VARCHAR(20),b.discharge_date_time,23) &lt;=CONVERT(VARCHAR(20),#{endDate},23)
</when>
</choose>
</where>
</select>
<select id="gethandleName" resultType="com.emr.entity.FileVo" parameterType="java.lang.String">
SELECT
TOP 1 f.handle_name,
f.handle_time
FROM
Archive_Master_Following f
WHERE
f.following_type= '8'
and
f.master_id=#{master_id}
ORDER BY
f.handle_time DESC
</select>
<select id="getBorrowingStatistics" resultType="com.emr.entity.BorrowingVo"
parameterType="com.emr.entity.BorrowingVo">
SELECT
b.ID,
b.inp_no,
b.visit_id,
b.name,
b.discharge_date_time,
b.admission_date_time,
b.dept_name,
b.dept_admission_to,
a.apply_time,
a.applyer_name,
a.dis_dept_name
FROM
emr_apply_approve a
LEFT JOIN Archive_Master b
on b.ID=a.patient_id
<where>
b.ID is not null
<if test="inpNo != null and inpNo !=''" >
and b.inp_no = #{inpNo}
</if>
<if test="visitId != null and visitId !=''">
and b.visit_id = #{visitId}
</if>
<if test="name != null and name != ''">
and b.name like '%'+#{name}+'%'
</if>
<if test="deptName!= null and deptName!= ''">
and b.dept_name in
<foreach item="item" collection="deptName.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="deptAdmissionTo!= null and deptAdmissionTo!= ''">
and b.dept_admission_to in
<foreach item="item" collection="deptAdmissionTo.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<choose>
<when test="startDate != null and startDate != '' and endDate != null and endDate != ''">
and CONVERT(VARCHAR(20),b.discharge_date_time,23) between CONVERT(VARCHAR(20),#{startDate},23) and
CONVERT(VARCHAR(20),#{endDate},23)
</when>
<when test="startDate != null and startDate != ''">
and CONVERT(VARCHAR(20),b.discharge_date_time,23) >= CONVERT(VARCHAR(20),#{startDate},23)
</when>
<when test="endDate != null and endDate != ''">
and CONVERT(VARCHAR(20),b.discharge_date_time,23) &lt;=CONVERT(VARCHAR(20),#{endDate},23)
</when>
</choose>
</where>
</select>
<select id="getWindowPrintStatistics" resultType="com.emr.entity.WindowPrintVo"
parameterType="com.emr.entity.WindowPrintVo">
select * from printStatics
<where>
1=1
<if test="inpNo != null and inpNo !=''" >
and inp_no = #{inpNo}
</if>
<if test="visitId != null and visitId !=''">
and visit_id = #{visitId}
</if>
<if test="printFlag != null and printFlag !=''">
and printFlag = #{printFlag}
</if>
<if test="name != null and name != ''">
and name like '%'+#{name}+'%'
</if>
<if test="deptName!= null and deptName!= ''">
and dept_name in
<foreach item="item" collection="deptName.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="deptAdmissionTo!= null and deptAdmissionTo!= ''">
and dept_admission_to in
<foreach item="item" collection="deptAdmissionTo.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<choose>
<when test="startDate != null and startDate != '' and endDate != null and endDate != ''">
and CONVERT(VARCHAR(20),discharge_date_time,23) between CONVERT(VARCHAR(20),#{startDate},23) and
CONVERT(VARCHAR(20),#{endDate},23)
</when>
<when test="startDate != null and startDate != ''">
and CONVERT(VARCHAR(20),discharge_date_time,23) >= CONVERT(VARCHAR(20),#{startDate},23)
</when>
<when test="endDate != null and endDate != ''">
and CONVERT(VARCHAR(20),discharge_date_time,23) &lt;=CONVERT(VARCHAR(20),#{endDate},23)
</when>
</choose>
</where>
</select>
</mapper>

@ -519,14 +519,12 @@
<option value="">全部</option>
</select>
</div>
<%--<div class="form-group divCss8">
<label>主管医生:</label>
<select class="selectpicker bla bla bli" multiple data-live-search="true" name="doctorInCharge"
id="doctorInCharge" title="请输入主管医生" data-actions-box="true" data-deselect-all-text="取消全选"
data-select-all-text="全选">
<option value="">全部</option>
<div class="form-group divCss8">
<label for="name">主管医生:</label>
<select class="selectpicker bla bla bli" multiple data-live-search="true" name="doctorInCharge" id="doctorInCharge" title="请输入主管医生"
data-actions-box="true" data-deselect-all-text="取消全选" data-select-all-text="全选" data-none-results-text="没找到相应记录{0}">
</select>
</div>--%>
</div>
<div class="form-group divCss8">
<label>出院日期:</label>
<div class="input-daterange input-group" id="datepicker">
@ -3786,15 +3784,6 @@
}
var url = window.location.href;
var deptName = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
// if (deptName != null && deptName != "") {
// //$("#deptName").hide();
// deptName += "," + $("#deptName").val();
// } else {
// deptName = $("#deptName").val();
// }
// if ($("#deptName").val() != null && $("#deptName").val() != "") {
// deptName = $("#deptName").val();
// }
var len = ($("#deptName").val()).length;
if (len > 0) {
var deptNameT = $("#deptName").val();
@ -3802,8 +3791,16 @@
deptName = $("#deptName").val().toString();
}
}
var doctorInCharge = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
var len = ($("#doctorInCharge").val()).length;
if (len > 0) {
var doctorInChargeT = $("#doctorInCharge").val();
if (doctorInChargeT.indexOf("") == -1) {
doctorInCharge = $("#doctorInCharge").val().toString();
}
}
//var doctorInCharge = $("#doctorInCharge").val().toString();
// var doctorInCharge = $("#doctorInCharge").val().toString();
var temp = {
limit: limit, //页面大小
offset: offset, //页码
@ -3818,10 +3815,11 @@
startDateTo: $("#startDateTo").val(),
endDateTo: $("#endDateTo").val(),
deptName: deptName.toString(),
//doctorInCharge: doctorInCharge,
// doctorInCharge: doctorInCharge.toString(),
emrCmit: $("#emrCmit").val(),
bedNumber: $("#bedNumber").val(),
printNum:$("#printNum").val()
printNum:$("#printNum").val(),
doctorInCharge2:doctorInCharge.toString()
};
return temp;
},
@ -4257,6 +4255,12 @@
return a;
}
},
{
title: '主管医生',
field: 'doctorInCharge',
align: 'center',
valign: 'middle',
},
{
title: '出院日期',
field: 'dischargeDateTime',
@ -4618,6 +4622,29 @@
}
}
function getUserList() {
//获取role为病案室、病案室管理的用户
$.ajax({
url:"${path}/getPowerUserList",
type:"GET",
data:{"type":1},
success:function (data) {
if (data != null) {
for (var i = 0; i < data.length; i++) {
$("#doctorInCharge").append("<option value=" + data[i].userName + ">" + data[i].name + "</option>");
$("#creater").append("<option value=" + data[i].userName + ">" + data[i].name + "</option>");
//$("#backer").append("<option value=" + data[i].userName + ">" + data[i].name + "</option>");
}
}
$(".selectpicker").selectpicker('refresh');
}
})
}
getUserList();
function getSourceFun() {
//console.log("获取来源下拉框sourceSearch");
var patientId = $("#idLab").html();
@ -5118,7 +5145,7 @@
deptName = $("#deptName").val().toString();
}
}
//var doctorInCharge = $("#doctorInCharge").val().toString();
// var doctorInCharge = $("#doctorInCharge").val().toString();
var inpNo = "" + $("#inpNo").val();
var visitId = "" + $("#visitId").val();
var name = "" + $("#name").val();

@ -123,9 +123,7 @@
<label for="name">创建人:</label>
<select class="selectpicker bla bla bli" multiple data-live-search="true" name="creater" id="creater" title="请输入创建人"
data-actions-box="true" data-deselect-all-text="取消全选" data-select-all-text="全选" data-none-results-text="没找到相应记录{0}">
<%--<option value="">全部</option>--%>
</select>
<%--<input type="text" class="input-sm form-control" id="creater" placeholder="请输入创建人">--%>
</div>
<div class="form-group divCss8">
<label for="archivestate">归档状态 :</label>
@ -295,6 +293,7 @@
doctorInCharge2=$("#doctorInCharge").val();
archivestate2=$("#archivestate").val();
deptName2=$("#deptName").val();
creater2=$("#creater").val();
}
function initTable() {
if(tipLoad==1){
@ -382,9 +381,9 @@
visitId:""+$("#visitId").val(),
name:""+$("#name").val(),
doctorInCharge:""+$("#doctorInCharge").val(),
//creater:""+$("#creater").val(),
archivestate:"" + $("#archivestate").val(),
deptName: deptName
creater:"" + $("#creater").val(),
deptName: deptName,
};
return temp;
@ -533,24 +532,22 @@
return value;
//return changeDateFormat(value)
}
}
/*{
field: 'createTime',
title: '创建时间',
valign: 'middle',
formatter: function (value, row, index) {
return value;
//return changeDateFormat(value)
}
},
{
field: 'creater',
title: '创建人',
valign: 'middle',
}
/*{
field: 'createTime',
title: '创建时间',
valign: 'middle',
formatter: function (value, row, index) {
return value;
//return changeDateFormat(value)
}
},
},*/
// {
// field: 'updater',
@ -823,7 +820,6 @@
order: params.order, //排位命令descasc
archiveDetailId: archiveDetailId,
startDateTo: startDateTo,
creater:""+$("#creater").val(),
endDateTo: endDateTo,
backFlag:"5,6",
assortId:""+typeFlag
@ -944,6 +940,10 @@
inpNo2="" + $("#inpNo").val();
flag=1;
}
if(creater2!=$("#creater").val() && flag==0){
creater2="" + $("#creater").val();
flag=1;
}
//console.log("===flag2==="+flag );
if(visitId2!=$("#visitId").val() && flag==0){
visitId2=""+$("#visitId").val();
@ -990,12 +990,12 @@
faultFlag=1;
}
//console.log("===faultFlag9==="+faultFlag);
if(creater2==$("#creater").val() && faultFlag==0){
faultFlag=0;
}else{
creater2=""+$("#creater").val();
faultFlag=1;
}
// if(creater2==$("#creater").val() && faultFlag==0){
// faultFlag=0;
// }else{
// creater2=""+$("#creater").val();
// faultFlag=1;
// }
//console.log("===faultFlag10==="+faultFlag);
return faultFlag;
}
@ -1102,23 +1102,6 @@
}
getDept();
// var deptAdmissionTo = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
// if (deptAdmissionTo == null || deptAdmissionTo == '') {
// $('#deptDiv').show();
// } else {
// $('#deptDiv').hide();
// }
//初始化表
// $('.form_datetime').datetimepicker({
// weekStart: 0, //一周从哪一天开始
// todayBtn: 1, //
// autoclose: 1,
// todayHighlight: 1,
// startView: 2,
// forceParse: 0,
// showMeridian: 1
// });
});
//日期控件

@ -454,10 +454,6 @@
<label for="name">姓名:</label>
<input type="text" class="input-sm form-control" id="name" placeholder="请输入姓名">
</div>
<%--<div class="form-group divCss8">--%>
<%--<label for="name">身份证号:</label>--%>
<%--<input type="text" class="input-sm form-control" id="idNo" placeholder="请输入身份证号">--%>
<%--</div>--%>
<div class="form-group divCss8" id="deptDiv">
<label>入院科室 :</label>
<select class="selectpicker bla bla bli" multiple data-live-search="true" name="deptName"

@ -150,6 +150,14 @@
<option value="1">是</option>
</select>
</div>--%>
<div class="form-group divCss8">
<label>是否死亡:</label>
<select class="input-sm form-control" id="deathFlag">
<option value="">全部</option>
<option value="0">否</option>
<option value="1">是</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>
@ -242,6 +250,14 @@
<option value="1">是</option>
</select>
</div>--%>
<div class="form-group divCss8">
<label>是否死亡:</label>
<select class="input-sm form-control" id="deathFlag2">
<option value="">全部</option>
<option value="0">否</option>
<option value="1">是</option>
</select>
</div>
<button type="button" class="btn btn-primary btn-sm divCss" id="searchBtn2">查询</button>
<button type="button" class="btn btn-info btn-sm divCss" id="excelBtn2">条件导出</button>
</div>

@ -0,0 +1,726 @@
<%@ 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 for="visitId">住院次数:</label>
<input type="number" class="input-sm form-control" id="visitId" placeholder="请输入次数">
</div>
<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" id="deptDiv" style="height: 18px;margin-top: -7px;">
<label>入院科室 :</label>
<select class="selectpicker bla bla bli" multiple data-live-search="true" data-actions-box="true" data-deselect-all-text="取消全选" data-select-all-text="全选"
data-none-results-text="没找到相应记录{0}" name="deptAdmissionTo" id="deptAdmissionTo" title="请输入科室">
</select>
</div>
<div class="form-group divCss8" id="deptDiv2" style="height: 18px;margin-top: -7px;">
<label>出院科室 :</label>
<select class="selectpicker bla bla bli" multiple data-live-search="true" data-actions-box="true" data-deselect-all-text="取消全选" data-select-all-text="全选"
data-none-results-text="没找到相应记录{0}" name="deptName" id="deptName" title="请输入科室">
<%-- <option value="">全部</option>--%>
</select>
</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>
</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>
<!-- 模态框3Modal召回日志 -->
<div class="modal fade" id="logModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header2">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
&times;
</button>
<h4 class="modal-title">
最后一次召回日志信息
</h4>
</div>
<div class="modal-body">
<!--通过审批且未过期的patientId集合-->
<form class="form-horizontal" id="logForm">
<input type="hidden" id="approveId" name="id">
<div class="row">
<div class="form-group">
<label class="col-sm-4 control-label">病案号:</label>
<div class="col-sm-5">
<input type="text" class="input-sm form-control" readonly id="archiveDetailId" name="archiveDetailId">
</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-5">
<input type="text" class="input-sm form-control" readonly id="creater" name="creater">
</div>
<div class="col-sm-1"></div>
</div>
</div>
<div class="row">
<div class="form-group">
<label class="col-sm-4 control-label">ip</label>
<div class="col-sm-5">
<input type="text" class="input-sm form-control" readonly id="ip" name="ip">
</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-6">
<textarea class="input-sm form-control" rows="3" readonly id="recallReason" name="recallReason"></textarea>
</div>
<div class="col-sm-1"></div>
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default btn-sm" data-dismiss="modal">关闭
</button>
</div>
</div>
</div>
</div>
<%--确认框--%>
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content ">
<div class="modal-header2">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
aria-hidden="true">×</span></button>
<h4 class="modal-title" id="exampleModalLabel">确认召回</h4>
</div>
<div class="modal-body">
<form>
<div class="form-group ">
<input type="hidden" id="inpatientNo">
<input id="formToken" hidden>
<input type="hidden" id="id" name="id" value=""/><label hidden id="danganhao"></label>
<span style="vertical-align:top;">原因:</span><textarea rows="6" style="width:87%;" maxlength="255" id="recallReason2"></textarea>
</div>
<%--<div class="form-group">--%>
<%----%>
<%--<label class="control-label">召回病案号:<label id="danganhao"></label>吗?</label>--%>
<%--</div>--%>
<%--<div class="row">--%>
<%--<div class="form-group">--%>
<%--<label class="col-sm-4 control-label">原因:</label>--%>
<%--<textarea class="input-sm " rows="3" maxlength="255" id="recallReason2"--%>
<%--name="recallReason2"></textarea>--%>
<%--<div class="col-sm-1"></div>--%>
<%--</div>--%>
<%--</div>--%>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default btn-sm" data-dismiss="modal">返回</button>
<button type="button" class="btn btn-primary btn-sm" id="stateBtn">确认</button>
</div>
</div>
</div>
</div>
<%--时间轴弹窗--%>
<div class="modal fade" id="timeLineModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content ">
<div class="modal-header2">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title">流转节点时间轴</h4>
</div>
<div class="modal-body" style="height:500px;overflow:auto">
<div class="cx-time-main" id="cxTime">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default btn-sm" data-dismiss="modal">返回</button>
<%--<button type="button" class="btn btn-primary btn-sm" id="verifyBtn">通过</button>--%>
</div>
</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();
}
// var deptAdmissionTo = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
// var deptArr = deptAdmissionTo.split(',');
// //var n = (deptAdmissionTo.split(',')).length ;
// if (deptAdmissionTo == null || deptAdmissionTo == '' || deptArr.length > 1) {
// $('#deptDiv').show();
// } else {
// $('#deptDiv').hide();
// }
function getDept() {
//获取科室列表
$.ajax({
url: "${path}/inHosp/getDept",
type: "POST",
data: {effective: 1, typecode: "dept_code"},
success: function (result) {
if (result != null) {
for (var i = 0; i < result.length; i++) {
$("#deptName").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");
$("#deptAdmissionTo").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");
}
}
$('#deptName').selectpicker('refresh');
$('#deptAdmissionTo').selectpicker('refresh');
// for (var i = 0; i < result.length; i++) {
// if (deptArr.length != 1 && deptArr[0] != "") {
// var bol = deptArr.indexOf(result[i].code);
// if (bol != -1) {
// $("#deptName").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");
// }
// } else {
// $("#deptName").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");
// }
// }
}
});
// $("#deptName").selectpicker('refresh'); //
}
getDept();
});
//日期控件
$(".input-daterange").datepicker({
format: "yyyy-mm-dd",
language: "zh-CN"
});
/* var currDate=getCurrDate();
var currDate30=getCurrDay30();
$('#startDate').val(currDate30);
$('#endDate').val(currDate);*/
//处理导出内容,这个方法可以自定义某一行、某一列、甚至某个单元格的内容,也就是将其值设置为自己想要的内容
function DoOnCellHtmlData(cell, row, col, data) {
if (row == 0) {
return data;
}
//由于备注列超过6个字的话,通过span标签处理只显示前面6个字,如果直接导出的话会导致内容不完整,因此要将携带完整内容的span标签中title属性的值替换
if (col == 4 || col == 11 || col == 7) {
var spanObj = $(data);//将带 <span title="val"></span> 标签的字符串转换为jQuery对象
var title = spanObj.attr("title");//读取<span title="val"></span>中title属性的值
//var span = cell[0].firstElementChild;//读取cell数组中的第一个值下的第一个元素
if (typeof (title) != 'undefined') {
return title;
}
}
return data;
}
function initTable() {
if(tipLoad == 1){
$("#table").bootstrapTable({ // 对应table标签的id
//method: 'POST',
url: "${path}/Statistics/getBorrowingStatistics", // 获取表格数据的url
contentType: "application/x-www-form-urlencoded",//一种编码。好像在post请求的时候需要用到。这里用的get请求注释掉这句话也能拿到数据
//dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
paginationShowPageGo: true,
pageList: [10, 20, 50, 100], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
smartDisplay: false,
pageSize: 2, // 页面数据条数
pageNumber: 1, // 初始化加载第一页,默认第一页
sidePagination: 'server', // 设置为服务器端分页 客户端client
search: false,
showColumns: true,
// sortable: true,
// sortOrder: "asc",
toolbar: '#toolbar',//指定工具栏
searchOnEnterKey: true, //设置为 true时按回车触发搜索方法否则自动触发搜索方法
undefinedText: '---', //当数据为 undefined 时显示的字符
singleSelect: false,//设置True 将禁止多选
clickToSelect: true,//设置true 将在点击行时自动选择rediobox 和 checkbox
//height: 560, //定义表格的高度。
searchTimeOut: 500,// 默认500 设置搜索超时时间。
toolbarAlign: 'right',// 指定 toolbar 水平方向的位置。'left' 或 'right'
paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
showHeader: true,//是否显示列头。
trimOnSearch: true,//设置为 true 将自动去掉搜索字符的前后空格。
//是否显示导出按钮
showExport: true,
//导出表格方式默认basic只导出当前页的表格数据all导出所有数据selected导出选中的数据
exportDataType: "basic",
//导出文件类型
exportTypes: ['json', 'xml', 'csv', 'txt', 'sql', 'excel'],
exportOptions: {
fileName: document.title
},
// showToggle: false, //是否显示详细视图和列表视图的切换按钮
// cardView: false, //是否显示详细视图
// detailView: false, //是否显示父子表
queryParams: function (params) {
var currPageSize = this.pageSize;
if (currPageSize == 2) {
currPageSize = 10;
}
var limit= null;
var offset= params.offset;
//判断是否导出全部all
if ($("#sel_exportoption").val() == "all") {
offset=0;
limit=this.totalRows;
this.pageSize= limit;
}else{
limit = currPageSize;
this.pageSize = currPageSize;
}
//var 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 archivestate="";
if($("#archivestate").val()!=null && $("#archivestate").val()!=""){
archivestate="" + $("#archivestate").val();
}else{
archivestate="已归档,已认证,初审";
}
var temp = {
limit: limit, //页面大小
offset: offset, //页码
order: params.order, //排位命令descasc
inpNo: "" + $("#inpNo").val(),
visitId:""+$("#visitId").val(),
name:""+$("#name").val(),
startDate: $("#startDate").val(),
endDate: $("#endDate").val(),
deptName: $("#deptName").val().toString(),
deptAdmissionTo: $("#deptAdmissionTo").val().toString()
};
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: 'inpNo',
align: 'left',
valign: 'middle',
},
{
title: '住院次数',
field: 'visitId',
align: 'center',
valign: 'middle'
},
{
title: '姓名',
field: 'name',
align: 'center',
valign: 'middle'
},
{
title: '出院时间',
field: 'dischargeDateTime',
align: 'center',
},
{
title: '出院科室',
field: 'deptName',
align: 'center',
valign: 'middle',
},
{
title: '入院时间',
field: 'admissionDateTime',
align: 'center',
valign: 'middle'
},
{
title: '入院科室',
field: 'deptAdmissionTo',
align: 'center',
valign: 'middle'
},
{
title: '借阅时间',
field: 'applyTime',
align: 'center',
valign: 'middle'
},
{
title: '借阅人',
field: 'applyerName',
align: 'center',
valign: 'middle'
},
{
title: '借阅科室',
field: 'disDeptName',
align: 'center',
valign: 'middle'
},
],
onLoadSuccess: function (result) { //加载成功时执行
//console.info("加载成功");
tipLoad = 0;
},
onLoadError: function () { //加载失败时执行
//console.info("加载数据失败");
tipLoad = 0;
}
});
}
}
var oTimeAxiosFun = null;
function getTimeLine(archiveDetailId) {
$('#timeLineModal').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
var param = {
data: "", // 数据
id: 'cxTime', //dom节点ID
index: 0, // 选中时间节点
sort: 'just', // 正序just反序back, 其他表示不排序
sortKey: 'handleTime', //排序的参数key
// activeColor: '#26a69a', // 选中颜色
props: ['handleName', 'handleTime', 'followingContent'], //展示的key
}
$.ajax({
url: "${path}/medicalHandle/getTimeLine?masterId=" + archiveDetailId,
type: "GET",
success: function (result) {
param.data = result;
oTimeAxiosFun = new oTimeAxios(param);
}, error: function () {
toastr.error("操作失败!");
}
});
}
function logFun(id, archiveDetailId, recallReason) {
$('#logModal').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
$("#archiveDetailId").val(archiveDetailId);
if (recallReason!= "null") {
$("#recallReason").html(recallReason);
}
//获取最后一次操作召回日志记录
$.ajax({
url: "${path}/recallDate/lastBylogTitle",
type: "POST",
data: {"logTitle": id},
success: function (result) {
$("#creater").val(result.creater);
$("#ip").val(result.ip);
}, error: function () {
toastr.error("召回失败!")
}
});
}
function recallFun(id, archiveDetailId,inpNo,vprintinfoId){
//生成表单token,防止表单重复提交
setFormToken();
$('#exampleModal').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
$("#recallReason2").val("");
$("#inpatientNo").val(inpNo)
//$("#id").val(id);
$("#danganhao").html(archiveDetailId);
//提醒是否使用
if (vprintinfoId != null && vprintinfoId != "" && vprintinfoId != "null"){
alert("已使用");
}
}
var value = [];
//查询
$('#searchBtn').click(function () {
if ($("#deptName").val().length > 0){
value = $("#deptName").val();
}
if ($("#deptAdmissionTo").val().length > 0){
value = $("#deptAdmissionTo").val();
}
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 visitId = "" + $("#visitId").val();
var name = "" + $("#name").val();
var idNo = "" + $("#idNo").val();
var state = "" + $("#state").val();
var deptName = $("#deptName").val();
var deptAdmissionTo = $("#deptAdmissionTo").val();
var archivestate="";
if($("#archivestate").val()!=null && $("#archivestate").val()!=""){
archivestate="" + $("#archivestate").val();
}else{
archivestate="已归档,已认证,初审";
}
//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();
// }
// }
window.location.href = "${path}/medicalRecall/exportExcel?inpNo=" + inpNo + "&visitId=" + visitId +
"&name=" + name + "&state=" + state + "&idNo=" + idNo + "&archivestate=" + archivestate + "&deptName=" + deptName + "&deptAdmissionTo=" + deptAdmissionTo;
});
$("#stateBtn").click(function () {
$('#exampleModal').modal('hide'); //手动关闭
//console.log("===召回事件======="+ $("#id").val()+":"+ $("#danganhao").html());
var archiveDetailId=$("#danganhao").html();
var id = archiveDetailId;
var recallReason= $("#recallReason2").val();
$.ajax({
url: "${path}/medicalRecall/updateState",
type: "POST",
data: {
"state": "已召回",
"archiveDetailId": archiveDetailId,
recallReason: recallReason,
content: $("#inpatientNo").val(),
formToken: $("#formToken").val()
},
success: function (result) {
$('#table').bootstrapTable('refresh');
//刷新
if (result.indexOf("成功") != -1) {
toastr.success(result);
} else {
toastr.warning(result);
}
}, error: function () {
//刷新
// $('#table').bootstrapTable('refresh');
toastr.error("召回失败!")
}
});
});
</script>
</html>

@ -0,0 +1,720 @@
<%@ 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 for="visitId">住院次数:</label>
<input type="number" class="input-sm form-control" id="visitId" placeholder="请输入次数">
</div>
<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" id="deptDiv" style="height: 18px;margin-top: -7px;">
<label>入院科室 :</label>
<select class="selectpicker bla bla bli" multiple data-live-search="true" data-actions-box="true" data-deselect-all-text="取消全选" data-select-all-text="全选"
data-none-results-text="没找到相应记录{0}" name="deptAdmissionTo" id="deptAdmissionTo" title="请输入科室">
</select>
</div>
<div class="form-group divCss8" id="deptDiv2" style="height: 18px;margin-top: -7px;">
<label>出院科室 :</label>
<select class="selectpicker bla bla bli" multiple data-live-search="true" data-actions-box="true" data-deselect-all-text="取消全选" data-select-all-text="全选"
data-none-results-text="没找到相应记录{0}" name="deptName" id="deptName" title="请输入科室">
<%-- <option value="">全部</option>--%>
</select>
</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>
</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>
<!-- 模态框3Modal召回日志 -->
<div class="modal fade" id="logModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header2">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
&times;
</button>
<h4 class="modal-title">
最后一次召回日志信息
</h4>
</div>
<div class="modal-body">
<!--通过审批且未过期的patientId集合-->
<form class="form-horizontal" id="logForm">
<input type="hidden" id="approveId" name="id">
<div class="row">
<div class="form-group">
<label class="col-sm-4 control-label">病案号:</label>
<div class="col-sm-5">
<input type="text" class="input-sm form-control" readonly id="archiveDetailId" name="archiveDetailId">
</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-5">
<input type="text" class="input-sm form-control" readonly id="creater" name="creater">
</div>
<div class="col-sm-1"></div>
</div>
</div>
<div class="row">
<div class="form-group">
<label class="col-sm-4 control-label">ip</label>
<div class="col-sm-5">
<input type="text" class="input-sm form-control" readonly id="ip" name="ip">
</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-6">
<textarea class="input-sm form-control" rows="3" readonly id="recallReason" name="recallReason"></textarea>
</div>
<div class="col-sm-1"></div>
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default btn-sm" data-dismiss="modal">关闭
</button>
</div>
</div>
</div>
</div>
<%--确认框--%>
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content ">
<div class="modal-header2">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
aria-hidden="true">×</span></button>
<h4 class="modal-title" id="exampleModalLabel">确认召回</h4>
</div>
<div class="modal-body">
<form>
<div class="form-group ">
<input type="hidden" id="inpatientNo">
<input id="formToken" hidden>
<input type="hidden" id="id" name="id" value=""/><label hidden id="danganhao"></label>
<span style="vertical-align:top;">原因:</span><textarea rows="6" style="width:87%;" maxlength="255" id="recallReason2"></textarea>
</div>
<%--<div class="form-group">--%>
<%----%>
<%--<label class="control-label">召回病案号:<label id="danganhao"></label>吗?</label>--%>
<%--</div>--%>
<%--<div class="row">--%>
<%--<div class="form-group">--%>
<%--<label class="col-sm-4 control-label">原因:</label>--%>
<%--<textarea class="input-sm " rows="3" maxlength="255" id="recallReason2"--%>
<%--name="recallReason2"></textarea>--%>
<%--<div class="col-sm-1"></div>--%>
<%--</div>--%>
<%--</div>--%>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default btn-sm" data-dismiss="modal">返回</button>
<button type="button" class="btn btn-primary btn-sm" id="stateBtn">确认</button>
</div>
</div>
</div>
</div>
<%--时间轴弹窗--%>
<div class="modal fade" id="timeLineModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content ">
<div class="modal-header2">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title">流转节点时间轴</h4>
</div>
<div class="modal-body" style="height:500px;overflow:auto">
<div class="cx-time-main" id="cxTime">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default btn-sm" data-dismiss="modal">返回</button>
<%--<button type="button" class="btn btn-primary btn-sm" id="verifyBtn">通过</button>--%>
</div>
</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();
}
// var deptAdmissionTo = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
// var deptArr = deptAdmissionTo.split(',');
// //var n = (deptAdmissionTo.split(',')).length ;
// if (deptAdmissionTo == null || deptAdmissionTo == '' || deptArr.length > 1) {
// $('#deptDiv').show();
// } else {
// $('#deptDiv').hide();
// }
function getDept() {
//获取科室列表
$.ajax({
url: "${path}/inHosp/getDept",
type: "POST",
data: {effective: 1, typecode: "dept_code"},
success: function (result) {
if (result != null) {
for (var i = 0; i < result.length; i++) {
$("#deptName").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");
$("#deptAdmissionTo").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");
}
}
$('#deptName').selectpicker('refresh');
$('#deptAdmissionTo').selectpicker('refresh');
// for (var i = 0; i < result.length; i++) {
// if (deptArr.length != 1 && deptArr[0] != "") {
// var bol = deptArr.indexOf(result[i].code);
// if (bol != -1) {
// $("#deptName").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");
// }
// } else {
// $("#deptName").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");
// }
// }
}
});
// $("#deptName").selectpicker('refresh'); //
}
getDept();
});
//日期控件
$(".input-daterange").datepicker({
format: "yyyy-mm-dd",
language: "zh-CN"
});
/* var currDate=getCurrDate();
var currDate30=getCurrDay30();
$('#startDate').val(currDate30);
$('#endDate').val(currDate);*/
//处理导出内容,这个方法可以自定义某一行、某一列、甚至某个单元格的内容,也就是将其值设置为自己想要的内容
function DoOnCellHtmlData(cell, row, col, data) {
if (row == 0) {
return data;
}
//由于备注列超过6个字的话,通过span标签处理只显示前面6个字,如果直接导出的话会导致内容不完整,因此要将携带完整内容的span标签中title属性的值替换
if (col == 4 || col == 11 || col == 7) {
var spanObj = $(data);//将带 <span title="val"></span> 标签的字符串转换为jQuery对象
var title = spanObj.attr("title");//读取<span title="val"></span>中title属性的值
//var span = cell[0].firstElementChild;//读取cell数组中的第一个值下的第一个元素
if (typeof (title) != 'undefined') {
return title;
}
}
return data;
}
function initTable() {
if(tipLoad == 1){
$("#table").bootstrapTable({ // 对应table标签的id
//method: 'POST',
url: "${path}/Statistics/getFileStatistics", // 获取表格数据的url
contentType: "application/x-www-form-urlencoded",//一种编码。好像在post请求的时候需要用到。这里用的get请求注释掉这句话也能拿到数据
//dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
paginationShowPageGo: true,
pageList: [10, 20, 50, 100], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
smartDisplay: false,
pageSize: 2, // 页面数据条数
pageNumber: 1, // 初始化加载第一页,默认第一页
sidePagination: 'server', // 设置为服务器端分页 客户端client
search: false,
showColumns: true,
// sortable: true,
// sortOrder: "asc",
toolbar: '#toolbar',//指定工具栏
searchOnEnterKey: true, //设置为 true时按回车触发搜索方法否则自动触发搜索方法
undefinedText: '---', //当数据为 undefined 时显示的字符
singleSelect: false,//设置True 将禁止多选
clickToSelect: true,//设置true 将在点击行时自动选择rediobox 和 checkbox
//height: 560, //定义表格的高度。
searchTimeOut: 500,// 默认500 设置搜索超时时间。
toolbarAlign: 'right',// 指定 toolbar 水平方向的位置。'left' 或 'right'
paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
showHeader: true,//是否显示列头。
trimOnSearch: true,//设置为 true 将自动去掉搜索字符的前后空格。
//是否显示导出按钮
showExport: true,
//导出表格方式默认basic只导出当前页的表格数据all导出所有数据selected导出选中的数据
exportDataType: "basic",
//导出文件类型
exportTypes: ['json', 'xml', 'csv', 'txt', 'sql', 'excel'],
exportOptions: {
fileName: document.title
},
// showToggle: false, //是否显示详细视图和列表视图的切换按钮
// cardView: false, //是否显示详细视图
// detailView: false, //是否显示父子表
queryParams: function (params) {
var currPageSize = this.pageSize;
if (currPageSize == 2) {
currPageSize = 10;
}
var limit= null;
var offset= params.offset;
//判断是否导出全部all
if ($("#sel_exportoption").val() == "all") {
offset=0;
limit=this.totalRows;
this.pageSize= limit;
}else{
limit = currPageSize;
this.pageSize = currPageSize;
}
//var 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 archivestate="";
if($("#archivestate").val()!=null && $("#archivestate").val()!=""){
archivestate="" + $("#archivestate").val();
}else{
archivestate="已归档,已认证,初审";
}
var temp = {
limit: limit, //页面大小
offset: offset, //页码
order: params.order, //排位命令descasc
inpNo: "" + $("#inpNo").val(),
visitId:""+$("#visitId").val(),
name:""+$("#name").val(),
startDate: $("#startDate").val(),
endDate: $("#endDate").val(),
deptName: $("#deptName").val().toString(),
deptAdmissionTo: $("#deptAdmissionTo").val().toString()
};
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: 'inpNo',
align: 'left',
valign: 'middle',
},
{
title: '住院次数',
field: 'visitId',
align: 'center',
valign: 'middle'
},
{
title: '姓名',
field: 'name',
align: 'center',
valign: 'middle'
},
{
title: '出院时间',
field: 'dischargeDateTime',
align: 'center',
},
{
title: '出院科室',
field: 'deptName',
align: 'center',
valign: 'middle',
},
{
title: '入院时间',
field: 'admissionDateTime',
align: 'center',
valign: 'middle'
},
{
title: '入院科室',
field: 'deptAdmissionTo',
align: 'center',
valign: 'middle'
},
{
title: '归档时间',
field: 'handleTime',
align: 'center',
valign: 'middle'
},
{
title: '归档人',
field: 'handleName',
align: 'center',
valign: 'middle'
},
],
onLoadSuccess: function (result) { //加载成功时执行
//console.info("加载成功");
tipLoad = 0;
},
onLoadError: function () { //加载失败时执行
//console.info("加载数据失败");
tipLoad = 0;
}
});
}
}
var oTimeAxiosFun = null;
function getTimeLine(archiveDetailId) {
$('#timeLineModal').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
var param = {
data: "", // 数据
id: 'cxTime', //dom节点ID
index: 0, // 选中时间节点
sort: 'just', // 正序just反序back, 其他表示不排序
sortKey: 'handleTime', //排序的参数key
// activeColor: '#26a69a', // 选中颜色
props: ['handleName', 'handleTime', 'followingContent'], //展示的key
}
$.ajax({
url: "${path}/medicalHandle/getTimeLine?masterId=" + archiveDetailId,
type: "GET",
success: function (result) {
param.data = result;
oTimeAxiosFun = new oTimeAxios(param);
}, error: function () {
toastr.error("操作失败!");
}
});
}
function logFun(id, archiveDetailId, recallReason) {
$('#logModal').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
$("#archiveDetailId").val(archiveDetailId);
if (recallReason!= "null") {
$("#recallReason").html(recallReason);
}
//获取最后一次操作召回日志记录
$.ajax({
url: "${path}/recallDate/lastBylogTitle",
type: "POST",
data: {"logTitle": id},
success: function (result) {
$("#creater").val(result.creater);
$("#ip").val(result.ip);
}, error: function () {
toastr.error("召回失败!")
}
});
}
function recallFun(id, archiveDetailId,inpNo,vprintinfoId){
//生成表单token,防止表单重复提交
setFormToken();
$('#exampleModal').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
$("#recallReason2").val("");
$("#inpatientNo").val(inpNo)
//$("#id").val(id);
$("#danganhao").html(archiveDetailId);
//提醒是否使用
if (vprintinfoId != null && vprintinfoId != "" && vprintinfoId != "null"){
alert("已使用");
}
}
var value = [];
//查询
$('#searchBtn').click(function () {
if ($("#deptName").val().length > 0){
value = $("#deptName").val();
}
if ($("#deptAdmissionTo").val().length > 0){
value = $("#deptAdmissionTo").val();
}
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 visitId = "" + $("#visitId").val();
var name = "" + $("#name").val();
var idNo = "" + $("#idNo").val();
var state = "" + $("#state").val();
var deptName = $("#deptName").val();
var deptAdmissionTo = $("#deptAdmissionTo").val();
var archivestate="";
if($("#archivestate").val()!=null && $("#archivestate").val()!=""){
archivestate="" + $("#archivestate").val();
}else{
archivestate="已归档,已认证,初审";
}
//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();
// }
// }
window.location.href = "${path}/medicalRecall/exportExcel?inpNo=" + inpNo + "&visitId=" + visitId +
"&name=" + name + "&state=" + state + "&idNo=" + idNo + "&archivestate=" + archivestate + "&deptName=" + deptName + "&deptAdmissionTo=" + deptAdmissionTo;
});
$("#stateBtn").click(function () {
$('#exampleModal').modal('hide'); //手动关闭
//console.log("===召回事件======="+ $("#id").val()+":"+ $("#danganhao").html());
var archiveDetailId=$("#danganhao").html();
var id = archiveDetailId;
var recallReason= $("#recallReason2").val();
$.ajax({
url: "${path}/medicalRecall/updateState",
type: "POST",
data: {
"state": "已召回",
"archiveDetailId": archiveDetailId,
recallReason: recallReason,
content: $("#inpatientNo").val(),
formToken: $("#formToken").val()
},
success: function (result) {
$('#table').bootstrapTable('refresh');
//刷新
if (result.indexOf("成功") != -1) {
toastr.success(result);
} else {
toastr.warning(result);
}
}, error: function () {
//刷新
// $('#table').bootstrapTable('refresh');
toastr.error("召回失败!")
}
});
});
</script>
</html>

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

@ -0,0 +1,720 @@
<%@ 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 for="visitId">住院次数:</label>
<input type="number" class="input-sm form-control" id="visitId" placeholder="请输入次数">
</div>
<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" id="deptDiv" style="height: 18px;margin-top: -7px;">
<label>入院科室 :</label>
<select class="selectpicker bla bla bli" multiple data-live-search="true" data-actions-box="true" data-deselect-all-text="取消全选" data-select-all-text="全选"
data-none-results-text="没找到相应记录{0}" name="deptAdmissionTo" id="deptAdmissionTo" title="请输入科室">
</select>
</div>
<div class="form-group divCss8" id="deptDiv2" style="height: 18px;margin-top: -7px;">
<label>出院科室 :</label>
<select class="selectpicker bla bla bli" multiple data-live-search="true" data-actions-box="true" data-deselect-all-text="取消全选" data-select-all-text="全选"
data-none-results-text="没找到相应记录{0}" name="deptName" id="deptName" title="请输入科室">
<%-- <option value="">全部</option>--%>
</select>
</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>
</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>
<!-- 模态框3Modal召回日志 -->
<div class="modal fade" id="logModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header2">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
&times;
</button>
<h4 class="modal-title">
最后一次召回日志信息
</h4>
</div>
<div class="modal-body">
<!--通过审批且未过期的patientId集合-->
<form class="form-horizontal" id="logForm">
<input type="hidden" id="approveId" name="id">
<div class="row">
<div class="form-group">
<label class="col-sm-4 control-label">病案号:</label>
<div class="col-sm-5">
<input type="text" class="input-sm form-control" readonly id="archiveDetailId" name="archiveDetailId">
</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-5">
<input type="text" class="input-sm form-control" readonly id="creater" name="creater">
</div>
<div class="col-sm-1"></div>
</div>
</div>
<div class="row">
<div class="form-group">
<label class="col-sm-4 control-label">ip</label>
<div class="col-sm-5">
<input type="text" class="input-sm form-control" readonly id="ip" name="ip">
</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-6">
<textarea class="input-sm form-control" rows="3" readonly id="recallReason" name="recallReason"></textarea>
</div>
<div class="col-sm-1"></div>
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default btn-sm" data-dismiss="modal">关闭
</button>
</div>
</div>
</div>
</div>
<%--确认框--%>
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content ">
<div class="modal-header2">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
aria-hidden="true">×</span></button>
<h4 class="modal-title" id="exampleModalLabel">确认召回</h4>
</div>
<div class="modal-body">
<form>
<div class="form-group ">
<input type="hidden" id="inpatientNo">
<input id="formToken" hidden>
<input type="hidden" id="id" name="id" value=""/><label hidden id="danganhao"></label>
<span style="vertical-align:top;">原因:</span><textarea rows="6" style="width:87%;" maxlength="255" id="recallReason2"></textarea>
</div>
<%--<div class="form-group">--%>
<%----%>
<%--<label class="control-label">召回病案号:<label id="danganhao"></label>吗?</label>--%>
<%--</div>--%>
<%--<div class="row">--%>
<%--<div class="form-group">--%>
<%--<label class="col-sm-4 control-label">原因:</label>--%>
<%--<textarea class="input-sm " rows="3" maxlength="255" id="recallReason2"--%>
<%--name="recallReason2"></textarea>--%>
<%--<div class="col-sm-1"></div>--%>
<%--</div>--%>
<%--</div>--%>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default btn-sm" data-dismiss="modal">返回</button>
<button type="button" class="btn btn-primary btn-sm" id="stateBtn">确认</button>
</div>
</div>
</div>
</div>
<%--时间轴弹窗--%>
<div class="modal fade" id="timeLineModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content ">
<div class="modal-header2">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title">流转节点时间轴</h4>
</div>
<div class="modal-body" style="height:500px;overflow:auto">
<div class="cx-time-main" id="cxTime">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default btn-sm" data-dismiss="modal">返回</button>
<%--<button type="button" class="btn btn-primary btn-sm" id="verifyBtn">通过</button>--%>
</div>
</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();
}
// var deptAdmissionTo = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
// var deptArr = deptAdmissionTo.split(',');
// //var n = (deptAdmissionTo.split(',')).length ;
// if (deptAdmissionTo == null || deptAdmissionTo == '' || deptArr.length > 1) {
// $('#deptDiv').show();
// } else {
// $('#deptDiv').hide();
// }
function getDept() {
//获取科室列表
$.ajax({
url: "${path}/inHosp/getDept",
type: "POST",
data: {effective: 1, typecode: "dept_code"},
success: function (result) {
if (result != null) {
for (var i = 0; i < result.length; i++) {
$("#deptName").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");
$("#deptAdmissionTo").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");
}
}
$('#deptName').selectpicker('refresh');
$('#deptAdmissionTo').selectpicker('refresh');
// for (var i = 0; i < result.length; i++) {
// if (deptArr.length != 1 && deptArr[0] != "") {
// var bol = deptArr.indexOf(result[i].code);
// if (bol != -1) {
// $("#deptName").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");
// }
// } else {
// $("#deptName").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");
// }
// }
}
});
// $("#deptName").selectpicker('refresh'); //
}
getDept();
});
//日期控件
$(".input-daterange").datepicker({
format: "yyyy-mm-dd",
language: "zh-CN"
});
/* var currDate=getCurrDate();
var currDate30=getCurrDay30();
$('#startDate').val(currDate30);
$('#endDate').val(currDate);*/
//处理导出内容,这个方法可以自定义某一行、某一列、甚至某个单元格的内容,也就是将其值设置为自己想要的内容
function DoOnCellHtmlData(cell, row, col, data) {
if (row == 0) {
return data;
}
//由于备注列超过6个字的话,通过span标签处理只显示前面6个字,如果直接导出的话会导致内容不完整,因此要将携带完整内容的span标签中title属性的值替换
if (col == 4 || col == 11 || col == 7) {
var spanObj = $(data);//将带 <span title="val"></span> 标签的字符串转换为jQuery对象
var title = spanObj.attr("title");//读取<span title="val"></span>中title属性的值
//var span = cell[0].firstElementChild;//读取cell数组中的第一个值下的第一个元素
if (typeof (title) != 'undefined') {
return title;
}
}
return data;
}
function initTable() {
if(tipLoad == 1){
$("#table").bootstrapTable({ // 对应table标签的id
//method: 'POST',
url: "${path}/Statistics/getRecoveryStatistics", // 获取表格数据的url
contentType: "application/x-www-form-urlencoded",//一种编码。好像在post请求的时候需要用到。这里用的get请求注释掉这句话也能拿到数据
//dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
paginationShowPageGo: true,
pageList: [10, 20, 50, 100], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
smartDisplay: false,
pageSize: 2, // 页面数据条数
pageNumber: 1, // 初始化加载第一页,默认第一页
sidePagination: 'server', // 设置为服务器端分页 客户端client
search: false,
showColumns: true,
// sortable: true,
// sortOrder: "asc",
toolbar: '#toolbar',//指定工具栏
searchOnEnterKey: true, //设置为 true时按回车触发搜索方法否则自动触发搜索方法
undefinedText: '---', //当数据为 undefined 时显示的字符
singleSelect: false,//设置True 将禁止多选
clickToSelect: true,//设置true 将在点击行时自动选择rediobox 和 checkbox
//height: 560, //定义表格的高度。
searchTimeOut: 500,// 默认500 设置搜索超时时间。
toolbarAlign: 'right',// 指定 toolbar 水平方向的位置。'left' 或 'right'
paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
showHeader: true,//是否显示列头。
trimOnSearch: true,//设置为 true 将自动去掉搜索字符的前后空格。
//是否显示导出按钮
showExport: true,
//导出表格方式默认basic只导出当前页的表格数据all导出所有数据selected导出选中的数据
exportDataType: "basic",
//导出文件类型
exportTypes: ['json', 'xml', 'csv', 'txt', 'sql', 'excel'],
exportOptions: {
fileName: document.title
},
// showToggle: false, //是否显示详细视图和列表视图的切换按钮
// cardView: false, //是否显示详细视图
// detailView: false, //是否显示父子表
queryParams: function (params) {
var currPageSize = this.pageSize;
if (currPageSize == 2) {
currPageSize = 10;
}
var limit= null;
var offset= params.offset;
//判断是否导出全部all
if ($("#sel_exportoption").val() == "all") {
offset=0;
limit=this.totalRows;
this.pageSize= limit;
}else{
limit = currPageSize;
this.pageSize = currPageSize;
}
//var 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 archivestate="";
if($("#archivestate").val()!=null && $("#archivestate").val()!=""){
archivestate="" + $("#archivestate").val();
}else{
archivestate="已归档,已认证,初审";
}
var temp = {
limit: limit, //页面大小
offset: offset, //页码
order: params.order, //排位命令descasc
inpNo: "" + $("#inpNo").val(),
visitId:""+$("#visitId").val(),
name:""+$("#name").val(),
startDate: $("#startDate").val(),
endDate: $("#endDate").val(),
deptName: $("#deptName").val().toString(),
deptAdmissionTo: $("#deptAdmissionTo").val().toString()
};
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: 'inpNo',
align: 'left',
valign: 'middle',
},
{
title: '住院次数',
field: 'visitId',
align: 'center',
valign: 'middle'
},
{
title: '姓名',
field: 'name',
align: 'center',
valign: 'middle'
},
{
title: '出院时间',
field: 'dischargeDateTime',
align: 'center',
},
{
title: '出院科室',
field: 'deptName',
align: 'center',
valign: 'middle',
},
{
title: '入院时间',
field: 'admissionDateTime',
align: 'center',
valign: 'middle'
},
{
title: '入院科室',
field: 'deptAdmissionTo',
align: 'center',
valign: 'middle'
},
{
title: '签收时间',
field: 'dTime',
align: 'center',
valign: 'middle'
},
{
title: '签收人',
field: 'C2',
align: 'center',
valign: 'middle'
},
],
onLoadSuccess: function (result) { //加载成功时执行
//console.info("加载成功");
tipLoad = 0;
},
onLoadError: function () { //加载失败时执行
//console.info("加载数据失败");
tipLoad = 0;
}
});
}
}
var oTimeAxiosFun = null;
function getTimeLine(archiveDetailId) {
$('#timeLineModal').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
var param = {
data: "", // 数据
id: 'cxTime', //dom节点ID
index: 0, // 选中时间节点
sort: 'just', // 正序just反序back, 其他表示不排序
sortKey: 'handleTime', //排序的参数key
// activeColor: '#26a69a', // 选中颜色
props: ['handleName', 'handleTime', 'followingContent'], //展示的key
}
$.ajax({
url: "${path}/medicalHandle/getTimeLine?masterId=" + archiveDetailId,
type: "GET",
success: function (result) {
param.data = result;
oTimeAxiosFun = new oTimeAxios(param);
}, error: function () {
toastr.error("操作失败!");
}
});
}
function logFun(id, archiveDetailId, recallReason) {
$('#logModal').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
$("#archiveDetailId").val(archiveDetailId);
if (recallReason!= "null") {
$("#recallReason").html(recallReason);
}
//获取最后一次操作召回日志记录
$.ajax({
url: "${path}/recallDate/lastBylogTitle",
type: "POST",
data: {"logTitle": id},
success: function (result) {
$("#creater").val(result.creater);
$("#ip").val(result.ip);
}, error: function () {
toastr.error("召回失败!")
}
});
}
function recallFun(id, archiveDetailId,inpNo,vprintinfoId){
//生成表单token,防止表单重复提交
setFormToken();
$('#exampleModal').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
$("#recallReason2").val("");
$("#inpatientNo").val(inpNo)
//$("#id").val(id);
$("#danganhao").html(archiveDetailId);
//提醒是否使用
if (vprintinfoId != null && vprintinfoId != "" && vprintinfoId != "null"){
alert("已使用");
}
}
var value = [];
//查询
$('#searchBtn').click(function () {
if ($("#deptName").val().length > 0){
value = $("#deptName").val();
}
if ($("#deptAdmissionTo").val().length > 0){
value = $("#deptAdmissionTo").val();
}
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 visitId = "" + $("#visitId").val();
var name = "" + $("#name").val();
var idNo = "" + $("#idNo").val();
var state = "" + $("#state").val();
var deptName = $("#deptName").val();
var deptAdmissionTo = $("#deptAdmissionTo").val();
var archivestate="";
if($("#archivestate").val()!=null && $("#archivestate").val()!=""){
archivestate="" + $("#archivestate").val();
}else{
archivestate="已归档,已认证,初审";
}
//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();
// }
// }
window.location.href = "${path}/medicalRecall/exportExcel?inpNo=" + inpNo + "&visitId=" + visitId +
"&name=" + name + "&state=" + state + "&idNo=" + idNo + "&archivestate=" + archivestate + "&deptName=" + deptName + "&deptAdmissionTo=" + deptAdmissionTo;
});
$("#stateBtn").click(function () {
$('#exampleModal').modal('hide'); //手动关闭
//console.log("===召回事件======="+ $("#id").val()+":"+ $("#danganhao").html());
var archiveDetailId=$("#danganhao").html();
var id = archiveDetailId;
var recallReason= $("#recallReason2").val();
$.ajax({
url: "${path}/medicalRecall/updateState",
type: "POST",
data: {
"state": "已召回",
"archiveDetailId": archiveDetailId,
recallReason: recallReason,
content: $("#inpatientNo").val(),
formToken: $("#formToken").val()
},
success: function (result) {
$('#table').bootstrapTable('refresh');
//刷新
if (result.indexOf("成功") != -1) {
toastr.success(result);
} else {
toastr.warning(result);
}
}, error: function () {
//刷新
// $('#table').bootstrapTable('refresh');
toastr.error("召回失败!")
}
});
});
</script>
</html>

@ -102,6 +102,7 @@
<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" id="increaseBtn1" >导出图像</button>
<button type="button" class="btn btn-info btn-sm divCss" onclick="add()" id="increaseBtn" >新增模板</button>
</div>
</form>

@ -0,0 +1,743 @@
<%@ 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 for="visitId">住院次数:</label>
<input type="number" class="input-sm form-control" id="visitId" placeholder="请输入次数">
</div>
<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" id="deptDiv" style="height: 18px;margin-top: -7px;">
<label>入院科室 :</label>
<select class="selectpicker bla bla bli" multiple data-live-search="true" data-actions-box="true" data-deselect-all-text="取消全选" data-select-all-text="全选"
data-none-results-text="没找到相应记录{0}" name="deptAdmissionTo" id="deptAdmissionTo" title="请输入科室">
</select>
</div>
<div class="form-group divCss8" id="deptDiv2" style="height: 18px;margin-top: -7px;">
<label>出院科室 :</label>
<select class="selectpicker bla bla bli" multiple data-live-search="true" data-actions-box="true" data-deselect-all-text="取消全选" data-select-all-text="全选"
data-none-results-text="没找到相应记录{0}" name="deptName" id="deptName" title="请输入科室">
<%-- <option value="">全部</option>--%>
</select>
</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>
<div class="form-group divCss8">
<label for="printFlag">打印类型 :</label>
<select class="input-sm form-control" id="printFlag">
<option value="">全部</option>
<option value="窗口打印">窗口打印</option>
<option value="自助机打印">自助机打印</option>
<option value="微信预约">微信预约</option>
</select>
</div>
<button type="button" class="btn btn-primary btn-sm divCss"id="searchBtn">查询</button>
</div>
</form>
<!--数据表格-->
<table id="table" class="table text-nowrap table-striped" ></table>
<div id="toolbar" class="btn-group pull-right toolbarCss" >
<div class="columns columns-right btn-group pull-right" style="margin-top:0px;">
<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>
<!-- 模态框3Modal召回日志 -->
<div class="modal fade" id="logModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header2">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
&times;
</button>
<h4 class="modal-title">
最后一次召回日志信息
</h4>
</div>
<div class="modal-body">
<!--通过审批且未过期的patientId集合-->
<form class="form-horizontal" id="logForm">
<input type="hidden" id="approveId" name="id">
<div class="row">
<div class="form-group">
<label class="col-sm-4 control-label">病案号:</label>
<div class="col-sm-5">
<input type="text" class="input-sm form-control" readonly id="archiveDetailId" name="archiveDetailId">
</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-5">
<input type="text" class="input-sm form-control" readonly id="creater" name="creater">
</div>
<div class="col-sm-1"></div>
</div>
</div>
<div class="row">
<div class="form-group">
<label class="col-sm-4 control-label">ip</label>
<div class="col-sm-5">
<input type="text" class="input-sm form-control" readonly id="ip" name="ip">
</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-6">
<textarea class="input-sm form-control" rows="3" readonly id="recallReason" name="recallReason"></textarea>
</div>
<div class="col-sm-1"></div>
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default btn-sm" data-dismiss="modal">关闭
</button>
</div>
</div>
</div>
</div>
<%--确认框--%>
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content ">
<div class="modal-header2">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
aria-hidden="true">×</span></button>
<h4 class="modal-title" id="exampleModalLabel">确认召回</h4>
</div>
<div class="modal-body">
<form>
<div class="form-group ">
<input type="hidden" id="inpatientNo">
<input id="formToken" hidden>
<input type="hidden" id="id" name="id" value=""/><label hidden id="danganhao"></label>
<span style="vertical-align:top;">原因:</span><textarea rows="6" style="width:87%;" maxlength="255" id="recallReason2"></textarea>
</div>
<%--<div class="form-group">--%>
<%----%>
<%--<label class="control-label">召回病案号:<label id="danganhao"></label>吗?</label>--%>
<%--</div>--%>
<%--<div class="row">--%>
<%--<div class="form-group">--%>
<%--<label class="col-sm-4 control-label">原因:</label>--%>
<%--<textarea class="input-sm " rows="3" maxlength="255" id="recallReason2"--%>
<%--name="recallReason2"></textarea>--%>
<%--<div class="col-sm-1"></div>--%>
<%--</div>--%>
<%--</div>--%>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default btn-sm" data-dismiss="modal">返回</button>
<button type="button" class="btn btn-primary btn-sm" id="stateBtn">确认</button>
</div>
</div>
</div>
</div>
<%--时间轴弹窗--%>
<div class="modal fade" id="timeLineModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content ">
<div class="modal-header2">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title">流转节点时间轴</h4>
</div>
<div class="modal-body" style="height:500px;overflow:auto">
<div class="cx-time-main" id="cxTime">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default btn-sm" data-dismiss="modal">返回</button>
<%--<button type="button" class="btn btn-primary btn-sm" id="verifyBtn">通过</button>--%>
</div>
</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();
}
// var deptAdmissionTo = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
// var deptArr = deptAdmissionTo.split(',');
// //var n = (deptAdmissionTo.split(',')).length ;
// if (deptAdmissionTo == null || deptAdmissionTo == '' || deptArr.length > 1) {
// $('#deptDiv').show();
// } else {
// $('#deptDiv').hide();
// }
function getDept() {
//获取科室列表
$.ajax({
url: "${path}/inHosp/getDept",
type: "POST",
data: {effective: 1, typecode: "dept_code"},
success: function (result) {
if (result != null) {
for (var i = 0; i < result.length; i++) {
$("#deptName").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");
$("#deptAdmissionTo").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");
}
}
$('#deptName').selectpicker('refresh');
$('#deptAdmissionTo').selectpicker('refresh');
// for (var i = 0; i < result.length; i++) {
// if (deptArr.length != 1 && deptArr[0] != "") {
// var bol = deptArr.indexOf(result[i].code);
// if (bol != -1) {
// $("#deptName").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");
// }
// } else {
// $("#deptName").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");
// }
// }
}
});
// $("#deptName").selectpicker('refresh'); //
}
getDept();
});
//日期控件
$(".input-daterange").datepicker({
format: "yyyy-mm-dd",
language: "zh-CN"
});
/* var currDate=getCurrDate();
var currDate30=getCurrDay30();
$('#startDate').val(currDate30);
$('#endDate').val(currDate);*/
//处理导出内容,这个方法可以自定义某一行、某一列、甚至某个单元格的内容,也就是将其值设置为自己想要的内容
function DoOnCellHtmlData(cell, row, col, data) {
if (row == 0) {
return data;
}
//由于备注列超过6个字的话,通过span标签处理只显示前面6个字,如果直接导出的话会导致内容不完整,因此要将携带完整内容的span标签中title属性的值替换
if (col == 4 || col == 11 || col == 7) {
var spanObj = $(data);//将带 <span title="val"></span> 标签的字符串转换为jQuery对象
var title = spanObj.attr("title");//读取<span title="val"></span>中title属性的值
//var span = cell[0].firstElementChild;//读取cell数组中的第一个值下的第一个元素
if (typeof (title) != 'undefined') {
return title;
}
}
return data;
}
function initTable() {
if(tipLoad == 1){
$("#table").bootstrapTable({ // 对应table标签的id
//method: 'POST',
url: "${path}/Statistics/getWindowPrintStatistics", // 获取表格数据的url
contentType: "application/x-www-form-urlencoded",//一种编码。好像在post请求的时候需要用到。这里用的get请求注释掉这句话也能拿到数据
//dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
paginationShowPageGo: true,
pageList: [10, 20, 50, 100], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
smartDisplay: false,
pageSize: 2, // 页面数据条数
pageNumber: 1, // 初始化加载第一页,默认第一页
sidePagination: 'server', // 设置为服务器端分页 客户端client
search: false,
showColumns: true,
// sortable: true,
// sortOrder: "asc",
toolbar: '#toolbar',//指定工具栏
searchOnEnterKey: true, //设置为 true时按回车触发搜索方法否则自动触发搜索方法
undefinedText: '---', //当数据为 undefined 时显示的字符
singleSelect: false,//设置True 将禁止多选
clickToSelect: true,//设置true 将在点击行时自动选择rediobox 和 checkbox
//height: 560, //定义表格的高度。
searchTimeOut: 500,// 默认500 设置搜索超时时间。
toolbarAlign: 'right',// 指定 toolbar 水平方向的位置。'left' 或 'right'
paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
showHeader: true,//是否显示列头。
trimOnSearch: true,//设置为 true 将自动去掉搜索字符的前后空格。
//是否显示导出按钮
showExport: true,
//导出表格方式默认basic只导出当前页的表格数据all导出所有数据selected导出选中的数据
exportDataType: "basic",
//导出文件类型
exportTypes: ['json', 'xml', 'csv', 'txt', 'sql', 'excel'],
exportOptions: {
fileName: document.title
},
// showToggle: false, //是否显示详细视图和列表视图的切换按钮
// cardView: false, //是否显示详细视图
// detailView: false, //是否显示父子表
queryParams: function (params) {
var currPageSize = this.pageSize;
if (currPageSize == 2) {
currPageSize = 10;
}
var limit= null;
var offset= params.offset;
//判断是否导出全部all
if ($("#sel_exportoption").val() == "all") {
offset=0;
limit=this.totalRows;
this.pageSize= limit;
}else{
limit = currPageSize;
this.pageSize = currPageSize;
}
//var 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 archivestate="";
if($("#archivestate").val()!=null && $("#archivestate").val()!=""){
archivestate="" + $("#archivestate").val();
}else{
archivestate="已归档,已认证,初审";
}
var temp = {
limit: limit, //页面大小
offset: offset, //页码
order: params.order, //排位命令descasc
inpNo: "" + $("#inpNo").val(),
visitId:""+$("#visitId").val(),
name:""+$("#name").val(),
startDate: $("#startDate").val(),
endDate: $("#endDate").val(),
deptName: $("#deptName").val().toString(),
deptAdmissionTo: $("#deptAdmissionTo").val().toString(),
printFlag: "" + $("#printFlag").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: 'inpNo',
align: 'left',
valign: 'middle',
},
{
title: '住院次数',
field: 'visitId',
align: 'center',
valign: 'middle'
},
{
title: '姓名',
field: 'name',
align: 'center',
valign: 'middle'
},
{
title: '出院时间',
field: 'dischargeDateTime',
align: 'center',
},
{
title: '出院科室',
field: 'deptName',
align: 'center',
valign: 'middle',
},
{
title: '入院时间',
field: 'admissionDateTime',
align: 'center',
valign: 'middle'
},
{
title: '入院科室',
field: 'deptAdmissionTo',
align: 'center',
valign: 'middle'
},
{
title: '打印时间',
field: 'printCreatetime',
align: 'center',
valign: 'middle'
},
{
title: '申请时间',
field: 'applyTime',
align: 'center',
valign: 'middle'
},
{
title: '打印人',
field: 'printUserName',
align: 'center',
valign: 'middle'
},
{
title: '打印类型',
field: 'printFlag',
align: 'center',
valign: 'middle'
},
],
onLoadSuccess: function (result) { //加载成功时执行
//console.info("加载成功");
tipLoad = 0;
},
onLoadError: function () { //加载失败时执行
//console.info("加载数据失败");
tipLoad = 0;
}
});
}
}
var oTimeAxiosFun = null;
function getTimeLine(archiveDetailId) {
$('#timeLineModal').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
var param = {
data: "", // 数据
id: 'cxTime', //dom节点ID
index: 0, // 选中时间节点
sort: 'just', // 正序just反序back, 其他表示不排序
sortKey: 'handleTime', //排序的参数key
// activeColor: '#26a69a', // 选中颜色
props: ['handleName', 'handleTime', 'followingContent'], //展示的key
}
$.ajax({
url: "${path}/medicalHandle/getTimeLine?masterId=" + archiveDetailId,
type: "GET",
success: function (result) {
param.data = result;
oTimeAxiosFun = new oTimeAxios(param);
}, error: function () {
toastr.error("操作失败!");
}
});
}
function logFun(id, archiveDetailId, recallReason) {
$('#logModal').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
$("#archiveDetailId").val(archiveDetailId);
if (recallReason!= "null") {
$("#recallReason").html(recallReason);
}
//获取最后一次操作召回日志记录
$.ajax({
url: "${path}/recallDate/lastBylogTitle",
type: "POST",
data: {"logTitle": id},
success: function (result) {
$("#creater").val(result.creater);
$("#ip").val(result.ip);
}, error: function () {
toastr.error("召回失败!")
}
});
}
function recallFun(id, archiveDetailId,inpNo,vprintinfoId){
//生成表单token,防止表单重复提交
setFormToken();
$('#exampleModal').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
$("#recallReason2").val("");
$("#inpatientNo").val(inpNo)
//$("#id").val(id);
$("#danganhao").html(archiveDetailId);
//提醒是否使用
if (vprintinfoId != null && vprintinfoId != "" && vprintinfoId != "null"){
alert("已使用");
}
}
var value = [];
//查询
$('#searchBtn').click(function () {
if ($("#deptName").val().length > 0){
value = $("#deptName").val();
}
if ($("#deptAdmissionTo").val().length > 0){
value = $("#deptAdmissionTo").val();
}
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 visitId = "" + $("#visitId").val();
var name = "" + $("#name").val();
var idNo = "" + $("#idNo").val();
var state = "" + $("#state").val();
var deptName = $("#deptName").val();
var deptAdmissionTo = $("#deptAdmissionTo").val();
var archivestate="";
if($("#archivestate").val()!=null && $("#archivestate").val()!=""){
archivestate="" + $("#archivestate").val();
}else{
archivestate="已归档,已认证,初审";
}
//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();
// }
// }
window.location.href = "${path}/medicalRecall/exportExcel?inpNo=" + inpNo + "&visitId=" + visitId +
"&name=" + name + "&state=" + state + "&idNo=" + idNo + "&archivestate=" + archivestate + "&deptName=" + deptName + "&deptAdmissionTo=" + deptAdmissionTo;
});
$("#stateBtn").click(function () {
$('#exampleModal').modal('hide'); //手动关闭
//console.log("===召回事件======="+ $("#id").val()+":"+ $("#danganhao").html());
var archiveDetailId=$("#danganhao").html();
var id = archiveDetailId;
var recallReason= $("#recallReason2").val();
$.ajax({
url: "${path}/medicalRecall/updateState",
type: "POST",
data: {
"state": "已召回",
"archiveDetailId": archiveDetailId,
recallReason: recallReason,
content: $("#inpatientNo").val(),
formToken: $("#formToken").val()
},
success: function (result) {
$('#table').bootstrapTable('refresh');
//刷新
if (result.indexOf("成功") != -1) {
toastr.success(result);
} else {
toastr.warning(result);
}
}, error: function () {
//刷新
// $('#table').bootstrapTable('refresh');
toastr.error("召回失败!")
}
});
});
</script>
</html>

@ -3379,20 +3379,20 @@
return html;
}
},
{
title: '科主任是否审核',
field: 'checkFlag',
align: 'center',
formatter: function (value, row, index) {
var a = "";
if (value == 9) {
a = '<span style="color:red;"><i class="glyphicon glyphicon-ban-circle" aria-hidden="true"></i>未审核</span>';
} else {
a = '<span style="color:orange;"><i class="glyphicon glyphicon-ok-circle" aria-hidden="true"></i>已审核</span>';
}
return a;
}
},
// {
// title: '科主任是否审核',
// field: 'checkFlag',
// align: 'center',
// formatter: function (value, row, index) {
// var a = "";
// if (value == 9) {
// a = '<span style="color:red;"><i class="glyphicon glyphicon-ban-circle" aria-hidden="true"></i>未审核</span>';
// } else {
// a = '<span style="color:orange;"><i class="glyphicon glyphicon-ok-circle" aria-hidden="true"></i>已审核</span>';
// }
// return a;
// }
// },
{
title: '状态',
field: 'archivestate',

Loading…
Cancel
Save