if (!Promise) { var Promise = require("bluebird"); // Configure Promise.config({ longStackTraces: true, warnings: true // note, run node with --trace-warnings to see full stack traces for warnings }) } require('./../css/reset.css'); require('./../css/cdss.less'); require('./../css/popup.css'); require('./../css/followUpV.less'); require('./../css/staticSearch.css') require('./../js/staticSearch.js');//静态知识搜索 require('./../images/empty.png').replace(/^undefined/g, '') require('./../images/empty2.png').replace(/^undefined/g, '') require('./../images/empty3.png').replace(/^undefined/g, '') require('./../images/loading.gif').replace(/^undefined/g, '') require('./../images/right.png').replace(/^undefined/g, '') require('./../images/new.png').replace(/^undefined/g, '') require('./../images/t1.png').replace(/^undefined/g, '') require('./../images/t2.png').replace(/^undefined/g, '') require('./../images/t3.png').replace(/^undefined/g, '') require('./../images/go.png').replace(/^undefined/g, '') require('./../images/g1.png').replace(/^undefined/g, '') // require('./popupEdit.js'); let infoImg = require('./../images/icon_info.png').replace(/^undefined/g, '') let infoImgOn = require('./../images/icon_info_on.png').replace(/^undefined/g, '') let iconArrowUp = require('./../images/icon_arrow_up.png').replace(/^undefined/g, '') let iconArrowDown = require('./../images/icon_arrow_down.png').replace(/^undefined/g, '') let iconMark = require('./../images/icon_mark.png').replace(/^undefined/g, '') let warnImg = require('./../images/icon_warning.png').replace(/^undefined/g, '') let warnImgWhite = require('./../images/icon_waring_white.png').replace(/^undefined/g, '') const $ = require("jquery"); const { post, config, getUrlArgObject, openNewWin, titleConfig } = require('./promise.js'); const { renderFollowUp, followEmpty } = require('./followUp.js'); const { getTcmMr } = require('./tcmiss.js'); const { transConf } = require('./util.js'); //静态知识类型: 1:诊断 2.药品 3.化验套餐 4.化验明细 5.辅检 6.手术和操作 let moduleConfig = { auxiliary: "recommendWrap", qc: "qcWrap", medical: "medicalKonwledgeWrap", followup: "followUpWrap", tcmiss: 'tcmWarp', } let allInterface = 0 let hasCompleteTnterface = 0 let moduleNum = 0 let mrId = getUrlArgObject('mrId') let isTcm = getUrlArgObject('isTcm') let pushMrId = getUrlArgObject('pushMrId') const tipsMode = getUrlArgObject('tipsMode') || 1 let planCode = getUrlArgObject('planCode') || 'all' let hospitalIdUrl = getUrlArgObject('hospitalId') || '' let msg; let treatDisName; function getMRInfo() { return post(config.getMr2, { mrId: mrId }) } $('.empty').css("display", "none") if (mrId) { Promise.all([getConf(), getMRInfo()]).then(([res1, res2]) => { const data = res1.data.data && res1.data.data[0] msg = res2.data.data || {} if (!(msg && msg.diseaseName && msg.diseaseName.name)) { msg.diseaseName = {} } window.msg = msg; renderPage(data) }) } else { getConf().then(res => { if (res.data.code == '0') { // const configArr = res.data.data.pushSetList || [] // getPageInfo(configArr) const data = res.data.data && res.data.data[0] renderPage(data) } }) followEmpty() } function getConf() { var msg = window.msg return post(config.getPushSet, { hospitalId: hospitalIdUrl || msg.hospitalId || 1, planCode: planCode }) } function getPushInfo() { return post(config.pushInner, Object.assign({}, msg, { featureType: '1,4,5,6,7,8,9,10,12,13', hospitalId: hospitalIdUrl || msg.hospitalId, ruleType: config.ruleTypeMap['22'] })) } function getPusgWarning() { const indPush = pushMrId ? config.indicationPushCache : config.indicationPush; return post(indPush, Object.assign({}, msg, { ruleType: '1,2,3,4', mrId: pushMrId || mrId })) } function getWriteStandardPush() { return post(config.caseWritingPrompt, Object.assign({}, msg, { hospitalId: 2 || msg.hospitalId })) } function getHosptDeptUsal() { var msg = window.msg const param = { age: msg.age, deptName: msg.deptName, hospitalCode: msg.hosCode, sexType: msg.sex, type: 1, } return post(config.getHosptDeptUsal, param) } function getPushData(res) { if (res && res.data && res.data.data && res.data.data.dis && res.data.data.dis) { let dis = res.data.data.dis; //急诊显示规则,主诊断有急诊优先显示,没有则显示推送的,推送也没有就不显示 if (dis && dis['页面急诊'] && (dis['页面急诊'].length > 0)) { let name = dis['页面急诊'][0].name || '' $(".allDis .disName").html(name) disName = name if (name) { $(".singleDis").css("display", "block") } } else if (dis && dis['急诊'] && dis['急诊'].length > 0) { let name = dis['急诊'][0].name || '' $(".allDis .disName").html(name) disName = name if (name) { $(".singleDis").css("display", "block") } } } } let disName = "" function handleShow() { const newinConf = { width: '600', //窗口的文档显示区的宽度。以像素计。 height: '826', //窗口文档显示区的高度。以像素计。 left: '0', //窗口的 x 坐标。以像素计。 top: '0', //窗口的 y 坐标。以像素计。 openMode: "_blank" //每次都是新窗口打开为_blank,打开同一窗口填写任意字符串 } const newWindowLocation = `width=${newinConf.width}, height=${newinConf.height}, left=${newinConf.left}, top=${newinConf.top} scrollbars=yes` window.open('./emergency.html?disName=' + disName, newinConf.openMode, newWindowLocation) } $(document).on('click', ".allDis .allName", function () { handleShow() }) $(document).on('click', ".singleDis", function () { $(this).next().css("display", "block") $(this).css("display", "none") }) $(document).on('click', ".allDis .right,.allDis .secDis", function () { $(".allDis").css("display", "none") $(".singleDis").css("display", "block") }) function moreInfo() { $('.infoImg').off("click").click(function () { const name = $(this).parent().attr('data-name') const type = $(this).parent().attr('data-type') openNewWin(`staticInfo.html?type=${encodeURIComponent(type)}&position=0&name=${encodeURIComponent(name)}&mrId=${encodeURIComponent(mrId)}`) }) $('.evaluationtitle').off("click").click(function () { const name = $(this).parent().attr('data-name') const type = $(this).parent().attr('data-type') openNewWin(`staticInfo.html?type=${encodeURIComponent(type)}&position=0&name=${encodeURIComponent(name)}&page=1&mrId=${encodeURIComponent(mrId)}&gauge=gauge`) }) } function getVersion() { return post(config.getVersion, 'confArr').then((res) => { const data = res.data.data; const ver = localStorage.getItem('versionTime'); const time = data.refreshTime; if (!ver || ver === time + "=new" || time !== ver.replace("=new", "")) { //判断版本是否更新 $(".version-tip").addClass('new-icon'); localStorage.setItem('versionTime', time + "=new"); //保存版本更新时间 } else { $(".version-tip").removeClass("new-icon"); } }) } function getDisclaimer() { return post(config.disclaimer, {}).then((res) => { const data = res.data.data.filter(item => item.disclaimerCode == "2"); $(".responsibility").html((data[0] || {}).description); // $(".iframeWrap").css({height: $(window).height()-115-$(".responsibility").height()+"px"}) }) } function renderPage(pageSet) { if (!pageSet || !pageSet.sysSetInfo) { return } renderTab(pageSet.sysSetInfo) adjustHei() const hasAuxiliary = hasTab("辅助信息", pageSet.sysSetInfo) const hasMedical = hasTab("医学知识", pageSet.sysSetInfo) const hasFollowUp = hasTab("随访计划", pageSet.sysSetInfo) const hasTcm = hasTab("中医辅助", pageSet.sysSetInfo); if (hasTcm) { getTcmMr(mrId, hasTcm); } if (!mrId) { empty() return } if (hasAuxiliary) { renderModuleWrapper(hasAuxiliary.planDetails) let needPush = isNeedPush(hasAuxiliary.planDetails) let needPushWarning = isNeedPushWarning(hasAuxiliary.planDetails) let needWriteStandardPush = isNeedwriteStandardPush(hasAuxiliary.planDetails) if (needPush || needPushWarning) { renderPushData() allInterface++ } if (needPushWarning) { renderPushWarning() allInterface++ } if (needWriteStandardPush) { renderWriteStandard() allInterface++ } } if (hasFollowUp) { renderFollowUp(msg) } } function renderPushData() { return getPushInfo().then(res => { hasCompleteTnterface++ if (res.data.code == "0") { console.log(1) const result = res.data.data let diagPush = result.dis || {} let lisPush = result.lis || [] let scalePush = result.scale || [] let pacsPush = result.pacs || [] let symptomPush = result.symptom || [] let checkupPush = result.vital || [] let medicinesPush = result.medicines || [] let operationsPush = result.operations || [] let treatPush = result.treat && result.treat[0] || {} let nursePush = result.nurse || [] treatDisName = treatPush && treatPush["name"] let generaTreatPush = treatPush && treatPush["generaTreat"] // let lisPush =[{name:"血常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null}] // let pacsPush = [{name:"胸部x射线",hisNameList:null},{name:"心电图",hisNameList:null}] // let checkupPush = [{name:"神志表情",hisNameList:null},{name:"面部表情",hisNameList:null}] let lisNum = $(".moduleItem.lis").attr("data-num") || 5 let scaleNum = $(".moduleItem.evaluation").attr("data-num") || 5 let pacsNum = $(".moduleItem.pacs").attr("data-num") || 5 let checkupNum = $(".moduleItem.vital").attr("data-num") || 5 let symptomNum = $(".moduleItem.symptom").attr("data-num") || 5 let medicinesNum = $(".moduleItem.medicine").attr("data-num") || 5 let operationsNum = $(".moduleItem.operation").attr("data-num") || 5 let nurseNum = $(".moduleItem.nurse").attr("data-num") || 5 renderLis(lisPush, lisNum, 3, true) renderScale(scalePush, scaleNum, 8, true) renderPacs(pacsPush, pacsNum, 5, true) renderCheckup(checkupPush, checkupNum, null, true) renderSymptomPush(symptomPush, symptomNum, null, true) renderDiag(diagPush) renderMedicinesPush(medicinesPush, medicinesNum, 2, true) renderOperationPush(operationsPush, operationsNum, 6, true) rendergeneraTreatPush(generaTreatPush) renderNurse(nursePush, nurseNum, 9, true) if (hasCompleteTnterface === allInterface) { $('.loading').css("display", "none") if (moduleNum === 0) { empty() } } bindOpenInfo() moreInfo() bindSlide() } }) } function adjustHei() { const iframeHei = $(".bodyWrap").height() const tabHei = $(".tabList").height() $(".contentWrapper").css("height", iframeHei - tabHei - 20 - 30 + 3 + 19 + 'px') } function isNeedPush(list) { let pushCode = ["diag", "lis", "pacs", "symptom", "vital", "treat", "medicines"] for (let i = 0; i < list.length; i++) { if (pushCode.indexOf(list[i].code) > -1) { if (list[i].status == "1") { return true } } } return false } function isNeedwriteStandardPush(list) { let pushCode = ["casewriting"] for (let i = 0; i < list.length; i++) { if (pushCode.indexOf(list[i].code) > -1) { if (list[i].status == "1") { return true } } } return false } function isNeedPushWarning(list) { let pushCode = ["crivalue", "rationali", "highrisk", "otherremind"] for (let i = 0; i < list.length; i++) { if (pushCode.indexOf(list[i].code) > -1) { if (list[i].status == "1") { return true } } } return false } function renderPushWarning() { return getPusgWarning().then(res => { hasCompleteTnterface++ if (res.data.code == '0') { const result = res.data.data let billMsgList = result.billMsgList || [] //开单合理性提醒 let highRiskList = result.highRiskList || [] //高危药品、手术 let criticalValList = result.criticalValList || [] //危急值提醒 let noteList = result.noteList || [] //检查内容注意事项 let dubugStr = result.dubugStr || [] //注意调试信息 let otherList = result.otherList || [] //其他提醒 //$('.moduleItem.crivalue').append(titleStr('warning')) renderBillingPush(billMsgList, '开单合理性提醒', 'rationali') renderBillingPush(highRiskList, '高风险提示', 'highrisk') renderBillingPush(criticalValList, '危急值提醒', 'crivalue') //renderBillingPush(noteList,'检查内容注意事项') renderBillingPush(otherList, '其他提醒', 'otherremind') //moreInfo() $(".moduleItem.tips").wrapAll("
"); $(titleStr('warning')).insertBefore('.tips-cont .moduleItem:first-child') // renderBillingPush(dubugStr,'注意调试信息') } if (hasCompleteTnterface === allInterface) { $('.loading').css("display", "none") if (moduleNum === 0) { empty() } } }) } function renderWriteStandard() { return getWriteStandardPush().then(res => { hasCompleteTnterface++ if (res.data.code == '0') { const list = res.data.data || {} let casewritingNum = $(".moduleItem.casewriting").attr("data-num") || 5 renderwriteStandardPage(list, casewritingNum) } if (hasCompleteTnterface === allInterface) { $('.loading').css("display", "none") if (moduleNum === 0) { empty() } } }) } function renderwriteStandardPage(list, casewritingNum) { let arr = Object.keys(list) if (arr.length > 0 && $(".moduleItem.casewriting").length > 0) { moduleNum++ $(".moduleItem.casewriting").append(titleStr("casewritingPush")) let longStr = `` let shortStr = `` for (let i = 0; i < arr.length; i++) { if (i < casewritingNum) { shortStr += `${name}:
` return titleStr } function bindTabClick() { $(".tabList .tab").on("click", function () { $(".activeTab").removeClass("activeTab") $(this).addClass("activeTab") const moduleName = $(this).attr("data-name") getModuleShow(moduleConfig[moduleName]) if (moduleName == "medical") { $(".staticSearchT .ipt").find("input").focus() $(".contentWrapper").css("overflowY", "hidden") } else if (moduleName == 'followup') { // $(".contentWrapper").css("overflowY","auto") } }) } function getModuleShow(moduleClassName) { if ($(`.${moduleClassName}`).css("display") == "none") { $(".moduleWrapper").css("display", "none") $(`.${moduleClassName}`).css("display", "block") } } function bindGeneralSlide() { $(".showMoreGeneralTreat").on("click", function () { $(".generalTreatInfo").toggleClass("isOverFlow") $(".showMoreGeneralTreat").toggle() }) $(".showLessGeneralTreat").on("click", function () { $(".generalTreatInfo").toggleClass("isOverFlow") $(".showMoreGeneralTreat").toggle() }) } function bindSlideCaseWriting() { $(".showMoreCaseWriting").on("click", function () { $(this).parents(".casewritingWrapper ").find(".shortStrBox").css("display", "none") $(this).parents(".casewritingWrapper ").find(".longStrBox").css("display", "block") }) $(".showLessCaseWriting").on("click", function () { $(this).parents(".casewritingWrapper ").find(".shortStrBox").css("display", "block") $(this).parents(".casewritingWrapper ").find(".longStrBox").css("display", "none") }) } function empty() { // $(".responsibility").css("display","none") $('.recommendWrap .empty').css("display", "block") } $(function () { getDisclaimer(); //获取免责声明 getVersion(); //获取版本信息 $(".disclaimerInfo").on("click", function () { openNewWin("disclaimer.html") }); $(".version-tip").on("click", function () { const ver = localStorage.getItem('versionTime'); $(".version-tip").removeClass('new-icon'); localStorage.setItem('versionTime', ver.replace("=new", "")); openNewWin("version.html"); }); $.fn.extend({ "preventScroll": function () { $(this).each(function () { var _this = this; if (navigator.userAgent.indexOf('Firefox') >= 0) { //firefox _this.addEventListener('DOMMouseScroll', function (e) { _this.scrollTop += e.detail > 0 ? 60 : -60; e.preventDefault(); }, false); } else { _this.onmousewheel = function (e) { e = e || window.event; _this.scrollTop += e.wheelDelta > 0 ? -60 : 60; return false; }; } }) } }); // $(".iframeWrap").preventScroll(); $(".iframeWrap").preventScroll(); $(".recommendWrap").preventScroll(); $(".tcmWarp").preventScroll(); $(".infoWrap").preventScroll(); $(".medicalKonwledgeWrap .staticSearchB ul").preventScroll(); $(window).on("resize", function () { $(".iframeWrap").preventScroll(); $(".recommendWrap").preventScroll(); $(".tcmWarp").preventScroll(); $(".medicalKonwledgeWrap .staticSearchB ul").preventScroll(); adjustHei() }) });