123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 |
- require("../css/qcScore.less");
- const $ = require('jquery');
- require('jquery-templates');
- require('./modal.js');
- const {api,post,getUrlArgObject,setBoxHeight} = require('./utils.js');
- const {keyMaps} = require('./maps.js');
- const {wardRound,preoperation,summary,operationRecord,applicationForm,resultForm,consultationNote,difficultRecord} = require("./qcScore_byll.js")
- //本页全局变量
- let global_flawData = {}; //缺陷数据
- const global_id=getUrlArgObject("id");
- const global_age = getUrlArgObject("age");
- let global_activeTab=$(".sub-menu .page.active").attr("code"); //当前激活菜单项
- $(function(){
- //getSubMenu();
- //initScoreItem();
- getRecordDetail();
- function initMenu(data){
- //菜单数据填充
- $("#subMenuTmpl").tmpl(data).appendTo("#subMenu");
- //菜单收起展开
- $(".list-1").on("click",function(){
- $(".list-1 .slide-up").removeClass('slide-up');
- $(this).toggleClass('slide-up');
- $(this).find("ul").slideToggle();
- });
- $(".list-1 li").on("click",function(e){
- e.stopPropagation();
- });
- //右侧内容切换
- $(".page").on("click",function(){
- //选中样式
- $(".sub-menu .active").removeClass('active');
- $(this).addClass("active");
- //显示对应内容
- const code=$(this).attr("code");
- global_activeTab=code;
- $(".content-item,.flaw-item").hide();
- $(".content-item[code='"+code+"']").show();
- showFlawList();
- });
- }
- //获取病例明细
- function getRecordDetail(){
- post(api.getRecordDetail,{'behospitalCode':global_id}).then(function(res){
- if(res.data.code==='0'){
- const data = res.data.data;
- const {beHospital,result,msg} = data;
- const info=Object.assign(beHospital,result);
- initMenu(JSON.parse(result.menuData));
- $(".sub-menu>ul>li:first-child.page").addClass("active");
- global_activeTab=$(".sub-menu .page.active").attr("code");
- initPatientInfo(info);
- initContent(result.pageData);
- setBoxHeight();
- initScoreItem(msg);
- global_flawData=msg;
- let obj = JSON.parse(result.pageData)
- wardRound(obj['查房记录'],'查房记录')
- preoperation(obj['术前讨论、术前小结'],'术前讨论、术前小结')
- summary(obj['阶段小结'],'阶段小结')
- operationRecord(obj['手术记录'],'手术记录')
- applicationForm(obj['会诊申请单'],'会诊申请单')
- resultForm(obj['会诊结果单'],'会诊结果单')
- consultationNote(obj['会诊记录'],'会诊记录')
- difficultRecord(obj['疑难病例讨论记录'],'疑难病例讨论记录')
- }
- });
- }
- //填充患者信息
- function initPatientInfo(data){
- const date = data.birthday.substr(0,10);
- const age=new Date(date).getTime()/(365*24*60*60*1000);
- const obj=Object.assign({},data,{age:global_age});
- $("#infoTmpl").tmpl(obj).appendTo("#patientInfo");
- }
- //显示病例模块明细
- function initContent(data){
- const obj = JSON.parse(data);
- let info=[];
- let nameMap={
- "入院记录":"#inHisTmpl",
- "出院小结":"#outHisTmpl",
- "病案首页":"#indexTmpl",
- "手术知情同意书":"#surgeryBookTmpl",
- "首次病程录":"#firstCourseTmpl",
- "病危通知书":"#illnessNoticeTmpl",
- "术后首次病程及谈话记录":"#surgeryAfRecord",
- "危急值记录":"#dangerRecore",
- };
- for(let k in obj){
- for(let i in obj[k]){
- info=formatInfoData(k,obj[k][i]);
- nameMap[k]&&$(nameMap[k]).tmpl(info).appendTo("#contentInfo");
- }
- }
- if(obj["病案首页"][0]["出院诊断"]){
- const diag = JSON.parse(obj["病案首页"][0]["出院诊断"]);
- $("#tableTmpl").tmpl({k:"出院诊断",data:diag}).appendTo("#diagTable");
- }
- if(obj["病案首页"][0]["手术信息"]){
- const diag = JSON.parse(obj["病案首页"][0]["手术信息"]);
- $("#tableTmpl").tmpl({k:"手术信息",data:diag}).appendTo("#surgeryTable");
- }
- $(".content-item[code="+global_activeTab+"]").show();
- console.log(obj)
- }
- function formatInfoData(k,data){
- let obj = {},name="";
- for(let i in data){
- name=i.replace(/[^\u4e00-\u9fa5|a-zA-Z0-9]+/g,""); //过滤key中存在的特殊符号,模板会渲染不出来且不报错
- obj[name]=data[i]||"";
- }
- return Object.assign({title:k},obj);
- }
- /*function formatData(data,title){
- if(!keyMaps[title]){
- return data;
- }
- const keyArr=Object.keys(keyMaps[title]);
- let obj={};
- keyArr.map((k)=>{
- obj[keyMaps[title][k]]=data[0][k]||"";
- });
- const obj1=Object.assign({},obj,data[0]);
- return [obj1];
- }*/
- //评分项数据填充
- function initScoreItem(data){
- $("#flaws .flaw-box").html("");
- for(let k in data){
- $("#flawTmpl").tmpl(data[k]).appendTo("#flaws .flaw-box");
- }
- showFlawList();
- $(".flaw-item .oper a").click(function () {
- const i = $(".flaw-item[code="+global_activeTab+"]").index($(this).parents(".flaw-item"));
- const code=$(this).attr("code");
- const isEdit = $(this).is(".edit-flaw");
- showModal(isEdit?'0':'1',code,i);
- })
- }
- //显示缺陷列表
- function showFlawList(){
- const hml = $(".flaw-item[code="+global_activeTab+"]");
- if(hml.length){
- hml.show();
- $("#flaws .empty").hide();
- }else{
- $("#flaws .empty").length?$("#flaws .empty").show():$("#emptyTmpl").tmpl().appendTo("#flaws .flaw-box");
- }
- }
- //删除评分项
- function delScore(id){
- const param={
- 'behospitalCode':global_id,
- 'optResultAlgVO':{
- 'id':id
- }
- };
- post(api.delScore,param).then(function(res){
- if(res.data.code==='0'){
- $("#delModal").hide();
- updateFlaws(res.data.data);
- $.alerModal({"message":"删除成功",type:"tip",time:'1000'});
- }
- });
- }
- //修改评分项
- function editScore(info){
- const param={
- "behospitalCode": global_id,
- "optResultAlgVO": info
- };
- post(api.editScore,param).then(function(res){
- if(res.data.code==='0'){
- $("#delModal").hide();
- updateFlaws(res.data.data);
- $.alerModal({"message":"修改成功",type:"tip",time:'1000'});
- }
- });
- }
- //显示删除/修改弹窗
- function showModal(flag,code,i){
- $("#delModal .modal-body").html("");
- $("#delModal").show();
- //事件解绑
- $("#delModal .confirm").off("click");
- $("#qcScore,#qcMsg").off("input");
- const info = global_flawData[global_activeTab][i];
- if(flag==='0'){ //修改
- $("#delModal .title").text("修改评分");
- $("#editTmpl").tmpl(info).appendTo("#delModal .modal-body");
- //分数输入验证
- $("#qcScore").on("input",function(){
- const val=$(this).val();
- if(/^[0-9]\d*$|^[0-9]\d*(.\d)?$/.test(val)){
- $(".edit-box .warning").hide();
- }else{
- $(".edit-box .warning .red").text("支持≥0的数字输入,最多保留小数点后1位~");
- $(".edit-box .warning").show();
- }
- });
- //提示信息输入验证
- $("#qcMsg").on("input",function(){
- const val=$(this).val();
- if(val.trim()){
- $(".edit-box .warning").hide();
- }else{
- $(".edit-box .warning .red").text("提示信息不能为空~");
- $(".edit-box .warning").show();
- }
- });
- $("#delModal .confirm").click(function(){
- if($(".edit-box .warning").is(":visible")){
- return;
- }
- const obj = Object.assign({},info,{msg:$("#delModal #qcMsg").val(),score:$("#delModal #qcScore").val()});
- editScore(obj);
- });
- }else{
- $("#delModal .title").text("删除评分");
- $("#delModal .modal-body").html('<p>确定要删除该评分记录吗?</p>');
- $("#delModal .confirm").click(function(){
- delScore(code,info);
- });
- }
- }
- //更新缺陷列表
- function updateFlaws(info){
- $("#patientInfo .level").text("质控等级:"+info.level);
- $("#patientInfo .score").text("质控得分:"+info.scoreRes);
- const param = {
- 'behospitalCode':global_id,
- 'paramStr':[
- "msg"
- ]
- };
- post(api.getRecordDetail,param).then(function(res){
- if(res.data.code==='0'){
- const data = res.data.data;
- const {msg} = data;
- initScoreItem(msg);
- global_flawData=msg;
- }
- });
- }
- });
|