diff --git a/src/main/java/com/emr/controller/FontController.java b/src/main/java/com/emr/controller/FontController.java index 21bc898..221823d 100644 --- a/src/main/java/com/emr/controller/FontController.java +++ b/src/main/java/com/emr/controller/FontController.java @@ -27,6 +27,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; @@ -239,6 +240,22 @@ public class FontController { return "font/showRecordIframe"; } + /** + * 跳转到recordPage页面 + * */ + @RequestMapping("recordPage") + public String recordPage(){ + return "font/recordPage"; + } + + /** + * 跳转到recordPage页面 + * */ + @RequestMapping("showRecord") + public String showRecord(){ + return "font/showRecord"; + } + /** * 根据主键查询病案详情 * @param masterId @@ -693,4 +710,39 @@ public class FontController { archiveOtherExtService.updateOtherDomForStatusFlag(jzh,detailIds); return Msg.success(); } + + /** + * 其他档案接口删除功能,将statusFlag 赋值-1 + * @return + * @throws Exception + */ + @RequestMapping(value="getMaster") + @ResponseBody + public OffsetLimitPage getMaster(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit, HttpServletRequest request) throws Exception{ + //如果前端主管医生字段有选全部选项,则查全部数据 + String[] doctorInCharge=archiveMasterVo.getDoctorInCharge().split(","); + int i=doctorInCharge.length; + if(doctorInCharge.length>1&&StringUtils.isBlank(doctorInCharge[0])&&StringUtils.isNotBlank(doctorInCharge[1])){ + archiveMasterVo.setDoctorInCharge(""); + } + return archiveMasterService.selectMasterByColumn(archiveMasterVo, offset, limit,request); + } + /** + * 其他档案接口删除功能,将statusFlag 赋值-1 + * @return + * @throws Exception + */ + @RequestMapping(value="getAssortIds") + @ResponseBody + public String getAssortIds(String masterId) throws Exception{ + String ids=archiveMasterService.selectAssortIdsByMasterId(masterId); + if(StringUtils.isNotBlank(ids)){ + HashMap returnMap=new HashMap(); + returnMap.put("assortIds",ids.substring(0, ids.length() - 1)); + return JSON.toJSONString(returnMap); + }else{ + return null; + } + } + } diff --git a/src/main/java/com/emr/controller/LoginController.java b/src/main/java/com/emr/controller/LoginController.java index 76610c6..8141ae8 100644 --- a/src/main/java/com/emr/controller/LoginController.java +++ b/src/main/java/com/emr/controller/LoginController.java @@ -2,20 +2,24 @@ package com.emr.controller; import com.alibaba.fastjson.JSONObject; import com.emr.entity.Power_User; +import com.emr.service.ipml.CommomService; import com.emr.util.ActionScopeUtils; import com.emr.util.HttpClientUtils; +import com.emr.vo.User; import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.commons.lang3.StringUtils; import org.apache.cxf.endpoint.Client; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.UsernamePasswordToken; import org.apache.shiro.subject.Subject; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletRequest; +import java.util.List; /** * @author HJL @@ -42,11 +46,15 @@ public class LoginController { return "redirect:/login.jsp"; } + @Autowired + private CommomService commomService; + //实现用户登录@PathVariable("username") @RequestMapping(value = "/login") public String login(Model model, HttpServletRequest request) throws Exception{ String token = request.getParameter("token"); String userName = request.getParameter("userName"); + String flag = request.getParameter("flag"); if(StringUtils.isNoneBlank(token)){ //高明归档特殊token=1462903487866169011 if("1462903487866169011".equals(token)){ @@ -94,8 +102,12 @@ public class LoginController { } String contextPath = request.getScheme()+"://"+request.getServerName()+":" +request.getServerPort() + request.getContextPath(); - return "redirect:"+contextPath+"/index"; - } + if("1".equals(flag)){ + return "redirect:" + contextPath + "/font/recordPage"; + }else { + return "redirect:" + contextPath + "/index"; + } + } @RequestMapping(value = "/index") public String index() { diff --git a/src/main/java/com/emr/controller/beHospitaledController.java b/src/main/java/com/emr/controller/beHospitaledController.java index 33ecb3b..1508b5a 100644 --- a/src/main/java/com/emr/controller/beHospitaledController.java +++ b/src/main/java/com/emr/controller/beHospitaledController.java @@ -291,6 +291,13 @@ public class beHospitaledController { List list = archiveMasterService.loadOverTimeDoctorInCharge(); return Msg.success().add("list",list); } + + @ResponseBody + @RequestMapping(value = "/getDoctorInCharge") + public List getDoctorInCharge(HttpServletResponse response, Archive_Master archiveMaster,HttpServletRequest request) throws Exception { + //根据目前账号所在科室获取主管医生列表 + return archiveMasterService.getDoctorInCharge(archiveMaster,request); + } } diff --git a/src/main/java/com/emr/dao/Archive_DetailMapper.java b/src/main/java/com/emr/dao/Archive_DetailMapper.java index e5c0e02..bd2fb99 100644 --- a/src/main/java/com/emr/dao/Archive_DetailMapper.java +++ b/src/main/java/com/emr/dao/Archive_DetailMapper.java @@ -41,6 +41,13 @@ public interface Archive_DetailMapper { * @return */ List selectAssortIdsByMasterIds(@Param("masterIds") String masterIds); + + /** + * 按查询按masterId分组查询assortId分类集合 + * @param masterId + * @return + */ + List selectAssortIdsByMasterId(@Param("masterId") String masterId); /** * 按masterId分组查询是否缺少检验检查报告MID集合 * @param masterIds diff --git a/src/main/java/com/emr/dao/Archive_MasterMapper.java b/src/main/java/com/emr/dao/Archive_MasterMapper.java index 41140ab..e8697d0 100644 --- a/src/main/java/com/emr/dao/Archive_MasterMapper.java +++ b/src/main/java/com/emr/dao/Archive_MasterMapper.java @@ -20,6 +20,8 @@ public interface Archive_MasterMapper { List selectByColumn(Archive_Master_Vo record); + List selectMasterByColumn(Archive_Master_Vo record); + List selectByLast(Archive_Master_Vo record); List selectByUnfile(Archive_Master_Vo record); @@ -60,4 +62,12 @@ public interface Archive_MasterMapper { * 自定义完整性校验查询 */ List selectCompleteMasterIds(Archive_Master_Vo master); + + /** + * + * @param record + * @return + */ + List getDoctorInCharge(Archive_Master record); + } \ No newline at end of file diff --git a/src/main/java/com/emr/service/Archive_MasterService.java b/src/main/java/com/emr/service/Archive_MasterService.java index 6ed0845..0abf529 100644 --- a/src/main/java/com/emr/service/Archive_MasterService.java +++ b/src/main/java/com/emr/service/Archive_MasterService.java @@ -57,6 +57,14 @@ public interface Archive_MasterService { */ OffsetLimitPage selectByColumn(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit,HttpServletRequest request); + /** + * 根据条件查找列表分页 + * + * @param archiveMasterVo + * @return + */ + OffsetLimitPage selectMasterByColumn(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit,HttpServletRequest request); + /** * 根据条件查找未归档列表分页 @@ -124,6 +132,16 @@ public interface Archive_MasterService { List selectOracleGetSignList(StringBuilder patientIdStr, List selectList); + String selectAssortIdsByMasterId(String masterId); + + /** + * 根据账号所在科室查找主管医生 + * @param record + * @return + */ + List getDoctorInCharge(Archive_Master record,HttpServletRequest request)throws Exception; + + //String selectLockInfoByMasterId(String archiveDetailId); } diff --git a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java index 9882cc3..9307384 100644 --- a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java @@ -6,13 +6,16 @@ */ package com.emr.service.ipml; +import com.alibaba.fastjson.JSONObject; import com.emr.dao.*; import com.emr.entity.*; import com.emr.service.Archive_MasterService; import com.emr.service.Emr_Fault_DetailService; import com.emr.util.ExceptionPrintUtil; +import com.emr.util.HttpClientUtils; import com.emr.util.Msg; import com.emr.util.OracleConnect; +import com.emr.vo.User; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import org.apache.commons.lang3.StringUtils; @@ -21,6 +24,7 @@ import org.apache.shiro.SecurityUtils; import org.apache.shiro.util.CollectionUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.context.request.RequestContextHolder; @@ -56,6 +60,10 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { private Emr_DictionaryMapper dictionaryMapper; @Autowired private PaperPostionService paperPostionService; + @Value("${POWER_URLHEAD}") + private String POWER_URLHEAD; + @Autowired + private CommomService commomService; /** * 在院列表 * */ @@ -83,6 +91,51 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { return new OffsetLimitPage((Page) list); } + @Override + public OffsetLimitPage selectMasterByColumn(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit,HttpServletRequest request) { + //设置查询条件审核角色 + //setInfoId(archiveMasterVo); + //设置登录用户 + Power_User user = (Power_User)request.getSession().getAttribute("CURRENT_USER"); + //查该登录工号绑定的科室下面的患者,且只能查在院患者 + String requestUrl =POWER_URLHEAD + "/ssoLogin/getUser?userName="+user.getUserName(); + JSONObject obj = HttpClientUtils.httpGet(requestUrl); + if(obj!=null) { + archiveMasterVo.setDeptName(obj.getString("deptCode")); + } + //查询 + List list = selectByColumn(offset, limit,archiveMasterVo,request); + return new OffsetLimitPage((Page) list); + } + + @Override + public List getDoctorInCharge(Archive_Master record,HttpServletRequest request)throws Exception { + //设置登录用户 + Power_User user = (Power_User)request.getSession().getAttribute("CURRENT_USER"); + //查该登录工号绑定的科室下面的患者,且只能查在院患者 + String requestUrl =POWER_URLHEAD + "/ssoLogin/getUser?userName="+user.getUserName(); + //List userList = commomService.getUserList(); + JSONObject obj = HttpClientUtils.httpGet(requestUrl); + if(obj!=null) { + record.setDeptName(obj.getString("deptCode")); + } + List returnList=archiveMasterMapper.getDoctorInCharge(record); + /*//替换姓名 + for (Archive_Master archiveMasterList : returnList) { + if (!CollectionUtils.isEmpty(userList)) { + //转换姓名 + String userName = archiveMasterList.getDoctorInCharge(); + for (User userDetail : userList) { + if (StringUtils.isNotBlank(userName) && userName.equals(userDetail.getUserName())) { + archiveMasterList.setDoctorInCharge(userDetail.getName()); + break; + } + } + } + }*/ + return archiveMasterMapper.getDoctorInCharge(record); + } + /** * //循环遍历list集合判断是否完整,完整isCheck赋值1,且批量更新LockInfo字段为完整 * @param list @@ -266,13 +319,14 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { if(null != offset && null != limit) { PageHelper.offsetPage(offset, limit); } - list = archiveMasterMapper.selectByColumn(archiveMasterVo); + archiveMasterVo.setIsSuccess(null); + list = archiveMasterMapper.selectMasterByColumn(archiveMasterVo); //组织完整性字段并完整的更新archive_master表的完整性字段值为完整LockInfo='完整' //updateMasterBySuccess(list); //转换科室与赋值超期天数 - selectByColumnChange(list); + // selectByColumnChange(list); //根据状态code转换状态及判断显示按钮 - if(null != list && !list.isEmpty()){ + /*if(null != list && !list.isEmpty()){ //查询流转角色集合 List flowRoles = flowRoleMapper.selectAll(); //计算属于哪种审核角色 @@ -299,7 +353,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { } } } - } + }*/ return list; } @@ -1278,6 +1332,18 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { public String selectLockInfoByMasterId(String archiveDetailId) { return null; }*/ + @Override + public String selectAssortIdsByMasterId(String masterId) { + //按masterId分组查询需要已采集的分类集合 + List details = detailMapper.selectAssortIdsByMasterId(masterId.toString()); + String assortIdStr =""; + for (Archive_Detail detail : details) { + if(StringUtils.isNotBlank(detail.getAssortid())){ + assortIdStr+=detail.getAssortid()+","; + } + } + return assortIdStr; + } } diff --git a/src/main/resources/mapper/Archive_DetailMapper.xml b/src/main/resources/mapper/Archive_DetailMapper.xml index 56ff9dd..7fb9fca 100644 --- a/src/main/resources/mapper/Archive_DetailMapper.xml +++ b/src/main/resources/mapper/Archive_DetailMapper.xml @@ -422,13 +422,31 @@ INNER JOIN zd_assort ON - archive_detail.AssortID = zd_assort.assort_id AND zd_assort.is_check = 1 + archive_detail.AssortID = zd_assort.assort_id WHERE MasterID IN (${masterIds}) AND archive_detail.flag = 0 GROUP BY AssortID, MasterID + + + + select DISTINCT m.DOCTOR_IN_CHARGE from archive_master m + where 1=1 --m.ArchiveState in('归档中','初审','提交','主任退回') + + and m.ArchiveState in + + #{item} + + + + and m.dept_name in + + #{item} + + + + and m.DOCTOR_IN_CHARGE in + + #{item} + + + + + + + + + + + + + + + + +
+
+
+ + 病案浏览 + +
+
+
+ +
+ +
+
+
+ + +
+
+ + +
+
+ + +
+
+ +
+ + - + +
+
+
+ + +
+ <%--
+ +
+ + - + +
+
--%> + + +
+
+ +
+
+
+
+ +
+
+ + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/font/showRecord.jsp b/src/main/webapp/WEB-INF/views/font/showRecord.jsp index 9edbdb8..01de7c5 100644 --- a/src/main/webapp/WEB-INF/views/font/showRecord.jsp +++ b/src/main/webapp/WEB-INF/views/font/showRecord.jsp @@ -159,9 +159,9 @@ - + <%--
已打印
-
+
--%>
@@ -171,14 +171,6 @@
-
-
- -
- -
-
-
diff --git a/src/main/webapp/WEB-INF/views/font/showRecordIframe.jsp b/src/main/webapp/WEB-INF/views/font/showRecordIframe.jsp index 7e41af5..4367e9a 100644 --- a/src/main/webapp/WEB-INF/views/font/showRecordIframe.jsp +++ b/src/main/webapp/WEB-INF/views/font/showRecordIframe.jsp @@ -73,7 +73,7 @@
- +<%-- --%>
diff --git a/src/main/webapp/static/js/record/recordPage.js b/src/main/webapp/static/js/record/recordPage.js new file mode 100644 index 0000000..912a671 --- /dev/null +++ b/src/main/webapp/static/js/record/recordPage.js @@ -0,0 +1,708 @@ +var tipLoad = 1; +//列表复选框选中数组 +var selects = ''; +//定义表格内容最大高度 +var maxHeight = 0; +//出院列表 +function initTable() { + var name=$("#name").val(); + var inpNo=$("#inpNo").val(); + if (tipLoad == 1) { + $("#table").bootstrapTable({ // 对应table标签的id + url: path+"/font/getMaster", // 获取表格数据的url + uniqueId:"id", + contentType: "application/x-www-form-urlencoded",//一种编码。好像在post请求的时候需要用到。这里用的get请求,注释掉这句话也能拿到数据 + cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true + striped: true, //是否显示行间隔色 + pagination: true, // 在表格底部显示分页组件,默认false + paginationShowPageGo: true, + pageList: [10, 20, 50], // 如果设置了分页,设置可供选择的页面数据条数。设置为All 则显示所有记录。 + sidePagination: 'server', // 设置为服务器端分页 客户端:client + search: false, + showColumns: true, + toolbar: '#toolbar',//指定工具栏 + searchOnEnterKey: true, //设置为 true时,按回车触发搜索方法,否则自动触发搜索方法 + undefinedText: '---', //当数据为 undefined 时显示的字符 + singleSelect: false,//设置True 将禁止多选 + clickToSelect: true,//设置true 将在点击行时,自动选择rediobox 和 checkbox + //height: getHeight(220), //定义表格的高度。 + searchTimeOut: 500,// 默认500 设置搜索超时时间。 + toolbarAlign: 'right',// 指定 toolbar 水平方向的位置。'left' 或 'right' + paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。 + showHeader: true,//是否显示列头。 + trimOnSearch: true,//设置为 true 将自动去掉搜索字符的前后空格。 + //是否显示导出按钮 + showExport: true, + //导出表格方式(默认basic:只导出当前页的表格数据;all:导出所有数据;selected:导出选中的数据) + exportDataType: "basic", + //导出文件类型 + exportTypes: ['json', 'xml', 'csv', 'txt', 'sql', 'excel'], + exportOptions: { + fileName: document.title + }, + 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 doctorInCharge = $("#doctorInCharge").val().toString(); + var temp = { + limit: limit, //页面大小 + offset: offset, //页码 + inpNo: "" + $("#inpNo").val(), + visitId: "" + $("#visitId").val(), + userName: "" + $("#name").val(), + startDateTo: $("#startDateTo").val(), + endDateTo: $("#endDateTo").val(), + startDate: $("#startDate").val(), + endDate: $("#endDate").val(), + doctorInCharge: doctorInCharge, + }; + return temp; + }, + sortName: 'id', // 要排序的字段 + sortOrder: 'desc', // 排序规则 + columns: [{ + title: '全选', + field: 'select', //复选框 + checkbox: true, + width: 25, + align: 'center', + valign: 'middle' + }, + { + title: '住院号', + field: 'inpNo', + align: 'left', + valign: 'middle' + }, + { + title: '住院次数', + field: 'visitId', + align: 'center', + valign: 'middle' + }, + { + title: '姓名', + field: 'name', + align: 'left', + valign: 'middle' + }, + { + title: '性别', + field: 'sex', + align: 'center', + valign: 'middle' + }, + { + title: '主管医生', + field: 'doctorInCharge', + align: 'left' + }, + { + title: '入院时间', + field: 'admissionDateTime', + align: 'left', + valign: 'middle' + }, + { + title: '状态', + field: 'archivestate', + align: 'center', + valign: 'middle', + formatter: function (value, row, index) { + return '在院'; + } + }, + { + title: "操作", + align: 'left', + valign: 'middle', + formatter: function (value, row) { + var html = ""; + html += ''; + /*if (selectPower == 1) { + html += ''; + } + if (row.btns != '' && row.btns != null) { + html += row.btns; + } + if (showFlowPower == 1) { + html += '' + } + if (otherPower == 1) { + html += '' + }*/ + return html; + }, + events: { + //查看 + 'click .selInfo': function (e, value, row) { + $("#patientId").val(row.id); + $.ajax({ + type:'get', + url:path+'/font/getAssortIds', + data:{masterId:row.id}, + async:false, + dataType:'json', + success:function (data) { + if(null != data && data != ''){ + $("#assortIds").val(data.assortIds); + } + } + }) + var patientId=row.id; + //加载病案信息 + loadRecord(); + //加载iframe + $("#main").hide(); + $("#main1").hide() + $("#iframe").prop("src",path+"/font/showRecord?patientId="+patientId+"&assortIds="+$("#assortIds").val()); + + }, + //查看流程 + 'click .showFlowInfo': function (e, value, row) { + $('#showFlowInfo').modal({ + backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。 + keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。 + show: true//弹出对话框 + }); + var masterId = row.id; + var name = encodeURI(row.name); + var inpNo = row.inpNo; + var visitId = row.visitId; + var dischargeDateTime = row.dischargeDateTime; + $("#showFlowInfoIframe").prop("src",path+"/beHosp/toShowFlowInfo?id="+masterId+"&name="+name+"&inpNo="+inpNo+"&visitId="+visitId+"&dischargeDateTime="+dischargeDateTime+"&role="+$("#checker").val()); + }, + //跨科查阅 + 'click .showTransferDeptUser': function (e, value, row) { + $('#showTransferDeptUser').modal({ + backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。 + keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。 + show: true//弹出对话框 + }); + var masterId = row.id; + var deptName = row.deptName; + $("#masterId1").val(masterId); + initTree2(deptName,masterId); + }, + }, + cellStyle: function () { + return {classes: 'success'} + } + } + ], + onLoadSuccess: function () { //加载成功时执行 + $(".page-list").show(); + tipLoad = 0; + reloadTableHeight("table"); + }, + onLoadError: function () { //加载失败时执行 + tipLoad = 0 + } + }); + } +} +//查询 +$('#searchBtnFor').click(function () { + var name=$("#name").val(); + var inpNo=$("#inpNo").val(); + var visitId=$("#admissTimes").val(); + var tipLoad = 1; + if (tipLoad == 1) { + $("#table").bootstrapTable("refreshOptions", {pageNumber: 1}); + } else { + toastr.warning("正在查询,请稍等..."); + } +}); +//格式化状态 +function paramsMatter(value, row) { + var result = ''; + if(row.days > 0){ + result = '(超期)'; + } + if(value == null){ + value = ''; + } + if(result != '') { + return '

' + result + row.currentStatus + '

'; + } + return value; +} +//加载病案信息 +function loadRecord(){ + $.ajax({ + type:'get', + url:path+'/font/getRecord', + data:{masterId:$("#patientId").val()}, + async:false, + dataType:'json', + success:function (data) { + if(null != data && data != ''){ + $("#doctorInCharge").val(data.doctorInCharge); + $("#inpatientNo").val(data.inpNo); + $("#name").val(data.name); + $("#admissTimes").val(data.visitId); + $("#disDate").val(data.dischargeDateTime); + $("#disDeptName").val(data.deptName); + $("#archivestate").val(data.archivestate); + } + } + }) +} +//审核弹窗 单个审批① +function verifyInfo(role,archivestate,roleCode,masterId){ + //生成表单token,防止表单重复提交 + setFormToken(); + //赋值审批一个 + $("#approveCount").val(1); + //查询his判断医生护士是否全部提交 + var result = 1; + //result = selectHis(row); + if (result == 1) { + $('#verifyModal').modal({ + backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。 + keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。 + show: true//弹出对话框 + }); + $("#verifyText").val(""); + $("#archiveId").val(masterId); + $("#roleCode").val(roleCode); + $("#archivestate").val(archivestate); + $("#role").val(role); + } else if(result == -1){ + toastr.warning("系统出错了请联系系统管理员"); + }else { + toastr.warning("his系统医生或护士未完成提交"); + } +} +//查看退回信息 +$("#getRecallBtn").on('click', function () { + //退回信息保存 + $('#returnModal').modal({ + backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。 + keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。 + show: true//弹出对话框 + }); + $('#form2').find('input,textarea,checkbox').prop('readonly', true); + $('#returnBtn').hide(); + //根据病案号获取缺陷信息 + $.ajax({ + url: path+"/lastVerify/getDetailByArchId", + type: "POST", + data: {archiveDetailId: $("#idLab").html()}, + success: function (result) { + if (result != null) { + $("#content").val(result.content); + $("#backContent").val(result.backContent); + $("#score").val(result.score); + //缺陷类别的勾选 + if (result.assortId != null) { + var assortArr = result.assortId.split(","); + $('input[name="Fruit"]').each(function () {//遍历每一个名字为interest的复选框,其中选中的执行函数 + if ($.inArray($(this).val(), assortArr) != -1) { + $(this).attr('checked', true); + } else { + $(this).attr('checked', false); + } + }); + } + } + } + }); +}); + +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(""); + $("#deptAdmissionTo").append(""); + + } + } + $(".selectpicker").selectpicker('refresh'); + } + }); +} + +function getDoctorInCharge() { + var deptName = $("#doctorInCharge").val(); + //获取科室列表 + $.ajax({ + url: path+"/beHosp/getDoctorInCharge", + type: "POST", + data: {deptName: deptName}, + success: function (result) { + if (result != null) { + for (var i = 0; i < result.length; i++) { + if (result[i]!=null&&result[i].doctorInCharge != null) { + $("#doctorInCharge").append(""); + } + } + } + $(".selectpicker").selectpicker('refresh'); + } + }); +} + +//搜索条件需要查询审核状态的时候异步查询该审核角色拥有的code集合 +function getCurrentCodes() { + //只做一次查询赋值 + if($("#currentRoleIds").val() == ''){ + $.ajaxSettings.async = false; + $.get(path+"/beHosp/getCurrentCodes",function(data){ + $("#currentRole").val(data.code); + $("#currentRoleIds").val(data.msg); + },'json') + $.ajaxSettings.async = true; + } +} +//加载审核节点 +function getApproveRoles() { + //只做一次查询赋值 + $.get(path+"/beHosp/getFlowRole",function(data){ + if(data.code == 100){ + var flowRoles = data.extend.list; + if(null != flowRoles && flowRoles != ''){ + var html = ''; + var currentRoleIds = selectMaxInfoId($("#currentRoleIds").val()); + //获取操作角色 + var checker = $("#checker").val(); + for (var i = 0; i < flowRoles.length; i++) { + var option = ''; + var code = flowRoles[i].code; + //过滤病案室审核128和病案室召回1024且无效的对象 + if(code != '128' && code != '1024' && flowRoles[i].effective == 1){ + if(code <= 64 && code >= 2 && checker != 4){ + if(currentRoleIds != '' && currentRoleIds >= flowRoles[i].id && checker == flowRoles[i].role){ + html += option; + } + }else{ + if(checker != 4 && flowRoles[i].role != null){ + if(checker == flowRoles[i].role){ + html += option; + } + }else{ + html += option; + } + } + } + } + $("#infoId").append(html); + } + }else{ + toastr.error(data.msg); + } + },'json') +} + +//取最大的审核审核id +function selectMaxInfoId(ids){ + var temp = 0; + var idArr = ids.split(','); + for (var i = 0; i < idArr.length; i++) { + if(idArr[i] != ''){ + if(temp < idArr[i]){ + temp = idArr[i]; + } + } + } + return temp; +} + + +$(function () { + //加载权限科室 + getPowerDept(); + //赋值审核角色 + getChecker(); + //加载当前角色 + getCurrentCodes(); + //加载审核节点 + //getApproveRoles(); + //加载主管医生列表 + getDoctorInCharge(); + 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(); + } + if (index != null && index != "" && index.indexOf("upload") != -1) { + $("#uploadBtn").show(); + } else { + $("#uploadBtn").hide(); + } + if (index != null && index != "" && index.indexOf("pdf") != -1) { + $("#pdfBtn").show(); + } else { + $("#pdfBtn").hide(); + } + if (index != null && index != "" && index.indexOf("pdf2") != -1) { + $("#pdfBtn2").show(); + } else { + $("#pdfBtn2").hide(); + } + if (index != null && index != "" && index.indexOf("cancelAll") != -1) { + $("#updateStateBtn").show(); + } else { + $("#updateStateBtn").hide(); + } + if (index != null && index != "" && index.indexOf("useAll") != -1) { + $("#updateStateBtn2").show(); + } else { + $("#updateStateBtn2").hide(); + } + var deptAdmissionTo = url.substring(url.lastIndexOf('&') + 1).replace("depts=", ""); + var deptArr = deptAdmissionTo.split(','); + if (deptAdmissionTo == null || deptAdmissionTo == '' || deptArr.length > 1) { + $('#deptDiv').show(); + } else { + $('#deptDiv').hide(); + } +}); + + + +/** + * 校验完整性 + * */ +$("#checkSuccessBtn").click(function(){ + var masterId = $("#masterId").val(); + var result = checkSuccessMethod(masterId); + if(result != ''){ + $("#wzContent").text(result); + //增加完整性刷新后高亮状态 + $("#wzContent").addClass("wzContent"); + toastr.success("完整性状态已刷新"); + //刷新表格 + $('#table').bootstrapTable('updateByUniqueId', { + id: masterId, + row: { + lockinfo: result + } + }); + }else{ + toastr.warning("校验失败,校验程序未启动或出错!"); + } +}) +/*******************************跨科查询*****************************************/ +var zNodes = []; +var key2 = $("#key2"); +key2.bind("focus", focusKey2) + .bind("blur", blurKey2) + .bind("input", searchNode2); + +var opts = { + lines: 13, // The number of lines to draw |小长条的数量 + length: 20, // The length of each line |小长条的长度 + width: 5, // The line thickness |小长条的宽度 + radius: 15, // The radius of the inner circle |内环的半径长 + corners: 1, // Corner roundness (0..1) + rotate: 0, // The rotation offset |旋转角度 + direction: 1, // 1: clockwise, -1: counterclockwise |1:顺时针方向 -1:逆时针方向 + color: '#000', // #rgb or #rrggbb or array of colors |颜色 + speed: 1, // Rounds per second |每秒转多少圈 + trail: 60, // Afterglow percentage |余晖效果百分比 + shadow: false, // Whether to render a shadow |渲染阴影 + hwaccel: false, // Whether to use hardware acceleration |加速 + className: 'spinner', // The CSS class to assign to the spinner |类名spinner + zIndex: 2e9, // The z-index (defaults to 2000000000) |显示在最顶层 + top: '150px' // Top position relative to parent in px |相对父元素的top +}; +var spinner = new Spinner(opts); +//获取所有分段列表 +function initTree2(deptName,masterId) { + zNodes = [] + $.ajax({ + url: path+"/transferDeptUser/selectTranferDeptUserTree", + type: "POST", + data:{deptName:deptName,masterId:masterId}, + success: function (result) { + var rootChecked = true; + if (result != null) { + for(var ele in result){ + zNodes.push(result[ele]); + if(result[ele].checked == null){ + rootChecked = false; + } + } + } + //判断是否根节点选中 + if(rootChecked && result != null){ + zNodes.push({id: 0, parentId: 0, name: '用户列表', open: true,checked:"true"}); + }else{ + zNodes.push({id: 0, parentId: 0, name: '用户列表', open: true}); + } + $.fn.zTree.init($("#ztree2"), setting1, zNodes); + }, error: function () { + } + }); +} + + +var setting1 = { + view: { + addHoverDom: false, + removeHoverDom: false, + selectedMulti: false, + autoCancelSelected: false, + fontCss: getFontCss + }, + check: { + enable: true + }, + data: { + simpleData: { + chkStyle: "checkbox", + enable: true, + idKey: "id", + pIdKey: "parentId", + rootPId: "0" + } + }, + edit: { + enable: false + } +}; + +function focusKey2() { + var key = $("#key2"); + if (key.hasClass("empty")) { + key.removeClass("empty"); + } +} + +function blurKey2() { + var key = $("#key2"); + if (key.get(0).value === "") { + key.addClass("empty"); + } +} +function getFontCss(treeId, treeNode) { + return (!!treeNode.highlight) ? {color: "#A60000", "font-weight": "bold"} : { + color: "#333", + "font-weight": "normal" + }; +} + +/** + * 遍历树节点,将 + * 1.自身不满足搜索条件 + * 且 + * 2.其子节点不包含有满足条件的节点 + * 的节点加入到filterResult中 + * + * @param node 查询的节点 + * @param inputStr 搜索条件 + * @param filterResult 过滤的结果集 + * @return 该节点是否满足条件 + */ +function filterNodes(node, inputStr, filterResult) { + if (node != null) { + //自身是否符合搜索条件 + var selfMatch = node.name.indexOf(inputStr) > -1; + //子节点是否有满足的条件的节点 + var childMatch = false; + var children = node.children; + if (children != undefined) { + for (index in children) { + childMatch = filterNodes(children[index], inputStr, filterResult) || childMatch; + } + } + //自身不满足搜索条件 且其子节点不包含有满足条件的节点 + if (!selfMatch && !childMatch) { + filterResult.push(node); + } + return selfMatch || childMatch; + } else { + return true; + } +} +function searchNode2() { + var zTree = $.fn.zTree.getZTreeObj("ztree2"); + var value = $("#key2").val(); + if (value == "") { + //显示隐藏的节点 + var nodes = zTree.getNodesByParam("isHidden", true); + zTree.showNodes(nodes); + } else { + //显示隐藏的节点 + nodes = zTree.getNodesByParam("isHidden", true); + zTree.showNodes(nodes); + var root = zTree.getNodeByParam("level", "0"); + var hiddenNodes = new Array(); + filterNodes(root, value, hiddenNodes); + zTree.hideNodes(hiddenNodes); + } + zTree.expandAll(true); +} +//展开 +function expandAll2(num) { + var treeObj = $.fn.zTree.getZTreeObj("ztree"+num); + treeObj.expandAll(true); +} + +//收缩 +function collapseAll2(num) { + var treeObj = $.fn.zTree.getZTreeObj("ztree"+num); + treeObj.expandAll(false); +} +//保存 +$("#transferDeptUserBtn").click(function(){ + var saveNodes = []; + var zTree = $.fn.zTree.getZTreeObj("ztree2"); + var nodes=zTree.getCheckedNodes(true); + for (var i = 0; i < nodes.length; i++) { + if(nodes[i].level == 3){ + var obj = new Map(); + obj['deptCode'] = nodes[i].code; + obj['userName'] = nodes[i].realName; + obj['masterId'] = $("#masterId1").val(); + saveNodes.push(obj); + } + } + $.ajax({ + type:'post', + url:path+'/transferDeptUser/updateTransferDeptUserSet', + data:{jsonStr:JSON.stringify(saveNodes)}, + dateType:'json', + success:function(data){ + if(data.code == 100){ + toastr.success("保存成功"); + }else{ + toastr.error(data.msg); + } + } + }) +}); +//主管医生下拉框修改即查询 +function doctorOnChange(){ + //标识为按条件查询 + $("#isSearch").val(1); + if(tipLoad==0) { + $("#table").bootstrapTable("refreshOptions", {pageNumber: 1}); + }else{ + toastr.warning("正在查询,请稍等..."); + } +} \ No newline at end of file diff --git a/src/main/webapp/static/js/showRecord/showRecord.js b/src/main/webapp/static/js/showRecord/showRecord.js index 61294af..eb4d727 100644 --- a/src/main/webapp/static/js/showRecord/showRecord.js +++ b/src/main/webapp/static/js/showRecord/showRecord.js @@ -1,5 +1,9 @@ //初始化函数 $(function(){ + var patientId = parent.$("#patientId").val(); + var assortIds = parent.$("#assortIds").val(); + $("#patientId").val(patientId) + $("#assortIds").val(assortIds) //加载病案信息 loadRecord(); //加载iframe @@ -23,6 +27,7 @@ function loadRecord(){ $("#disDate").val(data.dischargeDateTime); $("#disDeptName").val(data.deptName); $("#archivestate").val(data.archivestate); + $("#accountNumber").val(data.patientId); } } })