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 {renderTcm, getTcmData} = 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: 'TcmWrap', } let allInterface = 0 let hasCompleteTnterface = 0 let moduleNum = 0 let mrId = getUrlArgObject('mrId') 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)}`) }) } 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.find(item => item.disclaimerCode == "2"); $(".responsibility").html(data.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); console.log(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) } if (hasTcm) { console.log(msg) getTcmData({tcmDiag: '咳嗽病', tcmSyndrome: '风寒袭肺证'});//msg.otherIndex) } } function renderPushData(){ return getPushInfo().then(res =>{ hasCompleteTnterface++ if(res.data.code == "0"){ 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(); $(".TcmWrap").preventScroll(); $(".infoWrap").preventScroll(); $(".medicalKonwledgeWrap .staticSearchB ul").preventScroll(); $(window).on("resize", function(){ $(".iframeWrap").preventScroll(); $(".recommendWrap").preventScroll(); $(".medicalKonwledgeWrap .staticSearchB ul").preventScroll(); adjustHei() }) });