require("../css/qcScore.less"); const $ = require('jquery'); require('jquery-templates'); require('./modal.js'); const { post, post1, getUrlArgObject, setBoxHeight, getCookie, getLocal, initScroll } = require('./utils.js'); const { api, ywCheckApi } = require('./api.js'); const axios = require("axios") let checkOk = require('./../images/checkOk.png') const loadingImg = require("./../images/loading.gif") const adLogo = require("../images/adlogo.png"); const { resolve, reject } = require("bluebird"); if (localStorage.getItem('toLogin') === '1') { window.location.href = '../login.html'; } /** *data_type:存储的是对缺陷总览页面的缺陷总览和控费缺陷两个子页面操作时, *停留在哪个页面,2表示为缺陷总览子页面,1表示控费缺陷子页面, *点击侧边菜单栏data_type会重置为2 * */ let data_type = 2 $(function () { const hideLogo = getUrlArgObject("hideLg"); if (hideLogo) { $(".sub-menu .logo img,.copy-right").remove(); $(".menu-mini .logo").text(""); } const otherLogo = getUrlArgObject("adLg"); if (otherLogo) { $(".logo img").attr("src", adLogo); $(".menu-mini .logo").text("艾登"); $(".copy-right").remove(); } //本页全局变量 let global_flawData = {}; //缺陷数据 let global_flawDataPay = {}; //缺陷数据 const global_id = getUrlArgObject("id"); const global_hid = getUrlArgObject("hid"); let global_check; let global_check_home, global_check_show, check_Operation_WithAppeal; let global_entryName, global_casesEntryId const global_code = getUrlArgObject("code"); let global_activeTab = $(".sub-menu .page.active").attr("code"); //当前激活菜单项 let global_modules = {}; //模板数据缓存 let global_flaws = []; //缺陷条目列表缓存 let global_selectedFlaw = {}; //新增时选中的条目信息 let isPlacefile = getCookie('isPlacefile') let global_diagList let global_operaList getAllModules(); let showCheckBtns = global_code === "YH-ZKHC-HCRWLB"; window.document.title = (showCheckBtns ? "质控核查-" : "质控评分-") + getUrlArgObject("name"); let hasAu5 = isPlacefile == 0 ? true : showCheckBtns && hasData('FUNC000011'); //新增缺陷权限 // 缺陷总览 权限全开 if (global_code === "YH-BLZK-ZKPF") { hasAu5 = true } if (hasAu5) { $(".add-flaw").click(function () { getQcCasesEntry(); }); } $("body").on("click", ".refreshBtn", function () { supplementData() }); function showAppealDetailEvent() { //申诉状态点击事件 $(".flaw-item").off("click").on("click", ".title .btn", function () { showModal("5", $(this).attr("data_id"), $(this).attr("data_type"), $(this).attr("data_casesEntryId"), $(this).attr("data_qcresultDetailId")); }); } function initMenu(data) { const menu = [{ id: 0, name: "缺陷总览", parentId: -1, sonMode: [] }, ...(data || [])]; //菜单数据填充 $("#subMenuTmpl").tmpl(menu).appendTo("#subMenu"); $("#miniMenuTmpl").tmpl(menu).appendTo(".menu-mini ul"); //菜单收起展开 $(document).on("click", ".sub-menu .list-1", function () { $(".sub-menu .list-1 .slide-up").removeClass('slide-up'); $(this).toggleClass('slide-up'); $(this).find("ul").slideToggle(); // setTimeout(function(){ // initScroll("subMenu","Y",2) // },300) }); $(".sub-menu .list-1 li").on("click", function (e) { e.stopPropagation(); }); //收起菜单 $(".slide-show").click(function () { $(".sub-menu,.copy-right").animate({ "width": "60px" }, function () { $(this).hide(); $(".menu-mini").show(); }); $(".tab-container").animate({ "margin-left": "60px" }); }); //展开菜单 $(".slide-hide").click(function () { $(".menu-mini").hide(); $(".sub-menu,.copy-right").show().animate({ "width": "220px" }, function () { }); $(".tab-container").animate({ "margin-left": "220px" }); }); //右侧内容切换 $(".page").on("click", function () { data_type = 2 $(".info-item .cont,.flaw-item,td").removeClass("active"); //清空缺陷定位背景 const title = $(this).attr("code"); if (title == '缺陷总览' || !global_check_show) { //质控核查页进来隐藏原核查按钮 $(".check,.ywCheck").css('display', 'none') }/*else if(title == '病案首页'){ if(showCheckBtns){ $(".ywCheck").show(); }else{ $(".check").css('display','block').text(global_check_home==1?'重新核查':'病案首页核查') } }*/else { if (showCheckBtns) { $(".ywCheck").show(); } else { $(".check").css('display', 'block').text(global_check == 1 ? '重新核查' : '病历核查') } } if (title === "缺陷总览" || title === "谈话告知书" || title === "知情同意书" || title === '医嘱信息' || title === '检验信息' || title === '检查信息' || title === '护理信息' || title === '其他信息') { if (title === "缺陷总览") { getRecordDetailUpdate() } $(".flaw-table .page-item").hide(); $(".flaw-table,.flaw-table .page-item[code=" + title + "]").show(); } else { $(".flaw-table").hide(); } iframeShow(title) //选中样式 $(".sub-menu .active,.menu-mini .active").removeClass('active'); const mItems = $(".sub-menu .page[code=" + title + "],.menu-mini .page[code=" + title + "]"); mItems.addClass("active"); mItems.parents(".list-1").addClass("active"); //显示对应内容 const code = $(this).attr("code"); global_activeTab = code; //initModuleData(); $(".content-item,.flaw-item").hide(); $(".content-item[code='" + code + "']").show(); showFlawList(); $("#contentInfo").scrollTop(0) }); // initScroll("subMenu","Y",2) } function iframeShow(title) { if (title === '医嘱信息') { $("#pacsIframeIn,#assistIframeIn,#pacsDetailIframeIn,#contentNursing,#contentOther").css("display", "none") $("#contentIframeIn").css({ display: 'block' }).attr("src", 'advice.html').contents().find(".adviceWrp").height(window.innerHeight - $("#patientInfo").height() - 20 + 'px') $(window).resize(function () { $("#contentIframeIn").contents().find(".adviceWrp").height(window.innerHeight - $("#patientInfo").height() - 20 + 'px') }); } else if (title === '检验信息') { $("#contentIframeIn,#assistIframeIn,#pacsDetailIframeIn,#contentNursing,#contentOther").css("display", "none") $("#pacsIframeIn").css({ display: 'block' }).attr("src", 'pacs.html').contents().find(".pacsWrp").height(window.innerHeight - $("#patientInfo").height() - 20 + 'px') $(window).resize(function () { $("#pacsIframeIn").contents().find(".pacsWrp").height(window.innerHeight - $("#patientInfo").height() - 20 + 'px') }); } else if (title === '检查信息') { $("#contentIframeIn,#pacsIframeIn,#pacsDetailIframeIn,#contentNursing,#contentOther").css("display", "none") $("#assistIframeIn").css({ display: 'block' }).attr("src", 'assist.html').contents().find(".assistWrp").height(window.innerHeight - $("#patientInfo").height() - 20 + 'px') $(window).resize(function () { $("#assistIframeIn").contents().find(".assistWrp").height(window.innerHeight - $("#patientInfo").height() - 20 + 'px') }); } else if (title === '护理信息') { $("#pacsIframeIn,#assistIframeIn,#pacsDetailIframeIn,#contentIframeIn,#contentOther").css("display", "none") $("#contentNursing").css({ display: 'block' }).attr("src", 'nursing.html').contents().find(".nursingWrp").height(window.innerHeight - $("#patientInfo").height() - 20 + 'px') $(window).resize(function () { $("#contentNursing").contents().find(".nursingWrp").height(window.innerHeight - $("#patientInfo").height() - 20 + 'px') }); } else if (title === '其他信息') { $("#pacsIframeIn,#assistIframeIn,#pacsDetailIframeIn,#contentIframeIn,#contentNursing").css("display", "none") $("#contentOther").css({ display: 'block' }).attr("src", 'other.html').contents().find(".otherWrp").height(window.innerHeight - $("#patientInfo").height() - 20 + 'px') $(window).resize(function () { $("#contentOther").contents().find(".otherWrp").height(window.innerHeight - $("#patientInfo").height() - 20 + 'px') }); } else { $("#contentIframeIn,#pacsIframeIn,#pacsDetailIframeIn,#assistIframeIn,#contentNursing,#contentOther").css({ display: 'none' }) } } //判断有无某一权限 function hasData(data) { return true let trdObj = JSON.parse(getLocal("trdObj")) let lis = trdObj[global_code] if (!lis) { return false } if (lis.indexOf(data) > -1) {//有权限 return true } return false; } //获取病例明细 function getRecordDetail(type) { post(api.getRecordDetail, { 'behospitalCode': global_id }).then(function (res) { if (res.data.code === '0') { const data = res.data.data; const { beHospital, result, msg, checkStatus, drgs, mrStatus, checkShow, checkOperationWithAppeal } = data; global_check = checkStatus global_check_home = mrStatus global_check_show = checkShow;//0隐藏操作按钮1显示 check_Operation_WithAppeal = checkOperationWithAppeal; const info = Object.assign(beHospital, result); initMenu(JSON.parse(result.menuData)); // $(".sub-menu>ul>li:first-child.page,.menu-mini>ul>li:first-child.page").addClass("active"); $(".subMenu >li:first-child.page,.menu-mini>ul>li:first-child.page").addClass("active"); global_activeTab = $(".sub-menu .page.active").attr("code"); $(".operation").show() initPatientInfo(info); initContent(result.pageData, 2); initList(msg); initScoreItem(msg); global_flawData = msg; global_flawDataPay = drgs; const pageData = JSON.parse(result.pageData) const list2 = pageData.病案首页 const diagList = JSON.parse(list2[0].出院诊断) const operaList = JSON.parse(list2[0].手术信息) console.log("diagList", diagList) console.log("operaList", operaList); global_diagList = diagList; global_operaList = operaList; setBoxHeight(); changePay() } else { $.alerModal({ "message": '接口出错', type: "tip", time: '1000', isFather: true, win: 'default', fatherWrapper: $("#mainBox", parent.document) }); } }).catch(() => { $.alerModal({ "message": '接口出错', type: "tip", time: '1000', isFather: true, win: 'default', fatherWrapper: $("#mainBox", parent.document) }); }); } function getRecordDetailUpdate() { post(api.getRecordDetail, { 'behospitalCode': global_id }).then(function (res) { if (res.data.code === '0') { const data = res.data.data; const { beHospital, result, msg, checkStatus, drgs } = data; // global_check = checkStatus // const info=Object.assign(beHospital,result); // initMenu(JSON.parse(result.menuData)); // $(".subMenu >li:first-child.page,.menu-mini>ul>li:first-child.page").addClass("active"); // global_activeTab=$(".sub-menu .page.active").attr("code"); // initPatientInfo(info); // initContent(result.pageData); initList(msg); initScoreItem(msg); global_flawData = msg; global_flawDataPay = drgs; // setBoxHeight(); // changePay() } }); } //补录数据,接口来自技术服务部 function supplementData() { //重新拉数据接口 post(api.supplementData, { 'behospitalCode': global_id, 'behospitalNum': '' }).then(function (res) { const { code, data } = res.data; if (code === '0') { if (data === '0') { //0表示数据已更新,-1表示数据未更新 //数据更新后先评分(评分成功后)再重新获取详情即刷新页面 recordScore(); } else { $.alerModal({ "message": '刷新失败,请重试~', type: "tip", time: '1000', isFather: true, win: 'default', fatherWrapper: $("#mainBox", parent.document) }); } } else { $.alerModal({ "message": '刷新失败,请重试~', type: "tip", time: '1000', isFather: true, win: 'default', fatherWrapper: $("#mainBox", parent.document) }); } }); } function loading() { const str = `
loading
` $("body", parent.document).append(str) } function hideLoading() { $(".loadingBox", parent.document).remove() } //评分 function recordScore() { const param = { behospitalCode: global_id }; loading(); post(api.recordScore, param).then(res => { if (res.data.code === '0') { hideLoading(); //评分成功,刷新病历详情页面 window.parent.location.reload() } else { hideLoading() $.alerModal({ "message": res.data.msg || '刷新失败,请重试~', type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) }); } }).catch(() => { hideLoading() $.alerModal({ "message": '刷新失败,请重试~', type: "tip", win: 'default', time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) }); }) } function changePay() { $(document).on('click', ".titleSpecial span", function () { let type = $(this).attr("data-type") // window.localStorage.setItem("data_type", type) data_type = Number(type) if (type == 1) { initList(global_flawDataPay, type); } else { initList(global_flawData, type); } }) } //填充患者信息 function initPatientInfo(data) { const obj = Object.assign({}, data, { showCheckBtns, checkState: global_check, checkStateHome: global_check_home }); $("#infoTmpl").tmpl(obj).appendTo("#patientInfo"); /*$(".check").on("click", function(){ checkQc() })*/ $(".ywCheck").on("click", function () { checkYwQc() }) } //显示病例模块明细 function initContent(data, type) { const obj = JSON.parse(data); let info = []; let hml = '', moduleId = ''; if (type == 2) { formatSpecPage(obj["谈话告知书"], "谈话告知书"); formatSpecPage(obj["知情同意书"], "知情同意书"); } // formatSpecPage(obj["医嘱信息"],"医嘱信息"); $(".content-box").show(); for (let k in obj) { if (k === "谈话告知书" || k === "知情同意书") { continue; } for (let i in obj[k]) { info = formatInfoData(k, obj[k][i]); moduleId = info.mode_id; if (global_modules[moduleId]) { hml = initModuleData(moduleId, obj[k]); // hml:模板 info:数据。 $.tmpl(hml, info).appendTo("#contentInfo"); } else { const icon = require("../images/empty1.png"); const sid = moduleId ? "(" + moduleId + ")" : ""; const code = k.replace(/[^\u4e00-\u9fa5|a-zA-Z0-9]+/g, ''); const emptyStr = `
空

暂无信息~

`; if (!$(".content-item[code=" + code + "] .empty").length) { //显示一条空提示即可 hml = '
' + '

' + k + sid + '

' + emptyStr + '
'; $.tmpl(hml, {}).appendTo("#contentInfo"); } } } } $(".content-item[code=" + global_activeTab + "]").show(); //console.log(obj) } function formatInfoData(k, data) { let obj = {}, name = ""; for (let i in data) { if (i !== "mode_id") { name = i.replace(/[^\u4e00-\u9fa5|a-zA-Z0-9]+/g, "").replace(/^[0-9]+/, "a"); //过滤key中存在的特殊符号,模板会渲染不出来且不报错 obj[name] = data[i].replace(/\n/g, "
") || ""; } else { obj[i] = data[i].replace(/\n/g, "
") || ""; } } return Object.assign({ title: k }, obj); } //知情同意书、谈话告知书 function formatSpecPage(data, title, type) { $(".page-item[code='缺陷总览']").remove() // $(".flaw-table").html("") let hasAu = isPlacefile == 0 ? true : showCheckBtns && global_check_show && hasData('FUNC000013'); //修改缺陷权限 let hasAu2 = isPlacefile == 0 ? true : showCheckBtns && global_check_show && hasData('FUNC000012'); //删除缺陷权限 // let hasAu4 = isPlacefile == 0 ? true : check_Operation_WithAppeal && showCheckBtns && global_check_show // let hasAu3 = check_Operation_WithAppeal // 缺陷总览 权限全开 if (global_code === "YH-BLZK-ZKPF") { hasAu = true hasAu2 = true } // console.log("hasAu3:", check_Operation_WithAppeal) $("#appointBookTmpl").tmpl({ title, data, hasAu, hasAu2 }).appendTo(".flaw-table"); // 防止页面数据更新时,页面不显示 $(".page-item[code='缺陷总览']").css("display", "block") setBoxHeight(); // console.log("data:", data) // 操作列: 修改,恢复和编辑 $(".scroll-table .oper a").unbind("click").click(function () { // 获取当前操作的类型,当前分为:病案首页,入院记录和出院小结等 let opType_old = $(this).parents("tr").attr("code"); // 剔除掉opType_old的特殊符号 let opType_new = opType_old.replace(/[^\u4e00-\u9fa5|a-zA-Z0-9]+/g, "") // 获取当前这条记录在同类型里的索引 const i = $(`.scroll-table tr[code= '${opType_old}' ]`).index($(this).parents("tr")) //获取当前记录的ID const code = $(this).attr("code"); // 查看是否点击的是编辑 const isEdit = $(this).is(".edit-flaw"); //if(!hasAu)return // 由于弹窗的数据填充的是由当前菜单决定的,需要修改global_activeTab为当前操作类型 global_activeTab = opType_new if (isEdit && hasAu) { showModal('0', code, i); //编辑 } else if (!isEdit && hasAu2) { if ($(this).is(".recover-flaw")) { showModal('3', code, i); //恢复 // } else { showModal('1', code, i); //删除 } } // 防止影响菜单,重新激活菜单项 global_activeTab = $(".sub-menu .page.active").attr("code"); }) $(".page-anchor").on("click", function () { const code = $(this).attr("code"); const pCode = $(this).parents("tr").attr("code").replace(/[^\u4e00-\u9fa5|a-zA-Z0-9]+/g, ''); //菜单同步状态 $(".sub-menu .page[code=" + pCode + "]").parents(".list-1").click(); $(".sub-menu .page[code=" + pCode + "],.menu-mini .page[code=" + pCode + "").click(); //缺陷定位 $(".info-item .cont,.flaw-item,td").removeClass("active"); const flawItem = $(".flaw-item .title a[code=" + code + "]"); if (!flawItem.length) { $.alerModal({ "message": '模块数据缺失~', type: "tip", time: '1000', isFather: true, fatherWrapper: $(".flaw-table", parent.document) }); return; } $(".flaw-item .title a[code=" + code + "]").click(); const anch = $(".flaw-item .title a[code=" + code + "]").attr("href"); if ($(anch)[0]) { $('#contentInfo').scrollTop($(anch).offset().top - 60); } }); if (global_activeTab == "缺陷总览") { $(".check").css("display", "none") } else { $(".check").css("display", "block") } if (type && type == 1) { $(".titleNo").css({ 'background-color': '#00A1FF', 'color': '#fff', 'border-color': '#00A1FF' }) $(".titlePay").css({ 'background-color': '#fff', 'border': '1px solid #777', 'border-right': 0, 'color': '#777' }) setBoxHeight() } else if (type && type == 2) { $(".titleNo").css({ 'background-color': '#fff', 'border': '1px solid #777', 'border-left': 0, 'color': '#777' }) $(".titlePay").css({ 'background-color': '#00A1FF', 'color': '#fff', 'border-color': '#00A1FF' }) setBoxHeight() } } function initList(data, type) { //$("#flawTotalList").tmpl({title:"缺陷总览",data:data}).appendTo(".flaw-table"); formatSpecPage(data, "缺陷总览", type); $(".flaw-table").show(); $(".flaw-table .page-item[code=" + global_activeTab + "]").show(); $(".slide-up").off("click").on("click", function () { const name = $(this).text(); $("tr[code='" + name + "']").slideToggle(); $(this).toggleClass("down"); }); } //评分项数据填充 function initScoreItem(data) { $("#flaws .flaw-box").html(""); // console.log(showCheckBtns, 11122); let hasAu = isPlacefile == 0 ? true : showCheckBtns && global_check_show && hasData('FUNC000013'); //修改缺陷权限 let hasAu2 = isPlacefile == 0 ? true : showCheckBtns && global_check_show && hasData('FUNC000012'); //删除缺陷权限 let hasAu4 = isPlacefile == 0 ? true : check_Operation_WithAppeal && showCheckBtns && global_check_show //显示新增的权限 let hasAu3 = check_Operation_WithAppeal // let hasAu4 = showCheckBtns && hasData('FUNC000011'); //新增缺陷权限 // 缺陷总览 权限全开 if (global_code === "YH-BLZK-ZKPF") { hasAu = true hasAu2 = true hasAu3 = true hasAu4 = true } for (let k in data) { for (let i = 0; i < data[k].length; i++) { let item = data[k][i]; item.hasAu3 = hasAu3 } $("#flawTmpl").tmpl(data[k]).appendTo("#flaws .flaw-box"); } showFlawList(); $(".flaw-item .oper a").unbind("click").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"); // console.log("global_activeTab:", global_activeTab) //if(!hasAu)return if (isEdit && hasAu) { showModal('0', code, i); //编辑 } else if (!isEdit && hasAu2) { if ($(this).is(".recover-flaw")) { showModal('3', code, i); //恢复 } else { showModal('1', code, i); //删除 } } }) $(".edit-flaw").css({ "display": hasAu ? "inline" : "none" }); $(".del-flaw").css({ "display": hasAu2 ? "inline" : "none" }); $(".add-flaw").css({ "display": hasAu4 ? "inline" : "none" }); $(".recover-flaw").css({ "display": hasAu2 ? "inline" : "none" }); $(".flaw-item .title a[href]").unbind("click").click(function () { const id = $(this).attr("href"); const anchors = $(this).attr("anchors").split(","); let ans = anchors.map((it) => { return "#anchor" + it; }); $(".info-item .cont,.flaw-item,td").removeClass("active"); $(ans.join(",")).addClass("active"); $(this).parents(".flaw-item").addClass("active"); }); } //显示缺陷列表 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"); } showAppealDetailEvent(); } //删除评分项 function delScore(id, info, isRecover) { const text = isRecover ? "恢复" : "删除"; const param = { 'behospitalCode': global_id, 'optResultAlgVO': { 'id': id }, 'delStatus': isRecover ? 1 : 0 }; post(api.delScore, param).then(function (res) { if (res.data.code === '0') { $("#delModal").hide(); updateFlaws(res.data.data); $("#anchor" + info.pageKeyList[0]).removeClass("active"); $.alerModal({ "message": text + "成功", type: "tip", time: '1000', win: true }); } else { $.alerModal({ "message": res.data.msg || (text + '失败,请重试~'), type: "tip", time: '1000', win: 'default' }); } }).catch(() => { $.alerModal({ "message": text + '失败,请重试~', type: "tip", time: '1000', win: 'default' }); }); } //修改评分项 function editScore(info) { info.reviewer = info.exampleDate > info.gmtModified ? info.reviewer : info.linkman info.exampleDate = info.exampleDate > info.gmtModified ? info.exampleDate : info.gmtModified 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', win: true }); } else { $.alerModal({ "message": '修改失败,请重试~', type: "tip", time: '1000', isFather: true, win: 'default', fatherWrapper: $("#mainBox", parent.document) }); } }).catch(() => { $.alerModal({ "message": '修改失败,请重试~', type: "tip", time: '1000', isFather: true, win: 'default', fatherWrapper: $("#mainBox", parent.document) }); }); } //添加评分项 function addScore(info) { const optResultAlgVO = { "casesEntryId": info.casesEntryId, "casesId": info.casesId, "casesScore": info.caseScore, "code": info.code || "", "id": info.id || "", "info": info.info || "", "isReject": info.isReject, "msg": info.msg || "", "score": info.score, "explainInfo": info.explainInfo, } const param = { "behospitalCode": global_id, "optResultAlgVO": optResultAlgVO }; post(api.addScore, param).then(function (res) { if (res.data.code === '0') { $("#delModal").hide(); updateFlaws(res.data.data); $.alerModal({ "message": "添加成功", type: "tip", win: true, time: '1000' }); } else { $.alerModal({ "message": "添加失败,请重试~", type: "tip", win: 'default', time: '1000' }); } }).catch(() => { $.alerModal({ "message": "添加失败,请重试~", type: "tip", win: 'default', time: '1000' }); }); } //显示删除/修改弹窗 function showModal(flag, code, i, id, qcresultDetailId) { // console.log(flag); $("#delModal .modal-body").html(""); $("#delModal").show(); $("#delModal .cancel").text("关闭") $("#delModal .cancel").hide(); $(".info-item .cont,.flaw-item .title,td").removeClass("active"); //事件解绑 $("#delModal .confirm").off("click"); let flawsList if (data_type === 2) { flawsList = formatFlawKeys(global_flawData) } else { flawsList = formatFlawKeys(global_flawDataPay) } // console.log("flawsList:", flawsList) const info = flawsList[global_activeTab] && flawsList[global_activeTab][i]; if (flag === '0') { //修改 $("#delModal .confirm").show() $("#delModal .title").text("修改"); $("#delModal .confirm").text("保存"); $("#editTmpl").tmpl(info).appendTo("#delModal .modal-body"); $("#qcScore,#qcMsg,#qcInfo").off("input"); //分数输入验证 $("#qcScore").on("input", function () { const val = $(this).val(); if (/^[0-9]\d*$|^[0-9]\d*(.\d)?$/.test(val) && val <= 100) { $(".edit-box .warning").hide(); } else { $(".edit-box .warning .red").text("支持≥0且≤100的数字输入,最多保留小数点后1位~"); $(".edit-box .warning").show(); } }); //提示信息输入验证 $("#qcMsg").on("input", function () { const val = $(this).val(); $(this).attr("title", val) if (val.trim()) { $(".edit-box .warning").hide(); } else { $(".edit-box .warning .red").text("提示信息不能为空~"); $(".edit-box .warning").show(); } }); //提示信息输入验证 $("#qcInfo").on("input", function () { const val = $(this).val(); $(this).attr("title", val) if (val.length > 125) { $(".edit-box .warning .red").text("备注不能超过125个字~"); $(".edit-box .warning").show(); } else { $(".edit-box .warning").hide(); return; } }); if ($("#qcInfo").val().length > 125) { $(".edit-box .warning .red").text("备注不能超过125个字~"); $(".edit-box .warning").show(); return; } $("#delModal .confirm").unbind("click").click(function () { if ($(".edit-box .warning").is(":visible")) { return; } const obj = Object.assign({}, info, { explainInfo: $("#delModal #qcInfo").val(), msg: $("#delModal #qcMsg").val(), score: $("#delModal #qcScore").val() }); editScore(obj); }); } else if (flag === '5') { //查看 $("#delModal .title").text("查看"); $("#delModal .confirm").hide(); $("#delModal .cancel").show(); $("#delModal .modal-box").css("margin-top", '-245px'); //0申诉1驳回2审核 //新增项模板 getAppealDetail(code, i, id, qcresultDetailId); } else if (flag === '2') { //新增 $("#delModal .confirm").show(); $("#delModal .title").text("新增"); $("#delModal .confirm").text("保存"); $("#addFlawTmpl").tmpl().appendTo("#delModal .modal-body"); $("#flawDropTmpl").tmpl({ info: code }).appendTo("#delModal .modal-body ul"); $("#addQcScore,#addQcMsg,#addQcInfo").off("input"); //分数输入验证 $("#addQcScore").on("input", function () { const val = $(this).val(); if (/^[0-9]\d*$|^[0-9]\d*(.\d)?$/.test(val) && val <= 100) { $(".add-box .warning").hide(); } else { $(".add-box .warning .red").text("支持≥0且≤100的数字输入,最多保留小数点后1位~"); $(".add-box .warning").show(); return; } }); //提示信息输入验证 $("#addQcMsg").on("input", function () { const val = $(this).val(); $(this).attr("title", val) if (val.trim()) { $(".add-box .warning").hide(); } else { $(".add-box .warning .red").text("提示信息不能为空~"); $(".add-box .warning").show(); return; } }); //提示信息输入验证 $("#addQcInfo").on("input", function () { const val = $(this).val(); $(this).attr("title", val) if (val.length > 125) { $(".add-box .warning .red").text("备注不能超过125个字~"); $(".add-box .warning").show(); } else { $(".add-box .warning").hide(); return; } }); $("#delModal .confirm").unbind("click").click(function () { if (!$(".flaw-drop-input").attr("code")) { $(".add-box .warning .red").text("请选择质控条目~"); $(".add-box .warning").show(); return; } const msg = $("#delModal #addQcMsg").val(); const score = Number($("#delModal #addQcScore").val()); const explainInfo = $("#delModal #addQcInfo").val(); if ($(".add-box .warning").is(":visible")) { return; } if (!msg.trim()) { $(".add-box .warning .red").text("提示信息不能为空~"); $(".add-box .warning").show(); return; } if ((!score) && $("#delModal #addQcScore").val() != '0') { $(".add-box .warning .red").text("分值不能为空~"); $(".add-box .warning").show(); return; } if ($("#addQcInfo").val().length > 125) { $(".add-box .warning .red").text("备注不能超过125个字~"); $(".add-box .warning").show(); return; } const obj = Object.assign({}, global_selectedFlaw, { msg, score, explainInfo }); addScore(obj); }); } else if (flag === '3') { $("#delModal .confirm").show(); $("#delModal .title").text("恢复提示"); $("#delModal .modal-body").html('

确定要恢复该评分记录吗?

'); $("#delModal .confirm").text("取消").unbind("click").click(function () { $("#delModal").hide(); }); $("#delModal .cancel").show().text("恢复").unbind("click").click(function () { delScore(code, info, true); }); } else { $("#delModal .confirm").show(); $("#delModal .title").text("删除提示"); $("#delModal .modal-body").html('

确定要删除该评分记录吗?

'); $("#delModal .confirm").text("取消").unbind("click").click(function () { $("#delModal").hide(); }); $("#delModal .cancel").show().text("删除").unbind("click").click(function () { // console.log(123); delScore(code, info); }); } } function getAppealDetail(id, flg, casesEntryId, qcresultDetailId) { const param = { behospitalCode: global_id, casesEntryId: casesEntryId, hospitalId: global_hid, qcresultDetailId: qcresultDetailId, id: +id }; post(api.getApprovedView, param).then((res) => { const info = res.data.data || {}; const appealInfo = info.appealExamineRecordDTOList; $("#appealStatusTmpl").tmpl(appealInfo).appendTo("#delModal .modal-body"); $("#delModal .cancel").text("关闭").unbind("click").click(function () { $("#delModal").hide(); }); /*if (flg === '1') { $(".check-item").hide(); $(".reject-item").show(); } else if (flg === '2') { $(".check-item").show(); }*/ }) } //缺陷列表key值去掉特殊符号 function formatFlawKeys(data) { const obj = {}; for (let k in data) { obj[k.replace(/[^\u4e00-\u9fa5|a-zA-Z0-9]+/g, '')] = data[k]; } return obj; } //获取缺陷条目下拉列表 function getQcCasesEntry(name) { const id = $("#subMenu [code=" + global_activeTab + "]").attr("mode"); const param = { 'behospitalCode': global_id, 'entryName': name || "", 'modeId': id }; post(api.findQcCasesEntry, param).then(function (res) { if (res.data.code === '0') { const data = res.data.data; if (name) { global_flaws = data; $("#delModal .modal-body ul").html(""); $("#flawDropTmpl").tmpl({ info: data }).appendTo("#delModal .modal-body ul"); } else { global_flaws = data; if ($("#delModal").css("display") == "block") { $("#flawDropTmpl").tmpl({ info: data }).appendTo("#delModal .modal-body ul"); return } showModal('2', data); } } }); } //增加条目弹窗元素事件 $("body").on("click", ".add-box .flaw-drop-input", function () { $(".add-box .drop-box").addClass("show"); }); $("body").on("blur", ".add-box .flaw-drop-input", function () { setTimeout(function () { $(".add-box .drop-box").removeClass("show"); }, 300) }); $("body").on("input", ".add-box .flaw-drop-input", function () { $(this).attr({ "code": "", "title": $(this).val().trim() }); getQcCasesEntry($(this).val().trim()); }); $("body").on("click", ".add-box .drop-box li", function () { const n = $(this).attr("idx"); const flaw = global_flaws[n]; const { score, msg, entryName, casesEntryId } = flaw; global_selectedFlaw = flaw; global_entryName = entryName global_casesEntryId = casesEntryId $(".flaw-drop-input").val(entryName).attr({ "code": casesEntryId, "title": entryName }); $("#addQcMsg").val(msg).attr("title", msg); $("#addQcScore").val(score); $(".add-box .warning").hide(); $(".add-box .drop-box").removeClass("show"); // console.log(123); }); $(document).on("blur", ".flaw-drop-input", (e) => { $('.flaw-drop-input').val(global_entryName).attr({ "code": global_casesEntryId, "title": global_entryName }); }); //更新缺陷列表 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, drgs } = data; initScoreItem(msg); global_flawData = msg; global_flawDataPay = drgs // console.log("data:", data) // 单独刷新缺陷总览页面的数据 if (data_type === 1) { // 控费缺陷 formatSpecPage(drgs, "缺陷总览", 1); } else { // 缺陷总览 formatSpecPage(msg, "缺陷总览", 2); } } }); } //获取病例模板 function getInfoModule(moduleId) { const param = { moduleId: moduleId }; post(api.getInfoModule, param).then(function (res) { if (res.data.code === '0') { const data = res.data.data; cachemoduleDatas(data); getRecordDetail(); } }); } //模板数据缓存 function cachemoduleDatas(data) { const moudle = data.moduleDetail; global_modules[data.modeName] = []; for (let i in moudle) { global_modules[data.modeName].push(moudle[i]); } } //初始化模板 function initModuleData(mid, obj) { const n = obj.length; const module = global_modules[mid].moduleDetail; const key = global_modules[mid].modeName.replace(/[^\u4e00-\u9fa5|a-zA-Z0-9]+/g, ''); let hml = '
' + '

' + '' + global_modules[mid].modeName + '(' + mid + ')

' + (n > 1 ? '
' : '
'); for (let i in module) { hml = hml + '
'; for (let j = 0; j < module[i].length; j++) { const detal = module[i][j].questionDTO; const { tagType } = detal; switch (tagType) { case 1: hml = hml + simpleStructure(detal, obj); break; case 4: hml = hml + combineStructure(detal); break; default: break; } } hml = hml + "
" } return hml + "
"; } //基础类型结构生成 function simpleStructure(data, obj) { const { name, val, monoLine, addLine, position, bold, retract, id } = data; if (name === "手术记录表格-1") { const value = val.replace("【", "").replace("】", ""); const diag = obj[0][value] ? JSON.parse(obj[0][value]) : ""; let thml = `
`; thml += $("#tableTmpl").tmpl({ k: "手术信息", data: diag })[0].outerHTML + "
"; return thml; } if (name === "出院诊断表格-1") { const value = val.replace("【", "").replace("】", ""); const diag = obj[0][value] ? JSON.parse(obj[0][value]) : ""; let thml = `
`; thml += $("#tableTmpl").tmpl({ k: "出院诊断", data: diag })[0].outerHTML + "
"; return thml; } const posClass = position === 1 ? 'text-left' : ''; const boldClass = bold === 1 ? 'text-bold' : ''; const retractClass = retract === 1 ? 'text-indent' : ''; // const lineHml = ('

' + extractVars(val) + '

'); // const txtHml = ('

' + extractVars(val) + '

'); const lineHml = ('

' + extractVars(val) + '

'); const txtHml = ('

' + extractVars(val) + '

'); let hml = addLine || monoLine ? `
` : `
`; hml = hml + `${name}` + (addLine ? lineHml : txtHml) + `
`; return hml; } //组合类型结构生成 function combineStructure(data) { const { name, questionMapping, id } = data; let hml = '
'; const colNum = Math.ceil(questionMapping.length / 2); let tdVal = ''; const regexp = /(【(.+?)】)/g; for (let i = 0; i < questionMapping.length;) { if (questionMapping[i + 1]) { tdVal = ""; } else { tdVal = ""; } if (i == 0) { hml = hml + `${tdVal}`; } else { hml = hml + `${tdVal}`; } hml = hml + ""; i = ((i + 2) > questionMapping.length ? i + 1 : i + 2) } hml = hml + "
" + questionMapping[i].name + extractVars(questionMapping[i].val) + "" + questionMapping[i + 1].name + extractVars(questionMapping[i + 1].val) + "" + questionMapping[i].name + extractVars(questionMapping[i].val) + "
${name}
"; return hml; } //抽取变量 function extractVars(org) { const regexp = /(【(.+?)】)/g; const arr = org.split(regexp); //console.log(arr) let htl = '', val = ''; for (let i = 0; i < arr.length; i++) { val = arr[i].indexOf("【") != -1 ? '' : (arr[i - 1] && arr[i - 1].indexOf("【") != -1 ? "{{html " + arr[i] + "}}" : arr[i]); htl = htl + val; } return htl; } //获取所有模板 function getAllModules() { const param = { hospitalId: getUrlArgObject("hid"), modeId: '' }; post(api.getModuleById, param).then((res) => { if (res.data.code === '0') { const data = res.data.data; global_modules = data; getRecordDetail(); $("#loading").hide(); /*setTimeout(function(){ $(".operation").show() },50)*/ } }); } /*function checkQc(){ const param={ behospitalCode:getUrlArgObject("id"), hospitalId:getUrlArgObject("hid"), checkType: global_activeTab == '病案首页'?'1':'0' }; post(api.checkQc,param).then((res)=>{ if(res.data.code==='0') { if(global_activeTab == '病案首页'){ global_check_home = 1 }else{ global_check = 1 } $(".check").text("重新核查") $.alerModal({"message":"核查成功",type:"tip",time:'1000',win:true}); }else{ $.alerModal({"message":res.data.msg ||"核查失败",type:"tip",time:'1000',isFather: false}); } }); }*/ function checkYwQc() { const param = { behospitalCode: getUrlArgObject("id"), hospitalId: getUrlArgObject("hid"), }; post(ywCheckApi.recordCheck, param).then((res) => { if (res.data.code === '0') { global_check = 1 $(".ywCheck").text("重新核查") $.alerModal({ "message": "核查成功", type: "tip", time: '1000', win: true }); } else { $.alerModal({ "message": res.data.msg || "核查失败", type: "tip", time: '1000', isFather: false }); } }); } var isEditing = false; // $().attr('contenteditable', isEditing); $("body").on("click", ".save", function () { isEditing = !isEditing; // 切换状态 if (isEditing) { console.log("编辑中"); $(this).text('保存'); // $('p, .embed-table .table-1 td, .opera-table td,.embed-table .table-2 td').off("input") } else { let state = saveOrUpdate() if (state === true) { console.log("保存成功"); } else { console.log("保存失败"); } $(this).text('编辑'); } $('p, .embed-table .table-1 td, .opera-table td,.embed-table .table-2 td').attr('contenteditable', isEditing); }); function saveOrUpdate() { /**病案首页编号*/ const homePageId = $('.patient-info span').eq(0).text().match(/\d+/)[0] /**医院ID*/ const hospitalId = getUrlArgObject("hid") /**病人住院ID*/ const behospitalCode = getUrlArgObject("id") /**组织机构代码*/ const hospitalCode = "" /**医疗机构名称*/ const hospitalName = "" /**医疗机构代码*/ const orgCode = "" /**医疗付费方式*/ const payType = "" /**健康卡号*/ const healthCard = "" /**住院次数*/ const behospitalNum = "" /**病案号*/ const fileCode = "" /**病人姓名*/ const name = $('#anchor2242 p').text() /**病人性别*/ const sex = $('#anchor22322 p').text() /**病人出生日期*/ const birthday = $('#anchor22323 p').text() /**病人年龄*/ const age = $('#anchor22325 p').text().replace("岁", "") /**年龄单位*/ const ageUnit = "岁" /**国籍*/ const nationality = $('#anchor22324 p').text() /**新生儿出生月数*/ const newbornMonth = "" /**新生儿出生天数*/ const newbornDay = "" /**新生儿出生体重*/ const newbornWeight = $('#anchor2244 p').text().replace("克", "") /**新生儿入院体重*/ const newbornBehospitalWeight = $('#anchor2245 p').text().replace("克", "") /**出生地*/ const bornAddress = $('#anchor2246 p').text() /**籍贯*/ const bornPlace = $('#anchor2247 p').text() /**民族*/ const nation = $('#anchor2248 p').text() /**身份证号*/ const identityCardNo = $('#anchor2249 p').text() /**职业*/ const jobType = $('#anchor2250 p').text() /**婚姻状态*/ const marriage = $('#anchor2251 p').text() /**现住址*/ const curAddress = $('#anchor2252 p').text() /**现住址电话*/ const curPhone = $('#anchor22328 p').text() /**现住址邮编*/ const curPostCode = $('#anchor22329 p').text() /**户口地址*/ const residenceAddress = $('#anchor2253 p').text() /**户口地址邮编*/ const residencePostCode = $('#anchor2254 p').text() /**工作单位*/ const workAddress = $('#anchor2255 p').text() /**工作单位电话*/ const workPhone = $('#anchor22326 p').text() /**工作单位邮编*/ const workPostCode = $('#anchor22327 p').text() /**联系人姓名*/ const contactName = $('#anchor2256 p').text() /**联系人关系*/ const contactRelation = $('#anchor22330 p').text() /**联系人地址*/ const contactAddress = $('#anchor22331 p').text() /**联系人电话*/ const contactPhone = $('#anchor22332 p').text() /**入院途径*/ const behospitalWay = $('#anchor2257 p').text() /**入院时间*/ const behospitalDate = $('#anchor2258 p').text() /**入院科别*/ const behospitalDept = $('#anchor22333 p').text() /**入院病房*/ const behospitalWard = $('#anchor22334 p').text() /**入院床位序号*/ const behospitalBedId = "" /**入院床位号码*/ const behospitalBedCode = "" /**转科科别*/ const changeDept = $('#anchor22335 p').text() /**出院时间*/ const leaveHospitalDate = $('#anchor2259 p').text() /**出院科别*/ const leaveHospitalDept = $('#anchor22336 p').text() /**出院病房*/ const leaveHospitalWard = $('#anchor22337 p').text() /**出院床位序号*/ const leaveHospitalBedId = "" /**出院床位号码*/ const leaveHospitalBedCode = "" /**实际住院天数*/ const behospitalDayNum = $('#anchor22338 p').text() /**门急诊诊断*/ const outpatientEmrDiagnose = $('#anchor2260 p').text() /**门急诊诊断编码*/ const outpatientEmrDiagnoseCode = $('#anchor2261 p').text() /**损伤中毒因素*/ const poisonFactor = $('#anchor2263 p').text() /**损伤中毒因素编码*/ const poisonFactorCode = $('#anchor2264 p').text() /**病理诊断*/ const pathologyDiagnose = $('#anchor2265 p').text() /**病理诊断编码*/ const pathologyDiagnoseCode = $('#anchor2266 p').text() /**病理诊断编号*/ const pathologyDiagnoseId = $('#anchor2267 p').text() /**有无药物过敏*/ const isMedAllergy = $('#anchor2268 p').text(); /** 过敏药物 */ const medAllergyName = $('#anchor2269 p').text(); /** 死亡患者尸检 */ const autopsy = $('#anchor2270 p').text(); /** 血型 */ const bloodType = $('#anchor2271 p').text(); /** Rh */ const rh = $('#anchor2272 p').text(); /** 科主任 */ const deptDirector = $('#anchor2273 p').text(); /** 主任医师 */ const directorDoctor = $('#anchor2274 p').text(); /** 主治医师 */ const attendingDoctor = $('#anchor2275 p').text(); /** 住院医师 */ const behospitalDoctor = $('#anchor2276 p').text(); /** 责任护士 */ const responseNurse = $('#anchor2277 p').text(); /** 进修医师 */ const studyDoctor = $('#anchor2278 p').text(); /** 实习医师 */ const practiceDoctor = $('#anchor2279 p').text(); /** 编码员 */ const encodeMan = $('#anchor2280 p').text() || "无"; /** 病案质量 */ const homePageQuality = $('#anchor2281 p').text(); /** 质控医师 */ const qcDoctor = $('#anchor2282 p').text(); /** 质控护士 */ const qcNurse = $('#anchor2283 p').text(); /** 质控日期 */ const qcDate = $('#anchor2284 p').text(); /** 离院方式 */ const leaveHospitalType = $('#anchor2286 p').text(); /** 接收机构名称 */ const acceptOrgCode = $('#anchor2287 p').text(); /** 31天内再住院计划 */ const againBehospitalPlan = $('#anchor2288 p').text(); /** 再住院目的 */ const againBehospitalGoal = $('#anchor2289 p').text(); /** 颅脑损伤患者昏迷前天数 */ const tbiBeforeDay = ''; /** 颅脑损伤患者昏迷前小时 */ const tbiBeforeHour = ''; /** 颅脑损伤患者昏迷前分钟 */ const tbiBeforeMinute = ''; /** 颅脑损伤患者昏迷后天数 */ const tbiAfterDay = ''; /** 颅脑损伤患者昏迷后小时 */ const tbiAfterHour = ''; /** 颅脑损伤患者昏迷后分钟 */ const tbiAfterMinute = ''; /** 总费用 */ const totalFee = $('#anchor2291 p').text().match(/总费用(\d+\.?\d+)/)[1] || ''; /** 自付金额 */ const ownFee = $('#anchor2291 p').text().match(/自付金额(\d+\.?\d+)/)[1] || ''; /** 一般医疗服务费 */ const generalFee = $('#anchor2292 p').text().match(/一般医疗服务费:(\d+\.?\d+)/)[1] || ''; const str_anchor2292 = $('#anchor2292 p').text() const matchs_anchor2292 = str_anchor2292.match(/一般治疗服务费:(\d+\.?\d+)/) /** 一般治疗服务费 */ const serviceFee = matchs_anchor2292 ? matchs_anchor2292[1] : ""; /** 护理费 */ const nurseFee = $('#anchor2292 p').text().match(/护理费:(\d+\.?\d+)/)[1] || ''; /** 其他费用 */ const otherFee = $('#anchor2292 p').text().match(/其他费用:(\d+\.?\d+)/)[1] || ''; /** 病理诊断费 */ const pathologyFee = $('#anchor2293 p').text().match(/病理诊断费:(\d+\.?\d+)/)[1] || ''; /** 实验室诊断费 */ const labFee = $('#anchor2293 p').text().match(/实验室诊断费:(\d+\.?\d+)/)[1] || ''; /** 影像学诊断费 */ const pacsFee = $('#anchor2293 p').text().match(/影像学诊断费:(\d+\.?\d+)/)[1] || ''; /** 临床诊断项目费 */ const clinicDiagnoseFee = $('#anchor2293 p').text().match(/临床诊断项目费:(\d+\.?\d+)/)[1] || ''; /** 非手术治疗项目费 */ const notOperationFee = $('#anchor2294 p').text().match(/非手术治疗项目费:(\d+\.?\d+)/)[1] || ''; /** 临床物理治疗费 */ const clinicPhysicFee = $('#anchor2294 p').text().match(/临床物理治疗费:(\d+\.?\d+)/)[1] || ''; /** 手术治疗费 */ const operationTreatFee = $('#anchor2294 p').text().match(/临床物理治疗费:(\d+\.?\d+)/)[1] || ''; /** 麻醉费 */ const anaesthesiaFee = $('#anchor2294 p').text().match(/麻醉费:(\d+\.?\d+)/)[1] || ''; /** 手术费 */ const operationFee = $('#anchor2294 p').text().match(/手术费:(\d+\.?\d+)/)[1] || ''; let matchs_anchor2295 = $('#anchor2295 p').text().match(/康复费:(\d+\.?\d+)/) /** 康复类 */ const healthTypeFee = matchs_anchor2295 ? matchs_anchor2295[1] : ''; /** 中医治疗费 */ const chnTreatFee = $('#anchor2296 p').text().match(/中医治疗费:(\d+\.?\d+)/)[1] || ''; /** 西药费 */ const westernMedFee = $('#anchor2297 p').text().match(/西药费:(\d+\.?\d+)/)[1] || ''; /** 抗菌药物费用 */ const antibiosisFee = $('#anchor2297 p').text().match(/抗菌药物费用:(\d+\.?\d+)/)[1] || ''; /** 中成药费 */ const chnMedFee = $('#anchor2298 p').text().match(/中成药费:(\d+\.?\d+)/)[1] || ''; /** 中草药费 */ const chnHerbFee = $('#anchor2298 p').text().match(/中草药费:(\d+\.?\d+)/)[1] || ''; /** 血费 */ const bloodFee = $('#anchor2299 p').text().match(/血费:(\d+\.?\d+)/)[1] || ''; /** 白蛋白类制品费 */ const albumenFee = $('#anchor2299 p').text().match(/白蛋白类制品费:(\d+\.?\d+)/)[1] || ''; /** 球蛋白类制品费 */ const globulinFee = $('#anchor2299 p').text().match(/球蛋白类制品费:(\d+\.?\d+)/)[1] || ''; /** 凝血因子类制品费 */ const bloodFactorFee = $('#anchor2299 p').text().match(/凝血因子类制品费:(\d+\.?\d+)/)[1] || ''; /** 细胞因子类制品费 */ const cellFactorFee = $('#anchor2299 p').text().match(/细胞因子类制品费:(\d+\.?\d+)/)[1] || ''; //耗材类 let str_anchor2300 = $('#anchor2300 p').text() let matchs_anchor2300_1 = str_anchor2300.match(/检查用一次性医用耗材费:(\d+\.?\d+)/) let matchs_anchor2300_2 = str_anchor2300.match(/治疗用一次性医用耗材费:(\d+\.?\d+)/) let matchs_anchor2300_3 = str_anchor2300.match(/手术用一次性医用耗材费:(\d+\.?\d+)/) /** 检查用一次性医用材料费 */ const checkMaterialFee = matchs_anchor2300_1 ? matchs_anchor2300_1[1] : ""; /** 治疗用一次性医用材料费 */ const treatMaterialFee = matchs_anchor2300_2 ? matchs_anchor2300_2[1] : ''; /** 手术用一次性医用材料费 */ const operationMaterialFee = matchs_anchor2300_3 ? matchs_anchor2300_3[1] : ''; /** 其他类其他费 */ const otherTypeFee = $('#anchor2301 p').text().match(/其他费:(\d+\.?\d+)/)[1] || ''; /** 单病种管理 */ const singleDiagManage = $('#anchor2302 p').text(); /** 临床路径管理 */ const clinicPathwayManage = $('#anchor2303 p').text(); /**诊断符合情况*/ const str_anchor2304 = $('#anchor2304 p').text() const split_anchor2304 = str_anchor2304.split(/\d+\./g); const results_anchor2304 = {} split_anchor2304.forEach(el => { if (el) { const [item, status] = el.split(':'); results_anchor2304[item.trim()] = status.trim(); } }); /** 门诊与住院 */ const isOutpatientBehospital = results_anchor2304["门诊与出院"] || ""; /** 入院与出院 */ const isLeaveBehospital = results_anchor2304["入院与出院"] || ""; /** 术前与术后 */ const isOperationBeforeAfter = results_anchor2304["术前与术后"] || ""; /** 临床与病理 */ const isClinicPathology = results_anchor2304["临床与病理"] || ""; /** 放射与病理 */ const isRadiatePathology = results_anchor2304["放射与病理"] || ""; let matchs_nchor2305 = $('#anchor2305 p').text().match(/\d+/g) /** 病人抢救次数 */ const rescueNum = matchs_nchor2305 ? matchs_nchor2305[0] : "0"; /** 病人抢救成功次数 */ const rescueSuccessNum = matchs_nchor2305 ? matchs_nchor2305[1] : "0"; /** 是否为自动出院 */ const isAutoLeavehospital = ''; /** 转归情况 */ const returnToType = $('#anchor2306 p').text(); /** 住院期间身体约束 */ const isPhysicalRestraint = $('#anchor2594 p').text(); /** 颅脑损伤患者昏迷时间(入院前) */ const tbiBehospitalBeforeTime = $('#anchor2582 p').text(); /** 颅脑损伤患者昏迷时间(入院后) */ const tbiBehospitalAfterTime = $('#anchor2583 p').text(); /** 住院期间是否发生跌倒或坠床 */ const isFallBed = $('#anchor2593 p').text(); /** 医院感染 */ const isNosocomialInfection = $('#anchor2589 p').text(); /** 入住ICU情况 */ const isIntoIcu = $('#anchor2586 p').text(); /** 并发症情况 */ const isComplications = $('#anchor2588 p').text(); /** 是否发生压疮 */ const isPressureSore = $('#anchor2591 p').text(); /** 是否住院期间发生压疮 */ const isBehospitalPressureSore = $('#anchor2592 p').text(); /** 非计划再次手术 */ const isUnplannedReoperation = $('#anchor2587 p').text(); /** 治疗结果 */ const treatmentResults = ''; /** 并发症 */ const complicationsResults = $('#anchor2588 p').text(); /** 感染部位 */ const infectionSite = ''; /** 住院期间有无告病危 */ const isBeInDanger = $('#anchor2585 p').text(); /** 出院诊断 */ const leaveDiags = addLeaveDiags() /** 住院手术 */ const operations = addoperations() let param = { "dockModeType": "3", "homePages": [ { "homePageId": homePageId, "hospitalId": hospitalId, "behospitalCode": behospitalCode, "hospitalCode": hospitalCode, "hospitalName": hospitalName, "orgCode": orgCode, "payType": payType, "healthCard": healthCard, "behospitalNum": behospitalNum, "fileCode": fileCode, "name": name, "sex": sex, "birthday": birthday, "age": age, "ageUnit": ageUnit, "nationality": nationality, "newbornMonth": newbornMonth, "newbornDay": newbornDay, "newbornWeight": newbornWeight, "newbornBehospitalWeight": newbornBehospitalWeight, "bornAddress": bornAddress, "bornPlace": bornPlace, "nation": nation, "identityCardNo": identityCardNo, "jobType": jobType, "marriage": marriage, "curAddress": curAddress, "curPhone": curPhone, "curPostCode": curPostCode, "residenceAddress": residenceAddress, "residencePostCode": residencePostCode, "workAddress": workAddress, "workPhone": workPhone, "workPostCode": workPostCode, "contactName": contactName, "contactRelation": contactRelation, "contactAddress": contactAddress, "contactPhone": contactPhone, "behospitalWay": behospitalWay, "behospitalDate": behospitalDate, "behospitalDept": behospitalDept, "behospitalWard": behospitalWard, "behospitalBedId": behospitalBedId, "behospitalBedCode": behospitalBedCode, "changeDept": changeDept, "leaveHospitalDate": leaveHospitalDate, "leaveHospitalDept": leaveHospitalDept, "leaveHospitalWard": leaveHospitalWard, "leaveHospitalBedId": leaveHospitalBedId, "leaveHospitalBedCode": leaveHospitalBedCode, "behospitalDayNum": behospitalDayNum, "outpatientEmrDiagnose": outpatientEmrDiagnose, "outpatientEmrDiagnoseCode": outpatientEmrDiagnoseCode, "poisonFactor": poisonFactor, "poisonFactorCode": poisonFactorCode, "pathologyDiagnose": pathologyDiagnose, "pathologyDiagnoseCode": pathologyDiagnoseCode, "pathologyDiagnoseId": pathologyDiagnoseId, "isMedAllergy": isMedAllergy, "medAllergyName": medAllergyName, "autopsy": autopsy, "bloodType": bloodType, "rh": rh, "deptDirector": deptDirector, "directorDoctor": directorDoctor, "attendingDoctor": attendingDoctor, "behospitalDoctor": behospitalDoctor, "responseNurse": responseNurse, "studyDoctor": studyDoctor, "practiceDoctor": practiceDoctor, "encodeMan": encodeMan, "homePageQuality": homePageQuality, "qcDoctor": qcDoctor, "qcNurse": qcNurse, "qcDate": qcDate, "leaveHospitalType": leaveHospitalType, "acceptOrgCode": acceptOrgCode, "againBehospitalPlan": againBehospitalPlan, "againBehospitalGoal": againBehospitalGoal, "tbiBeforeDay": tbiBeforeDay, "tbiBeforeHour": tbiBeforeHour, "tbiBeforeMinute": tbiBeforeMinute, "tbiAfterDay": tbiAfterDay, "tbiAfterHour": tbiAfterHour, "tbiAfterMinute": tbiAfterMinute, "totalFee": totalFee, "ownFee": ownFee, "generalFee": generalFee, "serviceFee": serviceFee, "nurseFee": nurseFee, "otherFee": otherFee, "pathologyFee": pathologyFee, "labFee": labFee, "pacsFee": pacsFee, "clinicDiagnoseFee": clinicDiagnoseFee, "notOperationFee": notOperationFee, "clinicPhysicFee": clinicPhysicFee, "operationTreatFee": operationTreatFee, "anaesthesiaFee": anaesthesiaFee, "operationFee": operationFee, "healthTypeFee": healthTypeFee, "chnTreatFee": chnTreatFee, "westernMedFee": westernMedFee, "antibiosisFee": antibiosisFee, "chnMedFee": chnMedFee, "chnHerbFee": chnHerbFee, "bloodFee": bloodFee, "albumenFee": albumenFee, "globulinFee": globulinFee, "bloodFactorFee": bloodFactorFee, "cellFactorFee": cellFactorFee, "checkMaterialFee": checkMaterialFee, "treatMaterialFee": treatMaterialFee, "operationMaterialFee": operationMaterialFee, "otherTypeFee": otherTypeFee, "singleDiagManage": singleDiagManage, "clinicPathwayManage": clinicPathwayManage, "isOutpatientBehospital": isOutpatientBehospital, "isLeaveBehospital": isLeaveBehospital, "isOperationBeforeAfter": isOperationBeforeAfter, "isClinicPathology": isClinicPathology, "isRadiatePathology": isRadiatePathology, "rescueNum": rescueNum, "rescueSuccessNum": rescueSuccessNum, "isAutoLeavehospital": isAutoLeavehospital, "returnToType": returnToType, "leaveDiags": leaveDiags, "operations": operations } ] } console.log("param:", param) let state = 1 // axios.post(api.sendHomePageIng, param).then((res) => { // console.log("res", res.data); // }) post1(api.sendHomePageIng, param).then(res => { if (res.data.code == '0') { // window.parent.location.reload() console.log("sendHomePageIngRes", res.data) console.log("成功"); } else { state = 0 console.log("失败"); } }).catch((e) => { state = 0 console.log("失败1"); }) if (state === 1) { return true } else { return false } } /** *取表格里的数据-出院诊断 */ function addLeaveDiags() { let leaveDiagsArray = [] let i = 0//顺序号 $('.embed-table tbody tr').each(function (rowIndex) {//遍历每一行 if (rowIndex > 0 && $(this).find('th').length === 0 && i < global_diagList.length) { let diagsObj = { "behospitalType": "", "diagnoseName": "", "diagnoseOrderNo": "", "diagnoseType": "", "diagnoseTypeShort": "", "behospitalCode": global_id, "hospitalId": global_hid, "icdCode": "", "leaveHospitalType": "", "pathologyDiagnose": "", "homePageId": "" }; diagsObj.diagnoseName = $(this).find('td').eq(0).text() diagsObj.icdCode = $(this).find('td').eq(1).text() diagsObj.behospitalType = $(this).find('td').eq(2).text() diagsObj.leaveHospitalType = $(this).find('td').eq(3).text() diagsObj.diagnoseOrderNo = global_diagList[i].诊断序号 diagsObj.homePageId = $('.patient-info span').eq(0).text().match(/\d+/)[0] if (rowIndex === 2) { diagsObj.diagnoseType = "主要诊断" diagsObj.diagnoseTypeShort = "主" } else { diagsObj.diagnoseType = "次要诊断" diagsObj.diagnoseTypeShort = "次" } leaveDiagsArray.push(diagsObj) i = i + 1 } }); return leaveDiagsArray } /** * 取表格里的数据-手术情况 * @return {} operationsArry 表格的数据 */ function addoperations() { let operationsArry = [] let i = 0//顺序号 $('.opera-table tbody tr').each(function (rowIndex) {//遍历每一行 if (rowIndex > 1 && $(this).find('th').length === 0) { let operationObj = { "anaesthesiaName": "", "cutLevel": "", "firstAssistantId": "", "healingLevel": "", "homePageId": "", "hospitalId": global_hid, "operationCode": "", "operationDate": "", "operationDoctorId": "", "operationLevel": "", "operationName": "", "operationOrderNo": "", "secondAssistantId": "", "shamOperationName": "" } operationObj.operationOrderNo = global_operaList[i].手术序号 operationObj.homePageId = $('.patient-info span').eq(0).text().match(/\d+/)[0] operationObj.operationCode = $(this).find('td').eq(0).text() operationObj.operationDate = $(this).find('td').eq(1).text() operationObj.operationLevel = $(this).find('td').eq(2).text() operationObj.operationName = $(this).find('td').eq(3).text() operationObj.operationDoctorId = $(this).find('td').eq(4).text() operationObj.firstAssistantId = $(this).find('td').eq(5).text() operationObj.secondAssistantId = $(this).find('td').eq(6).text() operationObj.cutLevel = $(this).find('td').eq(7).text() operationObj.healingLevel = $(this).find('td').eq(8).text() operationObj.anaesthesiaName = $(this).find('td').eq(9).text() operationObj.anaesthesiaName = $(this).find('td').eq(10).text() operationsArry.push(operationObj) i = i + 1 } }); return operationsArry } });